/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-backdrop {
  -webkit-transition: opacity 450ms;
  transition: opacity 450ms;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
}

md-backdrop.md-menu-backdrop {
  position: fixed !important;
  z-index: 99;
}

md-backdrop.md-select-backdrop {
  z-index: 81;
  -webkit-transition-duration: 0;
  transition-duration: 0;
}

md-backdrop.md-dialog-backdrop {
  z-index: 79;
}

md-backdrop.md-bottom-sheet-backdrop {
  z-index: 69;
}

md-backdrop.md-sidenav-backdrop {
  z-index: 59;
}

md-backdrop.md-click-catcher {
  position: absolute;
}

md-backdrop.md-opaque {
  opacity: .48;
}

md-backdrop.md-opaque.ng-enter {
  opacity: 0;
}

md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active {
  opacity: .48;
}

md-backdrop.md-opaque.ng-leave {
  opacity: .48;
  -webkit-transition: opacity 400ms;
  transition: opacity 400ms;
}

md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active {
  opacity: 0;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-autocomplete {
  border-radius: 2px;
  display: block;
  height: 40px;
  position: relative;
  overflow: visible;
  min-width: 190px;
}

md-autocomplete[disabled] input {
  cursor: default;
}

md-autocomplete[md-floating-label] {
  border-radius: 0;
  background: transparent;
  height: auto;
}

md-autocomplete[md-floating-label] md-input-container {
  padding-bottom: 0;
}

md-autocomplete[md-floating-label] md-autocomplete-wrap {
  height: auto;
}

md-autocomplete[md-floating-label] .md-show-clear-button button {
  display: block;
  position: absolute;
  right: 0;
  top: 20px;
  width: 30px;
  height: 30px;
}

md-autocomplete[md-floating-label] .md-show-clear-button input {
  padding-right: 30px;
}

[dir=rtl] md-autocomplete[md-floating-label] .md-show-clear-button input {
  padding-right: 0;
  padding-left: 30px;
}

md-autocomplete md-autocomplete-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
  height: 40px;
}

md-autocomplete md-autocomplete-wrap.md-menu-showing {
  z-index: 51;
}

md-autocomplete md-autocomplete-wrap md-input-container,
md-autocomplete md-autocomplete-wrap input {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
  box-sizing: border-box;
  min-width: 0;
}

md-autocomplete md-autocomplete-wrap md-progress-linear {
  position: absolute;
  bottom: -2px;
  left: 0;
}

md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline {
  bottom: 40px;
  right: 2px;
  left: 2px;
  width: auto;
}

md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  -webkit-transition: none;
  transition: none;
}

md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container {
  -webkit-transition: none;
  transition: none;
  height: 3px;
}

md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter {
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active {
  opacity: 1;
}

md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave {
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active {
  opacity: 0;
}

md-autocomplete input:not(.md-input) {
  font-size: 14px;
  box-sizing: border-box;
  border: none;
  box-shadow: none;
  outline: none;
  background: transparent;
  width: 100%;
  padding: 0 15px;
  line-height: 40px;
  height: 40px;
}

md-autocomplete input:not(.md-input)::-ms-clear {
  display: none;
}

md-autocomplete .md-show-clear-button button {
  position: relative;
  line-height: 20px;
  text-align: center;
  width: 30px;
  height: 30px;
  cursor: pointer;
  border: none;
  border-radius: 50%;
  padding: 0;
  font-size: 12px;
  background: transparent;
  margin: auto 5px;
}

md-autocomplete .md-show-clear-button button:after {
  content: '';
  position: absolute;
  top: -6px;
  right: -6px;
  bottom: -6px;
  left: -6px;
  border-radius: 50%;
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

md-autocomplete .md-show-clear-button button:focus {
  outline: none;
}

md-autocomplete .md-show-clear-button button:focus:after {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

md-autocomplete .md-show-clear-button button md-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(0.9);
  transform: translate3d(-50%, -50%, 0) scale(0.9);
}

md-autocomplete .md-show-clear-button button md-icon path {
  stroke-width: 0;
}

md-autocomplete .md-show-clear-button button.ng-enter {
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: -webkit-transform 0.15s ease-out;
  transition: -webkit-transform 0.15s ease-out;
  transition: transform 0.15s ease-out;
  transition: transform 0.15s ease-out, -webkit-transform 0.15s ease-out;
}

md-autocomplete .md-show-clear-button button.ng-enter.ng-enter-active {
  -webkit-transform: scale(1);
  transform: scale(1);
}

md-autocomplete .md-show-clear-button button.ng-leave {
  -webkit-transition: -webkit-transform 0.15s ease-out;
  transition: -webkit-transform 0.15s ease-out;
  transition: transform 0.15s ease-out;
  transition: transform 0.15s ease-out, -webkit-transform 0.15s ease-out;
}

md-autocomplete .md-show-clear-button button.ng-leave.ng-leave-active {
  -webkit-transform: scale(0);
  transform: scale(0);
}

@media screen and (-ms-high-contrast: active) {
  md-autocomplete input {
    border: 1px solid #fff;
  }

  md-autocomplete li:focus {
    color: #fff;
  }
}

.md-virtual-repeat-container.md-autocomplete-suggestions-container {
  position: absolute;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  z-index: 100;
  height: 100%;
}

.md-virtual-repeat-container.md-not-found {
  height: 48px;
}

.md-autocomplete-suggestions {
  margin: 0;
  list-style: none;
  padding: 0;
}

.md-autocomplete-suggestions li {
  font-size: 14px;
  overflow: hidden;
  padding: 0 15px;
  line-height: 48px;
  height: 48px;
  -webkit-transition: background 0.15s linear;
  transition: background 0.15s linear;
  margin: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.md-autocomplete-suggestions li:focus {
  outline: none;
}

.md-autocomplete-suggestions li:not(.md-not-found-wrapper) {
  cursor: pointer;
}

@media screen and (-ms-high-contrast: active) {
  md-autocomplete,
  .md-autocomplete-suggestions {
    border: 1px solid #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-bottom-sheet {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 8px 16px 88px 16px;
  z-index: 70;
  border-top-width: 1px;
  border-top-style: solid;
  -webkit-transform: translate3d(0, 80px, 0);
  transform: translate3d(0, 80px, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
}

md-bottom-sheet.md-has-header {
  padding-top: 0;
}

md-bottom-sheet.ng-enter {
  opacity: 0;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}

md-bottom-sheet.ng-enter-active {
  opacity: 1;
  display: block;
  -webkit-transform: translate3d(0, 80px, 0) !important;
  transform: translate3d(0, 80px, 0) !important;
}

md-bottom-sheet.ng-leave-active {
  -webkit-transform: translate3d(0, 100%, 0) !important;
  transform: translate3d(0, 100%, 0) !important;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-bottom-sheet .md-subheader {
  background-color: transparent;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  line-height: 56px;
  padding: 0;
  white-space: nowrap;
}

md-bottom-sheet md-inline-icon {
  display: inline-block;
  height: 24px;
  width: 24px;
  fill: #444;
}

md-bottom-sheet md-list-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  outline: none;
}

md-bottom-sheet md-list-item:hover {
  cursor: pointer;
}

md-bottom-sheet.md-list md-list-item {
  padding: 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  height: 48px;
}

md-bottom-sheet.md-grid {
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 0;
}

md-bottom-sheet.md-grid md-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

md-bottom-sheet.md-grid md-list-item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  height: 96px;
  margin-top: 8px;
  margin-bottom: 8px;
  /* Mixin for how many grid items to show per row */
}

@media (max-width: 960px) {
  md-bottom-sheet.md-grid md-list-item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 33.33333%;
    flex: 1 1 33.33333%;
    max-width: 33.33333%;
  }

  md-bottom-sheet.md-grid md-list-item:nth-of-type(3n + 1) {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }

  md-bottom-sheet.md-grid md-list-item:nth-of-type(3n) {
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    align-items: flex-end;
  }
}

@media (min-width: 960px) and (max-width: 1279px) {
  md-bottom-sheet.md-grid md-list-item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 25%;
    flex: 1 1 25%;
    max-width: 25%;
  }
}

@media (min-width: 1280px) and (max-width: 1919px) {
  md-bottom-sheet.md-grid md-list-item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 16.66667%;
    flex: 1 1 16.66667%;
    max-width: 16.66667%;
  }
}

@media (min-width: 1920px) {
  md-bottom-sheet.md-grid md-list-item {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 14.28571%;
    flex: 1 1 14.28571%;
    max-width: 14.28571%;
  }
}

md-bottom-sheet.md-grid md-list-item::before {
  display: none;
}

md-bottom-sheet.md-grid md-list-item .md-list-item-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: 48px;
  padding-bottom: 16px;
}

md-bottom-sheet.md-grid md-list-item .md-grid-item-content {
  border: 1px solid transparent;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: 80px;
}

md-bottom-sheet.md-grid md-list-item .md-grid-text {
  font-weight: 400;
  line-height: 16px;
  font-size: 13px;
  margin: 0;
  white-space: nowrap;
  width: 64px;
  text-align: center;
  text-transform: none;
  padding-top: 8px;
}

@media screen and (-ms-high-contrast: active) {
  md-bottom-sheet {
    border: 1px solid #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

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

.md-button {
  display: inline-block;
  position: relative;
  cursor: pointer;
  /** Alignment adjustments */
  min-height: 36px;
  min-width: 88px;
  line-height: 36px;
  vertical-align: middle;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  border-radius: 2px;
  box-sizing: border-box;
  /* Reset default button appearance */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  outline: none;
  border: 0;
  /** Custom styling for button */
  padding: 0 6px;
  margin: 6px 8px;
  background: transparent;
  color: currentColor;
  white-space: nowrap;
  /* Uppercase text content */
  text-transform: uppercase;
  font-weight: 500;
  font-size: 14px;
  font-style: inherit;
  font-variant: inherit;
  font-family: inherit;
  text-decoration: none;
  overflow: hidden;
  -webkit-transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: box-shadow 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.md-dense > .md-button:not(.md-dense-disabled),
.md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled) {
  min-height: 32px;
}

.md-dense > .md-button:not(.md-dense-disabled),
.md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled) {
  line-height: 32px;
}

.md-dense > .md-button:not(.md-dense-disabled),
.md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled) {
  font-size: 13px;
}

.md-button:focus {
  outline: none;
}

.md-button:hover,
.md-button:focus {
  text-decoration: none;
}

.md-button.ng-hide,
.md-button.ng-leave {
  -webkit-transition: none;
  transition: none;
}

.md-button.md-cornered {
  border-radius: 0;
}

.md-button.md-icon {
  padding: 0;
  background: none;
}

.md-button.md-raised:not([disabled]) {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

.md-button.md-icon-button {
  margin: 0 6px;
  height: 40px;
  min-width: 0;
  line-height: 24px;
  padding: 8px;
  width: 40px;
  border-radius: 50%;
}

.md-button.md-icon-button .md-ripple-container {
  border-radius: 50%;
  background-clip: padding-box;
  overflow: hidden;
  -webkit-mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC");
}

.md-button.md-fab {
  z-index: 20;
  line-height: 56px;
  min-width: 0;
  width: 56px;
  height: 56px;
  vertical-align: middle;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  border-radius: 50%;
  background-clip: padding-box;
  overflow: hidden;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-property: background-color, box-shadow, -webkit-transform;
  transition-property: background-color, box-shadow, -webkit-transform;
  transition-property: background-color, box-shadow, transform;
  transition-property: background-color, box-shadow, transform, -webkit-transform;
}

.md-button.md-fab.md-fab-bottom-right {
  top: auto;
  right: 20px;
  bottom: 20px;
  left: auto;
  position: absolute;
}

.md-button.md-fab.md-fab-bottom-left {
  top: auto;
  right: auto;
  bottom: 20px;
  left: 20px;
  position: absolute;
}

.md-button.md-fab.md-fab-top-right {
  top: 20px;
  right: 20px;
  bottom: auto;
  left: auto;
  position: absolute;
}

.md-button.md-fab.md-fab-top-left {
  top: 20px;
  right: auto;
  bottom: auto;
  left: 20px;
  position: absolute;
}

.md-button.md-fab .md-ripple-container {
  border-radius: 50%;
  background-clip: padding-box;
  overflow: hidden;
  -webkit-mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC");
}

.md-button.md-fab.md-mini {
  line-height: 40px;
  width: 40px;
  height: 40px;
}

.md-button.md-fab.ng-hide,
.md-button.md-fab.ng-leave {
  -webkit-transition: none;
  transition: none;
}

.md-button:not([disabled]).md-raised.md-focused,
.md-button:not([disabled]).md-fab.md-focused {
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

.md-button:not([disabled]).md-raised:active,
.md-button:not([disabled]).md-fab:active {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
}

.md-button .md-ripple-container {
  border-radius: 2px;
  background-clip: padding-box;
  overflow: hidden;
  -webkit-mask-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC");
}

.md-button.md-icon-button md-icon,
button.md-button.md-fab md-icon {
  display: block;
}

.md-toast-open-top .md-button.md-fab-top-left,
.md-toast-open-top .md-button.md-fab-top-right {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform: translate3d(0, 42px, 0);
  transform: translate3d(0, 42px, 0);
}

.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,
.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,
.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,
.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover {
  -webkit-transform: translate3d(0, 41px, 0);
  transform: translate3d(0, 41px, 0);
}

.md-toast-open-bottom .md-button.md-fab-bottom-left,
.md-toast-open-bottom .md-button.md-fab-bottom-right {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform: translate3d(0, -42px, 0);
  transform: translate3d(0, -42px, 0);
}

.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,
.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,
.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,
.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover {
  -webkit-transform: translate3d(0, -43px, 0);
  transform: translate3d(0, -43px, 0);
}

.md-button-group {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  width: 100%;
}

.md-button-group > .md-button {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  display: block;
  overflow: hidden;
  width: 0;
  border-width: 1px 0px 1px 1px;
  border-radius: 0;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.md-button-group > .md-button:first-child {
  border-radius: 2px 0px 0px 2px;
}

.md-button-group > .md-button:last-child {
  border-right-width: 1px;
  border-radius: 0px 2px 2px 0px;
}

@media screen and (-ms-high-contrast: active) {
  .md-button.md-raised,
  .md-button.md-fab {
    border: 1px solid #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-card {
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 8px;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
}

md-card md-card-header {
  padding: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-card md-card-header:first-child md-card-avatar {
  margin-right: 12px;
}

[dir=rtl] md-card md-card-header:first-child md-card-avatar {
  margin-right: auto;
  margin-left: 12px;
}

md-card md-card-header:last-child md-card-avatar {
  margin-left: 12px;
}

[dir=rtl] md-card md-card-header:last-child md-card-avatar {
  margin-left: auto;
  margin-right: 12px;
}

md-card md-card-header md-card-avatar {
  width: 40px;
  height: 40px;
}

md-card md-card-header md-card-avatar .md-user-avatar,
md-card md-card-header md-card-avatar md-icon {
  border-radius: 50%;
}

md-card md-card-header md-card-avatar md-icon {
  padding: 8px;
}

md-card md-card-header md-card-avatar md-icon > svg {
  height: inherit;
  width: inherit;
}

md-card md-card-header md-card-avatar + md-card-header-text {
  max-height: 40px;
}

md-card md-card-header md-card-avatar + md-card-header-text .md-title {
  font-size: 14px;
}

md-card md-card-header md-card-header-text {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

md-card md-card-header md-card-header-text .md-subhead {
  font-size: 14px;
}

md-card > img,
md-card > md-card-header img,
md-card md-card-title-media img {
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  width: 100%;
  height: auto;
}

md-card md-card-title {
  padding: 24px 16px 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-card md-card-title + md-card-content {
  padding-top: 0;
}

md-card md-card-title md-card-title-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
}

md-card md-card-title md-card-title-text .md-subhead {
  padding-top: 0;
  font-size: 14px;
}

md-card md-card-title md-card-title-text:only-child .md-subhead {
  padding-top: 12px;
}

md-card md-card-title md-card-title-media {
  margin-top: -8px;
}

md-card md-card-title md-card-title-media .md-media-sm {
  height: 80px;
  width: 80px;
}

md-card md-card-title md-card-title-media .md-media-md {
  height: 112px;
  width: 112px;
}

md-card md-card-title md-card-title-media .md-media-lg {
  height: 152px;
  width: 152px;
}

md-card md-card-content {
  display: block;
  padding: 16px;
}

md-card md-card-content > p:first-child {
  margin-top: 0;
}

md-card md-card-content > p:last-child {
  margin-bottom: 0;
}

md-card md-card-content .md-media-xl {
  height: 240px;
  width: 240px;
}

md-card .md-actions,
md-card md-card-actions {
  margin: 8px;
}

md-card .md-actions.layout-column .md-button:not(.md-icon-button),
md-card md-card-actions.layout-column .md-button:not(.md-icon-button) {
  margin: 2px 0;
}

md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type,
md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type {
  margin-top: 0;
}

md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type,
md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type {
  margin-bottom: 0;
}

md-card .md-actions.layout-column .md-button.md-icon-button,
md-card md-card-actions.layout-column .md-button.md-icon-button {
  margin-top: 6px;
  margin-bottom: 6px;
}

md-card .md-actions md-card-icon-actions,
md-card md-card-actions md-card-icon-actions {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button),
md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button) {
  margin: 0 4px;
}

md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,
md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type {
  margin-left: 0;
}

[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,
[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type {
  margin-left: auto;
  margin-right: 0;
}

md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,
md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type {
  margin-right: 0;
}

[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,
[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type {
  margin-right: auto;
  margin-left: 0;
}

md-card .md-actions:not(.layout-column) .md-button.md-icon-button,
md-card md-card-actions:not(.layout-column) .md-button.md-icon-button {
  margin-left: 6px;
  margin-right: 6px;
}

md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,
md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type {
  margin-left: 12px;
}

[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,
[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type {
  margin-left: auto;
  margin-right: 12px;
}

md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,
md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type {
  margin-right: 12px;
}

[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,
[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type {
  margin-right: auto;
  margin-left: 12px;
}

md-card .md-actions:not(.layout-column) .md-button + md-card-icon-actions,
md-card md-card-actions:not(.layout-column) .md-button + md-card-icon-actions {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-card md-card-footer {
  margin-top: auto;
  padding: 16px;
}

@media screen and (-ms-high-contrast: active) {
  md-card {
    border: 1px solid #fff;
  }
}

.md-image-no-fill > img {
  width: auto;
  height: auto;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-inline-form md-checkbox {
  margin: 19px 0 18px;
}

md-checkbox {
  box-sizing: border-box;
  display: inline-block;
  margin-bottom: 16px;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative;
  min-width: 20px;
  min-height: 20px;
  margin-left: 0;
  margin-right: 16px;
}

[dir=rtl] md-checkbox {
  margin-left: 16px;
}

[dir=rtl] md-checkbox {
  margin-right: 0;
}

md-checkbox:last-of-type {
  margin-left: 0;
  margin-right: 0;
}

md-checkbox.md-focused:not([disabled]) .md-container:before {
  left: -8px;
  top: -8px;
  right: -8px;
  bottom: -8px;
}

md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before {
  background-color: rgba(0, 0, 0, 0.12);
}

md-checkbox.md-align-top-left > div.md-container {
  top: 12px;
}

md-checkbox .md-container {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  box-sizing: border-box;
  display: inline-block;
  width: 20px;
  height: 20px;
  left: 0;
  right: auto;
}

[dir=rtl] md-checkbox .md-container {
  left: auto;
}

[dir=rtl] md-checkbox .md-container {
  right: 0;
}

md-checkbox .md-container:before {
  box-sizing: border-box;
  background-color: transparent;
  border-radius: 50%;
  content: '';
  position: absolute;
  display: block;
  height: auto;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: auto;
}

md-checkbox .md-container:after {
  box-sizing: border-box;
  content: '';
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
}

md-checkbox .md-container .md-ripple-container {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  left: -15px;
  top: -15px;
  right: -15px;
  bottom: -15px;
}

md-checkbox .md-icon {
  box-sizing: border-box;
  -webkit-transition: 240ms;
  transition: 240ms;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-width: 2px;
  border-style: solid;
  border-radius: 2px;
}

md-checkbox.md-checked .md-icon {
  border-color: transparent;
}

md-checkbox.md-checked .md-icon:after {
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  left: 4.66667px;
  top: 0.22222px;
  display: table;
  width: 6.66667px;
  height: 13.33333px;
  border-width: 2px;
  border-style: solid;
  border-top: 0;
  border-left: 0;
  content: '';
}

md-checkbox[disabled] {
  cursor: default;
}

md-checkbox.md-indeterminate .md-icon:after {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: table;
  width: 12px;
  height: 2px;
  border-width: 2px;
  border-style: solid;
  border-top: 0;
  border-left: 0;
  content: '';
}

md-checkbox .md-label {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
  margin-left: 30px;
  margin-right: 0;
}

[dir=rtl] md-checkbox .md-label {
  margin-left: 0;
}

[dir=rtl] md-checkbox .md-label {
  margin-right: 30px;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-contact-chips .md-chips md-chip {
  padding: 0 25px 0 0;
}

[dir=rtl] .md-contact-chips .md-chips md-chip {
  padding: 0 0 0 25px;
}

.md-contact-chips .md-chips md-chip .md-contact-avatar {
  float: left;
}

[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar {
  float: right;
}

.md-contact-chips .md-chips md-chip .md-contact-avatar img {
  height: 32px;
  border-radius: 16px;
}

.md-contact-chips .md-chips md-chip .md-contact-name {
  display: inline-block;
  height: 32px;
  margin-left: 8px;
}

[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name {
  margin-left: auto;
  margin-right: 8px;
}

.md-contact-suggestion {
  height: 56px;
}

.md-contact-suggestion img {
  height: 40px;
  border-radius: 20px;
  margin-top: 8px;
}

.md-contact-suggestion .md-contact-name {
  margin-left: 8px;
  width: 120px;
}

[dir=rtl] .md-contact-suggestion .md-contact-name {
  margin-left: auto;
  margin-right: 8px;
}

.md-contact-suggestion .md-contact-name,
.md-contact-suggestion .md-contact-email {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.md-contact-chips-suggestions li {
  height: 100%;
}

.md-chips {
  display: block;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 16px;
  padding: 0 0 8px 3px;
  vertical-align: middle;
}

.md-chips:after {
  content: '';
  display: table;
  clear: both;
}

[dir=rtl] .md-chips {
  padding: 0 3px 8px 0;
}

.md-chips.md-readonly .md-chip-input-container {
  min-height: 32px;
}

.md-chips:not(.md-readonly) {
  cursor: text;
}

.md-chips.md-removable md-chip {
  padding-right: 22px;
}

[dir=rtl] .md-chips.md-removable md-chip {
  padding-right: 0;
  padding-left: 22px;
}

.md-chips.md-removable md-chip .md-chip-content {
  padding-right: 4px;
}

[dir=rtl] .md-chips.md-removable md-chip .md-chip-content {
  padding-right: 0;
  padding-left: 4px;
}

.md-chips md-chip {
  cursor: default;
  border-radius: 16px;
  display: block;
  height: 32px;
  line-height: 32px;
  margin: 8px 8px 0 0;
  padding: 0 12px 0 12px;
  float: left;
  box-sizing: border-box;
  max-width: 100%;
  position: relative;
}

[dir=rtl] .md-chips md-chip {
  margin: 8px 0 0 8px;
}

[dir=rtl] .md-chips md-chip {
  float: right;
}

.md-chips md-chip .md-chip-content {
  display: block;
  float: left;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

[dir=rtl] .md-chips md-chip .md-chip-content {
  float: right;
}

.md-chips md-chip .md-chip-content:focus {
  outline: none;
}

.md-chips md-chip._md-chip-content-edit-is-enabled {
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */
}

.md-chips md-chip .md-chip-remove-container {
  position: absolute;
  right: 0;
  line-height: 22px;
}

[dir=rtl] .md-chips md-chip .md-chip-remove-container {
  right: auto;
  left: 0;
}

.md-chips md-chip .md-chip-remove {
  text-align: center;
  width: 32px;
  height: 32px;
  min-width: 0;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  margin: 0;
  position: relative;
}

.md-chips md-chip .md-chip-remove md-icon {
  height: 18px;
  width: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

.md-chips .md-chip-input-container {
  display: block;
  line-height: 32px;
  margin: 8px 8px 0 0;
  padding: 0;
  float: left;
}

[dir=rtl] .md-chips .md-chip-input-container {
  margin: 8px 0 0 8px;
}

[dir=rtl] .md-chips .md-chip-input-container {
  float: right;
}

.md-chips .md-chip-input-container input:not([type]),
.md-chips .md-chip-input-container input[type="email"],
.md-chips .md-chip-input-container input[type="number"],
.md-chips .md-chip-input-container input[type="tel"],
.md-chips .md-chip-input-container input[type="url"],
.md-chips .md-chip-input-container input[type="text"] {
  border: 0;
  height: 32px;
  line-height: 32px;
  padding: 0;
}

.md-chips .md-chip-input-container input:not([type]):focus,
.md-chips .md-chip-input-container input[type="email"]:focus,
.md-chips .md-chip-input-container input[type="number"]:focus,
.md-chips .md-chip-input-container input[type="tel"]:focus,
.md-chips .md-chip-input-container input[type="url"]:focus,
.md-chips .md-chip-input-container input[type="text"]:focus {
  outline: none;
}

.md-chips .md-chip-input-container md-autocomplete,
.md-chips .md-chip-input-container md-autocomplete-wrap {
  background: transparent;
  height: 32px;
}

.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap {
  box-shadow: none;
}

.md-chips .md-chip-input-container md-autocomplete input {
  position: relative;
}

.md-chips .md-chip-input-container input {
  border: 0;
  height: 32px;
  line-height: 32px;
  padding: 0;
}

.md-chips .md-chip-input-container input:focus {
  outline: none;
}

.md-chips .md-chip-input-container md-autocomplete,
.md-chips .md-chip-input-container md-autocomplete-wrap {
  height: 32px;
}

.md-chips .md-chip-input-container md-autocomplete {
  box-shadow: none;
}

.md-chips .md-chip-input-container md-autocomplete input {
  position: relative;
}

.md-chips .md-chip-input-container:not(:first-child) {
  margin: 8px 8px 0 0;
}

[dir=rtl] .md-chips .md-chip-input-container:not(:first-child) {
  margin: 8px 0 0 8px;
}

.md-chips .md-chip-input-container input {
  background: transparent;
  border-width: 0;
}

.md-chips md-autocomplete button {
  display: none;
}

@media screen and (-ms-high-contrast: active) {
  .md-chip-input-container,
  md-chip {
    border: 1px solid #fff;
  }

  .md-chip-input-container md-autocomplete {
    border: none;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-content {
  display: block;
  position: relative;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

md-content[md-scroll-y] {
  overflow-y: auto;
  overflow-x: hidden;
}

md-content[md-scroll-x] {
  overflow-x: auto;
  overflow-y: hidden;
}

@media print {
  md-content {
    overflow: visible !important;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

/** Styles for mdCalendar. */

md-calendar {
  font-size: 13px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.md-calendar-scroll-mask {
  display: inline-block;
  overflow: hidden;
  height: 308px;
}

.md-calendar-scroll-mask .md-virtual-repeat-scroller {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar {
  display: none;
}

.md-calendar-scroll-mask .md-virtual-repeat-offsetter {
  width: 100%;
}

.md-calendar-scroll-container {
  box-shadow: inset -3px 3px 6px rgba(0, 0, 0, 0.2);
  display: inline-block;
  height: 308px;
  width: 346px;
}

.md-calendar-date {
  height: 44px;
  width: 44px;
  text-align: center;
  padding: 0;
  border: none;
  box-sizing: content-box;
}

.md-calendar-date:first-child {
  padding-left: 16px;
}

[dir=rtl] .md-calendar-date:first-child {
  padding-left: 0;
  padding-right: 16px;
}

.md-calendar-date:last-child {
  padding-right: 16px;
}

[dir=rtl] .md-calendar-date:last-child {
  padding-right: 0;
  padding-left: 16px;
}

.md-calendar-date.md-calendar-date-disabled {
  cursor: default;
}

.md-calendar-date-selection-indicator {
  -webkit-transition: background-color, color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: background-color, color 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  border-radius: 50%;
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
}

.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator {
  cursor: pointer;
}

.md-calendar-month-label {
  height: 44px;
  font-size: 14px;
  font-weight: 500;
  padding: 0 0 0 24px;
}

[dir=rtl] .md-calendar-month-label {
  padding: 0 24px 0 0;
}

.md-calendar-month-label.md-calendar-label-clickable {
  cursor: pointer;
}

.md-calendar-month-label md-icon {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

[dir=rtl] .md-calendar-month-label md-icon {
  -webkit-transform: none;
  transform: none;
}

.md-calendar-month-label span {
  vertical-align: middle;
}

.md-calendar-day-header {
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}

.md-calendar-day-header th {
  height: 40px;
  width: 44px;
  text-align: center;
  padding: 0;
  border: none;
  box-sizing: content-box;
  font-weight: normal;
}

.md-calendar-day-header th:first-child {
  padding-left: 16px;
}

[dir=rtl] .md-calendar-day-header th:first-child {
  padding-left: 0;
  padding-right: 16px;
}

.md-calendar-day-header th:last-child {
  padding-right: 16px;
}

[dir=rtl] .md-calendar-day-header th:last-child {
  padding-right: 0;
  padding-left: 16px;
}

.md-calendar {
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}

.md-calendar tr:last-child td {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

.md-calendar:first-child {
  border-top: 1px solid transparent;
}

.md-calendar tbody,
.md-calendar td,
.md-calendar tr {
  vertical-align: middle;
  box-sizing: content-box;
}

/** Styles for mdDatepicker. */

md-datepicker {
  white-space: nowrap;
  overflow: hidden;
  vertical-align: middle;
}

.md-inline-form md-datepicker {
  margin-top: 12px;
}

.md-datepicker-button {
  display: inline-block;
  box-sizing: border-box;
  background: none;
  vertical-align: middle;
  position: relative;
}

.md-datepicker-button:before {
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  content: '';
  speak: none;
}

.md-datepicker-input {
  font-size: 14px;
  box-sizing: border-box;
  border: none;
  box-shadow: none;
  outline: none;
  background: transparent;
  min-width: 120px;
  max-width: 328px;
  padding: 0 0 5px;
}

.md-datepicker-input::-ms-clear {
  display: none;
}

._md-datepicker-floating-label > md-datepicker {
  overflow: visible;
}

._md-datepicker-floating-label > md-datepicker .md-datepicker-input-container {
  border: none;
}

._md-datepicker-floating-label > md-datepicker .md-datepicker-button {
  float: left;
  margin-top: -12px;
  top: 9.5px;
}

[dir=rtl] ._md-datepicker-floating-label > md-datepicker .md-datepicker-button {
  float: right;
}

._md-datepicker-floating-label .md-input {
  float: none;
}

._md-datepicker-floating-label._md-datepicker-has-calendar-icon > label:not(.md-no-float):not(.md-container-ignore) {
  right: 18px;
  left: auto;
  width: calc(100% - 84px);
}

[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon > label:not(.md-no-float):not(.md-container-ignore) {
  right: auto;
}

[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon > label:not(.md-no-float):not(.md-container-ignore) {
  left: 18px;
}

._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation {
  margin-left: 64px;
}

[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation {
  margin-left: auto;
  margin-right: 64px;
}

._md-datepicker-has-triangle-icon {
  padding-right: 18px;
  margin-right: -18px;
}

[dir=rtl] ._md-datepicker-has-triangle-icon {
  padding-right: 0;
  padding-left: 18px;
}

[dir=rtl] ._md-datepicker-has-triangle-icon {
  margin-right: auto;
  margin-left: -18px;
}

.md-datepicker-input-container {
  position: relative;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  display: inline-block;
  width: auto;
}

.md-icon-button + .md-datepicker-input-container {
  margin-left: 12px;
}

[dir=rtl] .md-icon-button + .md-datepicker-input-container {
  margin-left: auto;
  margin-right: 12px;
}

.md-datepicker-input-container.md-datepicker-focused {
  border-bottom-width: 2px;
}

.md-datepicker-is-showing .md-scroll-mask {
  z-index: 99;
}

.md-datepicker-calendar-pane {
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 100;
  border-width: 1px;
  border-style: solid;
  background: transparent;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.2s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.md-datepicker-calendar-pane.md-pane-open {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.md-datepicker-input-mask {
  height: 40px;
  width: 340px;
  position: relative;
  overflow: hidden;
  background: transparent;
  pointer-events: none;
  cursor: text;
}

.md-datepicker-calendar {
  opacity: 0;
  -webkit-transition: opacity 0.2s cubic-bezier(0.5, 0, 0.25, 1);
  transition: opacity 0.2s cubic-bezier(0.5, 0, 0.25, 1);
}

.md-pane-open .md-datepicker-calendar {
  opacity: 1;
}

.md-datepicker-calendar md-calendar:focus {
  outline: none;
}

.md-datepicker-expand-triangle {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 5px solid;
}

.md-datepicker-triangle-button {
  position: absolute;
  right: 0;
  bottom: -2.5px;
  -webkit-transform: translateX(45%);
  transform: translateX(45%);
}

[dir=rtl] .md-datepicker-triangle-button {
  right: auto;
  left: 0;
}

[dir=rtl] .md-datepicker-triangle-button {
  -webkit-transform: translateX(-45%);
  transform: translateX(-45%);
}

.md-datepicker-triangle-button.md-button.md-icon-button {
  height: 36px;
  width: 36px;
  position: absolute;
  padding: 8px;
}

md-datepicker[disabled] .md-datepicker-input-container {
  border-bottom-color: transparent;
}

md-datepicker[disabled] .md-datepicker-triangle-button {
  display: none;
}

.md-datepicker-open {
  overflow: hidden;
}

.md-datepicker-open .md-datepicker-input-container,
.md-datepicker-open input.md-input {
  border-bottom-color: transparent;
}

.md-datepicker-open .md-datepicker-triangle-button,
.md-datepicker-open.md-input-has-value > label,
.md-datepicker-open.md-input-has-placeholder > label {
  display: none;
}

.md-datepicker-pos-adjusted .md-datepicker-input-mask {
  display: none;
}

.md-datepicker-calendar-pane .md-calendar {
  -webkit-transform: translateY(-85px);
  transform: translateY(-85px);
  -webkit-transition: -webkit-transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: -webkit-transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.65s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-delay: 0.125s;
  transition-delay: 0.125s;
}

.md-datepicker-calendar-pane.md-pane-open .md-calendar {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-dialog-is-showing {
  max-height: 100%;
}

.md-dialog-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 80;
  overflow: hidden;
}

md-dialog {
  opacity: 0;
  min-width: 240px;
  max-width: 80%;
  max-height: 80%;
  position: relative;
  overflow: auto;
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

md-dialog.md-transition-in {
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform: translate(0, 0) scale(1);
  transform: translate(0, 0) scale(1);
}

md-dialog.md-transition-out {
  opacity: 0;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform: translate(0, 100%) scale(0.2);
  transform: translate(0, 100%) scale(0.2);
}

md-dialog > form {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  overflow: auto;
}

md-dialog .md-dialog-content {
  padding: 24px;
}

md-dialog md-dialog-content {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  order: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

md-dialog md-dialog-content:not([layout=row]) > *:first-child:not(.md-subheader) {
  margin-top: 0;
}

md-dialog md-dialog-content:focus {
  outline: none;
}

md-dialog md-dialog-content .md-subheader {
  margin: 0;
}

md-dialog md-dialog-content .md-dialog-content-body {
  width: 100%;
}

md-dialog md-dialog-content .md-prompt-input-container {
  width: 100%;
  box-sizing: border-box;
}

md-dialog .md-actions,
md-dialog md-dialog-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  order: 2;
  box-sizing: border-box;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-bottom: 0;
  padding-right: 8px;
  padding-left: 16px;
  min-height: 52px;
  overflow: hidden;
}

[dir=rtl] md-dialog .md-actions,
[dir=rtl] md-dialog md-dialog-actions {
  padding-right: 16px;
}

[dir=rtl] md-dialog .md-actions,
[dir=rtl] md-dialog md-dialog-actions {
  padding-left: 8px;
}

md-dialog .md-actions .md-button,
md-dialog md-dialog-actions .md-button {
  margin-bottom: 8px;
  margin-left: 8px;
  margin-right: 0;
  margin-top: 8px;
}

[dir=rtl] md-dialog .md-actions .md-button,
[dir=rtl] md-dialog md-dialog-actions .md-button {
  margin-left: 0;
}

[dir=rtl] md-dialog .md-actions .md-button,
[dir=rtl] md-dialog md-dialog-actions .md-button {
  margin-right: 8px;
}

md-dialog.md-content-overflow .md-actions,
md-dialog.md-content-overflow md-dialog-actions {
  border-top-width: 1px;
  border-top-style: solid;
}

@media screen and (-ms-high-contrast: active) {
  md-dialog {
    border: 1px solid #fff;
  }
}

@media (max-width: 959px) {
  md-dialog.md-dialog-fullscreen {
    min-height: 100%;
    min-width: 100%;
    border-radius: 0;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-divider {
  display: block;
  border-top-width: 1px;
  border-top-style: solid;
  margin: 0;
}

md-divider[md-inset] {
  margin-left: 80px;
}

[dir=rtl] md-divider[md-inset] {
  margin-left: auto;
  margin-right: 80px;
}

.layout-row > md-divider,
.layout-xs-row > md-divider,
.layout-gt-xs-row > md-divider,
.layout-sm-row > md-divider,
.layout-gt-sm-row > md-divider,
.layout-md-row > md-divider,
.layout-gt-md-row > md-divider,
.layout-lg-row > md-divider,
.layout-gt-lg-row > md-divider,
.layout-xl-row > md-divider {
  border-top-width: 0;
  border-right-width: 1px;
  border-right-style: solid;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-fab-speed-dial {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  z-index: 20;
  /*
   * Hide some graphics glitches if switching animation types
   */
  /*
   * Handle the animations
   */
}

md-fab-speed-dial.md-fab-bottom-right {
  top: auto;
  right: 20px;
  bottom: 20px;
  left: auto;
  position: absolute;
}

md-fab-speed-dial.md-fab-bottom-left {
  top: auto;
  right: auto;
  bottom: 20px;
  left: 20px;
  position: absolute;
}

md-fab-speed-dial.md-fab-top-right {
  top: 20px;
  right: 20px;
  bottom: auto;
  left: auto;
  position: absolute;
}

md-fab-speed-dial.md-fab-top-left {
  top: 20px;
  right: auto;
  bottom: auto;
  left: 20px;
  position: absolute;
}

md-fab-speed-dial:not(.md-hover-full) {
  pointer-events: none;
}

md-fab-speed-dial:not(.md-hover-full) md-fab-trigger,
md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item {
  pointer-events: auto;
}

md-fab-speed-dial:not(.md-hover-full).md-is-open {
  pointer-events: auto;
}

md-fab-speed-dial ._md-css-variables {
  z-index: 20;
}

md-fab-speed-dial.md-is-open .md-fab-action-item {
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

md-fab-speed-dial md-fab-actions {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  height: auto;
}

md-fab-speed-dial md-fab-actions .md-fab-action-item {
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-fab-speed-dial.md-down {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

md-fab-speed-dial.md-down md-fab-trigger {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  order: 1;
}

md-fab-speed-dial.md-down md-fab-actions {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  order: 2;
}

md-fab-speed-dial.md-up {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

md-fab-speed-dial.md-up md-fab-trigger {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  order: 2;
}

md-fab-speed-dial.md-up md-fab-actions {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  order: 1;
}

md-fab-speed-dial.md-left {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-fab-speed-dial.md-left md-fab-trigger {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  order: 2;
}

md-fab-speed-dial.md-left md-fab-actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  order: 1;
}

md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item {
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-fab-speed-dial.md-right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-fab-speed-dial.md-right md-fab-trigger {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  order: 1;
}

md-fab-speed-dial.md-right md-fab-actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  order: 2;
}

md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item {
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-fab-speed-dial.md-fling-remove .md-fab-action-item > *,
md-fab-speed-dial.md-scale-remove .md-fab-action-item > * {
  visibility: hidden;
}

md-fab-speed-dial.md-fling .md-fab-action-item {
  opacity: 1;
}

md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item {
  opacity: 0;
  -webkit-transition-duration: 0s;
  transition-duration: 0s;
}

md-fab-speed-dial.md-scale .md-fab-action-item {
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 0.14286s;
  transition-duration: 0.14286s;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-fab-toolbar {
  display: block;
  /*
   * Closed styling
   */
  /*
   * Hover styling
   */
}

md-fab-toolbar.md-fab-bottom-right {
  top: auto;
  right: 20px;
  bottom: 20px;
  left: auto;
  position: absolute;
}

md-fab-toolbar.md-fab-bottom-left {
  top: auto;
  right: auto;
  bottom: 20px;
  left: 20px;
  position: absolute;
}

md-fab-toolbar.md-fab-top-right {
  top: 20px;
  right: 20px;
  bottom: auto;
  left: auto;
  position: absolute;
}

md-fab-toolbar.md-fab-top-left {
  top: 20px;
  right: auto;
  bottom: auto;
  left: 20px;
  position: absolute;
}

md-fab-toolbar .md-fab-toolbar-wrapper {
  display: block;
  position: relative;
  overflow: hidden;
  height: 68px;
}

md-fab-toolbar md-fab-trigger {
  position: absolute;
  z-index: 20;
}

md-fab-toolbar md-fab-trigger button {
  overflow: visible !important;
}

md-fab-toolbar md-fab-trigger .md-fab-toolbar-background {
  display: block;
  position: absolute;
  z-index: 21;
  opacity: 1;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-fab-toolbar md-fab-trigger md-icon {
  position: relative;
  z-index: 22;
  opacity: 1;
  -webkit-transition: all 200ms ease-in;
  transition: all 200ms ease-in;
}

md-fab-toolbar.md-left md-fab-trigger {
  right: 0;
}

[dir=rtl] md-fab-toolbar.md-left md-fab-trigger {
  right: auto;
  left: 0;
}

md-fab-toolbar.md-left .md-toolbar-tools {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child {
  margin-right: 0.6rem;
}

[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child {
  margin-right: auto;
  margin-left: 0.6rem;
}

md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child {
  margin-left: -0.8rem;
}

[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:first-child {
  margin-left: auto;
  margin-right: -0.8rem;
}

md-fab-toolbar.md-left .md-toolbar-tools > .md-button:last-child {
  margin-right: 8px;
}

[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools > .md-button:last-child {
  margin-right: auto;
  margin-left: 8px;
}

md-fab-toolbar.md-right md-fab-trigger {
  left: 0;
}

[dir=rtl] md-fab-toolbar.md-right md-fab-trigger {
  left: auto;
  right: 0;
}

md-fab-toolbar.md-right .md-toolbar-tools {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-fab-toolbar md-toolbar {
  background-color: transparent !important;
  pointer-events: none;
  z-index: 23;
}

md-fab-toolbar md-toolbar .md-toolbar-tools {
  padding: 0 20px;
  margin-top: 3px;
}

md-fab-toolbar md-toolbar .md-fab-action-item {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 0.15s;
  transition-duration: 0.15s;
}

md-fab-toolbar.md-is-open md-fab-trigger > button {
  box-shadow: none;
}

md-fab-toolbar.md-is-open md-fab-trigger > button md-icon {
  opacity: 0;
}

md-fab-toolbar.md-is-open .md-fab-action-item {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-grid-list {
  box-sizing: border-box;
  display: block;
  position: relative;
}

md-grid-list md-grid-tile,
md-grid-list md-grid-tile > figure,
md-grid-list md-grid-tile-header,
md-grid-list md-grid-tile-footer {
  box-sizing: border-box;
}

md-grid-list md-grid-tile {
  display: block;
  position: absolute;
}

md-grid-list md-grid-tile figure {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0;
  margin: 0;
}

md-grid-list md-grid-tile md-grid-tile-header,
md-grid-list md-grid-tile md-grid-tile-footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  height: 48px;
  color: #fff;
  background: rgba(0, 0, 0, 0.18);
  overflow: hidden;
  position: absolute;
  left: 0;
  right: 0;
}

md-grid-list md-grid-tile md-grid-tile-header h3,
md-grid-list md-grid-tile md-grid-tile-header h4,
md-grid-list md-grid-tile md-grid-tile-footer h3,
md-grid-list md-grid-tile md-grid-tile-footer h4 {
  font-weight: 400;
  margin: 0 0 0 16px;
}

md-grid-list md-grid-tile md-grid-tile-header h3,
md-grid-list md-grid-tile md-grid-tile-footer h3 {
  font-size: 14px;
}

md-grid-list md-grid-tile md-grid-tile-header h4,
md-grid-list md-grid-tile md-grid-tile-footer h4 {
  font-size: 12px;
}

md-grid-list md-grid-tile md-grid-tile-header {
  top: 0;
}

md-grid-list md-grid-tile md-grid-tile-footer {
  bottom: 0;
}

@media screen and (-ms-high-contrast: active) {
  md-grid-tile {
    border: 1px solid #fff;
  }

  md-grid-tile-footer {
    border-top: 1px solid #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-icon {
  margin: auto;
  background-repeat: no-repeat no-repeat;
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  height: 24px;
  width: 24px;
  min-height: 24px;
  min-width: 24px;
}

md-icon svg {
  pointer-events: none;
  display: block;
}

md-icon[md-font-icon] {
  line-height: 24px;
  width: auto;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-list {
  display: block;
  padding: 8px 0px 8px 0px;
}

md-list .md-subheader {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.010em;
  line-height: 1.2em;
}

md-list.md-dense md-list-item,
md-list.md-dense md-list-item .md-list-item-inner {
  min-height: 48px;
}

md-list.md-dense md-list-item::before,
md-list.md-dense md-list-item .md-list-item-inner::before {
  content: '';
  min-height: 48px;
  visibility: hidden;
  display: inline-block;
}

md-list.md-dense md-list-item md-icon:first-child,
md-list.md-dense md-list-item .md-list-item-inner md-icon:first-child {
  width: 20px;
  height: 20px;
}

md-list.md-dense md-list-item > md-icon:first-child:not(.md-avatar-icon),
md-list.md-dense md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) {
  margin-right: 36px;
}

[dir=rtl] md-list.md-dense md-list-item > md-icon:first-child:not(.md-avatar-icon),
[dir=rtl]
      md-list.md-dense md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) {
  margin-right: auto;
  margin-left: 36px;
}

md-list.md-dense md-list-item .md-avatar,
md-list.md-dense md-list-item .md-avatar-icon,
md-list.md-dense md-list-item .md-list-item-inner .md-avatar,
md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon {
  margin-right: 20px;
}

[dir=rtl] md-list.md-dense md-list-item .md-avatar,
[dir=rtl] md-list.md-dense md-list-item .md-avatar-icon,
[dir=rtl]
      md-list.md-dense md-list-item .md-list-item-inner .md-avatar,
[dir=rtl]
      md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon {
  margin-right: auto;
  margin-left: 20px;
}

md-list.md-dense md-list-item .md-avatar,
md-list.md-dense md-list-item .md-list-item-inner .md-avatar {
  -webkit-box-flex: 0;
  -webkit-flex: none;
  flex: none;
  width: 36px;
  height: 36px;
}

md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,
md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset,
md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,
md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset {
  margin-left: 56px;
}

[dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,
[dir=rtl] md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset,
[dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,
[dir=rtl] md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset {
  margin-left: auto;
  margin-right: 56px;
}

md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,
md-list.md-dense md-list-item.md-2-line .md-list-item-text h4,
md-list.md-dense md-list-item.md-2-line .md-list-item-text p,
md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text h3,
md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text h4,
md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text p,
md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,
md-list.md-dense md-list-item.md-3-line .md-list-item-text h4,
md-list.md-dense md-list-item.md-3-line .md-list-item-text p,
md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text h3,
md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text h4,
md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text p {
  line-height: 1.05;
  font-size: 12px;
}

md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,
md-list.md-dense md-list-item.md-2-line > .md-no-style .md-list-item-text h3,
md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,
md-list.md-dense md-list-item.md-3-line > .md-no-style .md-list-item-text h3 {
  font-size: 13px;
}

md-list.md-dense md-list-item.md-2-line,
md-list.md-dense md-list-item.md-2-line > .md-no-style {
  min-height: 60px;
}

md-list.md-dense md-list-item.md-2-line::before,
md-list.md-dense md-list-item.md-2-line > .md-no-style::before {
  content: '';
  min-height: 60px;
  visibility: hidden;
  display: inline-block;
}

md-list.md-dense md-list-item.md-2-line > .md-avatar,
md-list.md-dense md-list-item.md-2-line .md-avatar-icon,
md-list.md-dense md-list-item.md-2-line > .md-no-style > .md-avatar,
md-list.md-dense md-list-item.md-2-line > .md-no-style .md-avatar-icon {
  margin-top: 12px;
}

md-list.md-dense md-list-item.md-3-line,
md-list.md-dense md-list-item.md-3-line > .md-no-style {
  min-height: 76px;
}

md-list.md-dense md-list-item.md-3-line::before,
md-list.md-dense md-list-item.md-3-line > .md-no-style::before {
  content: '';
  min-height: 76px;
  visibility: hidden;
  display: inline-block;
}

md-list.md-dense md-list-item.md-3-line > md-icon:first-child,
md-list.md-dense md-list-item.md-3-line > .md-avatar,
md-list.md-dense md-list-item.md-3-line > .md-no-style > md-icon:first-child,
md-list.md-dense md-list-item.md-3-line > .md-no-style > .md-avatar {
  margin-top: 16px;
}

md-list-item {
  position: relative;
}

md-list-item.md-proxy-focus.md-focused .md-no-style {
  -webkit-transition: background-color 0.15s linear;
  transition: background-color 0.15s linear;
}

md-list-item._md-button-wrap {
  position: relative;
}

md-list-item._md-button-wrap > div.md-button:first-child {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding: 0 16px;
  margin: 0;
  font-weight: 400;
  text-align: left;
  border: medium none;
}

[dir=rtl] md-list-item._md-button-wrap > div.md-button:first-child {
  text-align: right;
}

md-list-item._md-button-wrap > div.md-button:first-child > .md-button:first-child {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  margin: 0;
  padding: 0;
}

md-list-item._md-button-wrap > div.md-button:first-child .md-list-item-inner {
  width: 100%;
  min-height: inherit;
}

md-list-item.md-no-proxy,
md-list-item .md-no-style {
  position: relative;
  padding: 0px 16px;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
}

md-list-item.md-no-proxy.md-button,
md-list-item .md-no-style.md-button {
  font-size: inherit;
  height: inherit;
  text-align: left;
  text-transform: none;
  width: 100%;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: inherit;
  flex-direction: inherit;
  -webkit-box-align: inherit;
  -webkit-align-items: inherit;
  align-items: inherit;
  border-radius: 0;
  margin: 0;
}

[dir=rtl] md-list-item.md-no-proxy.md-button,
[dir=rtl]
      md-list-item .md-no-style.md-button {
  text-align: right;
}

md-list-item.md-no-proxy.md-button > .md-ripple-container,
md-list-item .md-no-style.md-button > .md-ripple-container {
  border-radius: 0;
}

md-list-item.md-no-proxy:focus,
md-list-item .md-no-style:focus {
  outline: none;
}

md-list-item.md-clickable:hover {
  cursor: pointer;
}

md-list-item md-divider {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

[dir=rtl] md-list-item md-divider {
  left: auto;
  right: 0;
}

md-list-item md-divider[md-inset] {
  left: 72px;
  width: calc(100% - 72px);
  margin: 0 !important;
}

[dir=rtl] md-list-item md-divider[md-inset] {
  left: auto;
  right: 72px;
}

md-list-item,
md-list-item .md-list-item-inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  min-height: 48px;
  height: auto;
}

md-list-item::before,
md-list-item .md-list-item-inner::before {
  content: '';
  min-height: 48px;
  visibility: hidden;
  display: inline-block;
}

md-list-item > div.md-primary > md-icon:not(.md-avatar-icon),
md-list-item > div.md-secondary > md-icon:not(.md-avatar-icon),
md-list-item > md-icon:first-child:not(.md-avatar-icon),
md-list-item > md-icon.md-secondary:not(.md-avatar-icon),
md-list-item .md-list-item-inner > div.md-primary > md-icon:not(.md-avatar-icon),
md-list-item .md-list-item-inner > div.md-secondary > md-icon:not(.md-avatar-icon),
md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon),
md-list-item .md-list-item-inner > md-icon.md-secondary:not(.md-avatar-icon) {
  width: 24px;
  margin-top: 16px;
  margin-bottom: 12px;
  box-sizing: content-box;
}

md-list-item > div.md-primary > md-checkbox,
md-list-item > div.md-secondary > md-checkbox,
md-list-item > md-checkbox,
md-list-item md-checkbox.md-secondary,
md-list-item .md-list-item-inner > div.md-primary > md-checkbox,
md-list-item .md-list-item-inner > div.md-secondary > md-checkbox,
md-list-item .md-list-item-inner > md-checkbox,
md-list-item .md-list-item-inner md-checkbox.md-secondary {
  -webkit-align-self: center;
  -ms-grid-row-align: center;
  align-self: center;
}

md-list-item > div.md-primary > md-checkbox .md-label,
md-list-item > div.md-secondary > md-checkbox .md-label,
md-list-item > md-checkbox .md-label,
md-list-item md-checkbox.md-secondary .md-label,
md-list-item .md-list-item-inner > div.md-primary > md-checkbox .md-label,
md-list-item .md-list-item-inner > div.md-secondary > md-checkbox .md-label,
md-list-item .md-list-item-inner > md-checkbox .md-label,
md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label {
  display: none;
}

md-list-item > md-icon:first-child:not(.md-avatar-icon),
md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) {
  margin-right: 32px;
}

[dir=rtl] md-list-item > md-icon:first-child:not(.md-avatar-icon),
[dir=rtl]
      md-list-item .md-list-item-inner > md-icon:first-child:not(.md-avatar-icon) {
  margin-right: auto;
  margin-left: 32px;
}

md-list-item .md-avatar,
md-list-item .md-avatar-icon,
md-list-item .md-list-item-inner .md-avatar,
md-list-item .md-list-item-inner .md-avatar-icon {
  margin-top: 8px;
  margin-bottom: 8px;
  margin-right: 16px;
  border-radius: 50%;
  box-sizing: content-box;
}

[dir=rtl] md-list-item .md-avatar,
[dir=rtl] md-list-item .md-avatar-icon,
[dir=rtl]
      md-list-item .md-list-item-inner .md-avatar,
[dir=rtl]
      md-list-item .md-list-item-inner .md-avatar-icon {
  margin-right: auto;
  margin-left: 16px;
}

md-list-item .md-avatar,
md-list-item .md-list-item-inner .md-avatar {
  -webkit-box-flex: 0;
  -webkit-flex: none;
  flex: none;
  width: 40px;
  height: 40px;
}

md-list-item .md-avatar-icon,
md-list-item .md-list-item-inner .md-avatar-icon {
  padding: 8px;
}

md-list-item .md-avatar-icon svg,
md-list-item .md-list-item-inner .md-avatar-icon svg {
  width: 24px;
  height: 24px;
}

md-list-item > md-checkbox,
md-list-item .md-list-item-inner > md-checkbox {
  width: 24px;
  margin-left: 3px;
  margin-right: 29px;
  margin-top: 16px;
}

[dir=rtl] md-list-item > md-checkbox,
[dir=rtl]
      md-list-item .md-list-item-inner > md-checkbox {
  margin-left: 29px;
}

[dir=rtl] md-list-item > md-checkbox,
[dir=rtl]
      md-list-item .md-list-item-inner > md-checkbox {
  margin-right: 3px;
}

md-list-item .md-secondary-container,
md-list-item .md-list-item-inner .md-secondary-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  margin: auto;
  margin-right: 0;
  margin-left: auto;
}

[dir=rtl] md-list-item .md-secondary-container,
[dir=rtl]
      md-list-item .md-list-item-inner .md-secondary-container {
  margin-right: auto;
}

[dir=rtl] md-list-item .md-secondary-container,
[dir=rtl]
      md-list-item .md-list-item-inner .md-secondary-container {
  margin-left: 0;
}

md-list-item .md-secondary-container .md-button:last-of-type,
md-list-item .md-secondary-container .md-icon-button:last-of-type,
md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,
md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type {
  margin-right: 0;
}

[dir=rtl] md-list-item .md-secondary-container .md-button:last-of-type,
[dir=rtl] md-list-item .md-secondary-container .md-icon-button:last-of-type,
[dir=rtl]
        md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,
[dir=rtl]
        md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type {
  margin-right: auto;
  margin-left: 0;
}

md-list-item .md-secondary-container md-checkbox,
md-list-item .md-list-item-inner .md-secondary-container md-checkbox {
  margin-top: 0;
  margin-bottom: 0;
}

md-list-item .md-secondary-container md-checkbox:last-child,
md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child {
  width: 24px;
  margin-right: 0;
}

[dir=rtl] md-list-item .md-secondary-container md-checkbox:last-child,
[dir=rtl]
          md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child {
  margin-right: auto;
  margin-left: 0;
}

md-list-item .md-secondary-container md-switch,
md-list-item .md-list-item-inner .md-secondary-container md-switch {
  margin-top: 0;
  margin-bottom: 0;
  margin-right: -6px;
}

[dir=rtl] md-list-item .md-secondary-container md-switch,
[dir=rtl]
        md-list-item .md-list-item-inner .md-secondary-container md-switch {
  margin-right: auto;
  margin-left: -6px;
}

md-list-item > p,
md-list-item > .md-list-item-inner > p,
md-list-item .md-list-item-inner > p,
md-list-item .md-list-item-inner > .md-list-item-inner > p {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: 0;
}

md-list-item.md-2-line,
md-list-item.md-2-line > .md-no-style,
md-list-item.md-3-line,
md-list-item.md-3-line > .md-no-style {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

md-list-item.md-2-line.md-long-text,
md-list-item.md-2-line > .md-no-style.md-long-text,
md-list-item.md-3-line.md-long-text,
md-list-item.md-3-line > .md-no-style.md-long-text {
  margin-top: 8px;
  margin-bottom: 8px;
}

md-list-item.md-2-line .md-list-item-text,
md-list-item.md-2-line > .md-no-style .md-list-item-text,
md-list-item.md-3-line .md-list-item-text,
md-list-item.md-3-line > .md-no-style .md-list-item-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: auto;
  text-overflow: ellipsis;
  overflow: hidden;
}

md-list-item.md-2-line .md-list-item-text.md-offset,
md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset,
md-list-item.md-3-line .md-list-item-text.md-offset,
md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset {
  margin-left: 56px;
}

[dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset,
[dir=rtl] md-list-item.md-2-line > .md-no-style .md-list-item-text.md-offset,
[dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset,
[dir=rtl] md-list-item.md-3-line > .md-no-style .md-list-item-text.md-offset {
  margin-left: auto;
  margin-right: 56px;
}

md-list-item.md-2-line .md-list-item-text h3,
md-list-item.md-2-line > .md-no-style .md-list-item-text h3,
md-list-item.md-3-line .md-list-item-text h3,
md-list-item.md-3-line > .md-no-style .md-list-item-text h3 {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.010em;
  margin: 0 0 0px 0;
  line-height: 1.2em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

md-list-item.md-2-line .md-list-item-text h4,
md-list-item.md-2-line > .md-no-style .md-list-item-text h4,
md-list-item.md-3-line .md-list-item-text h4,
md-list-item.md-3-line > .md-no-style .md-list-item-text h4 {
  font-size: 14px;
  letter-spacing: 0.010em;
  margin: 3px 0 1px 0;
  font-weight: 400;
  line-height: 1.2em;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

md-list-item.md-2-line .md-list-item-text p,
md-list-item.md-2-line > .md-no-style .md-list-item-text p,
md-list-item.md-3-line .md-list-item-text p,
md-list-item.md-3-line > .md-no-style .md-list-item-text p {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.010em;
  margin: 0 0 0 0;
  line-height: 1.6em;
}

md-list-item.md-2-line,
md-list-item.md-2-line > .md-no-style {
  height: auto;
  min-height: 72px;
}

md-list-item.md-2-line::before,
md-list-item.md-2-line > .md-no-style::before {
  content: '';
  min-height: 72px;
  visibility: hidden;
  display: inline-block;
}

md-list-item.md-2-line > .md-avatar,
md-list-item.md-2-line .md-avatar-icon,
md-list-item.md-2-line > .md-no-style > .md-avatar,
md-list-item.md-2-line > .md-no-style .md-avatar-icon {
  margin-top: 12px;
}

md-list-item.md-2-line > md-icon:first-child,
md-list-item.md-2-line > .md-no-style > md-icon:first-child {
  -webkit-align-self: flex-start;
  align-self: flex-start;
}

md-list-item.md-2-line .md-list-item-text,
md-list-item.md-2-line > .md-no-style .md-list-item-text {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
}

md-list-item.md-3-line,
md-list-item.md-3-line > .md-no-style {
  height: auto;
  min-height: 88px;
}

md-list-item.md-3-line::before,
md-list-item.md-3-line > .md-no-style::before {
  content: '';
  min-height: 88px;
  visibility: hidden;
  display: inline-block;
}

md-list-item.md-3-line > md-icon:first-child,
md-list-item.md-3-line > .md-avatar,
md-list-item.md-3-line > .md-no-style > md-icon:first-child,
md-list-item.md-3-line > .md-no-style > .md-avatar {
  margin-top: 16px;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-open-menu-container {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  opacity: 0;
  border-radius: 2px;
  max-height: calc(100vh - 10px);
  overflow: auto;
}

.md-open-menu-container md-menu-divider {
  margin-top: 4px;
  margin-bottom: 4px;
  height: 1px;
  min-height: 1px;
  max-height: 1px;
  width: 100%;
}

.md-open-menu-container md-menu-content > * {
  opacity: 0;
}

.md-open-menu-container:not(.md-clickable) {
  pointer-events: none;
}

.md-open-menu-container.md-active {
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
}

.md-open-menu-container.md-active > md-menu-content > * {
  opacity: 1;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}

.md-open-menu-container.md-leave {
  opacity: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
}

md-menu-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 8px 0;
  max-height: 304px;
  overflow-y: auto;
}

md-menu-content.md-dense {
  max-height: 208px;
}

md-menu-content.md-dense md-menu-item {
  height: 32px;
  min-height: 0px;
}

md-menu-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-height: 48px;
  height: 48px;
  -webkit-align-content: center;
  align-content: center;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  /*
   * We cannot use flex on <button> elements due to a bug in Firefox, so we also can't use it on
   * <a> elements. Add some top padding to fix alignment since buttons automatically align their
   * text vertically.
   */
}

md-menu-item > * {
  width: 100%;
  margin: auto 0;
  padding-left: 16px;
  padding-right: 16px;
}

md-menu-item > a.md-button {
  padding-top: 5px;
}

md-menu-item > .md-button {
  text-align: left;
  display: inline-block;
  border-radius: 0;
  margin: auto 0;
  font-size: 15px;
  text-transform: none;
  font-weight: 400;
  height: 100%;
  padding-left: 16px;
  padding-right: 16px;
  width: 100%;
}

md-menu-item > .md-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

[dir=rtl] md-menu-item > .md-button {
  text-align: right;
}

md-menu-item > .md-button md-icon {
  margin: auto 16px auto 0;
}

[dir=rtl] md-menu-item > .md-button md-icon {
  margin: auto 0 auto 16px;
}

md-menu-item > .md-button p {
  display: inline-block;
  margin: auto;
}

md-menu-item > .md-button span {
  margin-top: auto;
  margin-bottom: auto;
}

md-menu-item > .md-button .md-ripple-container {
  border-radius: inherit;
}

md-toolbar .md-menu {
  height: auto;
  margin: auto;
  padding: 0;
}

@media (max-width: 959px) {
  md-menu-content {
    min-width: 112px;
  }

  md-menu-content[width="3"] {
    min-width: 168px;
  }

  md-menu-content[width="4"] {
    min-width: 224px;
  }

  md-menu-content[width="5"] {
    min-width: 280px;
  }

  md-menu-content[width="6"] {
    min-width: 336px;
  }

  md-menu-content[width="7"] {
    min-width: 392px;
  }
}

@media (min-width: 960px) {
  md-menu-content {
    min-width: 96px;
  }

  md-menu-content[width="3"] {
    min-width: 192px;
  }

  md-menu-content[width="4"] {
    min-width: 256px;
  }

  md-menu-content[width="5"] {
    min-width: 320px;
  }

  md-menu-content[width="6"] {
    min-width: 384px;
  }

  md-menu-content[width="7"] {
    min-width: 448px;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-toolbar.md-menu-toolbar h2.md-toolbar-tools {
  line-height: 1rem;
  height: auto;
  padding: 28px;
  padding-bottom: 12px;
}

md-toolbar.md-has-open-menu {
  position: relative;
  z-index: 100;
}

md-menu-bar {
  padding: 0 20px;
  display: block;
  position: relative;
  z-index: 2;
}

md-menu-bar .md-menu {
  display: inline-block;
  padding: 0;
  position: relative;
}

md-menu-bar button {
  font-size: 14px;
  padding: 0 10px;
  margin: 0;
  border: 0;
  background-color: transparent;
  height: 40px;
}

md-menu-bar md-backdrop.md-menu-backdrop {
  z-index: -2;
}

md-menu-content.md-menu-bar-menu.md-dense {
  max-height: none;
  padding: 16px 0;
}

md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent {
  position: relative;
}

md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent > md-icon {
  position: absolute;
  padding: 0;
  width: 24px;
  top: 6px;
  left: 24px;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent > md-icon {
  left: auto;
  right: 24px;
}

md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent > .md-button,
md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu > .md-button {
  padding: 0 32px 0 64px;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent > .md-button,
[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu > .md-button {
  padding: 0 64px 0 32px;
}

md-menu-content.md-menu-bar-menu.md-dense .md-button {
  min-height: 0;
  height: 32px;
}

md-menu-content.md-menu-bar-menu.md-dense .md-button span {
  float: left;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span {
  float: right;
}

md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text {
  float: right;
  margin: 0 8px;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text {
  float: left;
}

md-menu-content.md-menu-bar-menu.md-dense md-menu-divider {
  margin: 8px 0;
}

md-menu-content.md-menu-bar-menu.md-dense md-menu-item > .md-button,
md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button {
  text-align: left;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item > .md-button,
[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button {
  text-align: right;
}

md-menu-content.md-menu-bar-menu.md-dense .md-menu {
  padding: 0;
}

md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button {
  position: relative;
  margin: 0;
  width: 100%;
  text-transform: none;
  font-weight: normal;
  border-radius: 0px;
  padding-left: 16px;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button {
  padding-left: 0;
  padding-right: 16px;
}

md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button:after {
  display: block;
  content: '\25BC';
  position: absolute;
  top: 0px;
  speak: none;
  -webkit-transform: rotate(270deg) scaleY(0.45) scaleX(0.9);
  transform: rotate(270deg) scaleY(0.45) scaleX(0.9);
  right: 28px;
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button:after {
  -webkit-transform: rotate(90deg) scaleY(0.45) scaleX(0.9);
  transform: rotate(90deg) scaleY(0.45) scaleX(0.9);
}

[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu > .md-button:after {
  right: auto;
  left: 28px;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

/** Matches "md-tabs md-tabs-wrapper" style. */

.md-nav-bar {
  border-style: solid;
  border-width: 0 0 1px;
  height: 48px;
  position: relative;
}

._md-nav-bar-list {
  outline: none;
  list-style: none;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.md-nav-item:first-of-type {
  margin-left: 8px;
}

.md-button._md-nav-button {
  line-height: 24px;
  margin: 0 4px;
  padding: 12px 16px;
  -webkit-transition: background-color 0.35s cubic-bezier(0.35, 0, 0.25, 1);
  transition: background-color 0.35s cubic-bezier(0.35, 0, 0.25, 1);
}

.md-button._md-nav-button:focus {
  outline: none;
}

.md-button._md-nav-button:hover {
  background-color: inherit;
}

md-nav-ink-bar {
  bottom: 0;
  height: 2px;
  left: auto;
  position: absolute;
  right: auto;
  background-color: black;
}

md-nav-ink-bar._md-left {
  -webkit-transition: left 0.125s cubic-bezier(0.35, 0, 0.25, 1), right 0.25s cubic-bezier(0.35, 0, 0.25, 1);
  transition: left 0.125s cubic-bezier(0.35, 0, 0.25, 1), right 0.25s cubic-bezier(0.35, 0, 0.25, 1);
}

md-nav-ink-bar._md-right {
  -webkit-transition: left 0.25s cubic-bezier(0.35, 0, 0.25, 1), right 0.125s cubic-bezier(0.35, 0, 0.25, 1);
  transition: left 0.25s cubic-bezier(0.35, 0, 0.25, 1), right 0.125s cubic-bezier(0.35, 0, 0.25, 1);
}

md-nav-ink-bar.ng-animate {
  -webkit-transition: none;
  transition: none;
}

md-nav-extra-content {
  min-height: 48px;
  padding-right: 12px;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-panel-outer-wrapper {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

._md-panel-hidden {
  display: none;
}

._md-panel-offscreen {
  left: -9999px;
}

._md-panel-fullscreen {
  border-radius: 0;
  left: 0;
  min-height: 100%;
  min-width: 100%;
  position: fixed;
  top: 0;
}

._md-panel-shown .md-panel {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}

.md-panel {
  opacity: 0;
  position: fixed;
}

.md-panel._md-panel-shown {
  opacity: 1;
  -webkit-transition: none;
  transition: none;
}

.md-panel._md-panel-animate-enter {
  opacity: 1;
  -webkit-transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
  transition: all 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.md-panel._md-panel-animate-leave {
  opacity: 1;
  -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 1, 1);
  transition: all 0.3s cubic-bezier(0.4, 0, 1, 1);
}

.md-panel._md-panel-animate-scale-out,
.md-panel._md-panel-animate-fade-out {
  opacity: 0;
}

.md-panel._md-panel-backdrop {
  height: 100%;
  position: absolute;
  width: 100%;
}

.md-panel._md-opaque-enter {
  opacity: .48;
  -webkit-transition: opacity 0.3s cubic-bezier(0, 0, 0.2, 1);
  transition: opacity 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.md-panel._md-opaque-leave {
  -webkit-transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1);
  transition: opacity 0.3s cubic-bezier(0.4, 0, 1, 1);
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

@-webkit-keyframes indeterminate-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes indeterminate-rotate {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

md-progress-circular {
  position: relative;
  display: block;
}

md-progress-circular._md-progress-circular-disabled {
  visibility: hidden;
}

md-progress-circular.md-mode-indeterminate svg {
  -webkit-animation: indeterminate-rotate 1568.63ms linear infinite;
  animation: indeterminate-rotate 1568.63ms linear infinite;
}

md-progress-circular svg {
  position: absolute;
  overflow: visible;
  top: 0;
  left: 0;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-progress-linear {
  display: block;
  position: relative;
  width: 100%;
  height: 5px;
  padding-top: 0 !important;
  margin-bottom: 0 !important;
}

md-progress-linear._md-progress-linear-disabled {
  visibility: hidden;
}

md-progress-linear .md-container {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 5px;
  -webkit-transform: translate(0, 0) scale(1, 1);
  transform: translate(0, 0) scale(1, 1);
}

md-progress-linear .md-container .md-bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
}

md-progress-linear .md-container .md-dashed:before {
  content: "";
  display: none;
  position: absolute;
  margin-top: 0;
  height: 5px;
  width: 100%;
  background-color: transparent;
  background-size: 10px 10px !important;
  background-position: 0px -23px;
}

md-progress-linear .md-container .md-bar1,
md-progress-linear .md-container .md-bar2 {
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

md-progress-linear .md-container.md-mode-query .md-bar1 {
  display: none;
}

md-progress-linear .md-container.md-mode-query .md-bar2 {
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  -webkit-animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);
  animation: query 0.8s infinite cubic-bezier(0.39, 0.575, 0.565, 1);
}

md-progress-linear .md-container.md-mode-determinate .md-bar1 {
  display: none;
}

md-progress-linear .md-container.md-mode-indeterminate .md-bar1 {
  -webkit-animation: md-progress-linear-indeterminate-scale-1 4s infinite, md-progress-linear-indeterminate-1 4s infinite;
  animation: md-progress-linear-indeterminate-scale-1 4s infinite, md-progress-linear-indeterminate-1 4s infinite;
}

md-progress-linear .md-container.md-mode-indeterminate .md-bar2 {
  -webkit-animation: md-progress-linear-indeterminate-scale-2 4s infinite, md-progress-linear-indeterminate-2 4s infinite;
  animation: md-progress-linear-indeterminate-scale-2 4s infinite, md-progress-linear-indeterminate-2 4s infinite;
}

md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container {
  -webkit-animation: none;
  animation: none;
}

md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar1 {
  -webkit-animation-name: none;
  animation-name: none;
}

md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar2 {
  -webkit-animation-name: none;
  animation-name: none;
}

md-progress-linear .md-container.md-mode-buffer {
  background-color: transparent !important;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
}

md-progress-linear .md-container.md-mode-buffer .md-dashed:before {
  display: block;
  -webkit-animation: buffer 3s infinite linear;
  animation: buffer 3s infinite linear;
}

@-webkit-keyframes query {
  0% {
    opacity: 1;
    -webkit-transform: translateX(35%) scale(0.3, 1);
    transform: translateX(35%) scale(0.3, 1);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-50%) scale(0, 1);
    transform: translateX(-50%) scale(0, 1);
  }
}

@keyframes query {
  0% {
    opacity: 1;
    -webkit-transform: translateX(35%) scale(0.3, 1);
    transform: translateX(35%) scale(0.3, 1);
  }

  100% {
    opacity: 0;
    -webkit-transform: translateX(-50%) scale(0, 1);
    transform: translateX(-50%) scale(0, 1);
  }
}

@-webkit-keyframes buffer {
  0% {
    opacity: 1;
    background-position: 0px -23px;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
    background-position: -200px -23px;
  }
}

@keyframes buffer {
  0% {
    opacity: 1;
    background-position: 0px -23px;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
    background-position: -200px -23px;
  }
}

@-webkit-keyframes md-progress-linear-indeterminate-scale-1 {
  0% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
  }

  36.6% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
    -webkit-animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
    animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
  }

  69.15% {
    -webkit-transform: scaleX(0.83);
    transform: scaleX(0.83);
    -webkit-animation-timing-function: cubic-bezier(0.22573, 0, 0.23365, 1.37098);
    animation-timing-function: cubic-bezier(0.22573, 0, 0.23365, 1.37098);
  }

  100% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
  }
}

@keyframes md-progress-linear-indeterminate-scale-1 {
  0% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
  }

  36.6% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
    -webkit-animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
    animation-timing-function: cubic-bezier(0.33473, 0.12482, 0.78584, 1);
  }

  69.15% {
    -webkit-transform: scaleX(0.83);
    transform: scaleX(0.83);
    -webkit-animation-timing-function: cubic-bezier(0.22573, 0, 0.23365, 1.37098);
    animation-timing-function: cubic-bezier(0.22573, 0, 0.23365, 1.37098);
  }

  100% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
  }
}

@-webkit-keyframes md-progress-linear-indeterminate-1 {
  0% {
    left: -105.16667%;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
  }

  20% {
    left: -105.16667%;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
  }

  69.15% {
    left: 21.5%;
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
  }

  100% {
    left: 95.44444%;
  }
}

@keyframes md-progress-linear-indeterminate-1 {
  0% {
    left: -105.16667%;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
  }

  20% {
    left: -105.16667%;
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
    animation-timing-function: cubic-bezier(0.5, 0, 0.70173, 0.49582);
  }

  69.15% {
    left: 21.5%;
    -webkit-animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
    animation-timing-function: cubic-bezier(0.30244, 0.38135, 0.55, 0.95635);
  }

  100% {
    left: 95.44444%;
  }
}

@-webkit-keyframes md-progress-linear-indeterminate-scale-2 {
  0% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
    -webkit-animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
    animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
  }

  19.15% {
    -webkit-transform: scaleX(0.57);
    transform: scaleX(0.57);
    -webkit-animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
    animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
  }

  44.15% {
    -webkit-transform: scaleX(0.91);
    transform: scaleX(0.91);
    -webkit-animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
    animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
  }

  100% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
  }
}

@keyframes md-progress-linear-indeterminate-scale-2 {
  0% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
    -webkit-animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
    animation-timing-function: cubic-bezier(0.20503, 0.05705, 0.57661, 0.45397);
  }

  19.15% {
    -webkit-transform: scaleX(0.57);
    transform: scaleX(0.57);
    -webkit-animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
    animation-timing-function: cubic-bezier(0.15231, 0.19643, 0.64837, 1.00432);
  }

  44.15% {
    -webkit-transform: scaleX(0.91);
    transform: scaleX(0.91);
    -webkit-animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
    animation-timing-function: cubic-bezier(0.25776, -0.00316, 0.21176, 1.38179);
  }

  100% {
    -webkit-transform: scaleX(0.1);
    transform: scaleX(0.1);
  }
}

@-webkit-keyframes md-progress-linear-indeterminate-2 {
  0% {
    left: -54.88889%;
    -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40968);
    animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40968);
  }

  25% {
    left: -17.25%;
    -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73372);
    animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73372);
  }

  48.35% {
    left: 29.5%;
    -webkit-animation-timing-function: cubic-bezier(0.4, 0.62703, 0.6, 0.90203);
    animation-timing-function: cubic-bezier(0.4, 0.62703, 0.6, 0.90203);
  }

  100% {
    left: 117.38889%;
  }
}

@keyframes md-progress-linear-indeterminate-2 {
  0% {
    left: -54.88889%;
    -webkit-animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40968);
    animation-timing-function: cubic-bezier(0.15, 0, 0.51506, 0.40968);
  }

  25% {
    left: -17.25%;
    -webkit-animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73372);
    animation-timing-function: cubic-bezier(0.31033, 0.28406, 0.8, 0.73372);
  }

  48.35% {
    left: 29.5%;
    -webkit-animation-timing-function: cubic-bezier(0.4, 0.62703, 0.6, 0.90203);
    animation-timing-function: cubic-bezier(0.4, 0.62703, 0.6, 0.90203);
  }

  100% {
    left: 117.38889%;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-radio-button {
  box-sizing: border-box;
  display: block;
  margin-bottom: 16px;
  white-space: nowrap;
  cursor: pointer;
  position: relative;
}

md-radio-button[disabled] {
  cursor: default;
}

md-radio-button[disabled] .md-container {
  cursor: default;
}

md-radio-button .md-container {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  box-sizing: border-box;
  display: inline-block;
  width: 20px;
  height: 20px;
  cursor: pointer;
  left: 0;
  right: auto;
}

[dir=rtl] md-radio-button .md-container {
  left: auto;
}

[dir=rtl] md-radio-button .md-container {
  right: 0;
}

md-radio-button .md-container .md-ripple-container {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  left: -15px;
  top: -15px;
  right: -15px;
  bottom: -15px;
}

md-radio-button .md-container:before {
  box-sizing: border-box;
  background-color: transparent;
  border-radius: 50%;
  content: '';
  position: absolute;
  display: block;
  height: auto;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: auto;
}

md-radio-button.md-align-top-left > div.md-container {
  top: 12px;
}

md-radio-button .md-off {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-style: solid;
  border-width: 2px;
  border-radius: 50%;
  -webkit-transition: border-color ease 0.28s;
  transition: border-color ease 0.28s;
}

md-radio-button .md-on {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  -webkit-transition: -webkit-transform ease 0.28s;
  transition: -webkit-transform ease 0.28s;
  transition: transform ease 0.28s;
  transition: transform ease 0.28s, -webkit-transform ease 0.28s;
  -webkit-transform: scale(0);
  transform: scale(0);
}

md-radio-button.md-checked .md-on {
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
}

md-radio-button .md-label {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  margin-left: 30px;
  margin-right: 0;
  vertical-align: middle;
  white-space: normal;
  pointer-events: none;
  width: auto;
}

[dir=rtl] md-radio-button .md-label {
  margin-left: 0;
}

[dir=rtl] md-radio-button .md-label {
  margin-right: 30px;
}

md-radio-group {
  /** Layout adjustments for the radio group. */
}

md-radio-group.layout-column md-radio-button,
md-radio-group.layout-xs-column md-radio-button,
md-radio-group.layout-gt-xs-column md-radio-button,
md-radio-group.layout-sm-column md-radio-button,
md-radio-group.layout-gt-sm-column md-radio-button,
md-radio-group.layout-md-column md-radio-button,
md-radio-group.layout-gt-md-column md-radio-button,
md-radio-group.layout-lg-column md-radio-button,
md-radio-group.layout-gt-lg-column md-radio-button,
md-radio-group.layout-xl-column md-radio-button {
  margin-bottom: 16px;
}

md-radio-group.layout-row md-radio-button,
md-radio-group.layout-xs-row md-radio-button,
md-radio-group.layout-gt-xs-row md-radio-button,
md-radio-group.layout-sm-row md-radio-button,
md-radio-group.layout-gt-sm-row md-radio-button,
md-radio-group.layout-md-row md-radio-button,
md-radio-group.layout-gt-md-row md-radio-button,
md-radio-group.layout-lg-row md-radio-button,
md-radio-group.layout-gt-lg-row md-radio-button,
md-radio-group.layout-xl-row md-radio-button {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 16px;
}

[dir=rtl] md-radio-group.layout-row md-radio-button,
[dir=rtl] md-radio-group.layout-xs-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button,
[dir=rtl] md-radio-group.layout-sm-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button,
[dir=rtl] md-radio-group.layout-md-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-md-row md-radio-button,
[dir=rtl] md-radio-group.layout-lg-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button,
[dir=rtl] md-radio-group.layout-xl-row md-radio-button {
  margin-left: 16px;
}

[dir=rtl] md-radio-group.layout-row md-radio-button,
[dir=rtl] md-radio-group.layout-xs-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button,
[dir=rtl] md-radio-group.layout-sm-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button,
[dir=rtl] md-radio-group.layout-md-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-md-row md-radio-button,
[dir=rtl] md-radio-group.layout-lg-row md-radio-button,
[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button,
[dir=rtl] md-radio-group.layout-xl-row md-radio-button {
  margin-right: 0;
}

md-radio-group.layout-row md-radio-button:last-of-type,
md-radio-group.layout-xs-row md-radio-button:last-of-type,
md-radio-group.layout-gt-xs-row md-radio-button:last-of-type,
md-radio-group.layout-sm-row md-radio-button:last-of-type,
md-radio-group.layout-gt-sm-row md-radio-button:last-of-type,
md-radio-group.layout-md-row md-radio-button:last-of-type,
md-radio-group.layout-gt-md-row md-radio-button:last-of-type,
md-radio-group.layout-lg-row md-radio-button:last-of-type,
md-radio-group.layout-gt-lg-row md-radio-button:last-of-type,
md-radio-group.layout-xl-row md-radio-button:last-of-type {
  margin-left: 0;
  margin-right: 0;
}

md-radio-group:focus {
  outline: none;
}

md-radio-group.md-focused .md-checked .md-container:before {
  left: -8px;
  top: -8px;
  right: -8px;
  bottom: -8px;
}

md-radio-group[disabled] md-radio-button {
  cursor: default;
}

md-radio-group[disabled] md-radio-button .md-container {
  cursor: default;
}

.md-inline-form md-radio-group {
  margin: 18px 0 19px;
}

.md-inline-form md-radio-group md-radio-button {
  display: inline-block;
  height: 30px;
  padding: 2px;
  box-sizing: border-box;
  margin-top: 0;
  margin-bottom: 0;
}

@media screen and (-ms-high-contrast: active) {
  md-radio-button.md-default-theme .md-on {
    background-color: #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-input-container:not([md-no-float]) .md-select-placeholder span:first-child {
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

[dir=rtl] md-input-container:not([md-no-float]) .md-select-placeholder span:first-child {
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

md-input-container.md-input-focused:not([md-no-float]) .md-select-placeholder span:first-child {
  -webkit-transform: translateY(-22px) translateX(-2px) scale(0.75);
  transform: translateY(-22px) translateX(-2px) scale(0.75);
}

.md-select-menu-container {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 90;
  opacity: 0;
  display: none;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}

.md-select-menu-container:not(.md-clickable) {
  pointer-events: none;
}

.md-select-menu-container md-progress-circular {
  display: table;
  margin: 24px auto !important;
}

.md-select-menu-container.md-active {
  display: block;
  opacity: 1;
}

.md-select-menu-container.md-active md-select-menu {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
}

.md-select-menu-container.md-active md-select-menu > * {
  opacity: 1;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transition-delay: 100ms;
  transition-delay: 100ms;
}

.md-select-menu-container.md-leave {
  opacity: 0;
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 250ms;
  transition-duration: 250ms;
}

md-input-container > md-select {
  margin: 0;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
  order: 2;
}

md-input-container:not(.md-input-has-value) md-select[required]:not(.md-no-asterisk) .md-select-value span:first-child:after,
md-input-container:not(.md-input-has-value) md-select.ng-required:not(.md-no-asterisk) .md-select-value span:first-child:after {
  content: ' *';
  font-size: 13px;
  vertical-align: top;
}

md-input-container.md-input-invalid md-select .md-select-value {
  border-bottom-style: solid;
  padding-bottom: 1px;
}

md-select {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  margin: 20px 0 26px 0;
}

md-select[required].ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after,
md-select.ng-required.ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after {
  content: ' *';
  font-size: 13px;
  vertical-align: top;
}

md-select[disabled] .md-select-value {
  background-position: 0 bottom;
  background-size: 4px 1px;
  background-repeat: repeat-x;
  margin-bottom: -1px;
}

md-select:focus {
  outline: none;
}

md-select[disabled]:hover {
  cursor: default;
}

md-select:not([disabled]):hover {
  cursor: pointer;
}

md-select:not([disabled]).ng-invalid.ng-touched .md-select-value {
  border-bottom-style: solid;
  padding-bottom: 1px;
}

md-select:not([disabled]):focus .md-select-value {
  border-bottom-width: 2px;
  border-bottom-style: solid;
  padding-bottom: 0;
}

md-select:not([disabled]):focus.ng-invalid.ng-touched .md-select-value {
  padding-bottom: 0;
}

md-input-container.md-input-has-value .md-select-value > span:not(.md-select-icon) {
  -webkit-transform: translate3d(0, 1px, 0);
  transform: translate3d(0, 1px, 0);
}

.md-select-value {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 2px 2px 1px;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  background-color: transparent;
  position: relative;
  box-sizing: content-box;
  min-width: 64px;
  min-height: 26px;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}

.md-select-value > span:not(.md-select-icon) {
  max-width: 100%;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.md-select-value > span:not(.md-select-icon) .md-text {
  display: inline;
}

.md-select-value .md-select-icon {
  display: block;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  text-align: end;
  width: 24px;
  margin: 0 4px;
  -webkit-transform: translate3d(0, -2px, 0);
  transform: translate3d(0, -2px, 0);
  font-size: 1.2rem;
}

.md-select-value .md-select-icon:after {
  display: block;
  content: '\25BC';
  position: relative;
  top: 2px;
  speak: none;
  font-size: 13px;
  -webkit-transform: scaleY(0.5) scaleX(1);
  transform: scaleY(0.5) scaleX(1);
}

.md-select-value.md-select-placeholder {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
  order: 1;
  pointer-events: none;
  -webkit-font-smoothing: antialiased;
  padding-left: 2px;
  z-index: 1;
}

md-select-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
  max-height: 256px;
  min-height: 48px;
  overflow-y: hidden;
  -webkit-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1);
  transform: scale(1);
}

md-select-menu.md-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

md-select-menu:not(.md-overflow) md-content {
  padding-top: 8px;
  padding-bottom: 8px;
}

[dir=rtl] md-select-menu {
  -webkit-transform-origin: right top;
  transform-origin: right top;
}

md-select-menu md-content {
  min-width: 136px;
  min-height: 48px;
  max-height: 256px;
  overflow-y: auto;
}

md-select-menu > * {
  opacity: 0;
}

md-option {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  width: auto;
  -webkit-transition: background 0.15s linear;
  transition: background 0.15s linear;
  padding: 0 16px 0 16px;
  height: 48px;
}

md-option[disabled] {
  cursor: default;
}

md-option:focus {
  outline: none;
}

md-option .md-text {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  width: auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

md-optgroup {
  display: block;
}

md-optgroup label {
  display: block;
  font-size: 14px;
  text-transform: uppercase;
  padding: 16px;
  font-weight: 500;
}

md-optgroup md-option {
  padding-left: 32px;
  padding-right: 32px;
}

@media screen and (-ms-high-contrast: active) {
  .md-select-backdrop {
    background-color: transparent;
  }

  md-select-menu {
    border: 1px solid #fff;
  }
}

md-select-menu[multiple] md-option.md-checkbox-enabled {
  padding-left: 40px;
  padding-right: 16px;
}

[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled {
  padding-left: 16px;
}

[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled {
  padding-right: 40px;
}

md-select-menu[multiple] md-option.md-checkbox-enabled .md-container {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  box-sizing: border-box;
  display: inline-block;
  width: 20px;
  height: 20px;
  left: 0;
  right: auto;
}

[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container {
  left: auto;
}

[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container {
  right: 0;
}

md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:before {
  box-sizing: border-box;
  background-color: transparent;
  border-radius: 50%;
  content: '';
  position: absolute;
  display: block;
  height: auto;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: auto;
}

md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:after {
  box-sizing: border-box;
  content: '';
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
}

md-select-menu[multiple] md-option.md-checkbox-enabled .md-container .md-ripple-container {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  left: -15px;
  top: -15px;
  right: -15px;
  bottom: -15px;
}

md-select-menu[multiple] md-option.md-checkbox-enabled .md-icon {
  box-sizing: border-box;
  -webkit-transition: 240ms;
  transition: 240ms;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  border-width: 2px;
  border-style: solid;
  border-radius: 2px;
}

md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon {
  border-color: transparent;
}

md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon:after {
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  left: 4.66667px;
  top: 0.22222px;
  display: table;
  width: 6.66667px;
  height: 13.33333px;
  border-width: 2px;
  border-style: solid;
  border-top: 0;
  border-left: 0;
  content: '';
}

md-select-menu[multiple] md-option.md-checkbox-enabled[disabled] {
  cursor: default;
}

md-select-menu[multiple] md-option.md-checkbox-enabled.md-indeterminate .md-icon:after {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: table;
  width: 12px;
  height: 2px;
  border-width: 2px;
  border-style: solid;
  border-top: 0;
  border-left: 0;
  content: '';
}

md-select-menu[multiple] md-option.md-checkbox-enabled .md-container {
  margin-left: 10.66667px;
  margin-right: auto;
}

[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container {
  margin-left: auto;
}

[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container {
  margin-right: 10.66667px;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-sidenav {
  box-sizing: border-box;
  position: absolute;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  z-index: 60;
  width: 320px;
  max-width: 320px;
  bottom: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

md-sidenav ul {
  list-style: none;
}

md-sidenav.md-closed {
  display: none;
}

md-sidenav.md-closed-add,
md-sidenav.md-closed-remove {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-transition: 0.2s ease-in all;
  transition: 0.2s ease-in all;
}

md-sidenav.md-closed-add.md-closed-add-active,
md-sidenav.md-closed-remove.md-closed-remove-active {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

md-sidenav.md-locked-open-add,
md-sidenav.md-locked-open-remove {
  position: static;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-sidenav.md-locked-open,
md-sidenav.md-locked-open.md-closed,
md-sidenav.md-locked-open.md-closed.md-sidenav-left,
md-sidenav.md-locked-open.md-closed,
md-sidenav.md-locked-open.md-closed.md-sidenav-right {
  position: static;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-sidenav.md-locked-open-remove.md-closed {
  position: static;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-sidenav.md-closed.md-locked-open-add {
  position: static;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active) {
  -webkit-transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  width: 0 !important;
  min-width: 0 !important;
}

md-sidenav.md-closed.md-locked-open-add-active {
  -webkit-transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-sidenav.md-locked-open-remove-active {
  -webkit-transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2), min-width 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  width: 0 !important;
  min-width: 0 !important;
}

.md-sidenav-backdrop.md-locked-open {
  display: none;
}

.md-sidenav-left,
md-sidenav {
  left: 0;
  top: 0;
  -webkit-transform: translate3d(0%, 0, 0);
  transform: translate3d(0%, 0, 0);
}

.md-sidenav-left.md-closed,
md-sidenav.md-closed {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}

.md-sidenav-right {
  left: 100%;
  top: 0;
  -webkit-transform: translate(-100%, 0);
  transform: translate(-100%, 0);
}

.md-sidenav-right.md-closed {
  -webkit-transform: translate(0%, 0);
  transform: translate(0%, 0);
}

@media (min-width: 600px) {
  md-sidenav {
    max-width: 400px;
  }
}

@media (max-width: 456px) {
  md-sidenav {
    width: calc(100% - 56px);
    min-width: calc(100% - 56px);
    max-width: calc(100% - 56px);
  }
}

@media screen and (-ms-high-contrast: active) {
  .md-sidenav-left,
  md-sidenav {
    border-right: 1px solid #fff;
  }

  .md-sidenav-right {
    border-left: 1px solid #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

@-webkit-keyframes sliderFocusThumb {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  30% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
}

@keyframes sliderFocusThumb {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  30% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  100% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
}

@-webkit-keyframes sliderDiscreteFocusThumb {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

@keyframes sliderDiscreteFocusThumb {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }

  50% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }

  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

@-webkit-keyframes sliderDiscreteFocusRing {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    opacity: 0;
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

@keyframes sliderDiscreteFocusRing {
  0% {
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    opacity: 0;
  }

  50% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
}

md-slider {
  height: 48px;
  min-width: 128px;
  position: relative;
  margin-left: 4px;
  margin-right: 4px;
  padding: 0;
  display: block;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  /**
   * Track
   */
  /**
   * Slider thumb
   */
  /* The sign that's focused in discrete mode */
  /**
   * The border/background that comes in when focused in non-discrete mode
   */
  /* Don't animate left/right while panning */
}

md-slider *,
md-slider *:after {
  box-sizing: border-box;
}

md-slider .md-slider-wrapper {
  outline: none;
  width: 100%;
  height: 100%;
}

md-slider .md-slider-content {
  position: relative;
}

md-slider .md-track-container {
  width: 100%;
  position: absolute;
  top: 23px;
  height: 2px;
}

md-slider .md-track {
  position: absolute;
  left: 0;
  right: 0;
  height: 100%;
}

md-slider .md-track-fill {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-property: width, height;
  transition-property: width, height;
}

md-slider .md-track-ticks {
  position: absolute;
  left: 0;
  right: 0;
  height: 100%;
}

md-slider .md-track-ticks canvas {
  width: 100%;
  height: 100%;
}

md-slider .md-thumb-container {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-property: left, right, bottom;
  transition-property: left, right, bottom;
}

[dir=rtl] md-slider .md-thumb-container {
  left: auto;
  right: 0;
}

md-slider .md-thumb {
  z-index: 1;
  position: absolute;
  left: -10px;
  top: 14px;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

[dir=rtl] md-slider .md-thumb {
  left: auto;
  right: -10px;
}

md-slider .md-thumb:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  border-width: 3px;
  border-style: solid;
  -webkit-transition: inherit;
  transition: inherit;
}

md-slider .md-sign {
  /* Center the children (slider-thumb-text) */
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  left: -14px;
  top: -17px;
  width: 28px;
  height: 28px;
  border-radius: 28px;
  -webkit-transform: scale(0.4) translate3d(0, 67.5px, 0);
  transform: scale(0.4) translate3d(0, 67.5px, 0);
  -webkit-transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
  /* The arrow pointing down under the sign */
}

md-slider .md-sign:after {
  position: absolute;
  content: '';
  left: 0px;
  border-radius: 16px;
  top: 19px;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
  border-top-width: 16px;
  border-top-style: solid;
  opacity: 0;
  -webkit-transform: translate3d(0, -8px, 0);
  transform: translate3d(0, -8px, 0);
  -webkit-transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1);
  transition: all 0.2s cubic-bezier(0.35, 0, 0.25, 1);
}

[dir=rtl] md-slider .md-sign:after {
  left: auto;
  right: 0px;
}

md-slider .md-sign .md-thumb-text {
  z-index: 1;
  font-size: 12px;
  font-weight: bold;
}

md-slider .md-focus-ring {
  position: absolute;
  left: -17px;
  top: 7px;
  width: 34px;
  height: 34px;
  border-radius: 34px;
  -webkit-transform: scale(0.7);
  transform: scale(0.7);
  opacity: 0;
  -webkit-transition: all 0.35s cubic-bezier(0.35, 0, 0.25, 1);
  transition: all 0.35s cubic-bezier(0.35, 0, 0.25, 1);
}

[dir=rtl] md-slider .md-focus-ring {
  left: auto;
  right: -17px;
}

md-slider .md-disabled-thumb {
  position: absolute;
  left: -14px;
  top: 10px;
  width: 28px;
  height: 28px;
  border-radius: 28px;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  border-width: 4px;
  border-style: solid;
  display: none;
}

[dir=rtl] md-slider .md-disabled-thumb {
  left: auto;
  right: -14px;
}

md-slider.md-min .md-sign {
  opacity: 0;
}

md-slider:focus {
  outline: none;
}

md-slider.md-dragging .md-thumb-container,
md-slider.md-dragging .md-track-fill {
  -webkit-transition: none;
  transition: none;
}

md-slider:not([md-discrete]) {
  /* Hide the sign and ticks in non-discrete mode */
}

md-slider:not([md-discrete]) .md-track-ticks,
md-slider:not([md-discrete]) .md-sign {
  display: none;
}

md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
}

md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring {
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 1;
}

md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb {
  -webkit-animation: sliderFocusThumb 0.7s cubic-bezier(0.35, 0, 0.25, 1);
  animation: sliderFocusThumb 0.7s cubic-bezier(0.35, 0, 0.25, 1);
}

md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb {
  -webkit-transform: scale(1);
  transform: scale(1);
}

md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring {
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-animation: sliderDiscreteFocusRing 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  animation: sliderDiscreteFocusRing 0.5s cubic-bezier(0.35, 0, 0.25, 1);
}

md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb {
  -webkit-animation: sliderDiscreteFocusThumb 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  animation: sliderDiscreteFocusThumb 0.5s cubic-bezier(0.35, 0, 0.25, 1);
}

md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb,
md-slider[md-discrete]:not([disabled]).md-active .md-thumb {
  -webkit-transform: scale(0);
  transform: scale(0);
}

md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,
md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after,
md-slider[md-discrete]:not([disabled]).md-active .md-sign,
md-slider[md-discrete]:not([disabled]).md-active .md-sign:after {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}

md-slider[md-discrete][disabled][readonly] .md-thumb {
  -webkit-transform: scale(0);
  transform: scale(0);
}

md-slider[md-discrete][disabled][readonly] .md-sign,
md-slider[md-discrete][disabled][readonly] .md-sign:after {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}

md-slider[disabled] .md-track-fill {
  display: none;
}

md-slider[disabled] .md-track-ticks {
  opacity: 0;
}

md-slider[disabled]:not([readonly]) .md-sign {
  opacity: 0;
}

md-slider[disabled] .md-thumb {
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
}

md-slider[disabled] .md-disabled-thumb {
  display: block;
}

md-slider[md-vertical] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 128px;
  min-width: 0;
}

md-slider[md-vertical] .md-slider-wrapper {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  flex: 1;
  padding-top: 12px;
  padding-bottom: 12px;
  width: 48px;
  -webkit-align-self: center;
  align-self: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

md-slider[md-vertical] .md-track-container {
  height: 100%;
  width: 2px;
  top: 0;
  left: calc(50% - (2px / 2));
}

md-slider[md-vertical] .md-thumb-container {
  top: auto;
  margin-bottom: 23px;
  left: calc(50% - 1px);
  bottom: 0;
}

md-slider[md-vertical] .md-thumb-container .md-thumb:after {
  left: 1px;
}

md-slider[md-vertical] .md-thumb-container .md-focus-ring {
  left: -16px;
}

md-slider[md-vertical] .md-track-fill {
  bottom: 0;
}

md-slider[md-vertical][md-discrete] .md-sign {
  left: -40px;
  top: 9.5px;
  -webkit-transform: scale(0.4) translate3d(67.5px, 0, 0);
  transform: scale(0.4) translate3d(67.5px, 0, 0);
  /* The arrow pointing left next the sign */
}

md-slider[md-vertical][md-discrete] .md-sign:after {
  top: 9.5px;
  left: 19px;
  border-top: 14px solid transparent;
  border-right: 0;
  border-bottom: 14px solid transparent;
  border-left-width: 16px;
  border-left-style: solid;
  opacity: 0;
  -webkit-transform: translate3d(0, -8px, 0);
  transform: translate3d(0, -8px, 0);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text {
  z-index: 1;
  font-size: 12px;
  font-weight: bold;
}

md-slider[md-vertical][md-discrete].md-active .md-sign:after,
md-slider[md-vertical][md-discrete] .md-focused .md-sign:after,
md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after {
  top: 0;
}

md-slider[md-vertical][disabled][readonly] .md-thumb {
  -webkit-transform: scale(0);
  transform: scale(0);
}

md-slider[md-vertical][disabled][readonly] .md-sign,
md-slider[md-vertical][disabled][readonly] .md-sign:after {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}

md-slider[md-invert]:not([md-vertical]) .md-track-fill {
  left: auto;
  right: 0;
}

[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill {
  left: 0;
}

[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill {
  right: auto;
}

md-slider[md-invert][md-vertical] .md-track-fill {
  bottom: auto;
  top: 0;
}

md-slider-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-slider-container > *:first-child:not(md-slider),
md-slider-container > *:last-child:not(md-slider) {
  min-width: 25px;
  max-width: 42px;
  height: 25px;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-property: color, max-width;
  transition-property: color, max-width;
}

md-slider-container > *:first-child:not(md-slider) {
  margin-right: 16px;
}

[dir=rtl] md-slider-container > *:first-child:not(md-slider) {
  margin-right: auto;
  margin-left: 16px;
}

md-slider-container > *:last-child:not(md-slider) {
  margin-left: 16px;
}

[dir=rtl] md-slider-container > *:last-child:not(md-slider) {
  margin-left: auto;
  margin-right: 16px;
}

md-slider-container[md-vertical] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
}

md-slider-container[md-vertical] > *:first-child:not(md-slider),
md-slider-container[md-vertical] > *:last-child:not(md-slider) {
  margin-right: 0;
  margin-left: 0;
  text-align: center;
}

md-slider-container md-input-container input[type="number"] {
  text-align: center;
  padding-left: 15px;
  height: 50px;
  margin-top: -25px;
}

[dir=rtl] md-slider-container md-input-container input[type="number"] {
  padding-left: 0;
  padding-right: 15px;
}

@media screen and (-ms-high-contrast: active) {
  md-slider.md-default-theme .md-track {
    border-bottom: 1px solid #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-sticky-clone {
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  position: absolute !important;
  -webkit-transform: translate3d(-9999px, -9999px, 0);
  transform: translate3d(-9999px, -9999px, 0);
}

.md-sticky-clone[sticky-state="active"] {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.md-sticky-clone[sticky-state="active"]:not(.md-sticky-no-effect) .md-subheader-inner {
  -webkit-animation: subheaderStickyHoverIn 0.3s ease-out both;
  animation: subheaderStickyHoverIn 0.3s ease-out both;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

@-webkit-keyframes subheaderStickyHoverIn {
  0% {
    box-shadow: 0 0 0 0 transparent;
  }

  100% {
    box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.16);
  }
}

@keyframes subheaderStickyHoverIn {
  0% {
    box-shadow: 0 0 0 0 transparent;
  }

  100% {
    box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.16);
  }
}

@-webkit-keyframes subheaderStickyHoverOut {
  0% {
    box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.16);
  }

  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

@keyframes subheaderStickyHoverOut {
  0% {
    box-shadow: 0px 2px 4px 0 rgba(0, 0, 0, 0.16);
  }

  100% {
    box-shadow: 0 0 0 0 transparent;
  }
}

.md-subheader-wrapper:not(.md-sticky-no-effect) {
  -webkit-transition: 0.2s ease-out margin;
  transition: 0.2s ease-out margin;
}

.md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader {
  margin: 0;
}

.md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone {
  z-index: 2;
}

.md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state="active"] {
  margin-top: -2px;
}

.md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state="active"] .md-subheader-inner:after {
  -webkit-animation: subheaderStickyHoverOut 0.3s ease-out both;
  animation: subheaderStickyHoverOut 0.3s ease-out both;
}

.md-subheader {
  display: block;
  font-size: 14px;
  font-weight: 500;
  line-height: 1em;
  margin: 0 0 0 0;
  position: relative;
}

.md-subheader .md-subheader-inner {
  display: block;
  padding: 16px;
}

.md-subheader .md-subheader-content {
  display: block;
  z-index: 1;
  position: relative;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

[md-swipe-left],
[md-swipe-right] {
  touch-action: pan-y;
}

[md-swipe-up],
[md-swipe-down] {
  touch-action: pan-x;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-inline-form md-switch {
  margin-top: 18px;
  margin-bottom: 19px;
}

md-switch {
  margin: 16px 0;
  white-space: nowrap;
  cursor: pointer;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  height: 30px;
  line-height: 28px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  margin-left: inherit;
  margin-right: 16px;
}

[dir=rtl] md-switch {
  margin-left: 16px;
}

[dir=rtl] md-switch {
  margin-right: inherit;
}

md-switch:last-of-type {
  margin-left: inherit;
  margin-right: 0;
}

[dir=rtl] md-switch:last-of-type {
  margin-left: 0;
}

[dir=rtl] md-switch:last-of-type {
  margin-right: inherit;
}

md-switch[disabled] {
  cursor: default;
}

md-switch[disabled] .md-container {
  cursor: default;
}

md-switch .md-container {
  cursor: -webkit-grab;
  cursor: grab;
  width: 36px;
  height: 24px;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  margin-right: 8px;
  float: left;
}

[dir=rtl] md-switch .md-container {
  margin-right: 0px;
  margin-left: 8px;
}

md-switch.md-inverted .md-container {
  margin-right: initial;
  margin-left: 8px;
}

[dir=rtl] md-switch.md-inverted .md-container {
  margin-right: 8px;
}

[dir=rtl] md-switch.md-inverted .md-container {
  margin-left: initial;
}

md-switch:not([disabled]) .md-dragging,
md-switch:not([disabled]).md-dragging .md-container {
  cursor: -webkit-grabbing;
  cursor: grabbing;
}

md-switch.md-focused:not([disabled]) .md-thumb:before {
  left: -8px;
  top: -8px;
  right: -8px;
  bottom: -8px;
}

md-switch.md-focused:not([disabled]):not(.md-checked) .md-thumb:before {
  background-color: rgba(0, 0, 0, 0.12);
}

md-switch .md-label {
  border-color: transparent;
  border-width: 0;
  float: left;
}

md-switch .md-bar {
  left: 1px;
  width: 34px;
  top: 5px;
  height: 14px;
  border-radius: 8px;
  position: absolute;
}

md-switch .md-thumb-container {
  top: 2px;
  left: 0;
  width: 16px;
  position: absolute;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 1;
}

md-switch.md-checked .md-thumb-container {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}

md-switch .md-thumb {
  position: absolute;
  margin: 0;
  left: 0;
  top: 0;
  outline: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
}

md-switch .md-thumb:before {
  background-color: transparent;
  border-radius: 50%;
  content: '';
  position: absolute;
  display: block;
  height: auto;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  width: auto;
}

md-switch .md-thumb .md-ripple-container {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  left: -20px;
  top: -20px;
  right: -20px;
  bottom: -20px;
}

md-switch:not(.md-dragging) .md-bar,
md-switch:not(.md-dragging) .md-thumb-container,
md-switch:not(.md-dragging) .md-thumb {
  -webkit-transition: all 0.08s linear;
  transition: all 0.08s linear;
  -webkit-transition-property: background-color, -webkit-transform;
  transition-property: background-color, -webkit-transform;
  transition-property: transform, background-color;
  transition-property: transform, background-color, -webkit-transform;
}

md-switch:not(.md-dragging) .md-bar,
md-switch:not(.md-dragging) .md-thumb {
  -webkit-transition-delay: 0.05s;
  transition-delay: 0.05s;
}

@media screen and (-ms-high-contrast: active) {
  md-switch.md-default-theme .md-bar {
    background-color: #666;
  }

  md-switch.md-default-theme.md-checked .md-bar {
    background-color: #9E9E9E;
  }

  md-switch.md-default-theme .md-thumb {
    background-color: #fff;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

@-webkit-keyframes md-tab-content-hide {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes md-tab-content-hide {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

md-tab-data {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  opacity: 0;
}

md-tabs {
  display: block;
  margin: 0;
  border-radius: 2px;
  overflow: hidden;
  position: relative;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}

md-tabs:not(.md-no-tab-content):not(.md-dynamic-height) {
  min-height: 248px;
}

md-tabs[md-align-tabs="bottom"] {
  padding-bottom: 48px;
}

md-tabs[md-align-tabs="bottom"] md-tabs-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 48px;
  z-index: 2;
}

md-tabs[md-align-tabs="bottom"] md-tabs-content-wrapper {
  top: 0;
  bottom: 48px;
}

md-tabs.md-dynamic-height md-tabs-content-wrapper {
  min-height: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  bottom: auto;
  overflow: visible;
}

md-tabs.md-dynamic-height md-tab-content.md-active {
  position: relative;
}

md-tabs[md-border-bottom] md-tabs-wrapper {
  border-width: 0 0 1px;
  border-style: solid;
}

md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper {
  top: 49px;
}

md-tabs-wrapper {
  display: block;
  position: relative;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-tabs-wrapper md-prev-button,
md-tabs-wrapper md-next-button {
  height: 100%;
  width: 32px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 1em;
  z-index: 2;
  cursor: pointer;
  font-size: 16px;
  background: transparent no-repeat center center;
  -webkit-transition: all 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: all 0.5s cubic-bezier(0.35, 0, 0.25, 1);
}

md-tabs-wrapper md-prev-button:focus,
md-tabs-wrapper md-next-button:focus {
  outline: none;
}

md-tabs-wrapper md-prev-button.md-disabled,
md-tabs-wrapper md-next-button.md-disabled {
  opacity: 0.25;
  cursor: default;
}

md-tabs-wrapper md-prev-button.ng-leave,
md-tabs-wrapper md-next-button.ng-leave {
  -webkit-transition: none;
  transition: none;
}

md-tabs-wrapper md-prev-button md-icon,
md-tabs-wrapper md-next-button md-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

[dir="rtl"] md-tabs-wrapper md-prev-button,
[dir="rtl"] md-tabs-wrapper md-next-button {
  -webkit-transform: rotateY(180deg) translateY(-50%);
  transform: rotateY(180deg) translateY(-50%);
}

md-tabs-wrapper md-prev-button {
  left: 0;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==");
}

[dir=rtl] md-tabs-wrapper md-prev-button {
  left: auto;
  right: 0;
}

md-tabs-wrapper md-next-button {
  right: 0;
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K");
}

[dir=rtl] md-tabs-wrapper md-next-button {
  right: auto;
  left: 0;
}

md-tabs-wrapper md-next-button md-icon {
  -webkit-transform: translate3d(-50%, -50%, 0) rotate(180deg);
  transform: translate3d(-50%, -50%, 0) rotate(180deg);
}

md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper {
  width: 100%;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
}

md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
  flex-grow: 1;
}

md-tabs-canvas {
  position: relative;
  overflow: hidden;
  display: block;
  height: 48px;
}

md-tabs-canvas:after {
  content: '';
  display: table;
  clear: both;
}

md-tabs-canvas .md-dummy-wrapper {
  position: absolute;
  top: 0;
  left: 0;
}

[dir=rtl] md-tabs-canvas .md-dummy-wrapper {
  left: auto;
  right: 0;
}

md-tabs-canvas.md-paginated {
  margin: 0 32px;
}

md-tabs-canvas.md-center-tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-align: center;
}

md-tabs-canvas.md-center-tabs .md-tab {
  float: none;
  display: inline-block;
}

md-pagination-wrapper {
  height: 48px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  position: absolute;
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-pagination-wrapper:after {
  content: '';
  display: table;
  clear: both;
}

[dir=rtl] md-pagination-wrapper {
  left: auto;
  right: 0;
}

md-pagination-wrapper.md-center-tabs {
  position: relative;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}

md-tabs-content-wrapper {
  display: block;
  position: absolute;
  top: 48px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

md-tab-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  transition: transform 0.5s cubic-bezier(0.35, 0, 0.25, 1), -webkit-transform 0.5s cubic-bezier(0.35, 0, 0.25, 1);
  overflow: auto;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-tab-content.md-no-scroll {
  bottom: auto;
  overflow: hidden;
}

md-tab-content.ng-leave,
md-tab-content.md-no-transition {
  -webkit-transition: none;
  transition: none;
}

md-tab-content.md-left:not(.md-active) {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-animation: 1s md-tab-content-hide;
  animation: 1s md-tab-content-hide;
  visibility: hidden;
}

[dir=rtl] md-tab-content.md-left:not(.md-active) {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
}

md-tab-content.md-left:not(.md-active) * {
  -webkit-transition: visibility 0s linear;
  transition: visibility 0s linear;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  visibility: hidden;
}

md-tab-content.md-right:not(.md-active) {
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-animation: 1s md-tab-content-hide;
  animation: 1s md-tab-content-hide;
  visibility: hidden;
}

[dir=rtl] md-tab-content.md-right:not(.md-active) {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

md-tab-content.md-right:not(.md-active) * {
  -webkit-transition: visibility 0s linear;
  transition: visibility 0s linear;
  -webkit-transition-delay: 0.5s;
  transition-delay: 0.5s;
  visibility: hidden;
}

md-tab-content > div {
  -webkit-box-flex: 1;
  -webkit-flex: 1 0 100%;
  flex: 1 0 100%;
  min-width: 0;
}

md-tab-content > div.ng-leave {
  -webkit-animation: 1s md-tab-content-hide;
  animation: 1s md-tab-content-hide;
}

md-ink-bar {
  position: absolute;
  left: auto;
  right: auto;
  bottom: 0;
  height: 2px;
}

md-ink-bar.md-left {
  -webkit-transition: left 0.125s cubic-bezier(0.35, 0, 0.25, 1), right 0.25s cubic-bezier(0.35, 0, 0.25, 1);
  transition: left 0.125s cubic-bezier(0.35, 0, 0.25, 1), right 0.25s cubic-bezier(0.35, 0, 0.25, 1);
}

md-ink-bar.md-right {
  -webkit-transition: left 0.25s cubic-bezier(0.35, 0, 0.25, 1), right 0.125s cubic-bezier(0.35, 0, 0.25, 1);
  transition: left 0.25s cubic-bezier(0.35, 0, 0.25, 1), right 0.125s cubic-bezier(0.35, 0, 0.25, 1);
}

md-tab {
  position: absolute;
  z-index: -1;
  left: -9999px;
}

.md-tab {
  font-size: 14px;
  text-align: center;
  line-height: 24px;
  padding: 12px 24px;
  -webkit-transition: background-color 0.35s cubic-bezier(0.35, 0, 0.25, 1);
  transition: background-color 0.35s cubic-bezier(0.35, 0, 0.25, 1);
  cursor: pointer;
  white-space: nowrap;
  position: relative;
  text-transform: uppercase;
  float: left;
  font-weight: 500;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
}

[dir=rtl] .md-tab {
  float: right;
}

.md-tab.md-focused,
.md-tab:focus {
  box-shadow: none;
  outline: none;
}

.md-tab.md-active {
  cursor: default;
}

.md-tab.md-disabled {
  pointer-events: none;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  opacity: 0.5;
  cursor: default;
}

.md-tab.ng-leave {
  -webkit-transition: none;
  transition: none;
}

md-toolbar + md-tabs,
md-toolbar + md-dialog-content md-tabs {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
/*!
 * Angular Material Design
 * https://github.com/angular/material
 * @license MIT
 * v0.9.0-rc1-master-3c0ce9b
 */

/* mixin definition ; sets LTR and RTL within the same style call */

md-input-group label,
.md-input-group label {
  display: block;
  font-size: 1.2rem;
}

md-input-group textarea,
md-input-group input[type="text"],
md-input-group input[type="password"],
md-input-group input[type="datetime"],
md-input-group input[type="datetime-local"],
md-input-group input[type="date"],
md-input-group input[type="month"],
md-input-group input[type="time"],
md-input-group input[type="week"],
md-input-group input[type="number"],
md-input-group input[type="email"],
md-input-group input[type="url"],
md-input-group input[type="search"],
md-input-group input[type="tel"],
md-input-group input[type="color"],
.md-input-group textarea,
.md-input-group input[type="text"],
.md-input-group input[type="password"],
.md-input-group input[type="datetime"],
.md-input-group input[type="datetime-local"],
.md-input-group input[type="date"],
.md-input-group input[type="month"],
.md-input-group input[type="time"],
.md-input-group input[type="week"],
.md-input-group input[type="number"],
.md-input-group input[type="email"],
.md-input-group input[type="url"],
.md-input-group input[type="search"],
.md-input-group input[type="tel"],
.md-input-group input[type="color"] {
  display: block;
  border-width: 0 0 1px 0;
  padding-top: 2px;
  line-height: 26px;
  padding-bottom: 1px;
}

md-input-group textarea:focus,
md-input-group input[type="text"]:focus,
md-input-group input[type="password"]:focus,
md-input-group input[type="datetime"]:focus,
md-input-group input[type="datetime-local"]:focus,
md-input-group input[type="date"]:focus,
md-input-group input[type="month"]:focus,
md-input-group input[type="time"]:focus,
md-input-group input[type="week"]:focus,
md-input-group input[type="number"]:focus,
md-input-group input[type="email"]:focus,
md-input-group input[type="url"]:focus,
md-input-group input[type="search"]:focus,
md-input-group input[type="tel"]:focus,
md-input-group input[type="color"]:focus,
.md-input-group textarea:focus,
.md-input-group input[type="text"]:focus,
.md-input-group input[type="password"]:focus,
.md-input-group input[type="datetime"]:focus,
.md-input-group input[type="datetime-local"]:focus,
.md-input-group input[type="date"]:focus,
.md-input-group input[type="month"]:focus,
.md-input-group input[type="time"]:focus,
.md-input-group input[type="week"]:focus,
.md-input-group input[type="number"]:focus,
.md-input-group input[type="email"]:focus,
.md-input-group input[type="url"]:focus,
.md-input-group input[type="search"]:focus,
.md-input-group input[type="tel"]:focus,
.md-input-group input[type="color"]:focus {
  outline: 0;
}

md-input-group input,
md-input-group textarea,
.md-input-group input,
.md-input-group textarea {
  background: none;
}

md-input-group,
.md-input-group {
  padding-bottom: 2px;
  margin: 10px 0 8px 0;
  position: relative;
  display: block;
}

md-input-group label,
.md-input-group label {
  font-size: 1.6rem;
  z-index: 1;
  pointer-events: none;
  -webkit-font-smoothing: antialiased;
}

md-input-group label:hover,
.md-input-group label:hover {
  cursor: text;
}

md-input-group label,
.md-input-group label {
  -webkit-transform: translate3d(0, 22px, 0);
  transform: translate3d(0, 22px, 0);
  transition: all 0.15s cubic-bezier(0.35, 0, 0.25, 1);
  transition: all 0.15s cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

html[dir=rtl] md-input-group label,
html[dir=rtl] .md-input-group label {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}

md-input-group input,
md-input-group textarea,
.md-input-group input,
.md-input-group textarea {
  border-bottom-width: 1px;
  transition: all 0.15s cubic-bezier(0.35, 0, 0.25, 1);
}

md-input-group.md-input-focused label,
.md-input-group.md-input-focused label {
  -webkit-transform: translate3d(0, 4px, 0) scale(0.75);
  transform: translate3d(0, 4px, 0) scale(0.75);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

html[dir=rtl] md-input-group.md-input-focused label,
html[dir=rtl] .md-input-group.md-input-focused label {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}

md-input-group.md-input-focused input,
md-input-group.md-input-focused textarea,
.md-input-group.md-input-focused input,
.md-input-group.md-input-focused textarea {
  border-bottom-width: 2px;
}

md-input-group.md-input-focused input,
.md-input-group.md-input-focused input {
  padding-bottom: 0;
}

md-input-group.md-input-has-value label,
.md-input-group.md-input-has-value label {
  -webkit-transform: translate3d(0, 4px, 0) scale(0.75);
  transform: translate3d(0, 4px, 0) scale(0.75);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

html[dir=rtl] md-input-group.md-input-has-value label,
html[dir=rtl] .md-input-group.md-input-has-value label {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}

md-input-group.md-input-has-value:not(.md-input-focused) label,
.md-input-group.md-input-has-value:not(.md-input-focused) label {
  -webkit-transform: translate3d(0, 4px, 0) scale(0.75);
  transform: translate3d(0, 4px, 0) scale(0.75);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

html[dir=rtl] md-input-group.md-input-has-value:not(.md-input-focused) label,
html[dir=rtl] .md-input-group.md-input-has-value:not(.md-input-focused) label {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}

md-input-group[disabled] input,
md-input-group[disabled] textarea,
.md-input-group[disabled] input,
.md-input-group[disabled] textarea {
  border-bottom-width: 0px;
}

md-input-group[disabled] input,
md-input-group[disabled] textarea,
.md-input-group[disabled] input,
.md-input-group[disabled] textarea {
  background-size: 3px 1px;
  background-position: 0 bottom;
  background-size: 2px 1px;
  background-repeat: repeat-x;
  pointer-events: none;
}

md-input-group[disabled] label,
.md-input-group[disabled] label {
  -webkit-transform: translate3d(0, 4px, 0) scale(0.75);
  transform: translate3d(0, 4px, 0) scale(0.75);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

html[dir=rtl] md-input-group[disabled] label,
html[dir=rtl] .md-input-group[disabled] label {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}

md-input-group[disabled] *:not(.md-input-has-value) label,
.md-input-group[disabled] *:not(.md-input-has-value) label {
  -webkit-transform: translate3d(0, 22px, 0);
  transform: translate3d(0, 22px, 0);
  transition: all 0.15s cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transform-origin: left center;
  transform-origin: left center;
}

html[dir=rtl] md-input-group[disabled] *:not(.md-input-has-value) label,
html[dir=rtl] .md-input-group[disabled] *:not(.md-input-has-value) label {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-toast-text {
  padding: 0 6px;
}

md-toast {
  position: absolute;
  z-index: 105;
  box-sizing: border-box;
  cursor: default;
  overflow: hidden;
  padding: 8px;
  opacity: 1;
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  /* Transition differently when swiping */
  /*
   * When the toast doesn't take up the whole screen,
   * make it rotate when the user swipes it away
   */
}

md-toast .md-toast-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  direction: row;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  max-height: 168px;
  max-width: 100%;
  min-height: 48px;
  padding: 0 18px;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  border-radius: 2px;
  font-size: 14px;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0) rotateZ(0deg);
  transform: translate3d(0, 0, 0) rotateZ(0deg);
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

md-toast .md-toast-content::before {
  content: '';
  min-height: 48px;
  visibility: hidden;
  display: inline-block;
}

[dir=rtl] md-toast .md-toast-content {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

md-toast .md-toast-content span {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
  box-sizing: border-box;
  min-width: 0;
}

md-toast.md-capsule {
  border-radius: 24px;
}

md-toast.md-capsule .md-toast-content {
  border-radius: 24px;
}

md-toast.ng-leave-active .md-toast-content {
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
}

md-toast.md-swipeleft .md-toast-content,
md-toast.md-swiperight .md-toast-content,
md-toast.md-swipeup .md-toast-content,
md-toast.md-swipedown .md-toast-content {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

md-toast.ng-enter {
  opacity: 0;
}

md-toast.ng-enter .md-toast-content {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}

md-toast.ng-enter.md-top .md-toast-content {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}

md-toast.ng-enter.ng-enter-active {
  opacity: 1;
}

md-toast.ng-enter.ng-enter-active .md-toast-content {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

md-toast.ng-leave.ng-leave-active .md-toast-content {
  opacity: 0;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}

md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content {
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content {
  -webkit-transform: translate3d(0, 50%, 0);
  transform: translate3d(0, 50%, 0);
}

md-toast.ng-leave.ng-leave-active.md-top .md-toast-content {
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
}

md-toast .md-action {
  line-height: 19px;
  margin-left: 24px;
  margin-right: 0;
  cursor: pointer;
  text-transform: uppercase;
  float: right;
}

md-toast .md-button {
  min-width: 0;
  margin-right: 0;
  margin-left: 12px;
}

[dir=rtl] md-toast .md-button {
  margin-right: 12px;
}

[dir=rtl] md-toast .md-button {
  margin-left: 0;
}

@media (max-width: 959px) {
  md-toast {
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border-radius: 0;
    bottom: 0;
    padding: 0;
  }

  md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content {
    -webkit-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0);
  }

  md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content {
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }
}

@media (min-width: 960px) {
  md-toast {
    min-width: 304px;
    /*
   * When the toast doesn't take up the whole screen,
   * make it rotate when the user swipes it away
   */
  }

  md-toast.md-bottom {
    bottom: 0;
  }

  md-toast.md-left {
    left: 0;
  }

  md-toast.md-right {
    right: 0;
  }

  md-toast.md-top {
    top: 0;
  }

  md-toast._md-start {
    left: 0;
  }

  [dir=rtl] md-toast._md-start {
    left: auto;
    right: 0;
  }

  md-toast._md-end {
    right: 0;
  }

  [dir=rtl] md-toast._md-end {
    right: auto;
    left: 0;
  }

  md-toast.ng-leave.ng-leave-active.md-swipeleft .md-toast-content {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  md-toast.ng-leave.ng-leave-active.md-swiperight .md-toast-content {
    -webkit-transform: translate3d(50%, 0, 0);
    transform: translate3d(50%, 0, 0);
  }
}

@media (min-width: 1920px) {
  md-toast .md-toast-content {
    max-width: 568px;
  }
}

@media screen and (-ms-high-contrast: active) {
  md-toast {
    border: 1px solid #fff;
  }
}

.md-toast-animating {
  overflow: hidden !important;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

md-toolbar {
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  flex-direction: column;
  position: relative;
  z-index: 2;
  font-size: 20px;
  min-height: 64px;
  width: 100%;
}

md-toolbar._md-toolbar-transitions {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
  transition-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transition-property: background-color, fill, color;
  transition-property: background-color, fill, color;
}

md-toolbar.md-whiteframe-z1-add,
md-toolbar.md-whiteframe-z1-remove {
  -webkit-transition: box-shadow 0.5s linear;
  transition: box-shadow 0.5s linear;
}

md-toolbar md-toolbar-filler {
  width: 72px;
}

md-toolbar *,
md-toolbar *:before,
md-toolbar *:after {
  box-sizing: border-box;
}

md-toolbar.ng-animate {
  -webkit-transition: none;
  transition: none;
}

md-toolbar.md-tall {
  height: 128px;
  min-height: 128px;
  max-height: 128px;
}

md-toolbar.md-medium-tall {
  height: 88px;
  min-height: 88px;
  max-height: 88px;
}

md-toolbar.md-medium-tall .md-toolbar-tools {
  height: 48px;
  min-height: 48px;
  max-height: 48px;
}

md-toolbar > .md-indent {
  margin-left: 64px;
}

[dir=rtl] md-toolbar > .md-indent {
  margin-left: auto;
  margin-right: 64px;
}

md-toolbar ~ md-content > md-list {
  padding: 0;
}

md-toolbar ~ md-content > md-list md-list-item:last-child md-divider {
  display: none;
}

.md-toolbar-tools {
  font-size: 20px;
  letter-spacing: 0.005em;
  box-sizing: border-box;
  font-weight: 400;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
  height: 64px;
  max-height: 64px;
  padding: 0 16px;
  margin: 0;
}

.md-toolbar-tools h1,
.md-toolbar-tools h2,
.md-toolbar-tools h3 {
  font-size: inherit;
  font-weight: inherit;
  margin: inherit;
}

.md-toolbar-tools a {
  color: inherit;
  text-decoration: none;
}

.md-toolbar-tools .fill-height {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.md-toolbar-tools md-checkbox {
  margin: inherit;
}

.md-toolbar-tools .md-button {
  margin-top: 0;
  margin-bottom: 0;
}

.md-toolbar-tools .md-button,
.md-toolbar-tools .md-button.md-icon-button md-icon {
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
  transition-timing-function: cubic-bezier(0.35, 0, 0.25, 1);
  -webkit-transition-property: background-color, fill, color;
  transition-property: background-color, fill, color;
}

.md-toolbar-tools .md-button.ng-animate,
.md-toolbar-tools .md-button.md-icon-button md-icon.ng-animate {
  -webkit-transition: none;
  transition: none;
}

.md-toolbar-tools > .md-button:first-child {
  margin-left: -8px;
}

[dir=rtl] .md-toolbar-tools > .md-button:first-child {
  margin-left: auto;
  margin-right: -8px;
}

.md-toolbar-tools > .md-button:last-child {
  margin-right: -8px;
}

[dir=rtl] .md-toolbar-tools > .md-button:last-child {
  margin-right: auto;
  margin-left: -8px;
}

.md-toolbar-tools > md-menu:last-child {
  margin-right: -8px;
}

[dir=rtl] .md-toolbar-tools > md-menu:last-child {
  margin-right: auto;
  margin-left: -8px;
}

.md-toolbar-tools > md-menu:last-child > .md-button {
  margin-right: 0;
}

[dir=rtl] .md-toolbar-tools > md-menu:last-child > .md-button {
  margin-right: auto;
  margin-left: 0;
}

@media screen and (-ms-high-contrast: active) {
  .md-toolbar-tools {
    border-bottom: 1px solid #fff;
  }
}

@media (min-width: 0) and (max-width: 959px) and (orientation: portrait) {
  md-toolbar {
    min-height: 56px;
  }

  .md-toolbar-tools {
    height: 56px;
    max-height: 56px;
  }
}

@media (min-width: 0) and (max-width: 959px) and (orientation: landscape) {
  md-toolbar {
    min-height: 48px;
  }

  .md-toolbar-tools {
    height: 48px;
    max-height: 48px;
  }
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-tooltip {
  pointer-events: none;
  border-radius: 4px;
  overflow: hidden;
  opacity: 0;
  font-weight: 500;
  font-size: 14px;
  white-space: nowrap;
  text-overflow: ellipsis;
  height: 32px;
  line-height: 32px;
  padding-right: 16px;
  padding-left: 16px;
}

.md-tooltip.md-origin-top {
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  margin-top: -24px;
}

.md-tooltip.md-origin-right {
  -webkit-transform-origin: left center;
  transform-origin: left center;
  margin-left: 24px;
}

.md-tooltip.md-origin-bottom {
  -webkit-transform-origin: center top;
  transform-origin: center top;
  margin-top: 24px;
}

.md-tooltip.md-origin-left {
  -webkit-transform-origin: right center;
  transform-origin: right center;
  margin-left: -24px;
}

@media (min-width: 960px) {
  .md-tooltip {
    font-size: 10px;
    height: 22px;
    line-height: 22px;
    padding-right: 8px;
    padding-left: 8px;
  }

  .md-tooltip.md-origin-top {
    margin-top: -14px;
  }

  .md-tooltip.md-origin-right {
    margin-left: 14px;
  }

  .md-tooltip.md-origin-bottom {
    margin-top: 14px;
  }

  .md-tooltip.md-origin-left {
    margin-left: -14px;
  }
}

.md-tooltip.md-show-add {
  -webkit-transform: scale(0);
  transform: scale(0);
}

.md-tooltip.md-show {
  -webkit-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transform: scale(1);
  transform: scale(1);
  opacity: 0.9;
}

.md-tooltip.md-hide {
  -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
  -webkit-transition-duration: 150ms;
  transition-duration: 150ms;
  -webkit-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-truncate {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.md-truncate.md-clip {
  text-overflow: clip;
}

.md-truncate.flex {
  width: 0;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-virtual-repeat-container {
  box-sizing: border-box;
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
}

.md-virtual-repeat-container .md-virtual-repeat-scroller {
  bottom: 0;
  box-sizing: border-box;
  left: 0;
  margin: 0;
  overflow-x: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  -webkit-overflow-scrolling: touch;
}

.md-virtual-repeat-container .md-virtual-repeat-sizer {
  box-sizing: border-box;
  height: 1px;
  display: block;
  margin: 0;
  padding: 0;
  width: 1px;
}

.md-virtual-repeat-container .md-virtual-repeat-offsetter {
  box-sizing: border-box;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller {
  overflow-x: auto;
  overflow-y: hidden;
}

.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter {
  bottom: 16px;
  right: auto;
  white-space: nowrap;
}

[dir=rtl] .md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter {
  right: auto;
  left: auto;
}
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 */

.md-whiteframe-1dp,
.md-whiteframe-z1 {
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 2px 1px -1px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-2dp {
  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-3dp {
  box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 3px 3px -2px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-4dp,
.md-whiteframe-z2 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-5dp {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-6dp {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-7dp,
.md-whiteframe-z3 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-8dp {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-9dp {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-10dp,
.md-whiteframe-z4 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-11dp {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-12dp {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-13dp,
.md-whiteframe-z5 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-14dp {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-15dp {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-16dp {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-17dp {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-18dp {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-19dp {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-20dp {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-21dp {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-22dp {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-23dp {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}

.md-whiteframe-24dp {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}

@media screen and (-ms-high-contrast: active) {
  md-whiteframe {
    border: 1px solid #fff;
  }
}

@media print {
  md-whiteframe,
  [md-whiteframe] {
    background-color: #ffffff;
  }
}
@charset "UTF-8";
/*
//////////////
// SETTINGS //
//////////////
*/
/**
 * Foundation for Sites by ZURB
 * Version 6.4.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*
//////////
// BASE //
//////////
*/
/*
foundation base (& normalize)
*/
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
/* Document
       ========================================================================== */
/**
     * 1. Change the default font family in all browsers (opinionated).
     * 2. Correct the line height in all browsers.
     * 3. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
html {
    font-family: sans-serif;
    /* 1 */
    line-height: 1.15;
    /* 2 */
    -ms-text-size-adjust: 100%;
    /* 3 */
    -webkit-text-size-adjust: 100%;
    /* 3 */
}

/* Sections
       ========================================================================== */
/**
     * Remove the margin in all browsers (opinionated).
     */
body {
    margin: 0;
}

/**
     * Add the correct display in IE 9-.
     */
article,
aside,
footer,
header,
nav,
section {
    display: block;
}

/**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
figcaption,
figure {
    display: block;
}

/**
     * Add the correct margin in IE 8.
     */
figure {
    margin: 1em 40px;
}

/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
     * Add the correct display in IE.
     */
main {
    display: block;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Links
       ========================================================================== */
/**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
a {
    background-color: transparent;
    /* 1 */
    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
    outline-width: 0;
}

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
    /* 2 */
}

/**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
b,
strong {
    font-weight: inherit;
}

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
    font-weight: bolder;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
     * Add the correct font style in Android 4.3-.
     */
dfn {
    font-style: italic;
}

/**
     * Add the correct background and color in IE 9-.
     */
mark {
    background-color: #ff0;
    color: #000;
}

/**
     * Add the correct font size in all browsers.
     */
small {
    font-size: 80%;
}

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
audio,
video {
    display: inline-block;
}

/**
     * Add the correct display in iOS 4-7.
     */
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
     * Remove the border on images inside links in IE 10-.
     */
img {
    border-style: none;
}

/**
     * Hide the overflow in IE.
     */
svg:not(:root) {
    overflow: hidden;
}

/* Forms
       ========================================================================== */
/**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
     * Show the overflow in IE.
     */
button {
    overflow: visible;
}

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
    /**
       * Remove the inner border and padding in Firefox.
       */
    /**
       * Restore the focus styles unset by the previous rule.
       */
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
     * Show the overflow in Edge.
     */
input {
    overflow: visible;
}

/**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
    /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */
}

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    color: inherit;
    /* 2 */
    white-space: normal;
    /* 1 */
}

/**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
     * Remove the default vertical scrollbar in IE.
     */
textarea {
    overflow: auto;
}

/* Interactive
       ========================================================================== */
/*
     * Add the correct display in Edge, IE, and Firefox.
     */
details {
    display: block;
}

/*
     * Add the correct display in all browsers.
     */
summary {
    display: list-item;
}

/*
     * Add the correct display in IE 9-.
     */
menu {
    display: block;
}

/* Scripting
       ========================================================================== */
/**
     * Add the correct display in IE 9-.
     */
canvas {
    display: inline-block;
}

/**
     * Add the correct display in IE.
     */
template {
    display: none;
}

/* Hidden
       ========================================================================== */
/**
     * Add the correct display in IE 10-.
     */
[hidden] {
    display: none;
}

.foundation-mq {
    font-family: "small=0em&medium=40em&large=64em";
}

html {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 100%;
}

*,
*::before,
*::after {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    background: #FFFCFC;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: #212121;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
}

textarea {
    height: auto;
    min-height: 50px;
    border-radius: 4px;
}

select {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    border-radius: 4px;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
    max-width: none !important;
}

button {
    padding: 0;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 0;
    border-radius: 4px;
    background: transparent;
    line-height: 1;
    cursor: auto;
}

[data-whatinput='mouse'] button {
    outline: 0;
}

pre {
    overflow: auto;
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
}

.is-visible {
    display: block !important;
}

.is-hidden {
    display: none !important;
}

/*
////////////
// GLOBAL //
////////////
*/
/*
global tags
*/
html, body {
    line-height: 29px;
}

a {
    color: #2A287B;
    text-decoration: none;
    font-weight: 600;
    -webkit-transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-transition-property: color, background-color, opacity, -webkit-box-shadow;
    transition-property: color, background-color, opacity, -webkit-box-shadow;
    transition-property: color, background-color, opacity, box-shadow;
    transition-property: color, background-color, opacity, box-shadow, -webkit-box-shadow;
}

a.button, a.text-large, a.row, a.unstyled {
    text-decoration: none;
}

a.unstyled {
    color: #212121;
}

a:hover {
    cursor: pointer;
    text-decoration: underline;
}

button {
    -webkit-transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-transition-property: color, background-color, opacity, -webkit-box-shadow;
    transition-property: color, background-color, opacity, -webkit-box-shadow;
    transition-property: color, background-color, opacity, box-shadow;
    transition-property: color, background-color, opacity, box-shadow, -webkit-box-shadow;
}

sup {
    vertical-align: super;
    top: 0;
    font-size: 0.5em;
}

.hr {
    border-top: 1px solid #E1E2E3;
}

.price-loading .please-wait {
    visibility: visible;
    z-index: 100;
    opacity: 1;
}

.please-wait {
    z-index: -1;
    visibility: hidden;
    position: fixed;
    text-align: center;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    overflow: hidden;
    opacity: 0;
    -webkit-transition: opacity 200ms ease-in-out;
    transition: opacity 200ms ease-in-out;
}

.please-wait svg {
    width: 100px;
    height: 100px;
}

/*
hide svg definition container
*/
.svg-defs {
    position: absolute;
    visibility: hidden;
    z-index: -1;
    height: 0;
    width: 0;
}

/*
///////////
// FONTS //
///////////
*/
/*
FONT ICONS
*/
@font-face {
    font-family: 'huddle';
    src: url("/assets/fonts/huddle/huddle.eot?75199045");
    src: url("/assets/fonts/huddle/huddle.eot?75199045#iefix") format("embedded-opentype"), url("/assets/fonts/huddle/huddle.woff2?75199045") format("woff2"), url("/assets/fonts/huddle/huddle.woff?75199045") format("woff"), url("/assets/fonts/huddle/huddle.ttf?75199045") format("truetype"), url("/assets/fonts/huddle/huddle.svg?75199045#huddle") format("svg");
    font-weight: normal;
    font-style: normal;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: 'huddle';
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    margin-right: .2em;
    text-align: center;
    font-variant: normal;
    text-transform: none;
    line-height: 1em;
    margin-left: .2em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.icon-reply:before {
    content: '\e800';
}

/* '' */
.icon-call:before {
    content: '\e801';
}

/* '' */
.icon-chat:before {
    content: '\e802';
}

/* '' */
.icon-info:before {
    content: '\e803';
}

/* '' */
.icon-ok-circled2:before {
    content: '\e804';
}

/* '' */
.icon-cancel-circled2:before {
    content: '\e805';
}

/* '' */
.icon-ok-circled:before {
    content: '\e806';
}

/* '' */
.icon-cancel-circled:before {
    content: '\e807';
}

/* '' */
.icon-plus-circled:before {
    content: '\e808';
}

/* '' */
.icon-minus-circled:before {
    content: '\e809';
}

/* '' */
.icon-error:before {
    content: '\e80a';
}

/* '' */
.icon-mail-alt:before {
    content: '\f0e0';
}

/* '' */
.icon-doc-text-inv:before {
    content: '\f15c';
}

/* '' */
.icon-attention:before {
    content: '\e80b';
}

/* '' */
/*
///////////
// FORMS //
///////////
*/
[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 2.438rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
    border: 1px solid #212121;
    border-radius: 4px;
    background-color: #FFFFFF;
    -webkit-box-shadow: inset 0 1px 2px rgba(33, 33, 33, 0.1);
            box-shadow: inset 0 1px 2px rgba(33, 33, 33, 0.1);
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212121;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

[type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
textarea:focus {
    outline: none;
    border: 1px solid #212121;
    background-color: #FFFFFF;
    -webkit-box-shadow: 0 0 5px #BCBDBD;
            box-shadow: 0 0 5px #BCBDBD;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

textarea {
    max-width: 100%;
}

textarea[rows] {
    height: auto;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #BCBDBD;
}

input::-moz-placeholder, textarea::-moz-placeholder {
    color: #BCBDBD;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    color: #BCBDBD;
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    color: #BCBDBD;
}

input::placeholder,
textarea::placeholder {
    color: #BCBDBD;
}

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
    background-color: #E1E2E3;
    cursor: not-allowed;
}

[type='submit'],
[type='button'] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border-radius: 4px;
}

input[type='search'] {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

[type='file'],
[type='checkbox'],
[type='radio'] {
    margin: 0 0 1rem;
}

[type='checkbox'] + label,
[type='radio'] + label {
    display: inline-block;
    vertical-align: baseline;
    margin-left: 0.5rem;
    margin-right: 1rem;
    margin-bottom: 0;
}

[type='checkbox'] + label[for],
[type='radio'] + label[for] {
    cursor: pointer;
}

label > [type='checkbox'],
label > [type='radio'] {
    margin-right: 0.5rem;
}

[type='file'] {
    width: 100%;
}

label {
    display: block;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.8;
    color: #212121;
}

label.middle {
    margin: 0 0 1rem;
    padding: 0.562rem 0;
}

.help-text {
    margin-top: -0.5rem;
    font-size: 0.812rem;
    font-style: italic;
    color: #212121;
}

.input-group {
    display: table;
    width: 100%;
    margin-bottom: 1rem;
}

.input-group > :first-child {
    border-radius: 4px 0 0 4px;
}

.input-group > :last-child > * {
    border-radius: 0 4px 4px 0;
}

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
    margin: 0;
    white-space: nowrap;
    display: table-cell;
    vertical-align: middle;
}

.input-group-label {
    padding: 0 1rem;
    border: 1px solid #BCBDBD;
    background: #E1E2E3;
    color: #212121;
    text-align: center;
    white-space: nowrap;
    width: 1%;
    height: 100%;
}

.input-group-label:first-child {
    border-right: 0;
}

.input-group-label:last-child {
    border-left: 0;
}

.input-group-field {
    border-radius: 0;
    height: 2.5rem;
}

.input-group-button {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    width: 1%;
    height: 100%;
}

.input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
    height: 2.5rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem;
}

.input-group .input-group-button {
    display: table-cell;
}

fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

legend {
    max-width: 100%;
    margin-bottom: 0.5rem;
}

.fieldset {
    margin: 1.125rem 0;
    padding: 1.25rem;
    border: 1px solid #BCBDBD;
}

.fieldset legend {
    margin: 0;
    margin-left: -0.188rem;
    padding: 0 0.188rem;
}

select {
    height: 2.438rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    border: 1px solid #212121;
    border-radius: 4px;
    background-color: #FFFFFF;
    font-family: inherit;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212121;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28117, 117, 117%29'></polygon></svg>");
    background-origin: content-box;
    background-position: right -1rem center;
    background-repeat: no-repeat;
    background-size: 9px 6px;
    padding-right: 1.5rem;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

@media screen and (min-width: 0\0) {
    select {
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==");
    }
}

select:focus {
    outline: none;
    border: 1px solid #212121;
    background-color: #FFFFFF;
    -webkit-box-shadow: 0 0 5px #BCBDBD;
            box-shadow: 0 0 5px #BCBDBD;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

select:disabled {
    background-color: #E1E2E3;
    cursor: not-allowed;
}

select::-ms-expand {
    display: none;
}

select[multiple] {
    height: auto;
    background-image: none;
}

.is-invalid-input:not(:focus) {
    border-color: #FFDF1A;
    background-color: #fffce8;
}

.is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #FFDF1A;
}

.is-invalid-input:not(:focus)::-moz-placeholder {
    color: #FFDF1A;
}

.is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #FFDF1A;
}

.is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #FFDF1A;
}

.is-invalid-input:not(:focus)::placeholder {
    color: #FFDF1A;
}

.is-invalid-label {
    color: #FFDF1A;
}

.form-error {
    display: none;
    margin-top: -0.5rem;
    margin-bottom: 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: #FFDF1A;
}

.form-error.is-visible {
    display: block;
}

.field__icon + select,
.field__icon + textarea, .field__icon + [type='text'], .field__icon + [type='password'], .field__icon + [type='date'], .field__icon + [type='datetime'], .field__icon + [type='datetime-local'], .field__icon + [type='month'], .field__icon + [type='week'], .field__icon + [type='email'], .field__icon + [type='number'], .field__icon + [type='search'], .field__icon + [type='tel'], .field__icon + [type='time'], .field__icon + [type='url'], .field__icon + [type='color'] {
    padding-left: 40px;
}

.field__icon--right {
    left: auto;
    right: 10px;
}

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'], textarea, select {
    margin-bottom: 0;
    border: 1px solid #E1E2E3;
    height: 2.6rem;
    padding: .5rem;
    font-weight: 700;
}

[type='text']::-webkit-input-placeholder, [type='password']::-webkit-input-placeholder, [type='date']::-webkit-input-placeholder, [type='datetime']::-webkit-input-placeholder, [type='datetime-local']::-webkit-input-placeholder, [type='month']::-webkit-input-placeholder, [type='week']::-webkit-input-placeholder, [type='email']::-webkit-input-placeholder, [type='number']::-webkit-input-placeholder, [type='search']::-webkit-input-placeholder, [type='tel']::-webkit-input-placeholder, [type='time']::-webkit-input-placeholder, [type='url']::-webkit-input-placeholder, [type='color']::-webkit-input-placeholder, textarea::-webkit-input-placeholder, select::-webkit-input-placeholder {
    font-weight: 400;
}

[type='text']::-moz-placeholder, [type='password']::-moz-placeholder, [type='date']::-moz-placeholder, [type='datetime']::-moz-placeholder, [type='datetime-local']::-moz-placeholder, [type='month']::-moz-placeholder, [type='week']::-moz-placeholder, [type='email']::-moz-placeholder, [type='number']::-moz-placeholder, [type='search']::-moz-placeholder, [type='tel']::-moz-placeholder, [type='time']::-moz-placeholder, [type='url']::-moz-placeholder, [type='color']::-moz-placeholder, textarea::-moz-placeholder, select::-moz-placeholder {
    font-weight: 400;
}

[type='text']:-ms-input-placeholder, [type='password']:-ms-input-placeholder, [type='date']:-ms-input-placeholder, [type='datetime']:-ms-input-placeholder, [type='datetime-local']:-ms-input-placeholder, [type='month']:-ms-input-placeholder, [type='week']:-ms-input-placeholder, [type='email']:-ms-input-placeholder, [type='number']:-ms-input-placeholder, [type='search']:-ms-input-placeholder, [type='tel']:-ms-input-placeholder, [type='time']:-ms-input-placeholder, [type='url']:-ms-input-placeholder, [type='color']:-ms-input-placeholder, textarea:-ms-input-placeholder, select:-ms-input-placeholder {
    font-weight: 400;
}

[type='text']::-ms-input-placeholder, [type='password']::-ms-input-placeholder, [type='date']::-ms-input-placeholder, [type='datetime']::-ms-input-placeholder, [type='datetime-local']::-ms-input-placeholder, [type='month']::-ms-input-placeholder, [type='week']::-ms-input-placeholder, [type='email']::-ms-input-placeholder, [type='number']::-ms-input-placeholder, [type='search']::-ms-input-placeholder, [type='tel']::-ms-input-placeholder, [type='time']::-ms-input-placeholder, [type='url']::-ms-input-placeholder, [type='color']::-ms-input-placeholder, textarea::-ms-input-placeholder, select::-ms-input-placeholder {
    font-weight: 400;
}

[type='text']::placeholder, [type='password']::placeholder, [type='date']::placeholder, [type='datetime']::placeholder, [type='datetime-local']::placeholder, [type='month']::placeholder, [type='week']::placeholder, [type='email']::placeholder, [type='number']::placeholder, [type='search']::placeholder, [type='tel']::placeholder, [type='time']::placeholder, [type='url']::placeholder, [type='color']::placeholder, textarea::placeholder, select::placeholder {
    font-weight: 400;
}

.is-error [type='text'], .is-error [type='password'], .is-error [type='date'], .is-error [type='datetime'], .is-error [type='datetime-local'], .is-error [type='month'], .is-error [type='week'], .is-error [type='email'], .is-error [type='number'], .is-error [type='search'], .is-error [type='tel'], .is-error [type='time'], .is-error [type='url'], .is-error [type='color'], .is-error textarea, .is-error select {
    border-color: #FF687D;
}

[type='text'].ng-invalid:not(.ng-pristine), [type='password'].ng-invalid:not(.ng-pristine), [type='date'].ng-invalid:not(.ng-pristine), [type='datetime'].ng-invalid:not(.ng-pristine), [type='datetime-local'].ng-invalid:not(.ng-pristine), [type='month'].ng-invalid:not(.ng-pristine), [type='week'].ng-invalid:not(.ng-pristine), [type='email'].ng-invalid:not(.ng-pristine), [type='number'].ng-invalid:not(.ng-pristine), [type='search'].ng-invalid:not(.ng-pristine), [type='tel'].ng-invalid:not(.ng-pristine), [type='time'].ng-invalid:not(.ng-pristine), [type='url'].ng-invalid:not(.ng-pristine), [type='color'].ng-invalid:not(.ng-pristine), textarea.ng-invalid:not(.ng-pristine), select.ng-invalid:not(.ng-pristine) {
    border-color: #FF687D;
}

[type='text']:disabled, [type='password']:disabled, [type='date']:disabled, [type='datetime']:disabled, [type='datetime-local']:disabled, [type='month']:disabled, [type='week']:disabled, [type='email']:disabled, [type='number']:disabled, [type='search']:disabled, [type='tel']:disabled, [type='time']:disabled, [type='url']:disabled, [type='color']:disabled, textarea:disabled, select:disabled {
    background-color: transparent;
    border-color: #BCBDBD;
    border-style: dashed;
}

[type='text'][readonly], [type='password'][readonly], [type='date'][readonly], [type='datetime'][readonly], [type='datetime-local'][readonly], [type='month'][readonly], [type='week'][readonly], [type='email'][readonly], [type='number'][readonly], [type='search'][readonly], [type='tel'][readonly], [type='time'][readonly], [type='url'][readonly], [type='color'][readonly], textarea[readonly], select[readonly] {
    background-color: #FFFFFF;
    cursor: default;
}

textarea, textarea:focus {
    background-color: #F4F5F6;
    border: none;
    font-weight: 400;
}

.field {
    position: relative;
    margin-bottom: 1.25rem;
}

.quote-pages .field {
    margin-bottom: 2.5rem;
}

.subform .field {
    margin-bottom: 1.25rem;
}

label {
    margin-bottom: 5px;
    font-weight: 600;
}

.field-subtext {
    font-weight: 400;
    font-size: 14px;
    color: #757575;
    line-height: 1.85;
}

.field__icon {
    position: absolute;
    top: 23px;
    left: 10px;
    width: 25px;
    height: 25px;
    z-index: 1;
}

.field__icon--braintree {
    top: -32px;
    left: auto;
    right: 10px;
}

.disabled,
[disabled] {
    pointer-events: none;
}

.field__feedbackWrap {
    opacity: 1;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}

.field__feedbackWrap .field__icon {
    position: relative;
    top: 7px;
    left: 7px;
    float: left;
}

.field--select .field__feedbackWrap .field__icon {
    right: 35px;
    background-color: #FFFFFF;
}

.field:not(.has-feedback) .field__feedbackWrap {
    opacity: 0;
    height: 0;
    overflow: hidden;
    visibility: hidden;
}

.field__feedback {
    text-align: left !important;
    font-size: 11px;
    line-height: 12px;
    z-index: 9;
    padding: 0.3rem 0;
}

.is-error .field__feedback {
    color: #FF687D;
    font-weight: 700;
    overflow: hidden;
}

.field__error:not(:first-child) {
    height: 0;
    overflow: hidden;
}

.field__error:not(:first-child)::before {
    display: none;
}

.field__error span {
    display: inline-block;
    max-width: 500px;
}

select {
    background-image: url(/assets/svgs/icon-arrow-down.svg);
    background-size: 10px 6px;
    background-position: 100% 50%;
}

.drag-n-drop-upload-box {
    width: 100%;
    height: 160px;
    background-color: white;
    border: 1px solid #E1E2E3;
    border-radius: 4px;
}

.drag-n-drop-upload-box .drag-n-drop-upload-img {
    height: 100%;
    background: url(/assets/images/drag-n-drop.png) center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.drag-n-drop-upload-box.dragover {
    border: 2px dashed #27B581;
}

.form-compact [type='text'], .form-compact [type='password'], .form-compact [type='date'], .form-compact [type='datetime'], .form-compact [type='datetime-local'], .form-compact [type='month'], .form-compact [type='week'], .form-compact [type='email'], .form-compact [type='number'], .form-compact [type='search'], .form-compact [type='tel'], .form-compact [type='time'], .form-compact [type='url'], .form-compact [type='color'], .form-compact select {
    height: 2.4rem;
    padding: 0 10px;
}

.form-compact textarea {
    height: 7rem;
}

.form-compact fieldset {
    margin-bottom: 5px;
    border: 0;
    border-bottom: 1px solid #E1E2E3;
    border-radius: 0;
    clear: both;
}

.form-compact fieldset.shadow {
    -webkit-box-shadow: none;
            box-shadow: none;
}

.form-compact fieldset.block {
    padding: 0;
}

.form-compact fieldset h2 {
    margin-bottom: 10px;
    font-size: 18px;
}

.form-compact fieldset h3 {
    margin-bottom: 5px;
    font-size: 1rem;
    font-size: 14px;
}

.form-compact md-select {
    padding: 4px;
}

.form-compact md-input-container {
    margin-bottom: 10px;
}

.form-compact [class*="field_"] {
    float: left;
    width: 50%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-right: 40px;
    min-height: 0px;
}

.form-compact .fieldset-wrapper {
    clear: both;
    margin-top: 20px;
}

.form-compact .field_dob {
    margin-bottom: 10px;
}

.form-compact hr {
    margin: 5px 0 20px;
    border-top: 1px solid #efefef;
    display: none;
}

.form-compact .md-table .md-body > .md-row, .form-compact .md-table .md-head > .md-row {
    height: auto;
}

.form-compact .md-table .md-body > .md-row th, .form-compact .md-table .md-body > .md-row td, .form-compact .md-table .md-head > .md-row th, .form-compact .md-table .md-head > .md-row td {
    padding: 5px !important;
}

.form-compact .md-datepicker-input-container {
    margin-top: 5px;
}

.form-compact .field_date_time .layout-row md-select {
    padding: 4px;
}

.form-compact .md-button.button {
    padding: 10px;
    font-size: 14px;
}

.expanded-field .field {
    padding-left: 0;
}

.field--tel input {
    padding-left: 93px;
}

.country-code-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 93px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: absolute;
    height: 42px;
}

.country-code-wrapper-dialcode {
    margin-left: 6px;
    margin-top: 1px;
}

/*
////////////////
// TYPOGRAPHY //
////////////////
*/
/*
CUSTOM FONTS
*/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: #212121;
    margin: 0 0 1.25rem;
}

h1, .h1 {
    font-weight: 700;
    line-height: 1.2;
    font-size: 30px;
}

@media screen and (min-width: 40em) {
    h1, .h1 {
        font-size: 40px;
    }
}

h2, .h2 {
    font-weight: 700;
    font-size: 20px;
    line-height: 1.16;
}

@media screen and (min-width: 40em) {
    h2, .h2 {
        font-size: 24px;
        line-height: 1.2;
    }
}

h3, .h3 {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.17;
}

h4, .h4 {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.31;
}

.headline {
    font-weight: 700;
    color: #212121;
    letter-spacing: -0.138rem;
    line-height: 1.05;
    font-size: 45px;
}

@media screen and (min-width: 40em) {
    .headline {
        font-size: 55px;
    }
}

.sub-headline {
    font-weight: 700;
    font-size: 23px;
    color: #757575;
    letter-spacing: -0.048rem;
    line-height: 1.44;
}

.sub-title {
    font-weight: 700;
    color: #757575;
    letter-spacing: -0.033rem;
    line-height: 1.5;
}

.text-xsmall {
    font-size: 12px;
    line-height: 1.167;
}

.text-small {
    font-size: 14px;
    line-height: 1.572;
}

.text-medium {
    font-size: 16px;
    letter-spacing: 0;
    line-height: 29px;
}

.text-large {
    font-weight: 600;
    font-size: 23px;
    color: #212121;
    letter-spacing: -0.044rem;
    line-height: 1.43;
}

.text-number {
    font-weight: 700;
    color: #212121;
    letter-spacing: -0.12rem;
    font-size: 34px;
}

.text-number.xxsmall {
    font-size: 14px;
    letter-spacing: 0;
}

.text-number.xsmall {
    font-size: 18px;
    letter-spacing: 0;
}

.text-number.small {
    font-size: 24px;
    letter-spacing: -0.062rem;
}

.text-number.large {
    font-size: 50px;
}

.text-number.price:before {
    content: '$';
    vertical-align: super;
    font-size: .5em;
}

.text-number.price em {
    font-size: 0.4em;
    font-style: inherit;
}

.text-number .text-small {
    color: #212121;
    letter-spacing: 0;
    font-weight: inherit;
}

/*
TEXT HELPERS
*/
.text-normal {
    font-weight: normal;
}

.text-italic {
    font-style: italic;
}

.text-underline {
    text-decoration: underline;
}

.text-underline-na {
    text-decoration: none;
}

.text-lower {
    text-transform: lowercase;
}

.text-upper {
    text-transform: uppercase;
}

.text-capitalise {
    text-transform: capitalize;
}

.text-caps {
    text-transform: capitalize;
}

.text-overflow {
    text-overflow: ellipsis;
}

.text-no-wrap {
    white-space: nowrap;
}

.text-wrap-normal {
    white-space: normal !important;
}

.text-super {
    vertical-align: super;
}

.text-sub {
    vertical-align: sub;
}

.text-strike {
    text-decoration: line-through;
}

.text-tertiary {
    color: #2A287B;
}

.text-light {
    font-weight: 300;
}

.text-normal {
    font-weight: 400;
}

.text-thin {
    font-weight: 500;
}

.text-semibold {
    font-weight: 600;
}

.text-bold {
    font-weight: 700;
}

.text-xbold {
    font-weight: 700;
}

/*
TEXT ALIGNMENT
*/
.text-left {
    text-align: left;
}

@media screen and (max-width: 39.938em) {
    .text-left-small-down {
        text-align: left;
    }
}

@media screen and (max-width: 39.938em) {
    .text-left-small-only {
        text-align: left;
    }
}

@media screen and (min-width: 40em) {
    .text-left-medium-up {
        text-align: left;
    }
}

@media screen and (max-width: 63.938em) {
    .text-left-medium-down {
        text-align: left;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .text-left-medium-only {
        text-align: left;
    }
}

@media screen and (min-width: 64em) {
    .text-left-large-up {
        text-align: left;
    }
}

@media screen and (min-width: 64em) {
    .text-left-large-only {
        text-align: left;
    }
}

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

@media screen and (max-width: 39.938em) {
    .text-center-small-down {
        text-align: center;
    }
}

@media screen and (max-width: 39.938em) {
    .text-center-small-only {
        text-align: center;
    }
}

@media screen and (min-width: 40em) {
    .text-center-medium-up {
        text-align: center;
    }
}

@media screen and (max-width: 63.938em) {
    .text-center-medium-down {
        text-align: center;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .text-center-medium-only {
        text-align: center;
    }
}

@media screen and (min-width: 64em) {
    .text-center-large-up {
        text-align: center;
    }
}

@media screen and (min-width: 64em) {
    .text-center-large-only {
        text-align: center;
    }
}

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

@media screen and (max-width: 39.938em) {
    .text-right-small-down {
        text-align: right;
    }
}

@media screen and (max-width: 39.938em) {
    .text-right-small-only {
        text-align: right;
    }
}

@media screen and (min-width: 40em) {
    .text-right-medium-up {
        text-align: right;
    }
}

@media screen and (max-width: 63.938em) {
    .text-right-medium-down {
        text-align: right;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .text-right-medium-only {
        text-align: right;
    }
}

@media screen and (min-width: 64em) {
    .text-right-large-up {
        text-align: right;
    }
}

@media screen and (min-width: 64em) {
    .text-right-large-only {
        text-align: right;
    }
}

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

@media screen and (max-width: 39.938em) {
    .text-justify-small-down {
        text-align: justify;
    }
}

@media screen and (max-width: 39.938em) {
    .text-justify-small-only {
        text-align: justify;
    }
}

@media screen and (min-width: 40em) {
    .text-justify-medium-up {
        text-align: justify;
    }
}

@media screen and (max-width: 63.938em) {
    .text-justify-medium-down {
        text-align: justify;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .text-justify-medium-only {
        text-align: justify;
    }
}

@media screen and (min-width: 64em) {
    .text-justify-large-up {
        text-align: justify;
    }
}

@media screen and (min-width: 64em) {
    .text-justify-large-only {
        text-align: justify;
    }
}

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

@media screen and (max-width: 39.938em) {
    .text-middle-small-down {
        text-align: middle;
    }
}

@media screen and (max-width: 39.938em) {
    .text-middle-small-only {
        text-align: middle;
    }
}

@media screen and (min-width: 40em) {
    .text-middle-medium-up {
        text-align: middle;
    }
}

@media screen and (max-width: 63.938em) {
    .text-middle-medium-down {
        text-align: middle;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .text-middle-medium-only {
        text-align: middle;
    }
}

@media screen and (min-width: 64em) {
    .text-middle-large-up {
        text-align: middle;
    }
}

@media screen and (min-width: 64em) {
    .text-middle-large-only {
        text-align: middle;
    }
}

/*
TEXT COLOR
*/
.dark .headline {
    color: #FFFFFF;
}

.dark .h1 {
    color: #FFFFFF;
}

.dark .h2 {
    color: #FFFFFF;
}

.dark .h3 {
    color: #FFFFFF;
}

.dark .h4 {
    color: #FFFFFF;
}

.dark .sub-headline {
    color: #FFFFFF;
}

.dark .sub-title {
    color: #FFFFFF;
}

.dark .text-xsmall {
    color: #FFFFFF;
}

.dark .text-small {
    color: #FFFFFF;
}

.dark .text-medium {
    color: #FFFFFF;
}

.dark .text-large {
    color: #FFFFFF;
}

.dark .text-number {
    color: #FFFFFF;
}

.dark .text-price {
    color: #FFFFFF;
}

.dark .list-tick {
    color: #FFFFFF;
}

.dark p,
.dark p a,
.dark div,
.dark span,
.dark label,
.dark li {
    color: #FFFFFF;
}

.text-primary {
    color: #27B581;
}

.text-secondary {
    color: #27B581;
}

.text-alert {
    color: #FFDF1A;
}

.text-success {
    color: #27B581;
}

.text-dark-gray {
    color: #757575;
}

.text-medium-gray {
    color: #BCBDBD;
}

/*
TEXT MISC
*/
/*
TEXT CAPSULE
*/
.text-capsule {
    display: inline-block;
    color: #212121;
    line-height: 1;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    border-radius: 16px;
    padding: 4px 19.2px;
    background-color: #BCBDBD;
}

.text-capsule.primary {
    background-color: #27B581;
}

.text-capsule.secondary {
    background-color: #27B581;
}

.text-capsule.warning {
    background-color: #FF687D;
}

.text-capsule.alert {
    background-color: #FFDF1A;
}

.text-capsule.status {
    background-color: #DDEBF7;
}

.text-capsule.small {
    font-size: 11px;
    padding: 3.667px 13.2px;
}

.text-capsule.large {
    font-size: 20px;
    padding: 6.667px 24px;
}

.bupa-offer-capsule {
    color: #FFFFFF;
    line-height: 1;
    font-size: 12px;
    font-weight: 600;
    border-radius: 16px;
    padding: 4px 19.2px;
    background-color: #DB3907;
    text-align: center;
}

/*
LINE HEIGHTS
*/
.line-height-xxsmall {
    line-height: 0.5;
}

.line-height-xsmall {
    line-height: 0.8;
}

.line-height-small {
    line-height: 1;
}

.line-height-medium {
    line-height: 1.45;
}

.line-height-large {
    line-height: 1.6;
}

.line-height-xlarge {
    line-height: 1.9;
}

.line-height-xxlarge {
    line-height: 3;
}

address {
    font-style: normal;
}

/*
TABLES
*/
table {
    text-align: left;
}

pre {
    font-size: 10.5px;
    line-height: 10.5px;
}

pre.fixed {
    max-height: 20em;
    max-width: 60em;
    overflow: auto;
    margin: 10px;
    padding: 5px;
    border: 1px solid #d3d3d3;
    background-color: #333;
    color: #eee;
}

pre.tall {
    max-height: 60em;
}

pre.fixed::-webkit-scrollbar {
    -webkit-appearance: none;
    max-width: 7px;
    max-height: 7px;
}

pre.fixed::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.25);
    -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
            box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
}

/*
///////////
// LISTS //
///////////
*/
li {
    position: relative;
}

.list-inline, .list-inline-small-down, .list-inline-small-only, .list-inline-medium-up, .list-inline-medium-down, .list-inline-medium-only, .list-inline-large-up, .list-inline-large-only, .list-unstyled, tags-input .autocomplete .suggestion-list, .uib-datepicker-popup {
    list-style-type: none;
    margin: 0;
}

.list-inline > li {
    display: inline-block;
}

@media screen and (max-width: 39.938em) {
    .list-inline-small-down > li {
        display: inline-block;
    }
}

@media screen and (max-width: 39.938em) {
    .list-inline-small-only > li {
        display: inline-block;
    }
}

@media screen and (min-width: 40em) {
    .list-inline-medium-up > li {
        display: inline-block;
    }
}

@media screen and (max-width: 63.938em) {
    .list-inline-medium-down > li {
        display: inline-block;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .list-inline-medium-only > li {
        display: inline-block;
    }
}

@media screen and (min-width: 64em) {
    .list-inline-large-up > li {
        display: inline-block;
    }
}

@media screen and (min-width: 64em) {
    .list-inline-large-only > li {
        display: inline-block;
    }
}

.list-disc {
    list-style-type: disc;
}

.list-tick {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.81;
    list-style-type: none;
}

.list-tick li:before {
    position: absolute;
    left: -36px;
    top: 4px;
    content: '';
    background-image: url("/assets/svgs/tick.svg");
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
}

.list-tick li.optional:before {
    content: ' \25CF';
    font-size: 40px;
    left: -33px;
    top: -25px;
    color: #E1E2E3;
    background-image: none;
}

.list-tick.small li:before {
    height: 15px;
    width: 15px;
    left: -20px;
    top: 10px;
}

.list-tick.medium li:before {
    height: 20px;
    width: 20px;
    left: -31px;
    top: 8px;
}

.list-tick.large li:before {
    height: 30px;
    width: 30px;
    left: -35px;
    top: 15px;
}

.list-tick.success li:before {
    background-image: url("/assets/svgs/check-success.svg");
}

.list-circle-tick li {
    padding: 10px 40px 10px 0px;
    list-style-type: none;
}

.list-circle-tick li:last-child {
    padding-right: 0;
}

.list-circle-tick li:before {
    position: absolute;
    left: -30px;
    top: 10px;
    content: '';
    background-image: url("/assets/svgs/redesign/common/check-with-circle.svg");
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
}

.dark .list-circle-tick li:before {
    background-image: url("/assets/svgs/redesign/common/check-with-circle-white.svg");
}

@media screen and (max-width: 39.938em) {
    .banner-feature-list.list-circle-tick {
        padding-left: 0;
    }
    .banner-feature-list.list-circle-tick li {
        padding: 10px 0 10px 30px;
    }
    .banner-feature-list.list-circle-tick li:before {
        left: 6px;
    }
}

/*
////////////
// LAYOUT //
////////////
*/
.align-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.align-center {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.align-justify {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.align-spaced {
    -ms-flex-pack: distribute;
        justify-content: space-around;
}

.align-right.vertical.menu > li > a {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.align-center.vertical.menu > li > a {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.align-top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.align-self-top {
    -ms-flex-item-align: start;
        align-self: flex-start;
}

.align-bottom {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}

.align-self-bottom {
    -ms-flex-item-align: end;
        align-self: flex-end;
}

.align-middle {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.align-self-middle {
    -ms-flex-item-align: center;
        align-self: center;
}

.align-stretch {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
}

.align-self-stretch {
    -ms-flex-item-align: stretch;
        align-self: stretch;
}

.align-center-middle {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-line-pack: center;
        align-content: center;
}

.small-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.small-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.small-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
}

.small-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
}

.small-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
}

.small-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
}

@media print, screen and (min-width: 40em) {
    .medium-order-1 {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
    }
    .medium-order-2 {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }
    .medium-order-3 {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
    }
    .medium-order-4 {
        -webkit-box-ordinal-group: 5;
            -ms-flex-order: 4;
                order: 4;
    }
    .medium-order-5 {
        -webkit-box-ordinal-group: 6;
            -ms-flex-order: 5;
                order: 5;
    }
    .medium-order-6 {
        -webkit-box-ordinal-group: 7;
            -ms-flex-order: 6;
                order: 6;
    }
}

@media print, screen and (min-width: 64em) {
    .large-order-1 {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
    }
    .large-order-2 {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
    }
    .large-order-3 {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
    }
    .large-order-4 {
        -webkit-box-ordinal-group: 5;
            -ms-flex-order: 4;
                order: 4;
    }
    .large-order-5 {
        -webkit-box-ordinal-group: 6;
            -ms-flex-order: 5;
                order: 5;
    }
    .large-order-6 {
        -webkit-box-ordinal-group: 7;
            -ms-flex-order: 6;
                order: 6;
    }
}

.flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
}

.flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
}

.flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
}

.flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}

.flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
}

.flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
}

@media print, screen and (min-width: 40em) {
    .medium-flex-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .medium-flex-child-auto {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
    }
    .medium-flex-child-grow {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto;
    }
    .medium-flex-child-shrink {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
    }
    .medium-flex-dir-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }
    .medium-flex-dir-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
    }
    .medium-flex-dir-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .medium-flex-dir-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }
}

@media print, screen and (min-width: 64em) {
    .large-flex-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }
    .large-flex-child-auto {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
    }
    .large-flex-child-grow {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 auto;
                flex: 1 0 auto;
    }
    .large-flex-child-shrink {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
    }
    .large-flex-dir-row {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }
    .large-flex-dir-row-reverse {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse;
    }
    .large-flex-dir-column {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .large-flex-dir-column-reverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }
}

.row {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
}

.row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem;
}

@media print, screen and (min-width: 40em) {
    .row .row {
        margin-right: -0.938rem;
        margin-left: -0.938rem;
    }
}

@media print, screen and (min-width: 64em) {
    .row .row {
        margin-right: -0.938rem;
        margin-left: -0.938rem;
    }
}

.row .row.collapse {
    margin-right: 0;
    margin-left: 0;
}

.row.expanded {
    max-width: none;
}

.row.expanded .row {
    margin-right: auto;
    margin-left: auto;
}

.row:not(.expanded) .row {
    max-width: none;
}

.row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0;
}

.row.is-collapse-child,
.row.collapse > .column > .row,
.row.collapse > .columns > .row {
    margin-right: 0;
    margin-left: 0;
}

.column, .columns {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    min-width: 0;
}

@media print, screen and (min-width: 40em) {
    .column, .columns {
        padding-right: 0.938rem;
        padding-left: 0.938rem;
    }
}

.column.row.row, .row.row.columns {
    float: none;
    display: block;
}

.row .column.row.row, .row .row.row.columns {
    margin-right: 0;
    margin-left: 0;
    padding-right: 0;
    padding-left: 0;
}

.small-1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.333%;
            flex: 0 0 8.333%;
    max-width: 8.333%;
}

.small-offset-0 {
    margin-left: 0%;
}

.small-2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.667%;
            flex: 0 0 16.667%;
    max-width: 16.667%;
}

.small-offset-1 {
    margin-left: 8.333%;
}

.small-3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
}

.small-offset-2 {
    margin-left: 16.667%;
}

.small-4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333%;
            flex: 0 0 33.333%;
    max-width: 33.333%;
}

.small-offset-3 {
    margin-left: 25%;
}

.small-5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 41.667%;
            flex: 0 0 41.667%;
    max-width: 41.667%;
}

.small-offset-4 {
    margin-left: 33.333%;
}

.small-6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
}

.small-offset-5 {
    margin-left: 41.667%;
}

.small-7 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.333%;
            flex: 0 0 58.333%;
    max-width: 58.333%;
}

.small-offset-6 {
    margin-left: 50%;
}

.small-8 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.667%;
            flex: 0 0 66.667%;
    max-width: 66.667%;
}

.small-offset-7 {
    margin-left: 58.333%;
}

.small-9 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
}

.small-offset-8 {
    margin-left: 66.667%;
}

.small-10 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.333%;
            flex: 0 0 83.333%;
    max-width: 83.333%;
}

.small-offset-9 {
    margin-left: 75%;
}

.small-11 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 91.667%;
            flex: 0 0 91.667%;
    max-width: 91.667%;
}

.small-offset-10 {
    margin-left: 83.333%;
}

.small-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
}

.small-offset-11 {
    margin-left: 91.667%;
}

.small-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-1 > .column, .small-up-1 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
}

.small-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-2 > .column, .small-up-2 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
}

.small-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-3 > .column, .small-up-3 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333%;
            flex: 0 0 33.333%;
    max-width: 33.333%;
}

.small-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-4 > .column, .small-up-4 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
}

.small-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-5 > .column, .small-up-5 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    max-width: 20%;
}

.small-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-6 > .column, .small-up-6 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.667%;
            flex: 0 0 16.667%;
    max-width: 16.667%;
}

.small-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-7 > .column, .small-up-7 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14.286%;
            flex: 0 0 14.286%;
    max-width: 14.286%;
}

.small-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.small-up-8 > .column, .small-up-8 > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12.5%;
            flex: 0 0 12.5%;
    max-width: 12.5%;
}

.small-collapse > .column, .small-collapse > .columns {
    padding-right: 0;
    padding-left: 0;
}

.small-uncollapse > .column, .small-uncollapse > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
}

@media print, screen and (min-width: 40em) {
    .medium-1 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 8.333%;
                flex: 0 0 8.333%;
        max-width: 8.333%;
    }
    .medium-offset-0 {
        margin-left: 0%;
    }
    .medium-2 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.667%;
                flex: 0 0 16.667%;
        max-width: 16.667%;
    }
    .medium-offset-1 {
        margin-left: 8.333%;
    }
    .medium-3 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%;
    }
    .medium-offset-2 {
        margin-left: 16.667%;
    }
    .medium-4 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%;
    }
    .medium-offset-3 {
        margin-left: 25%;
    }
    .medium-5 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 41.667%;
                flex: 0 0 41.667%;
        max-width: 41.667%;
    }
    .medium-offset-4 {
        margin-left: 33.333%;
    }
    .medium-6 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%;
    }
    .medium-offset-5 {
        margin-left: 41.667%;
    }
    .medium-7 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 58.333%;
                flex: 0 0 58.333%;
        max-width: 58.333%;
    }
    .medium-offset-6 {
        margin-left: 50%;
    }
    .medium-8 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.667%;
                flex: 0 0 66.667%;
        max-width: 66.667%;
    }
    .medium-offset-7 {
        margin-left: 58.333%;
    }
    .medium-9 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 75%;
                flex: 0 0 75%;
        max-width: 75%;
    }
    .medium-offset-8 {
        margin-left: 66.667%;
    }
    .medium-10 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.333%;
                flex: 0 0 83.333%;
        max-width: 83.333%;
    }
    .medium-offset-9 {
        margin-left: 75%;
    }
    .medium-11 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 91.667%;
                flex: 0 0 91.667%;
        max-width: 91.667%;
    }
    .medium-offset-10 {
        margin-left: 83.333%;
    }
    .medium-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%;
    }
    .medium-offset-11 {
        margin-left: 91.667%;
    }
    .medium-up-1 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-1 > .column, .medium-up-1 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%;
    }
    .medium-up-2 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-2 > .column, .medium-up-2 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%;
    }
    .medium-up-3 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-3 > .column, .medium-up-3 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%;
    }
    .medium-up-4 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-4 > .column, .medium-up-4 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%;
    }
    .medium-up-5 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-5 > .column, .medium-up-5 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 20%;
                flex: 0 0 20%;
        max-width: 20%;
    }
    .medium-up-6 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-6 > .column, .medium-up-6 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.667%;
                flex: 0 0 16.667%;
        max-width: 16.667%;
    }
    .medium-up-7 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-7 > .column, .medium-up-7 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 14.286%;
                flex: 0 0 14.286%;
        max-width: 14.286%;
    }
    .medium-up-8 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .medium-up-8 > .column, .medium-up-8 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 12.5%;
                flex: 0 0 12.5%;
        max-width: 12.5%;
    }
}

@media print, screen and (min-width: 40em) and (min-width: 40em) {
    .medium-expand {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
    }
}

.row.medium-unstack > .column, .row.medium-unstack > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
}

@media print, screen and (min-width: 40em) {
    .row.medium-unstack > .column, .row.medium-unstack > .columns {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
    }
}

@media print, screen and (min-width: 40em) {
    .medium-collapse > .column, .medium-collapse > .columns {
        padding-right: 0;
        padding-left: 0;
    }
    .medium-uncollapse > .column, .medium-uncollapse > .columns {
        padding-right: 0.938rem;
        padding-left: 0.938rem;
    }
}

@media print, screen and (min-width: 64em) {
    .large-1 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 8.333%;
                flex: 0 0 8.333%;
        max-width: 8.333%;
    }
    .large-offset-0 {
        margin-left: 0%;
    }
    .large-2 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.667%;
                flex: 0 0 16.667%;
        max-width: 16.667%;
    }
    .large-offset-1 {
        margin-left: 8.333%;
    }
    .large-3 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%;
    }
    .large-offset-2 {
        margin-left: 16.667%;
    }
    .large-4 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%;
    }
    .large-offset-3 {
        margin-left: 25%;
    }
    .large-5 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 41.667%;
                flex: 0 0 41.667%;
        max-width: 41.667%;
    }
    .large-offset-4 {
        margin-left: 33.333%;
    }
    .large-6 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%;
    }
    .large-offset-5 {
        margin-left: 41.667%;
    }
    .large-7 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 58.333%;
                flex: 0 0 58.333%;
        max-width: 58.333%;
    }
    .large-offset-6 {
        margin-left: 50%;
    }
    .large-8 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.667%;
                flex: 0 0 66.667%;
        max-width: 66.667%;
    }
    .large-offset-7 {
        margin-left: 58.333%;
    }
    .large-9 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 75%;
                flex: 0 0 75%;
        max-width: 75%;
    }
    .large-offset-8 {
        margin-left: 66.667%;
    }
    .large-10 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.333%;
                flex: 0 0 83.333%;
        max-width: 83.333%;
    }
    .large-offset-9 {
        margin-left: 75%;
    }
    .large-11 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 91.667%;
                flex: 0 0 91.667%;
        max-width: 91.667%;
    }
    .large-offset-10 {
        margin-left: 83.333%;
    }
    .large-12 {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%;
    }
    .large-offset-11 {
        margin-left: 91.667%;
    }
    .large-up-1 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-1 > .column, .large-up-1 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%;
    }
    .large-up-2 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-2 > .column, .large-up-2 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%;
    }
    .large-up-3 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-3 > .column, .large-up-3 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.333%;
                flex: 0 0 33.333%;
        max-width: 33.333%;
    }
    .large-up-4 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-4 > .column, .large-up-4 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%;
    }
    .large-up-5 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-5 > .column, .large-up-5 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 20%;
                flex: 0 0 20%;
        max-width: 20%;
    }
    .large-up-6 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-6 > .column, .large-up-6 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 16.667%;
                flex: 0 0 16.667%;
        max-width: 16.667%;
    }
    .large-up-7 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-7 > .column, .large-up-7 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 14.286%;
                flex: 0 0 14.286%;
        max-width: 14.286%;
    }
    .large-up-8 {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    .large-up-8 > .column, .large-up-8 > .columns {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 12.5%;
                flex: 0 0 12.5%;
        max-width: 12.5%;
    }
}

@media print, screen and (min-width: 64em) and (min-width: 64em) {
    .large-expand {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
    }
}

.row.large-unstack > .column, .row.large-unstack > .columns {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
}

@media print, screen and (min-width: 64em) {
    .row.large-unstack > .column, .row.large-unstack > .columns {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 0px;
                flex: 1 1 0px;
    }
}

@media print, screen and (min-width: 64em) {
    .large-collapse > .column, .large-collapse > .columns {
        padding-right: 0;
        padding-left: 0;
    }
    .large-uncollapse > .column, .large-uncollapse > .columns {
        padding-right: 0.938rem;
        padding-left: 0.938rem;
    }
}

.shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 100%;
}

.column-block {
    margin-bottom: 1.25rem;
}

.column-block > :last-child {
    margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
    .column-block {
        margin-bottom: 1.875rem;
    }
    .column-block > :last-child {
        margin-bottom: 0;
    }
}

.column.collapse-left, .collapse-left.columns,
.columns.collapse-left {
    padding-left: 0;
}

body {
    padding-left: 55px !important;
}

@media screen and (min-width: 40em) {
    html, body {
        height: 100%;
    }
    .app-container {
        display: table;
        width: 100%;
        height: 100%;
    }
    .app-main,
    .app-footer {
        display: table-row;
        height: 1px;
    }
    .app-main {
        height: 100%;
    }
}

.app-main__inner {
    position: relative;
}

@media screen and (min-width: 40em) {
    .app-main__inner {
        margin-top: 60px;
    }
}

@media screen and (min-width: 64em) {
    .app-main__inner {
        margin-top: 100px;
    }
}

.display-inline {
    display: inline-block;
}

.search-panel.search-panel.search-panel {
    max-width: none;
}

.search-panel.search-panel.search-panel input {
    height: 2.8rem;
}

.search-panel.search-panel.search-panel .search-button {
    height: 2.8rem;
    padding-top: 12px;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

table td,
table th {
    border-bottom: 1px solid #E1E2E3;
    padding: 5px;
    text-align: left;
}

table th {
    color: #212121;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
    text-transform: uppercase;
    background-color: #f4f5f6;
}

.results-table {
    padding-left: 30px;
    padding-right: 30px;
}

.results-table .breadcrumb-container {
    padding-left: 0;
}

.results-table breadcrumbs .row {
    max-width: none;
}

.results-table breadcrumbs .column, .results-table breadcrumbs .columns {
    padding: 0;
}

table .last-tablerow td {
    border-bottom: none;
    padding-bottom: 25px;
}

/*
////////////////
// COMPONENTS //
////////////////
*/
/*
/////////////
// BUTTONS //
/////////////
*/
.button-group {
    margin-bottom: 1rem;
    font-size: 0;
}

.button-group::before, .button-group::after {
    display: table;
    content: ' ';
}

.button-group::after {
    clear: both;
}

.button-group .button {
    margin: 0;
    margin-right: 0px;
    margin-bottom: 0px;
    font-size: 0.9rem;
}

.button-group .button:last-child {
    margin-right: 0;
}

.button-group.tiny .button {
    font-size: 0.6rem;
}

.button-group.small .button {
    font-size: 0.75rem;
}

.button-group.large .button {
    font-size: 1.25rem;
}

.button-group.expanded {
    margin-right: 0px;
}

.button-group.expanded::before, .button-group.expanded::after {
    display: none;
}

.button-group.expanded .button:first-child:last-child {
    width: 100%;
}

.button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
    display: inline-block;
    width: calc(50% - 0px);
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
    display: inline-block;
    width: calc(33.333% - 0px);
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
    display: inline-block;
    width: calc(25% - 0px);
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
    display: inline-block;
    width: calc(20% - 0px);
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
    display: inline-block;
    width: calc(16.667% - 0px);
    margin-right: 0px;
}

.button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
    margin-right: 0px;
}

.button-group.primary .button {
    background-color: #27B581;
    color: #212121;
}

.button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #1f9167;
    color: #212121;
}

.button-group.secondary .button {
    background-color: #27B581;
    color: #212121;
}

.button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #1f9167;
    color: #212121;
}

.button-group.tertiary .button {
    background-color: #2A287B;
    color: #FFFFFF;
}

.button-group.tertiary .button:hover, .button-group.tertiary .button:focus {
    background-color: #222062;
    color: #FFFFFF;
}

.button-group.success .button {
    background-color: #27B581;
    color: #212121;
}

.button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #1f9167;
    color: #212121;
}

.button-group.warning .button {
    background-color: #FF687D;
    color: #212121;
}

.button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #ff203f;
    color: #212121;
}

.button-group.alert .button {
    background-color: #FFDF1A;
    color: #212121;
}

.button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #e1c100;
    color: #212121;
}

.button-group.optional .button {
    background-color: #FF9900;
    color: #212121;
}

.button-group.optional .button:hover, .button-group.optional .button:focus {
    background-color: #cc7a00;
    color: #212121;
}

.button-group.ready .button {
    background-color: #FF8E68;
    color: #212121;
}

.button-group.ready .button:hover, .button-group.ready .button:focus {
    background-color: #ff5820;
    color: #212121;
}

.button-group.status .button {
    background-color: #ADE4E5;
    color: #212121;
}

.button-group.status .button:hover, .button-group.status .button:focus {
    background-color: #70d0d2;
    color: #212121;
}

.button-group.statusLight .button {
    background-color: #DDEBF7;
    color: #212121;
}

.button-group.statusLight .button:hover, .button-group.statusLight .button:focus {
    background-color: #91bee5;
    color: #212121;
}

.button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%;
}

.button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
    margin-bottom: 0;
}

@media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
        width: auto;
        margin-bottom: 0;
    }
}

@media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
        width: auto;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 39.938em) {
    .button-group.stacked-for-small.expanded {
        display: block;
    }
    .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0;
    }
}

.button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.85em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #27B581;
    color: #FFFFFF;
    position: relative;
    border-radius: 4px;
    -webkit-transition: none;
    transition: none;
    font-weight: 700;
    font-size: 16px;
    padding: 14px 25px;
    -webkit-transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-transition-property: color, background-color, opacity, -webkit-box-shadow;
    transition-property: color, background-color, opacity, -webkit-box-shadow;
    transition-property: color, background-color, opacity, box-shadow;
    transition-property: color, background-color, opacity, box-shadow, -webkit-box-shadow;
}

[data-whatinput='mouse'] .button {
    outline: 0;
}

.button:hover, .button:focus {
    background-color: #219a6e;
    color: #FFFFFF;
}

.button.xxsmall {
    font-size: 12px;
    padding: 10px 10px;
}

.button.xxsmall md-icon {
    margin-right: 1px;
}

.button.xxsmall.button-nowrap {
    white-space: nowrap;
    padding: 10px 10px 0;
}

.button.xsmall {
    font-size: 12px;
    padding: 10px 12px;
}

.button.xsmall md-icon {
    margin-right: 2px;
}

.button.xsmall.button-nowrap {
    white-space: nowrap;
    padding: 10px 12px 0;
}

.button.small {
    font-size: 14px;
    padding: 10px 25px;
}

.button.small md-icon {
    margin-right: 4px;
}

.button.small.button-nowrap {
    white-space: nowrap;
    padding: 10px 25px 0;
}

.button.large {
    font-size: 19px;
    padding: 16px 25px;
}

.button.large md-icon {
    margin-right: 8px;
}

.button.large.button-nowrap {
    white-space: nowrap;
    padding: 16px 25px 0;
}

@media screen and (max-width: 39.938em) {
    .button.responsive {
        font-size: 14px;
        padding: 10px 25px;
    }
}

@media screen and (min-width: 64em) {
    .button.responsive {
        font-size: 19px;
        padding: 16px 25px;
    }
}

.button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.button.debug {
    position: absolute;
    top: -30px;
    right: 10px;
    z-index: 99;
    border-radius: 2px;
}

.button.ddebug {
    position: absolute;
    top: -30px;
    right: -30px;
    z-index: 99;
    border-radius: 2px;
}

.fieldset-wrapper .button.debug {
    right: -10px;
}

.fieldset-wrapper .button.ddebug {
    right: -40px;
}

@media screen and (max-width: 39.938em) {
    .button.expanded-small-down {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 39.938em) {
    .button.expanded-small-only {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (min-width: 40em) {
    .button.expanded-medium-up {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (max-width: 63.938em) {
    .button.expanded-medium-down {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .button.expanded-medium-only {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (min-width: 64em) {
    .button.expanded-large-up {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

@media screen and (min-width: 64em) {
    .button.expanded-large-only {
        display: block;
        width: 100%;
        margin-right: 0;
        margin-left: 0;
    }
}

.button.capsule {
    display: inline-block;
    color: #212121;
    text-transform: uppercase;
    border-radius: 16px;
    padding: 5px;
    background-color: #FFDF1A;
}

/*
removing underline from link buttons
*/
a.button, a.button:hover, a.button:focus {
    text-decoration: none;
}

/*
primary buttons
*/
.button.primary {
    background-color: #27B581;
    color: #FFFFFF;
}

.button.primary md-icon {
    color: #FFFFFF;
}

.button.primary.active {
    background-color: #27B581;
    color: #FFFFFF;
}

.button.primary.active:hover {
    background-color: #FFDF1A;
}

.button.primary:hover {
    background-color: #FFDF1A;
    color: #212121;
}

.button.primary:focus {
    background-color: #1e8b63;
    color: #FFFFFF;
}

.button.primary.disabled, .button.primary[disabled] {
    background-color: #E1E2E3;
    color: #FFFFFF;
}

.button.warning {
    background-color: #FF687D;
    color: #FFFFFF;
}

.button.warning:hover {
    background-color: #ff4f67;
    color: #212121;
}

.button.warning:focus {
    background-color: #ff3551;
    color: #212121;
}

/*
secondary buttons
*/
.button.secondary {
    background-color: transparent;
    border: 1px solid #27B581;
    border-radius: 4px;
    border-color: #27B581;
    color: #27B581;
}

.button.secondary md-icon {
    color: #27B581;
}

.button.secondary:hover {
    border-color: #FFDF1A;
    color: #212121;
}

.button.secondary:hover md-icon {
    color: #212121;
}

.button.secondary:focus {
    border-color: #1e8b63;
    color: #1e8b63;
}

.button.secondary:focus md-icon {
    color: #1e8b63;
}

.button.secondary.warning {
    color: #FF687D;
    border-color: #FF687D;
}

.button.secondary.warning:hover {
    background: transparent;
}

.button.secondary.disabled, .button.secondary[disabled] {
    border-color: #E1E2E3;
    color: #E1E2E3;
}

.button.secondary.disabled md-icon, .button.secondary[disabled] md-icon {
    color: #E1E2E3;
}

.dark .button.secondary {
    color: #FFFFFF;
}

.dark .button.secondary md-icon {
    color: #FFFFFF;
}

/*
tertiary buttons
*/
.button.tertiary {
    color: #2A287B;
    background: transparent;
    border-color: transparent;
    border-width: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 2px;
    font-weight: 600;
    text-decoration: none;
}

.button.tertiary:hover {
    text-decoration: underline;
}

.button.tertiary.warning {
    color: #FF687D;
}

.button.tertiary.warning:hover {
    background: transparent;
}

.button.tertiary.warning md-icon {
    color: #FF687D;
}

.button.tertiary.disabled, .button.tertiary[disabled] {
    color: #BCBDBD;
    text-decoration: none;
}

.button.tertiary.no-transform {
    text-transform: none;
}

.dark .button.tertiary {
    color: #FFFFFF;
}

.button-group {
    margin: 0;
}

.button-group .button {
    margin: 0;
    border-radius: 0;
    border: 1px solid #E1E2E3;
    border-right-width: 0;
    background: none;
    color: #212121;
    font-weight: normal;
    height: 3.562rem;
    padding: .875rem;
}

.button-group .button:first-child {
    border-radius: 4px 0 0 4px;
    border-right-width: 0;
}

.button-group .button:last-child {
    border-radius: 0 4px 4px 0;
    border-right-width: 1px;
}

.button-group .button.active {
    font-weight: bold;
    color: #27B581;
    border: 2px solid #27B581;
}

.button-group .button.active.knockout {
    background-color: #FFDF1A;
}

.button-group .button.disabled, .button-group .button[disabled] {
    border: 1px dashed;
}

.button-group .button:first-child + .button:last-child {
    border-left-width: 1px;
}

.button-group.square .button {
    width: 3.562rem;
}

.button-group.seperate .button {
    border-width: 1px;
    border-radius: 8px;
}

.checkbox {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: inline-block;
    cursor: pointer;
    width: 20px;
    height: 20px;
    font-size: 0;
    -webkit-transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    border: 2px solid #212121;
    border-radius: 2px;
    background-color: #FFFFFF;
    position: relative;
}

[data-whatinput='mouse'] .checkbox {
    outline: 0;
}

.checkbox::after {
    content: '';
    display: block;
    width: 45%;
    height: 80%;
    border-bottom: 2px solid #212121;
    border-right: 2px solid #212121;
    -webkit-transform: rotate(45deg) scale(0.3);
            transform: rotate(45deg) scale(0.3);
    position: absolute;
    left: 25%;
    top: -2%;
    opacity: 0;
    -webkit-transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
}

.checkbox.active {
    background-color: #27B581;
    border-color: #27B581;
}

.checkbox.active::after {
    opacity: 1;
    -webkit-transform: rotate(40deg) scale(1);
            transform: rotate(40deg) scale(1);
}

.checkbox__label .checkbox {
    float: left;
    margin-right: 10px;
}

.checkbox__text {
    display: block;
    overflow: hidden;
    color: #212121;
}

.checkbox__text--normal {
    font-weight: 300;
    color: #212121;
}

.checkbox.medium {
    width: 40px;
    height: 40px;
}

.checkbox.medium::after {
    border-bottom-width: 3px;
    border-right-width: 3px;
}

/*
///////////////////
// RADIO BUTTONS //
///////////////////
*/
.radio-button {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    position: relative;
    display: inline-block;
    cursor: pointer;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 0;
    border: 2px solid #212121;
    -webkit-transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
}

[data-whatinput='mouse'] .radio-button {
    outline: 0;
}

.radio-button:focus {
    border-color: #27B581;
}

.radio-button::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #212121;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -5px;
    margin-left: -5px;
    -webkit-transform: scale(0.3);
            transform: scale(0.3);
    opacity: 0;
    -webkit-transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
}

.dark .radio-button::after {
    background-color: #FFFFFF;
}

.radio-button.active {
    border-color: #27B581;
}

.radio-button.active::after {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
}

.dark .radio-button {
    border-color: #FFFFFF;
}

.dark .radio-button::after {
    background-color: #FFFFFF;
}

.dark .radio-button.active {
    border-color: #27B581;
}

.dark .radio-button.active::after {
    background-color: #27B581;
}

.radio-button-wrap {
    line-height: 25px;
    padding-top: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
}

@media screen and (min-width: 40em) {
    .radio-button-wrap {
        display: inline-block;
        margin-top: 0;
        margin-bottom: 0;
    }
}

.radio-button-wrap:not(:last-child) {
    margin-right: 20px;
}

.radio-button-wrap .radio-button {
    float: left;
    margin-right: 20px;
    margin-top: 3px;
}

.radio-button-wrap.fill-width {
    width: 100%;
}

.radio-button-wrap .two-line {
    margin-left: 45px;
}

.radio-button__label {
    margin-bottom: 5px;
}

.radio-button__label .button.radio {
    float: left;
    margin-right: 20px;
}

.radio-button__text {
    display: block;
    overflow: hidden;
    color: #212121;
    margin-top: -1px;
}

/*
////////////
// BLOCKS //
////////////
*/
.block {
    background-color: #FFFFFF;
    border-radius: 4px;
    padding: 15px 15px;
}

@media screen and (min-width: 40em) {
    .block {
        padding: 20px 20px;
    }
}

.block.gray {
    background-color: #E1E2E3;
}

.block.light-gray {
    background-color: #F4F5F6;
}

.block.success {
    background-color: #27B581;
}

.block.warning {
    background-color: #FF687D;
}

.block.optional {
    background-color: #FF9900;
}

.block.alert {
    background-color: #FFDF1A;
}

.block.xxsmall {
    padding: 6.5px 5px;
}

.block.xxsmall.squarepad {
    padding: 5px 5px;
}

.block.xsmall {
    padding: 13px 10px;
}

.block.xsmall.squarepad {
    padding: 10px 10px;
}

.block.small {
    padding: 26px 20px;
}

.block.small.squarepad {
    padding: 20px 20px;
}

.block.medium {
    padding: 52px 40px;
}

.block.medium.squarepad {
    padding: 40px 40px;
}

.block.large {
    padding: 78px 60px;
}

.block.large.squarepad {
    padding: 60px 60px;
}

.block.xlarge {
    padding: 104px 80px;
}

.block.xlarge.squarepad {
    padding: 80px 80px;
}

.block.xxlarge {
    padding: 130px 100px;
}

.block.xxlarge.squarepad {
    padding: 100px 100px;
}

@media screen and (max-width: 39.938em) {
    .block.xxsmall-small-down {
        padding: 6.5px 5px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxsmall-small-down.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xsmall-small-down {
        padding: 13px 10px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xsmall-small-down.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.small-small-down {
        padding: 26px 20px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.small-small-down.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.medium-small-down {
        padding: 52px 40px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.medium-small-down.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.large-small-down {
        padding: 78px 60px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.large-small-down.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xlarge-small-down {
        padding: 104px 80px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xlarge-small-down.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxlarge-small-down {
        padding: 130px 100px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxlarge-small-down.squarepad {
        padding: 100px 100px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxsmall-small-only {
        padding: 6.5px 5px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxsmall-small-only.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xsmall-small-only {
        padding: 13px 10px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xsmall-small-only.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.small-small-only {
        padding: 26px 20px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.small-small-only.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.medium-small-only {
        padding: 52px 40px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.medium-small-only.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.large-small-only {
        padding: 78px 60px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.large-small-only.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xlarge-small-only {
        padding: 104px 80px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xlarge-small-only.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxlarge-small-only {
        padding: 130px 100px;
    }
}

@media screen and (max-width: 39.938em) {
    .block.xxlarge-small-only.squarepad {
        padding: 100px 100px;
    }
}

@media screen and (min-width: 40em) {
    .block.xxsmall-medium-up {
        padding: 6.5px 5px;
    }
}

@media screen and (min-width: 40em) {
    .block.xxsmall-medium-up.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (min-width: 40em) {
    .block.xsmall-medium-up {
        padding: 13px 10px;
    }
}

@media screen and (min-width: 40em) {
    .block.xsmall-medium-up.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (min-width: 40em) {
    .block.small-medium-up {
        padding: 26px 20px;
    }
}

@media screen and (min-width: 40em) {
    .block.small-medium-up.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (min-width: 40em) {
    .block.medium-medium-up {
        padding: 52px 40px;
    }
}

@media screen and (min-width: 40em) {
    .block.medium-medium-up.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (min-width: 40em) {
    .block.large-medium-up {
        padding: 78px 60px;
    }
}

@media screen and (min-width: 40em) {
    .block.large-medium-up.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (min-width: 40em) {
    .block.xlarge-medium-up {
        padding: 104px 80px;
    }
}

@media screen and (min-width: 40em) {
    .block.xlarge-medium-up.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (min-width: 40em) {
    .block.xxlarge-medium-up {
        padding: 130px 100px;
    }
}

@media screen and (min-width: 40em) {
    .block.xxlarge-medium-up.squarepad {
        padding: 100px 100px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xxsmall-medium-down {
        padding: 6.5px 5px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xxsmall-medium-down.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xsmall-medium-down {
        padding: 13px 10px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xsmall-medium-down.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.small-medium-down {
        padding: 26px 20px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.small-medium-down.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.medium-medium-down {
        padding: 52px 40px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.medium-medium-down.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.large-medium-down {
        padding: 78px 60px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.large-medium-down.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xlarge-medium-down {
        padding: 104px 80px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xlarge-medium-down.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xxlarge-medium-down {
        padding: 130px 100px;
    }
}

@media screen and (max-width: 63.938em) {
    .block.xxlarge-medium-down.squarepad {
        padding: 100px 100px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xxsmall-medium-only {
        padding: 6.5px 5px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xxsmall-medium-only.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xsmall-medium-only {
        padding: 13px 10px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xsmall-medium-only.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.small-medium-only {
        padding: 26px 20px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.small-medium-only.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.medium-medium-only {
        padding: 52px 40px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.medium-medium-only.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.large-medium-only {
        padding: 78px 60px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.large-medium-only.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xlarge-medium-only {
        padding: 104px 80px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xlarge-medium-only.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xxlarge-medium-only {
        padding: 130px 100px;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .block.xxlarge-medium-only.squarepad {
        padding: 100px 100px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxsmall-large-up {
        padding: 6.5px 5px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxsmall-large-up.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (min-width: 64em) {
    .block.xsmall-large-up {
        padding: 13px 10px;
    }
}

@media screen and (min-width: 64em) {
    .block.xsmall-large-up.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (min-width: 64em) {
    .block.small-large-up {
        padding: 26px 20px;
    }
}

@media screen and (min-width: 64em) {
    .block.small-large-up.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (min-width: 64em) {
    .block.medium-large-up {
        padding: 52px 40px;
    }
}

@media screen and (min-width: 64em) {
    .block.medium-large-up.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (min-width: 64em) {
    .block.large-large-up {
        padding: 78px 60px;
    }
}

@media screen and (min-width: 64em) {
    .block.large-large-up.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (min-width: 64em) {
    .block.xlarge-large-up {
        padding: 104px 80px;
    }
}

@media screen and (min-width: 64em) {
    .block.xlarge-large-up.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxlarge-large-up {
        padding: 130px 100px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxlarge-large-up.squarepad {
        padding: 100px 100px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxsmall-large-only {
        padding: 6.5px 5px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxsmall-large-only.squarepad {
        padding: 5px 5px;
    }
}

@media screen and (min-width: 64em) {
    .block.xsmall-large-only {
        padding: 13px 10px;
    }
}

@media screen and (min-width: 64em) {
    .block.xsmall-large-only.squarepad {
        padding: 10px 10px;
    }
}

@media screen and (min-width: 64em) {
    .block.small-large-only {
        padding: 26px 20px;
    }
}

@media screen and (min-width: 64em) {
    .block.small-large-only.squarepad {
        padding: 20px 20px;
    }
}

@media screen and (min-width: 64em) {
    .block.medium-large-only {
        padding: 52px 40px;
    }
}

@media screen and (min-width: 64em) {
    .block.medium-large-only.squarepad {
        padding: 40px 40px;
    }
}

@media screen and (min-width: 64em) {
    .block.large-large-only {
        padding: 78px 60px;
    }
}

@media screen and (min-width: 64em) {
    .block.large-large-only.squarepad {
        padding: 60px 60px;
    }
}

@media screen and (min-width: 64em) {
    .block.xlarge-large-only {
        padding: 104px 80px;
    }
}

@media screen and (min-width: 64em) {
    .block.xlarge-large-only.squarepad {
        padding: 80px 80px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxlarge-large-only {
        padding: 130px 100px;
    }
}

@media screen and (min-width: 64em) {
    .block.xxlarge-large-only.squarepad {
        padding: 100px 100px;
    }
}

.top-deck-blocks {
    border-radius: 4px;
}

.top-deck-blocks .block:nth-child(1) {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

.top-deck-blocks .block:nth-child(2) {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    padding: 40px 20px 40px;
}

.top-deck-blocks .text-small * {
    font-size: inherit;
    margin: 0;
}

.side-deck-blocks {
    border-radius: 4px;
}

.side-deck-blocks .block:nth-child(1) {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.side-deck-blocks .block:nth-child(2) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.topside-deck-blocks {
    border-radius: 4px;
}

.topside-deck-blocks .block:nth-child(1) {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.topside-deck-blocks .block:nth-child(2) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

@media screen and (min-width: 40em) {
    .topside-deck-blocks .block:nth-child(1) {
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        border-top-left-radius: 4px;
        border-top-right-radius: 4px;
    }
    .topside-deck-blocks .block:nth-child(2) {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 4px;
        border-bottom-right-radius: 4px;
        padding: 40px 20px 40px;
    }
    .topside-deck-blocks .text-small * {
        font-size: inherit;
        margin: 0;
    }
}

.block.border {
    border-width: 2px;
}

/*
Huddles banner with image background
*/
.block.huddle-banner {
    overflow-x: hidden;
    background: center center/cover no-repeat;
    height: 250px;
}

/*
///////////
// ICONS //
///////////
*/
.icon.xxsmall {
    width: 15px;
    height: 15px;
}

.icon.xxsmall-width {
    width: 15px;
}

.icon.xxsmall-height {
    height: 15px;
}

.icon.xsmall {
    width: 20px;
    height: 20px;
}

.icon.xsmall-width {
    width: 20px;
}

.icon.xsmall-height {
    height: 20px;
}

.icon.smaller {
    width: 30px;
    height: 30px;
}

.icon.smaller-width {
    width: 30px;
}

.icon.smaller-height {
    height: 30px;
}

.icon.small {
    width: 40px;
    height: 40px;
}

.icon.small-width {
    width: 40px;
}

.icon.small-height {
    height: 40px;
}

.icon.medium {
    width: 60px;
    height: 60px;
}

.icon.medium-width {
    width: 60px;
}

.icon.medium-height {
    height: 60px;
}

.icon.large {
    width: 100px;
    height: 100px;
}

.icon.large-width {
    width: 100px;
}

.icon.large-height {
    height: 100px;
}

.icon.xlarge {
    width: 160px;
    height: 160px;
}

.icon.xlarge-width {
    width: 160px;
}

.icon.xlarge-height {
    height: 160px;
}

.icon.xxlarge {
    width: 300px;
    height: 300px;
}

.icon.xxlarge-width {
    width: 300px;
}

.icon.xxlarge-height {
    height: 300px;
}

.icon.fill {
    width: 100%;
    height: 100%;
}

.icon.fill-width {
    width: 100%;
}

.icon.fill-height {
    height: 100%;
}

.icon.primary {
    fill: #27B581;
}

.icon.secondary {
    fill: #27B581;
}

.icon.black {
    fill: #212121;
}

.icon.white {
    fill: #FFFFFF;
}

a .icon, a .icon-info {
    cursor: pointer;
    font-size: 20px;
}

svg.stroke-1 {
    stroke: #212121;
    stroke-width: 0.1 !important;
}

svg.stroke-2 {
    stroke: #212121;
    stroke-width: 0.2 !important;
}

svg.stroke-3 {
    stroke: #212121;
    stroke-width: 0.3 !important;
}

svg.stroke-4 {
    stroke: #212121;
    stroke-width: 0.4 !important;
}

svg.stroke-5 {
    stroke: #212121;
    stroke-width: 0.5 !important;
}

svg.stroke-6 {
    stroke: #212121;
    stroke-width: 0.6 !important;
}

svg.stroke-7 {
    stroke: #212121;
    stroke-width: 0.7 !important;
}

svg.stroke-8 {
    stroke: #212121;
    stroke-width: 0.8 !important;
}

svg.stroke-9 {
    stroke: #212121;
    stroke-width: 0.9 !important;
}

svg.stroke-10 {
    stroke: #212121;
    stroke-width: 1 !important;
}

/*
/////////////
// OVERLAY //
/////////////
*/
html.modal-open,
html.modal-open body {
    min-height: 100%;
    overflow: hidden;
    position: fixed;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.reveal-modal-bg {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1100;
    display: none;
    background-color: rgba(33, 33, 33, 0.69);
    overflow-y: scroll;
    z-index: 1200;
    width: 100%;
    height: 100%;
}

.reveal-modal {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    max-width: none;
    border: 0;
    border-radius: 0;
    z-index: 1300;
    margin-right: auto;
    overflow-y: scroll;
}

.reveal-modal.white {
    background-color: rgba(255, 255, 255, 0.9);
}

.reveal-modal.black {
    background-color: rgba(33, 33, 33, 0.69);
}

.device-iphone .reveal-modal {
    overflow: initial;
}

.device-iphone .reveal-modal > div {
    margin: 0;
    padding: 0;
}

.reveal-modal > div {
    padding: 40px 10px;
}

@media screen and (min-width: 64em) {
    .reveal-modal > div {
        padding: 80px 40px;
    }
}

.reveal-modal-content {
    position: relative;
    background: #FFFFFF;
    -webkit-box-shadow: 0 20px 31px 0 rgba(0, 0, 0, 0.07), 0 20px 31px rgba(0, 0, 0, 0.04);
            box-shadow: 0 20px 31px 0 rgba(0, 0, 0, 0.07), 0 20px 31px rgba(0, 0, 0, 0.04);
    z-index: 1400;
    border-radius: 4px;
    outline: 0;
    margin-left: auto;
    margin-right: auto;
}

.device-iphone .reveal-modal-content {
    position: relative !important;
}

@media screen and (max-width: 39.938em) {
    .reveal-modal-content {
        width: 100%;
        height: 100%;
        position: fixed;
        margin: 0 auto auto 0;
        top: 0 !important;
        left: 0;
        overflow: auto;
        border-radius: 0;
    }
}

.reveal-modal-content.white {
    background: #FFFFFF;
}

.reveal-modal-content.lightGray {
    background: #E1E2E3;
}

@media screen and (min-width: 64em) {
    .reveal-modal-content.small {
        width: 460px;
    }
}

@media screen and (min-width: 40em) {
    .reveal-modal-content.small {
        width: 460px;
    }
}

@media screen and (min-width: 64em) {
    .reveal-modal-content.medium {
        width: 750px;
    }
}

@media screen and (min-width: 64em) {
    .reveal-modal-content.large {
        width: 1040px;
    }
}

.reveal-modal-close {
    background: none;
    height: 18px;
    width: 18px;
    margin: 0;
    font-size: 0;
    display: block;
    position: fixed;
    right: 20px;
    top: 20px;
}

@media screen and (min-width: 40em) {
    .reveal-modal-close {
        position: absolute;
        right: 0;
        top: -25px;
    }
}

.reveal-modal-close svg {
    height: 14px;
    width: 14px;
}

.reveal-modal-bg.fade,
.reveal-modal.fade {
    opacity: 0;
}

.reveal-modal-bg.fade.in {
    -webkit-animation-name: fadeIn;
            animation-name: fadeIn;
}

.reveal-modal.fade.in {
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    -webkit-animation-delay: 300ms;
            animation-delay: 300ms;
}

.reveal-modal-bg.fade.in,
.reveal-modal.fade.in {
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-direction: alternate;
            animation-direction: alternate;
}

.sidebar-slide-out {
    display: block;
    background-color: #FFFFFF;
    position: fixed;
    top: 0;
    right: 0;
    overflow-y: auto;
    margin: 0 auto auto 0;
    width: 310px;
    height: 100%;
    -webkit-box-shadow: 1px 2px 12px 0 rgba(0, 0, 0, 0.13);
            box-shadow: 1px 2px 12px 0 rgba(0, 0, 0, 0.13);
}

.sidebar-slide-out::-webkit-scrollbar {
    width: 0px;
    background-color: transparent;
}

.sidebar-slide-out::-webkit-scrollbar-thumb {
    background-color: transparent;
}

.callout {
    position: relative;
    margin: 0 0 1rem 0;
    padding: 1rem;
    border: 1px solid rgba(33, 33, 33, 0.25);
    border-radius: 4px;
    background-color: white;
    color: #212121;
}

.callout > :first-child {
    margin-top: 0;
}

.callout > :last-child {
    margin-bottom: 0;
}

.callout.primary {
    background-color: #dbf7ed;
    color: #212121;
}

.callout.secondary {
    background-color: #dbf7ed;
    color: #212121;
}

.callout.tertiary {
    background-color: #d8d8f2;
    color: #212121;
}

.callout.success {
    background-color: #dbf7ed;
    color: #212121;
}

.callout.warning {
    background-color: #ffe8ec;
    color: #212121;
}

.callout.alert {
    background-color: #fffadd;
    color: #212121;
}

.callout.optional {
    background-color: #fff0d9;
    color: #212121;
}

.callout.ready {
    background-color: #ffeee8;
    color: #212121;
}

.callout.status {
    background-color: #f3fbfb;
    color: #212121;
}

.callout.statusLight {
    background-color: #fafcfe;
    color: #212121;
}

.callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem;
}

.callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem;
}

.callout {
    text-align: left;
    border: none;
}

.callout.slim {
    padding: 0.3em;
}

.callout h4 {
    margin-top: 0;
}

.callout p, .callout .text-medium, .callout .text-small {
    color: #212121;
}

.callout.warning .headline {
    color: #212121 !important;
}

.callout.warning .h1 {
    color: #212121 !important;
}

.callout.warning .h2 {
    color: #212121 !important;
}

.callout.warning .h3 {
    color: #212121 !important;
}

.callout.warning .h4 {
    color: #212121 !important;
}

.callout.warning .sub-headline {
    color: #212121 !important;
}

.callout.warning .sub-title {
    color: #212121 !important;
}

.callout.success .headline {
    color: #212121 !important;
}

.callout.success .h1 {
    color: #212121 !important;
}

.callout.success .h2 {
    color: #212121 !important;
}

.callout.success .h3 {
    color: #212121 !important;
}

.callout.success .h4 {
    color: #212121 !important;
}

.callout.success .sub-headline {
    color: #212121 !important;
}

.callout.success .sub-title {
    color: #212121 !important;
}

.callout.success .text-xsmall {
    color: #212121 !important;
}

.callout.success .text-small {
    color: #212121 !important;
}

.callout.success .text-medium {
    color: #212121 !important;
}

.callout.success .text-large {
    color: #212121 !important;
}

.callout.success .text-number {
    color: #212121 !important;
}

.callout.success .text-price {
    color: #212121 !important;
}

.callout.success .list-tick {
    color: #212121 !important;
}

.callout.primary {
    background-color: #27B581;
    border: none;
}

.callout.secondary {
    background-color: #27B581;
    border: none;
}

.callout.tertiary {
    background-color: #2A287B;
    border: none;
}

.callout.success {
    background-color: #27B581;
    border: none;
}

.callout.warning {
    background-color: #FF687D;
    border: none;
}

.callout.alert {
    background-color: #FFDF1A;
    border: none;
}

.callout.optional {
    background-color: #FF9900;
    border: none;
}

.callout.ready {
    background-color: #FF8E68;
    border: none;
}

.callout.status {
    background-color: #ADE4E5;
    border: none;
}

.callout.statusLight {
    background-color: #DDEBF7;
    border: none;
}

/*
/////////////
// BANNERS //
/////////////
*/
.banners__img {
    width: 100%;
}

@media screen and (max-width: 63.938em) {
    ul.banner-feature-list {
        font-size: 11px;
        line-height: 20px;
    }
}

/*
////////////
// LOADERS //
////////////
*/
.price-box-loader {
    position: relative;
    min-height: 50px;
}

.price-box-loader svg {
    stroke: #212121;
    left: 50%;
    margin-left: -25px;
}

/*
//////////////
// MATERIAL //
//////////////
*/
/*!
 * AngularJS Material Design
 * https://github.com/angular/material
 * @license MIT
 * v1.1.6
 *
 * NB: Do not delete.
 * This is included to help style some of the material components
 * and includes helpers such as the ripple effect on buttons.
 */
html, body {
    height: 100%;
    position: relative;
    /* Override material here because we don't want the background color set byt material themes */
    background: #FFFCFC !important;
}

body {
    margin: 0;
    padding: 0;
}

[tabindex='-1']:focus {
    outline: none;
}

.inset {
    padding: 10px;
}

a.md-no-style,
button.md-no-style {
    font-weight: normal;
    background-color: inherit;
    text-align: left;
    border: none;
    padding: 0;
    margin: 0;
}

select,
button,
textarea,
input {
    vertical-align: baseline;
}

input[type="reset"],
input[type="submit"],
html input[type="button"],
button {
    cursor: pointer;
    -webkit-appearance: button;
}

input[type="reset"][disabled],
input[type="submit"][disabled],
html input[type="button"][disabled],
button[disabled] {
    cursor: default;
}

textarea {
    vertical-align: top;
    overflow: auto;
}

input[type='search'] {
    -webkit-appearance: textfield;
    box-sizing: content-box;
    -webkit-box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

input:-webkit-autofill {
    text-shadow: none;
}

.md-visually-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    text-transform: none;
    width: 1px;
}

.md-shadow {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border-radius: inherit;
    pointer-events: none;
}

.md-shadow-bottom-z-1 {
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
            box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
}

.md-shadow-bottom-z-2 {
    -webkit-box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
            box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
}

.md-shadow-animated.md-shadow {
    -webkit-transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    -webkit-transition: -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    transition: box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1), -webkit-box-shadow 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

/*
 * A container inside of a rippling element (eg a button),
 * which contains all of the individual ripples
 */
.md-ripple-container {
    pointer-events: none;
    position: absolute;
    overflow: hidden;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.55s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 0.55s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.md-ripple {
    position: absolute;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    opacity: 0;
    border-radius: 50%;
}

.md-ripple.md-ripple-placed {
    -webkit-transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: margin 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), border 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), width 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), height 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.md-ripple.md-ripple-scaled {
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
}

.md-ripple.md-ripple-active, .md-ripple.md-ripple-full, .md-ripple.md-ripple-visible {
    opacity: 0.20;
}

.md-ripple.md-ripple-remove {
    -webkit-animation: md-remove-ripple 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
    animation: md-remove-ripple 0.9s cubic-bezier(0.25, 0.8, 0.25, 1);
}

@-webkit-keyframes md-remove-ripple {
    0% {
        opacity: .15;
    }
    100% {
        opacity: 0;
    }
}

@keyframes md-remove-ripple {
    0% {
        opacity: .15;
    }
    100% {
        opacity: 0;
    }
}

.md-padding {
    padding: 8px;
}

.md-margin {
    margin: 8px;
}

.md-scroll-mask {
    position: absolute;
    background-color: transparent;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 50;
}

.md-scroll-mask > .md-scroll-mask-bar {
    display: block;
    position: absolute;
    background-color: #fafafa;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 65;
    -webkit-box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.3);
            box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.3);
}

.md-no-momentum {
    -webkit-overflow-scrolling: auto;
}

.md-no-flicker {
    -webkit-filter: blur(0px);
}

@media (min-width: 960px) {
    .md-padding {
        padding: 16px;
    }
}

html[dir=rtl], html[dir=ltr], body[dir=rtl], body[dir=ltr] {
    unicode-bidi: embed;
}

bdo[dir=rtl] {
    direction: rtl;
    unicode-bidi: bidi-override;
}

bdo[dir=ltr] {
    direction: ltr;
    unicode-bidi: bidi-override;
}

html, body {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    min-height: 100%;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

md-switch {
    display: inline-block;
}

md-switch.md-default-theme.md-checked .md-bar,
md-switch.md-checked .md-bar {
    background-color: #b8f0db;
}

md-switch.md-default-theme.md-checked .md-thumb,
md-switch.md-checked .md-thumb {
    background-color: #27B581;
}

md-switch.md-default-theme.md-checked .md-ink-ripple,
md-switch.md-checked .md-ink-ripple {
    color: #27B581;
}

md-input-container {
    display: block;
    position: relative;
    margin-bottom: 1.25rem;
}

md-input-container label {
    color: #212121 !important;
}

md-input-container.md-input-invalid .md-input-messages-animation {
    opacity: 1;
    height: auto;
}

md-input-container .md-input-messages-animation {
    opacity: 0;
    height: 0;
    overflow: hidden;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}

md-input-container .md-input-messages-animation > div {
    font-size: 11px;
    line-height: 12px;
    font-weight: bold;
    padding: 0.3rem 0;
}

/* See: http://google.github.io/material-design-icons/ */
/* Rules for sizing the icon. */
.material-icons.md-12 {
    font-size: 12px;
    height: 12px;
    width: 12px;
    min-height: 12px;
    min-width: 12px;
}

.material-icons.md-18 {
    font-size: 18px;
    height: 18px;
    width: 18px;
    min-height: 18px;
    min-width: 18px;
}

.material-icons.md-24 {
    font-size: 24px;
    height: 24px;
    width: 24px;
    min-height: 24px;
    min-width: 24px;
}

.material-icons.md-30 {
    font-size: 30px;
    height: 30px;
    width: 30px;
    min-height: 30px;
    min-width: 30px;
}

.material-icons.md-36 {
    font-size: 36px;
    height: 36px;
    width: 36px;
    min-height: 36px;
    min-width: 36px;
}

.material-icons.md-48 {
    font-size: 48px;
    height: 48px;
    width: 48px;
    min-height: 48px;
    min-width: 48px;
}

.material-icons.md-64 {
    font-size: 64px;
    height: 64px;
    width: 64px;
    min-height: 64px;
    min-width: 64px;
}

.material-icons.md-92 {
    font-size: 92px;
    height: 92px;
    width: 92px;
    min-height: 92px;
    min-width: 92px;
}

md-icon.md-default-theme, md-icon {
    color: rgba(0, 0, 0, 0.3);
}

/* Rules for using icons as black on a light background. */
.material-icons.md-dark {
    color: rgba(0, 0, 0, 0.54);
}

.material-icons.md-dark.md-inactive {
    color: rgba(0, 0, 0, 0.26);
}

/* Rules for using icons as white on a dark background. */
.material-icons.md-light {
    color: white;
}

.material-icons.md-light.md-inactive {
    color: rgba(255, 255, 255, 0.3);
}

.md-button.button {
    text-transform: initial;
}

.md-button.button.secondary, .md-button.button.tertiary {
    background-color: transparent;
}

.md-button.md-no-hover:hover {
    background-color: transparent !important;
}

md-backdrop.md-edit-dialog-backdrop {
    z-index: 80;
}

md-edit-dialog {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: fixed;
    z-index: 81;
    background-color: #f9f9f9;
    border-radius: 2px;
    cursor: default;
}

md-edit-dialog > .md-content {
    padding: 16px 24px 0;
}

md-edit-dialog > .md-content .md-title {
    color: rgba(0, 0, 0, 0.87);
    margin-bottom: 8px;
}

md-edit-dialog > .md-content md-input-container {
    margin: 0;
    font-size: 13px;
}

md-edit-dialog > .md-content md-input-container input {
    float: none;
}

md-edit-dialog > .md-content md-input-container .md-errors-spacer {
    min-height: auto;
    min-width: auto;
    color: rgba(0, 0, 0, 0.54);
}

md-edit-dialog > .md-content md-input-container .md-errors-spacer .md-char-counter {
    padding: 5px 2px 5px 0;
}

md-edit-dialog > .md-content md-input-container [ng-message] {
    padding: 5px 0 5px 2px;
}

md-edit-dialog > .md-actions {
    margin: 0 16px 8px;
}

md-edit-dialog > .md-actions .md-button {
    margin: 0;
    min-width: initial;
}

md-edit-dialog > .md-actions .md-button + .md-button {
    margin-left: 8px;
}

.md-table-pagination {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 0 24px;
    font-size: 12px;
    color: rgba(0, 0, 0, 0.54);
    border-top: 1px rgba(0, 0, 0, 0.12) solid;
}

.md-table-pagination md-select {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    min-width: 64px;
}

.md-table-pagination md-select:not([disabled]):focus .md-select-value {
    color: rgba(0, 0, 0, 0.54);
}

.md-table-pagination md-select .md-select-value {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}

.md-table-pagination md-select .md-select-value span.md-select-icon {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-right: -6px !important;
}

.md-table-pagination md-select .md-select-value span.md-select-icon:after {
    top: initial;
    -webkit-transform: scaleY(0.5) scaleX(1);
            transform: scaleY(0.5) scaleX(1);
}

.md-table-pagination > * {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 56px;
}

.md-table-pagination > .buttons:not(:first-child),
.md-table-pagination > .limit-select:not(:first-child) {
    margin-left: 32px;
}

.md-table-pagination > .buttons {
    margin-right: -16px;
}

.md-table-pagination > .buttons > .md-button.md-icon-button {
    margin: 0;
}

.md-table-pagination > .buttons > .label + .md-button.md-icon-button {
    margin-left: 20px;
}

md-select.md-table-select {
    margin: 0;
}

md-select.md-table-select > .md-select-value {
    padding: 0;
    min-width: 0;
    min-height: 24px;
    border-bottom: 0 !important;
}

md-select.md-table-select > .md-select-value > span {
    display: block;
    height: auto;
    -webkit-transform: none !important;
            transform: none !important;
}

md-select.md-table-select > .md-select-value > span > .md-text {
    display: inherit;
    height: inherit;
    -webkit-transform: inherit;
            transform: inherit;
}

md-select.md-table-select > .md-select-value > span.md-select-icon {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 24px;
    margin: 0;
}

md-select.md-table-select > .md-select-value > span.md-select-icon:after {
    top: initial;
}

.md-select-menu-container.md-table-select,
.md-select-menu-container.md-pagination-select {
    margin-left: -2px;
    border-radius: 2px;
}

.md-select-menu-container.md-table-select md-select-menu,
.md-select-menu-container.md-pagination-select md-select-menu,
.md-select-menu-container.md-table-select md-content,
.md-select-menu-container.md-pagination-select md-content {
    border-radius: inherit;
}

.md-select-menu-container.md-table-select md-content,
.md-select-menu-container.md-pagination-select md-content {
    padding: 0;
}

.md-select-menu-container.md-table-select .md-text {
    font-size: 13px;
}

.md-select-menu-container.md-pagination-select .md-text {
    font-size: 12px;
}

md-toolbar.md-table-toolbar {
    -webkit-box-shadow: none;
            box-shadow: none;
}

md-toolbar.md-table-toolbar.md-default-theme:not(.md-menu-toolbar).md-default,
md-toolbar.md-table-toolbar:not(.md-menu-toolbar).md-default {
    background-color: #ffffff;
    color: rgba(0, 0, 0, 0.87);
}

md-toolbar.md-table-toolbar.md-default-theme:not(.md-menu-toolbar).md-default .md-button,
md-toolbar.md-table-toolbar:not(.md-menu-toolbar).md-default .md-button {
    color: rgba(0, 0, 0, 0.87);
}

@media only screen and (max-width: 959px) and (min-width: 0) and (orientation: landscape) {
    md-toolbar.md-table-toolbar .md-toolbar-tools {
        height: 64px;
        max-height: initial;
    }
}

md-toolbar.md-table-toolbar .md-toolbar-tools {
    padding: 0 24px;
}

md-toolbar.md-table-toolbar .md-toolbar-tools md-icon {
    color: rgba(0, 0, 0, 0.54);
}

md-toolbar.md-table-toolbar .md-toolbar-tools > .md-button.md-icon-button {
    margin: 0;
}

md-toolbar.md-table-toolbar .md-toolbar-tools > .md-button.md-icon-button:first-child {
    margin-left: -12px;
}

md-toolbar.md-table-toolbar .md-toolbar-tools > .md-button.md-icon-button:last-child {
    margin-right: -12px;
}

md-card > md-toolbar.md-table-toolbar:first-child,
md-card > md-table-container:first-child {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}

md-card > md-toolbar.md-table-toolbar:last-child,
md-card > md-table-container:last-child {
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}

md-table-container {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

table.md-table {
    width: 100%;
    border-spacing: 0;
    overflow: hidden;
}

table.md-table thead.md-head > tr.md-row {
    height: 56px;
}

table.md-table tbody.md-body > tr.md-row,
table.md-table tfoot.md-foot > tr.md-row {
    height: 48px;
}

table.md-table thead.md-head + .md-table-progress md-progress-linear {
    top: -3px;
}

table.md-table .md-table-progress th {
    padding: 0;
}

table.md-table .md-table-progress th md-progress-linear {
    height: 0;
    -webkit-transition: opacity 1s;
    transition: opacity 1s;
}

table.md-table .md-table-progress th md-progress-linear.ng-hide {
    opacity: 0;
}

table.md-table .md-table-progress th md-progress-linear > .md-container {
    height: 3px;
    top: 0;
    -webkit-transition: none;
    transition: none;
}

table.md-table .md-table-progress th md-progress-linear > .md-container > .md-bar {
    height: 3px;
}

table.md-table th.md-column {
    color: #212121;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
    text-transform: uppercase;
}

table.md-table th.md-column.md-sort {
    cursor: pointer;
}

table.md-table th.md-column md-icon {
    height: 16px;
    width: 16px;
    font-size: 16px !important;
    line-height: 16px !important;
}

table.md-table th.md-column md-icon.md-sort-icon {
    color: rgba(0, 0, 0, 0.26);
    opacity: 0;
    transition: -webkit-transform 0.25s, opacity 0.25s;
    -webkit-transition: opacity 0.25s, -webkit-transform 0.25s;
    transition: opacity 0.25s, -webkit-transform 0.25s;
    transition: transform 0.25s, opacity 0.25s;
    transition: transform 0.25s, opacity 0.25s, -webkit-transform 0.25s;
}

table.md-table th.md-column md-icon.md-sort-icon.md-asc {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
}

table.md-table th.md-column md-icon.md-sort-icon.md-desc {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
}

table.md-table th.md-column md-icon:not(:first-child) {
    margin-left: 8px;
}

table.md-table th.md-column md-icon:not(:last-child) {
    margin-right: 8px;
}

table.md-table th.md-column.md-active,
table.md-table th.md-column.md-active md-icon {
    color: rgba(0, 0, 0, 0.87);
}

table.md-table th.md-column:hover md-icon.md-sort-icon,
table.md-table th.md-column.md-active md-icon.md-sort-icon {
    opacity: 1;
}

table.md-table tr.md-row[ng\:repeat].ng-leave,
table.md-table tr.md-row[ng-repeat].ng-leave,
table.md-table tr.md-row[x-ng-repeat].ng-leave,
table.md-table tr.md-row[data-ng-repeat].ng-leave {
    display: none;
}

table.md-table.md-row-select tbody.md-body > tr.md-row {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
}

table.md-table.md-row-select tbody.md-body > tr.md-row:not([disabled]):hover {
    background-color: #eeeeee !important;
}

table.md-table.md-row-select tbody.md-body > tr.md-row.md-selected {
    background-color: #f5f5f5;
}

table.md-table.md-row-select td.md-cell:first-child,
table.md-table.md-row-select th.md-column:first-child {
    width: 20px;
    padding: 0 0 0 24px;
}

table.md-table.md-row-select td.md-cell:nth-child(2),
table.md-table.md-row-select th.md-column:nth-child(2) {
    padding: 0 24px;
}

table.md-table.md-row-select td.md-cell:nth-child(n+3):nth-last-child(n+2),
table.md-table.md-row-select th.md-column:nth-child(n+3):nth-last-child(n+2) {
    padding: 0 10px 0 0;
}

table.md-table:not(.md-row-select) td.md-cell:first-child,
table.md-table:not(.md-row-select) th.md-column:first-child {
    padding: 0 12px;
}

table.md-table:not(.md-row-select) td.md-cell:nth-child(n+2):nth-last-child(n+2),
table.md-table:not(.md-row-select) th.md-column:nth-child(n+2):nth-last-child(n+2) {
    padding: 0 5px 0 0;
}

table.md-table td.md-cell,
table.md-table th.md-column {
    vertical-align: middle;
}

table.md-table td.md-cell > *,
table.md-table th.md-column > * {
    vertical-align: middle;
}

table.md-table td.md-cell:last-child,
table.md-table th.md-column:last-child {
    padding: 0 12px 0 0;
}

table.md-table td.md-cell.md-clickable,
table.md-table th.md-column.md-clickable {
    cursor: pointer;
}

table.md-table td.md-cell.md-clickable:focus,
table.md-table th.md-column.md-clickable:focus {
    outline: none;
}

table.md-table td.md-cell.md-numeric,
table.md-table th.md-column.md-numeric {
    text-align: right;
}

table.md-table td.md-cell md-checkbox,
table.md-table th.md-column md-checkbox {
    margin: 0;
    width: 20px;
}

table.md-table td.md-cell {
    color: rgba(0, 0, 0, 0.87);
    font-size: 13px;
    border-top: 1px rgba(0, 0, 0, 0.12) solid;
}

table.md-table td.md-cell.md-numeric md-select {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

table.md-table td.md-cell.md-numeric md-select .md-select-value {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
}

table.md-table td.md-cell.md-placeholder {
    color: rgba(0, 0, 0, 0.26);
}

table.md-table td.md-cell md-select > .md-select-value > span.md-select-icon {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    color: rgba(0, 0, 0, 0.54);
    width: 18px;
    text-align: right;
}

table.md-table td.md-cell md-select > .md-select-value > span.md-select-icon:after {
    -webkit-transform: scaleY(0.4) scaleX(0.8);
            transform: scaleY(0.4) scaleX(0.8);
}

table.md-table th.md-column.email, table.md-table th.md-column.policy_number,
table.md-table td.md-cell.email,
table.md-table td.md-cell.policy_number {
    text-align: left;
}

ng-form[name=timeForm] {
    display: block;
    position: relative;
    vertical-align: middle;
}

ng-form[name=timeForm] > * {
    display: inline-block;
}

ng-form[name=timeForm] input,
ng-form[name=timeForm] md-input-container {
    text-align: center;
    padding: 0;
}

ng-form[name=timeForm] md-input-container .md-errors-spacer {
    min-height: 0;
}

ng-form[name=timeForm] div.time-error-messages {
    position: absolute;
    top: 30px;
}

md-hours-minutes {
    width: 60px;
}

md-meridiem {
    max-width: 100px;
}

md-meridiem .md-select-value {
    padding: 2px;
    min-height: 25px;
}

md-meridiem .md-select-value.md-select-placeholder {
    padding-left: 5px;
}

md-meridiem .md-select-value .md-select-icon {
    width: 15px;
}

.time-colon {
    top: 23px;
    padding: 0 4px;
}

.md-up-arrow, .md-down-arrow {
    position: absolute;
    height: 0;
    top: 14px;
    right: 2px;
    color: rgba(0, 0, 0, 0.38);
    -webkit-user-select: none;
    /* Chrome all / Safari all */
    -moz-user-select: none;
    /* Firefox all */
    -ms-user-select: none;
    /* IE 10+ */
    user-select: none;
    /* Likely future */
}

.md-up-arrow:focus, .md-down-arrow:focus {
    outline: none;
}

.md-up-arrow:hover, .md-down-arrow:hover {
    color: black;
    cursor: pointer;
}

.md-up-arrow:after, .md-down-arrow:after {
    display: block;
    position: relative;
    speak: none;
    font-size: 13px;
    -webkit-transform: scaleY(0.5) scaleX(1);
            transform: scaleY(0.5) scaleX(1);
}

.md-up-arrow:after {
    content: '\25B2';
    top: -6px;
}

.md-down-arrow:after {
    content: '\25BC';
    top: 3px;
}

.md-datepicker-input-container {
    text-align: center;
}

.mdp-animate-next {
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 1px);
    transform: translate3d(50%, 0, 1px);
}

.mdp-animate-next-remove {
    -webkit-transition: all 0.5s cubic-bezier(0.35, 0, 0.25, 1);
    transition: all 0.5s cubic-bezier(0.35, 0, 0.25, 1);
    opacity: 0;
    -webkit-transform: translate3d(50%, 0, 1px);
    transform: translate3d(50%, 0, 1px);
}

.mdp-animate-next-remove-active {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 1px);
    transform: translate3d(0, 0, 1px);
}

.mdp-animate-prev {
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 1px);
    transform: translate3d(-50%, 0, 1px);
}

.mdp-animate-prev-remove {
    -webkit-transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
    transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
    opacity: 0;
    -webkit-transform: translate3d(-50%, 0, 1px);
    transform: translate3d(-50%, 0, 1px);
}

.mdp-animate-prev-remove-active {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 1px);
    transform: translate3d(0, 0, 1px);
}

@-webkit-keyframes mdp-animation-bounce {
    from {
        opacity: 0;
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
    }
    70% {
        opacity: 1;
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes mdp-animation-bounce {
    from {
        opacity: 0;
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
    }
    70% {
        opacity: 1;
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
    }
    to {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.mdp-animation-zoom.ng-enter {
    -webkit-transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
    transition: all 0.3s cubic-bezier(0.35, 0, 0.25, 1);
    -webkit-animation-duration: 0.3s;
    animation-duration: 0.3s;
    -webkit-animation-name: mdp-animation-bounce;
    animation-name: mdp-animation-bounce;
}

.mdp-datepicker {
    max-height: initial;
    min-width: 234px;
}

.mdp-datepicker * {
    outline: 0;
}

.mdp-datepicker .md-actions {
    width: 100%;
    padding: 0px 5px;
}

.mdp-calendar-week-days {
    font-size: 0.75rem;
    opacity: 0.6;
}

.mdp-calendar-week-days > * {
    width: 32px;
    height: 32px;
    line-height: 32px;
    margin: 0 5px;
    padding: 0;
    min-width: 0px;
    min-height: 0px;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    background-color: transparent;
}

.mdp-calendar-days {
    font-size: 1rem;
    max-width: 100%;
}

.mdp-calendar-days .md-button,
.mdp-calendar-days .mdp-day-placeholder {
    width: 32px;
    height: 32px;
    margin: 0 5px;
}

.mdp-calendar-days .md-button {
    cursor: pointer;
    border-radius: 50%;
    font-size: 12px;
    width: 32px;
    height: 32px;
    line-height: 32px;
    padding: 0;
    min-width: 0px;
    min-height: 0px;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    background-color: transparent;
}

.mdp-calendar-days .md-button[disabled]:not(.md-accent) {
    background-color: transparent !important;
}

.mdp-calendar-monthyear {
    font-size: 0.8125rem;
    font-weight: bold;
    line-height: 32px;
    min-height: 32px;
}

.mdp-datepicker-date,
.mdp-datepicker-day,
.mdp-datepicker-dow,
.mdp-datepicker-month {
    font-size: 1.8rem;
    opacity: 0.6;
}

.mdp-datepicker-date:not(.active),
.mdp-datepicker-day:not(.active),
.mdp-datepicker-dow:not(.active),
.mdp-datepicker-month:not(.active) {
    cursor: pointer;
}

.mdp-datepicker-date.active,
.mdp-datepicker-day.active,
.mdp-datepicker-dow.active,
.mdp-datepicker-month.active,
.mdp-datepicker-date:hover,
.mdp-datepicker-day:hover,
.mdp-datepicker-dow:hover,
.mdp-datepicker-month:hover {
    opacity: 1;
}

.mdp-datepicker-year {
    font-size: 0.9rem;
    opacity: 0.6;
    padding: 0;
    margin: 0;
}

.mdp-datepicker-year:not(.active) {
    cursor: pointer;
}

.mdp-datepicker-year.active,
.mdp-datepicker-year:hover {
    opacity: 1;
}

.mdp-datepicker-select-year {
    height: 232px;
}

.mdp-datepicker-select-year .repeated-year {
    text-align: center;
}

.mdp-datepicker-select-year .repeated-year .md-button {
    width: 100%;
    margin: 0;
    border-radius: 0;
    padding: 0;
    font-size: 1.0rem;
    line-height: 42px;
}

.mdp-datepicker-select-year .repeated-year .md-button.current {
    font-size: 1.8rem;
    line-height: 42px;
}

.mdp-datepicker-select-year .md-virtual-repeat-container,
.mdp-datepicker-select-year .md-virtual-repeat-offsetter,
.mdp-datepicker-select-year .md-virtual-repeat-scroller {
    height: 100%;
    width: 100%;
}

mdp-date-picker > md-input-container.md-has-icon {
    padding-left: 40px;
}

mdp-date-picker .md-button.md-icon-button {
    margin: 18px 0 0 0;
}

.mdp-datepicker:not(.portrait) .mdp-datepicker-select-year {
    width: 309px;
}

.mdp-datepicker:not(.portrait) .mdp-calendar {
    margin-right: 5px;
    width: 294px;
    margin-left: 10px;
}

.mdp-datepicker:not(.portrait) .mdp-datepicker-date-wrapper {
    width: 150px;
}

.mdp-datepicker:not(.portrait) .mdp-datepicker-dow {
    width: 100%;
    display: block;
}

.mdp-datepicker:not(.portrait) .mdp-calendar-week-days > *,
.mdp-datepicker:not(.portrait) .mdp-calendar-days > * {
    width: 42px;
}

.mdp-datepicker .mdp-datepicker-date-wrapper {
    padding: 16px 35px 16px 16px;
}

.mdp-datepicker md-dialog-content {
    overflow: hidden;
    padding: 0px;
}

.mdp-datepicker md-dialog-content .mdp-calendar {
    width: 294px;
    overflow-x: hidden;
}

.mdp-datepicker.portrait {
    max-width: 234px;
}

.mdp-datepicker.portrait .mdp-calendar {
    text-align: center;
    width: 100%;
}

.mdp-datepicker.portrait .mdp-datepicker-select-year {
    height: 252px;
}

.mdp-datepicker.portrait md-dialog-content > * {
    width: 100%;
}

.mdp-datepicker.portrait .mdp-calendar-week-days,
.mdp-datepicker.portrait .mdp-calendar-days,
.mdp-datepicker.portrait .md-actions {
    padding: 0 5px;
}

.mdp-datepicker.portrait .md-actions {
    margin-top: 20px;
}

.mdp-datepicker.portrait .mdp-calendar-week-days > *,
.mdp-datepicker.portrait .mdp-calendar-days > * {
    width: 32px;
}

mdp-calendar {
    display: block;
}

.mdp-calendar-week-days {
    width: 100%;
}

.mdp-calendar-week-days > * {
    margin: 0;
}

.mdp-calendar-days .md-button,
.mdp-calendar-days .mdp-day-placeholder {
    margin: 0;
}

.mdp-clock {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    cursor: pointer;
    padding: 24px;
    background: #ededed;
}

.mdp-clock .md-button {
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    background-color: transparent;
    display: block;
    position: absolute;
    min-height: 32px;
    width: 32px;
    height: 32px;
    font-size: 12px;
    line-height: 32px;
    margin: 0;
    padding: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.mdp-clock .mdp-clock-container {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
}

.mdp-clock .mdp-pointer {
    min-height: 0px;
    width: 1px;
    height: 50%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    -webkit-transform-origin: top center;
    transform-origin: top center;
    z-index: 0;
    pointer-events: none;
}

.mdp-clock .mdp-clock-center {
    min-height: 0px;
    height: 6px;
    width: 6px;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border-radius: 50%;
}

.mdp-clock .md-button.mdp-clock-selected {
    position: absolute;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    bottom: -8px;
    left: 0px;
    min-width: 0;
    min-height: 0;
    pointer-events: none;
}

.mdp-timepicker .mdp-clock-switch-container {
    padding: 20px;
    width: 309px;
}

.mdp-timepicker .mdp-timepicker-time {
    padding: 15px;
}

.mdp-timepicker .mdp-timepicker-selected-time {
    font-size: 3rem;
}

.mdp-timepicker:not(.portrait) .mdp-timepicker-time {
    width: 160px;
}

.mdp-timepicker.portrait .mdp-timepicker-selected-time {
    font-size: 4rem;
    margin-right: 1.5rem;
}

mdp-time-picker md-input-container.md-has-icon {
    padding-left: 40px;
}

mdp-time-picker .md-button.md-icon-button {
    margin: 18px 0 0 0;
}

.mdp-timepicker-selected-time > span,
.mdp-timepicker-selected-ampm > span {
    outline: 0;
    opacity: 0.6;
}

.mdp-timepicker-selected-time > span:not(.active),
.mdp-timepicker-selected-ampm > span:not(.active) {
    cursor: pointer;
}

.mdp-timepicker-selected-time > span.active,
.mdp-timepicker-selected-ampm > span.active {
    opacity: 1;
}

.mdp-clock-deg0 {
    top: 0%;
    left: 50%;
}

.mdp-clock-deg15 {
    top: 1.70370869%;
    left: 62.94095226%;
}

.mdp-clock-deg30 {
    top: 6.69872981%;
    left: 75%;
}

.mdp-clock-deg45 {
    top: 14.64466094%;
    left: 85.35533905%;
}

.mdp-clock-deg60 {
    top: 25%;
    left: 93.30127019%;
}

.mdp-clock-deg75 {
    top: 37.05904774%;
    left: 98.29629131%;
}

.mdp-clock-deg90 {
    top: 50%;
    left: 100%;
}

.mdp-clock-deg105 {
    top: 62.94095226%;
    left: 98.29629131%;
}

.mdp-clock-deg120 {
    top: 75%;
    left: 93.30127019%;
}

.mdp-clock-deg135 {
    top: 85.35533906%;
    left: 85.35533906%;
}

.mdp-clock-deg150 {
    top: 93.30127019%;
    left: 75%;
}

.mdp-clock-deg165 {
    top: 98.29629131%;
    left: 62.94095226%;
}

.mdp-clock-deg180 {
    top: 100%;
    left: 50%;
}

.mdp-clock-deg195 {
    top: 98.29629131%;
    left: 37.05904774%;
}

.mdp-clock-deg210 {
    top: 93.30127019%;
    left: 25%;
}

.mdp-clock-deg225 {
    top: 85.35533906%;
    left: 14.64466094%;
}

.mdp-clock-deg240 {
    top: 75%;
    left: 6.69872981%;
}

.mdp-clock-deg255 {
    top: 62.94095226%;
    left: 1.703708686%;
}

.mdp-clock-deg270 {
    top: 50%;
    left: 0%;
}

.mdp-clock-deg285 {
    top: 37.05904774%;
    left: 1.703708686%;
}

.mdp-clock-deg300 {
    top: 25%;
    left: 6.69872981%;
}

.mdp-clock-deg315 {
    top: 14.64466094%;
    left: 14.64466094%;
}

.mdp-clock-deg330 {
    top: 6.69872981%;
    left: 25%;
}

.mdp-clock-deg345 {
    top: 1.703708686%;
    left: 37.05904774%;
}

.mdp-clock-deg360 {
    top: 0%;
    left: 50%;
}

.md-button {
    min-width: 75px;
}

md-dialog {
    border-radius: 4px;
}

md-dialog.allow-overflow {
    overflow: visible;
}

@media screen and (min-width: 40em) {
    md-dialog.allow-overflow .md-button.close-dialog {
        position: absolute;
        top: -40px;
        right: -15px;
    }
}

md-content.md-default-theme, md-content {
    color: inherit;
    background-color: inherit;
}

md-dialog-actions {
    border-top-style: none !important;
}

md-select {
    border: 1px solid #BCBDBD;
    padding: 9px;
    border-radius: 8px;
    margin: inherit;
}

md-select .md-select-value {
    border-bottom-color: transparent !important;
}

md-radio-button:focus {
    outline: 0;
}

md-calendar table {
    width: auto;
}

md-calendar td, md-calendar th {
    border: 0;
    text-align: left;
}

.md-datepicker-calendar-pane {
    z-index: 1400;
}

md-sidenav, md-backdrop {
    position: fixed;
}

md-toast {
    position: fixed;
    padding: 0;
}

md-toast .md-toast-content span {
    color: #212121;
    text-align: center;
}

md-toast.success .md-toast-content {
    background: #27B581;
}

md-toast.warning .md-toast-content {
    background: #FF687D;
}

md-toast.alert .md-toast-content {
    background: #FFDF1A;
}

md-datepicker .md-button.md-icon-button {
    margin-top: -7px;
    margin-left: -7px;
}

md-datepicker .md-datepicker-input-container {
    top: -3px;
}

._md-datepicker-floating-label md-datepicker {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

._md-datepicker-floating-label md-datepicker .md-datepicker-input-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

._md-datepicker-floating-label md-datepicker .md-datepicker-triangle-button {
    top: 5px;
}

._md-datepicker-floating-label md-datepicker .md-datepicker-expand-triangle {
    border: 0;
    background-image: url(/assets/svgs/icon-arrow-down.svg);
    height: 6px;
    width: 10px;
}

._md-datepicker-floating-label .md-input {
    text-align: left;
}

._md-datepicker-floating-label .md-input[disabled] {
    background: none;
    border: none;
}

._md-datepicker-floating-label > md-datepicker .md-datepicker-button {
    top: 6px;
    width: 36px;
    height: 36px;
    margin: -12px 0 0;
    padding: 0;
}

.md-datepicker-open.md-input-has-value > label {
    display: block;
}

md-checkbox.md-default-theme.md-checked .md-icon,
md-checkbox.md-checked .md-icon,
.md-checkbox-enabled.md-default-theme[selected] .md-icon,
.md-checkbox-enabled[selected] .md-icon {
    background-color: #27B581;
}

md-select-menu.md-default-theme md-content md-option[selected],
md-select-menu.md-default-theme md-content md-option[selected]:focus,
md-select-menu md-content md-option[selected],
md-select-menu md-content md-option[selected]:focus {
    color: #212121;
}

.md-checkbox-enabled.md-default-theme[selected] .md-icon:after,
.md-checkbox-enabled[selected] .md-icon:after,
md-checkbox.md-checked .md-icon:after {
    border-color: #FFFFFF;
}

md-radio-group.md-default-theme .md-checked .md-ink-ripple,
md-radio-group .md-checked .md-ink-ripple,
md-radio-button.md-default-theme.md-checked .md-ink-ripple,
md-radio-button.md-checked .md-ink-ripple {
    color: #27B581;
}

md-radio-button.md-default-theme.md-checked .md-off,
md-radio-button.md-checked .md-off {
    border-color: #27B581;
}

md-radio-button.md-default-theme .md-on,
md-radio-button .md-on {
    background-color: #27B581;
}

md-radio-group.md-default-theme.md-focused:not(:empty) .md-checked .md-container:before,
md-radio-group.md-focused:not(:empty) .md-checked .md-container:before {
    background-color: white;
}

md-progress-circular {
    display: inline-block;
}

table.md-table tbody.md-body > tr.md-row {
    height: 60px;
}

table.md-table th.md-column {
    color: #757575;
    text-transform: capitalize;
}

table.md-table td.md-cell {
    font-size: 14px;
}

table.md-table .md-row:not([disabled]):hover {
    background-color: #FFFFFF;
    color: #2A287B;
}

table.md-table .md-row:not([disabled]):hover td.md-cell {
    color: inherit;
}

table.md-table .md-row td.md-cell.disabled,
table.md-table .md-row td.md-cell[disabled] {
    border-bottom: 1px rgba(0, 0, 0, 0.12) solid;
    border-top: 1px rgba(0, 0, 0, 0.12) solid;
    border-left: none;
    border-right: none;
}

md-select.md-default-theme[disabled] .md-select-value, md-select[disabled] .md-select-value {
    background-image: none;
    color: rgba(0, 0, 0, 0.38);
    background-color: transparent;
}

[disabled] md-input-container.md-default-theme .md-input, [disabled] md-input-container .md-input, md-input-container.md-default-theme .md-input[disabled], md-input-container .md-input[disabled] {
    background-image: none;
    border: 1px solid #E1E2E3;
}

md-sidenav.md-locked-open.md-closed.md-sidenav-left {
    position: fixed;
}

md-switch.md-default-theme.md-checked .md-ink-ripple,
md-switch.md-checked .md-ink-ripple {
    background-color: #ADE4E5;
}

md-switch.md-default-theme.md-checked .md-bar,
md-switch.md-checked .md-bar {
    background-color: #ADE4E5;
    opacity: 0.5;
}

.md-select-menu-container {
    z-index: 2000;
}

.claim-sidebar md-list-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-indent: 32px !important;
}

.claim-sidebar .md-button {
    width: 100%;
    text-align: left;
    margin: 0;
}

.claim-sidebar .md-button.active {
    background-color: rgba(158, 158, 158, 0.2);
}

.claim-dropdown {
    padding-top: 10px;
}

.claim-heading {
    margin: 0 0 0 15px;
}

.claim-third-party-tag-circle {
    display: inline-block;
    border-radius: 50%;
    background-color: #FFDF1A;
    min-width: 45px;
    min-height: 45px;
    margin: 0;
    text-align: center;
}

.claim-third-party-tag-circle span {
    line-height: 1.8;
}

.claim-third-party-tag-circle.tag-small {
    min-width: 25px;
    min-height: 25px;
}

.manage-claim-link {
    font-size: 21px;
    line-height: 1.43;
    text-transform: uppercase;
}

.claim__resolver {
    position: fixed;
    bottom: 0;
    width: 100%;
    background: #FFFFFF;
    -webkit-box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21);
            box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21);
    padding: 30px;
}

.claim__resolver_well-done {
    margin-top: -15px;
}

md-dialog-content.small {
    width: 640px;
}

md-dialog-content.xsmall {
    width: 350px;
}

.card-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.card-item {
    border-radius: 4px;
    border: 2px solid #E1E2E3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    cursor: pointer;
    width: 31%;
    margin: 0 1% 1% 0;
}

.card-item h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 12px;
    clear: both;
}

.card-item h3 span {
    display: inline-block;
}

.card-item.active, .card-item.hollow {
    border-color: #27B581;
    border-width: 2px;
    outline: none;
}

.card-item.active .text-small, .card-item.hollow .text-small {
    color: #212121;
}

.card-item:hover {
    -webkit-box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04);
            box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04);
}

.claim-receipt .receipt-title {
    position: relative;
    overflow: hidden;
}

.claim-receipt .receipt-title .receipt-cut {
    position: absolute;
    background: #FFFCFC;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    left: calc(50% - 50px);
    bottom: 63%;
}

.claim-receipt .receipt-body {
    overflow: hidden;
}

.claim-receipt .receipt-body .receipt-divider {
    width: 120%;
    margin-left: -50px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: 1px dashed #E1E2E3;
}

.claim-view iframe {
    border: none;
}

.customer-view {
    padding-left: 65px;
}

.dashboard-container,
.broker-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    height: 100%;
}

.broker-container {
    margin-left: auto;
}

.dashboard-page {
    width: 88%;
    height: 100%;
    border: none;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.dashboard-links {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.dashboard-links .contents.quotes {
    display: none;
}

header.bupa-header {
    height: 40px;
}

.broker-container .top-deck-blocks {
    opacity: 0.4;
}

.broker-container .top-deck-blocks .block:nth-child(2) {
    border-top: none;
    padding: 20px;
}

.broker-container .top-deck-blocks .block:nth-child(2) .icon-separator {
    display: inline-block;
    padding-right: 5px;
    border-right: 1px solid #E1E2E3;
}

.broker-container .align-left-column {
    margin-top: 23px;
}

.broker-container .increment {
    color: #27B581;
}

.broker-container .decrement {
    color: #FF687D;
}

.broker-container .bg-transparent {
    background: transparent;
}

.broker-container .activity-details {
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
}

.broker-container .activity-details .activity-carousel .slick-arrow:before {
    width: 35px;
    height: 35px;
}

.broker-container .activity-details .activity-carousel .slick-prev {
    left: -18%;
    top: 30%;
}

.broker-container .activity-details .activity-carousel .slick-next {
    right: -25%;
    top: 30%;
}

.broker-container .action-history {
    height: 290px;
    overflow: scroll;
}

.broker-container h3.tile-headings {
    font-size: 20px;
    font-weight: 700;
}

.broker-container .filter-container {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.broker-container .filter-container .downward-arrow {
    position: absolute;
    display: inline-block;
    width: 5px;
    height: 5px;
    border: 1px solid #757575;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    top: -5px;
}

.broker-container a.disabled, .broker-container a[disabled] {
    color: #757575;
}

.login-page {
    background-color: #2A287B;
    height: 100%;
    padding-top: 4%;
    margin-left: -55px;
}

.login-page form {
    min-height: 260px;
}

.login-page img.logo {
    display: inline;
    max-width: 125px;
    margin-bottom: 4%;
}

.login-page #sso-message {
    color: red;
    font-size: x-small;
}

.login-page .logo-text {
    border-left: 1px solid #BCBDBD;
    padding: 0 15px;
    margin-left: 15px;
}

.login-page .login-content {
    max-width: 764px;
    margin: auto;
}

.login-page .login-content .login-form-block {
    padding-right: 0;
}

.login-page .login-content .login-form-block .block.border {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.login-page .login-content .login-image-block {
    padding-left: 0;
}

.login-page .login-content .login-image-block .block {
    height: 100%;
    background-color: #DDEBF7;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    position: relative;
    text-align: center;
    padding-top: 90px;
}

.login-page .login-content .login-image-block .block img {
    width: 230px;
    height: auto;
}

.login-page .login-content .disclosure {
    font-size: 10px;
    color: #FFFFFF;
}

.login-page .login-content img.powered-by {
    width: 152px;
    height: auto;
}

.odometer-reading-panel__input {
    height: 2.862rem;
    padding: 0.475rem;
}

.policy__modal-create-claim {
    width: 800px;
}

@media screen and (max-width: 39.938em) {
    .policy__modal-create-claim {
        min-width: 100%;
    }
}

.policy__modal-create-claim md-dialog-content {
    width: 87%;
    -ms-flex-item-align: center;
        align-self: center;
}

@media screen and (min-width: 40em) {
    .policy__modal-create-claim h1 {
        padding-top: 30px;
    }
}

.policy__modal-create-claim md-dialog-actions {
    display: block;
}

.policy__claim-loss-type {
    margin-top: 0;
}

.policy__claim-explain {
    height: 220px;
    resize: none;
    font-weight: normal;
}

.spacings-hr {
    background-color: #212121;
    width: 100%;
    margin: 0;
}

.spacings-table {
    display: grid;
    border: 1px solid #212121;
    border-radius: 4px;
}

.spacings-table-cell-t {
    border-top: 1px solid #212121;
}

.spacings-table-cell-r {
    border-right: 1px solid #212121;
}

.spacings-table-cell-b {
    border-bottom: 1px solid #212121;
}

.spacings-table-cell-l {
    border-left: 1px solid #212121;
}

.styles-icons .styles-icon {
    border-radius: 4px;
}

.styles-icons .columns:nth-child(3n) .styles-icon {
    border: 2px solid #FF687D;
}

.styles-icons .columns:nth-child(3n+1) .styles-icon {
    border: 2px solid #27B581;
}

.styles-icons .columns:nth-child(3n+2) .styles-icon {
    border: 2px solid #27B581;
}

.account-list-table .text-capsule.draft {
    color: #FFFFFF;
    background: #757575;
}

.account-list-table .text-capsule.completed {
    background: #27B581;
    color: #FFFFFF;
}

.account-list-table .text-capsule.approved {
    background: #27B581;
}

.account-list-table .text-capsule.declined {
    background: #FF687D;
    color: #FFFFFF;
}

.account-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    height: 100%;
}

.account-container .field {
    padding: 0;
}

span[class*="claim-state--"] {
    white-space: nowrap;
    font-size: 10px;
}

.claim-state--draft {
    background: #757575;
    color: #FFFFFF;
}

.claim-state--resolved, .claim-state--finalised {
    background: #27B581;
}

.claim-state--inProgress {
    background: #FFDF1A;
}

.claim-state--voided, .claim-state--closed {
    background: #E1E2E3;
    color: #212121;
}

.claim-state--hold {
    background: #FF8E68;
}

.text-capsule.third-party {
    background: #fbd867;
    padding: 7px;
    border-radius: 50%;
    margin-left: 10px;
    font-weight: 800;
    font-size: 14px;
}

.claims-table-actions md-select {
    border-color: #27B581;
    padding: 2px 10px;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 8px;
    display: inline-block;
    vertical-align: bottom;
}

.claims-table-actions .md-select-value > span:not(.md-select-icon) {
    color: #27B581;
    font-weight: 700;
    font-size: 14px;
}

.claims-table-actions .button {
    margin-bottom: 0;
    min-width: 0;
}

.claims-table-filter .button {
    margin-bottom: 10px;
}

.claims-table-filter .button.active {
    background: #27B581;
    border-color: #27B581;
    color: #212121;
}

claims-table-data .product-logo,
claims-table-data .associate-logo, .claims-table-data .product-logo,
.claims-table-data .associate-logo {
    width: auto;
    height: 20px;
}

.customer-solutions-table .text-capsule.estimated {
    background: #FFDF1A;
    color: #212121;
}

.customer-solutions-table .text-capsule.actioned {
    color: #FFFFFF;
    background: #757575;
}

.customer-solutions-table .text-capsule.order-confirmed {
    color: #FFFFFF;
    background: #212121;
}

.customer-solutions-table .text-capsule.ready-for-approval {
    background: #FF8E68;
    color: #FFFFFF;
}

.customer-solutions-table .text-capsule.approved-for-payment {
    background: #27B581;
    color: #FFFFFF;
}

.customer-solutions-table .text-capsule.paid-closed {
    color: #FFFFFF;
    background: #27B581;
}

.customer-solutions-table .text-capsule.invoice-not-accepted {
    background: #FF687D;
    color: #FFFFFF;
}

.customer-solutions-table .text-capsule.voided {
    color: #BCBDBD;
    border: 1px solid #BCBDBD;
    background: #FFFFFF;
}

.customer-solutions-table-actions md-select {
    border-color: #27B581;
    padding: 2px 10px;
    margin-top: 0;
    margin-bottom: 0;
    border-radius: 8px;
}

.customer-solutions-table-actions .md-select-value > span:not(.md-select-icon) {
    color: #27B581;
    font-weight: 700;
    font-size: 14px;
}

.customer-solutions-table-actions .button {
    margin-bottom: 0;
}

.customer-solutions-total .excess_outstanding {
    border-color: #FF687D;
}

form[name="editCustomerSolutionForm"] .readonly_currency label h3 {
    margin: 5px 0 0;
}

form[name="editCustomerSolutionForm"] h1 .text-capsule {
    vertical-align: middle;
    color: #FFFFFF;
    letter-spacing: normal;
}

form[name="editCustomerSolutionForm"] .field > .field {
    padding: 10px 0;
}

.customer-solution-value-fieldset h3 {
    margin: 20px 0 0;
}

.customer-solution-value-fieldset label h3 {
    margin: 25px 0;
}

.customer-solution-value-fieldset .customer-solution-operand {
    margin-top: 29px;
    display: inline-block;
}

.section_expense_amount .form-field,
.section_expense_with_deductions .form-field,
.section_supplier_invoice .form-field,
.section_overseas_travel_expense .form-field,
.section_total_loss_invoice .form-field,
.section_total_loss_third_party_invoice .form-field,
.section_excess_payment_invoice .form-field,
.section_expense_recovery .form-field,
.section_expense_recovery_write_off .form-field,
.section_customer_settlement .form-field,
.section_reimburse_excess .form-field,
.key_agent .form-field,
.key_estimate_amount .form-field,
.key_outstanding_recovery_section .form-field,
.key_outstanding_total_section .form-field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
}

.section_expense_amount .form-field > h3,
.section_expense_with_deductions .form-field > h3,
.section_supplier_invoice .form-field > h3,
.section_overseas_travel_expense .form-field > h3,
.section_total_loss_invoice .form-field > h3,
.section_total_loss_third_party_invoice .form-field > h3,
.section_excess_payment_invoice .form-field > h3,
.section_expense_recovery .form-field > h3,
.section_expense_recovery_write_off .form-field > h3,
.section_customer_settlement .form-field > h3,
.section_reimburse_excess .form-field > h3,
.key_agent .form-field > h3,
.key_estimate_amount .form-field > h3,
.key_outstanding_recovery_section .form-field > h3,
.key_outstanding_total_section .form-field > h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.section_expense_amount .form-field > div,
.section_expense_with_deductions .form-field > div,
.section_supplier_invoice .form-field > div,
.section_overseas_travel_expense .form-field > div,
.section_total_loss_invoice .form-field > div,
.section_total_loss_third_party_invoice .form-field > div,
.section_excess_payment_invoice .form-field > div,
.section_expense_recovery .form-field > div,
.section_expense_recovery_write_off .form-field > div,
.section_customer_settlement .form-field > div,
.section_reimburse_excess .form-field > div,
.key_agent .form-field > div,
.key_estimate_amount .form-field > div,
.key_outstanding_recovery_section .form-field > div,
.key_outstanding_total_section .form-field > div {
    width: 250px;
}

.section_expense_amount .form-field label, .section_expense_amount .form-field input,
.section_expense_with_deductions .form-field label,
.section_expense_with_deductions .form-field input,
.section_supplier_invoice .form-field label,
.section_supplier_invoice .form-field input,
.section_overseas_travel_expense .form-field label,
.section_overseas_travel_expense .form-field input,
.section_total_loss_invoice .form-field label,
.section_total_loss_invoice .form-field input,
.section_total_loss_third_party_invoice .form-field label,
.section_total_loss_third_party_invoice .form-field input,
.section_excess_payment_invoice .form-field label,
.section_excess_payment_invoice .form-field input,
.section_expense_recovery .form-field label,
.section_expense_recovery .form-field input,
.section_expense_recovery_write_off .form-field label,
.section_expense_recovery_write_off .form-field input,
.section_customer_settlement .form-field label,
.section_customer_settlement .form-field input,
.section_reimburse_excess .form-field label,
.section_reimburse_excess .form-field input,
.key_agent .form-field label,
.key_agent .form-field input,
.key_estimate_amount .form-field label,
.key_estimate_amount .form-field input,
.key_outstanding_recovery_section .form-field label,
.key_outstanding_recovery_section .form-field input,
.key_outstanding_total_section .form-field label,
.key_outstanding_total_section .form-field input {
    text-align: right;
}

.section_expense_amount .form-field label,
.section_expense_with_deductions .form-field label,
.section_supplier_invoice .form-field label,
.section_overseas_travel_expense .form-field label,
.section_total_loss_invoice .form-field label,
.section_total_loss_third_party_invoice .form-field label,
.section_excess_payment_invoice .form-field label,
.section_expense_recovery .form-field label,
.section_expense_recovery_write_off .form-field label,
.section_customer_settlement .form-field label,
.section_reimburse_excess .form-field label,
.key_agent .form-field label,
.key_estimate_amount .form-field label,
.key_outstanding_recovery_section .form-field label,
.key_outstanding_total_section .form-field label {
    padding-right: 28px;
}

.section_total_loss_invoice .form-field label {
    padding-right: 20px;
}

.section_expense_amount .estimate_gst_value, .section_expense_amount .actual_gst_value {
    border-bottom: 1px solid #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
}

.section_expense_with_deductions .actual_excess_deduction,
.section_expense_with_deductions .estimate_excess_deduction {
    border-bottom: 1px solid #333;
    margin-bottom: 20px;
    padding-bottom: 10px;
}

.section_expense_amount .estimate_payable_inc_gst,
.section_expense_amount .actual_payable_inc_gst,
.section_supplier_invoice .estimate_payable_inc_gst,
.section_supplier_invoice .actual_payable_inc_gst,
.section_overseas_travel_expense .estimate_payable_inc_gst,
.section_overseas_travel_expense .actual_payable_inc_gst,
.section_total_loss_invoice .estimate_payable_inc_gst,
.section_total_loss_invoice .actual_payable_inc_gst,
.section_total_loss_third_party_invoice .estimate_payable_inc_gst,
.section_total_loss_third_party_invoice .actual_payable_inc_gst,
.section_excess_payment_invoice .estimate_payable_inc_gst,
.section_excess_payment_invoice .actual_payable_inc_gst,
.section_expense_recovery_write_off .estimate_payable_inc_gst,
.section_expense_recovery_write_off .actual_payable_inc_gst {
    border-top: 1px solid #333;
    margin-top: 10px;
    padding-top: 20px;
}

.section_expense_amount .estimate_payable_gst,
.section_expense_amount .estimate_payable_exc_gst,
.section_expense_amount .actual_payable_gst,
.section_expense_amount .actual_payable_exc_gst,
.section_supplier_invoice .estimate_payable_gst,
.section_supplier_invoice .estimate_payable_exc_gst,
.section_supplier_invoice .actual_payable_gst,
.section_supplier_invoice .actual_payable_exc_gst,
.section_overseas_travel_expense .estimate_payable_gst,
.section_overseas_travel_expense .estimate_payable_exc_gst,
.section_overseas_travel_expense .actual_payable_gst,
.section_overseas_travel_expense .actual_payable_exc_gst,
.section_total_loss_invoice .estimate_payable_gst,
.section_total_loss_invoice .estimate_payable_exc_gst,
.section_total_loss_invoice .actual_payable_gst,
.section_total_loss_invoice .actual_payable_exc_gst,
.section_total_loss_third_party_invoice .estimate_payable_gst,
.section_total_loss_third_party_invoice .estimate_payable_exc_gst,
.section_total_loss_third_party_invoice .actual_payable_gst,
.section_total_loss_third_party_invoice .actual_payable_exc_gst,
.section_excess_payment_invoice .estimate_payable_gst,
.section_excess_payment_invoice .estimate_payable_exc_gst,
.section_excess_payment_invoice .actual_payable_gst,
.section_excess_payment_invoice .actual_payable_exc_gst,
.section_expense_recovery_write_off .estimate_payable_gst,
.section_expense_recovery_write_off .estimate_payable_exc_gst,
.section_expense_recovery_write_off .actual_payable_gst,
.section_expense_recovery_write_off .actual_payable_exc_gst {
    display: none;
}

.key_actual_supplier_amount_fields > div:nth-last-child(1), .key_actual_supplier_amount_fields > div:nth-last-child(2),
.key_actual_total_loss_amount_fields > div:nth-last-child(1),
.key_actual_total_loss_amount_fields > div:nth-last-child(2),
.key_actual_total_loss_third_party_amount_fields > div:nth-last-child(1),
.key_actual_total_loss_third_party_amount_fields > div:nth-last-child(2) {
    display: none;
}

.section_excess_payment_invoice .actual_recoverable_gst,
.section_excess_payment_invoice .actual_recoverable_exc_gst {
    display: none;
}

.readonly-currency .input-currency {
    display: none;
}

.section_reimburse_excess .actual_invoice_gst_rate .form-field-help {
    display: block;
}

.section_reimburse_excess .actual_payable_inc_gst .md-block {
    display: none;
}

.section_reimburse_excess .actual_payable_inc_gst .readonly-currency .input-currency {
    display: block;
}

.section_outstanding_premium_ATL .actual_payable_gst .form-field-help {
    display: inline-block;
}

.section_overseas_travel_expense .estimate_payable_gst,
.section_overseas_travel_expense .estimate_payable_exc_gst,
.section_overseas_travel_expense .actual_payable_gst,
.section_overseas_travel_expense .actual_payable_exc_gst {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.section_compound_subtract .actual_owing {
    display: none;
}

.section_invoice_selection {
    display: none;
}

.section_invoice_selection hr {
    display: none;
}

.key_outstanding_total_section hr {
    display: none;
}

.key_outstanding_recovery_section .actual_payable_inc_gst, .key_outstanding_total_section .actual_payable_inc_gst {
    display: none;
}

.key_outstanding_recovery_section md-input-container .field_compound_total, .key_outstanding_total_section md-input-container .field_compound_total {
    float: right;
    margin-right: 10px;
}

.outstanding_recovery {
    border-top: 1px solid #212121;
    padding-top: 20px;
    margin-top: 10px;
}

.outstanding_recovery md-input-container h3, .outstanding_total_paid md-input-container h3 {
    float: right;
    margin-right: 20px;
}

.outstanding_recovery hr, .outstanding_total_paid hr {
    display: none;
}

.key_invoice_dates hr, .key_invoice_number hr {
    display: none;
}

.expense-invoice-fieldset .shadow, expense-payee .shadow {
    -webkit-transition: none;
    transition: none;
}

.expense-invoice-fieldset .shadow.depth-1, expense-payee .shadow.depth-1 {
    -webkit-box-shadow: none;
            box-shadow: none;
}

.expense-invoice-fieldset hr, expense-payee hr {
    display: none;
}

.payee-lookup ul {
    width: 100%;
}

.hire-car-type {
    background-color: #FAFBFC;
}

.block.border.info-block {
    border-color: #27B581;
}

.block.border.info-block.warning {
    border-color: #FF687D;
    color: #FF687D;
    background-color: #ffe8eb;
    font-weight: 700;
    word-wrap: break-word;
}

.expense-field:nth-child(odd) {
    background-color: #FAFBFC;
    border-radius: 4px;
}

.mark-button {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.17;
}

.overview-field-border-top {
    border-top: 1px solid #757575;
    padding-top: 20px;
}

.factoring-select .field {
    padding-right: 0;
    padding-left: 0;
}

ul.event-list {
    margin: 0;
    padding: 0;
}

ul.event-list li {
    list-style: none;
}

.event-nav li {
    line-height: 1em;
}

.key_section_d_disclosures_fields .form-field {
    display: block;
}

.key_section_d_disclosures_fields .form-field-label {
    width: 100%;
    max-width: 100%;
    margin-bottom: 15px;
    display: block;
}

form[name="claimExcessForm"] hr {
    display: none;
}

form[name="claimExcessForm"] form-fieldset + form-fieldset {
    margin-left: 20px;
}

form[name="claimExcessForm"] .field_compound_total {
    padding-top: 0;
}

form[name="claimExcessForm"] .compound_total {
    border-top: 1px solid #BCBDBD;
    padding-top: 10px;
    margin-top: 20px;
}

form[name="claimExcessForm"] .compound_total md-input-container h3 {
    font-size: 34px;
    font-weight: 700;
    margin: 0;
}

form[name="claimDecisionForm"] h1 {
    display: inline-block;
}

.decision-warnings {
    border-radius: 4px;
    border: 1px solid;
}

.decision-warnings h3 {
    margin: 0px 0 10px;
}

.decision-warnings p {
    margin-bottom: 30px;
}

.decision-warnings.warning {
    border-color: #FF687D;
    background-color: #ffe8eb;
}

.decision-warnings.alert {
    border-color: #FFDF1A;
    background-color: #fff19a;
}

.decision-warnings.safe {
    border-color: #27B581;
    background-color: white;
}

.decision-warnings.unclear {
    border-color: #757575;
    background-color: #dbdbdb;
}

.decision-warnings-results.block {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.decision-warnings-header p {
    margin: 0;
    color: #FFFFFF;
}

.decision-warnings-header .block {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.two-column {
    -webkit-column-count: 2;
    -moz-column-count: 2;
}

.hdsToggle.hdsToggle {
    color: #FFFFFF;
    margin: 10px 0;
}

action-buttons {
    display: block;
}

action-buttons .block {
    padding: 0 0 15px 0;
    width: 140px;
    height: 130px;
    text-align: center;
}

action-buttons img {
    max-width: 100px;
    max-height: 80px;
    margin: 10px auto;
}

.history__container {
    max-height: 250px;
    background-color: #F4F5F6;
    border: none;
    border-radius: 8px;
    padding: 20px;
    overflow: scroll;
}

.history__container img {
    float: left;
    width: 40px;
    height: 40px;
    margin-top: 3px;
    margin-right: 10px;
    margin-bottom: 5px;
}

.history__container .content {
    white-space: pre-wrap;
    margin-left: 0.3em;
}

.address__content {
    position: relative;
    line-height: 1.7;
    padding: 20px 35px 10px 20px;
}

.address__content img.icon {
    position: absolute;
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
}

.address__image {
    margin-top: -15px;
}

[uib-typeahead-popup] {
    margin: 0;
    padding: 10px 0;
    background-color: #FFFFFF;
    -webkit-box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21);
            box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21);
    border-radius: 4px;
    position: absolute;
    z-index: 100;
}

[uib-typeahead-popup] .uib-typeahead-match {
    border-bottom: 1px solid #BCBDBD;
    list-style: none;
}

[uib-typeahead-popup] .uib-typeahead-match.active {
    background-color: #F4F5F6;
}

[uib-typeahead-popup] .uib-typeahead-match a {
    padding: 10px;
    display: block;
    color: #212121;
    text-decoration: none;
}

.addressify-form ul {
    width: 100%;
}

.auth0-login-link-dialog {
    width: 600px;
}

@media screen and (max-width: 39.938em) {
    .auth0-login-link-dialog {
        min-width: 100%;
    }
}

.auth0-login-link-dialog md-dialog-content {
    width: 87%;
    -ms-flex-item-align: center;
        align-self: center;
}

@media screen and (min-width: 40em) {
    .auth0-login-link-dialog h1 {
        padding-top: 30px;
    }
}

.auth0-login-link-dialog md-dialog-actions {
    display: block;
}

breadcrumbs {
    display: block;
}

.breadcrumb-container {
    padding-top: 5px;
    padding-bottom: 5px;
}

.breadcrumb-container ul.breadcrumb {
    padding-left: 0;
    text-transform: capitalize;
}

.breadcrumb-container ul.breadcrumb li {
    font-size: 11px;
}

bubble {
    position: relative;
}

@media screen and (max-width: 39.938em) {
    .bubble-bg:after {
        content: "";
        position: absolute;
        left: 0;
        z-index: 10;
        opacity: 0.7;
        background: #212121;
        -webkit-animation-name: fadeIn;
                animation-name: fadeIn;
        -webkit-animation-duration: 300ms;
                animation-duration: 300ms;
    }
}

.bubble {
    position: absolute;
    top: -25px;
    left: 20px;
    width: 330px;
    padding: 17px 17px;
    z-index: 1110;
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-direction: alternate;
            animation-direction: alternate;
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .bubble {
        top: -80px;
        left: 255px;
    }
}

@media screen and (max-width: 39.938em) {
    .bubble {
        width: 95vw;
        margin-left: auto;
        margin-right: auto;
        left: 0;
    }
}

.bubble:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid #FFFFFF;
    left: -10px;
    top: 15px;
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .bubble:before {
        top: 110px;
    }
}

@media screen and (max-width: 39.938em) {
    .bubble:before {
        display: none;
    }
}

.bubble .bubble-close {
    background: none;
    height: 18px;
    width: 18px;
    margin: 0;
    font-size: 0;
    display: block;
    position: absolute;
    right: 7px;
    top: 14px;
    z-index: 1110;
}

.bubble .bubble-close svg {
    fill: #27B581;
    height: 12px;
    width: 12px;
}

@media screen and (max-width: 39.938em) {
    .bubble .bubble-close svg {
        height: 16px;
        width: 16px;
    }
}

@media screen and (max-width: 39.938em) {
    .bubble .bubble-close {
        top: -23px;
        right: 3px;
    }
}

.expense-invoice-fieldset bubble .block {
    padding: 0px 20px;
}

.card-payment__pad-card-icon {
    padding-bottom: 0;
}

.card-payment__paymentOption {
    padding: 25px 20px 15px;
}

.card-payment__paymentOption.selected {
    background-color: #27B581;
}

.card-payment__paymentOption.selected .radio-button.active {
    border: 3px solid #FFFFFF;
}

.card-payment__paymentOption.selected .radio-button.active::after {
    width: 12px;
    height: 12px;
    margin-top: -6px;
    margin-left: -6px;
}

.card-payment__paymentOption.new-card {
    padding: 20px 20px;
}

.card-payment__saved-card {
    margin-top: -10px;
}

.card-payment__saved-card .text-sup {
    font-size: 10px;
}

.card-payment__saved-card img {
    margin-top: -5px;
    margin-left: -5px;
    width: 50px;
    height: 40px;
}

.card-payment__saved-card .card-number {
    margin: -6px 0 0 10px;
}

.stripe-badge {
    width: 100%;
    max-width: 400px;
    max-height: 80px;
}

.claim-status {
    color: #212121;
    background-color: #BCBDBD;
}

.claim-status.D {
    background-color: #757575;
    color: #FFFFFF;
}

.claim-status.D:focus .md-select-value {
    color: #FFFFFF;
}

.claim-status.D .md-select-icon {
    color: #FFFFFF;
}

.claim-status.H {
    background-color: #FF8E68;
}

.claim-status.F {
    background-color: #27B581;
}

.claim-status.L {
    background-color: #FFDF1A;
}

.claim-status.Q {
    background-color: #212121;
    color: #FFFFFF;
}

.claim-status.Q:focus .md-select-value {
    color: #FFFFFF;
}

.claim-status.Q .md-select-icon {
    color: #FFFFFF;
}

md-select.claim-status.Q[disabled] {
    background-color: #757575;
}

.counter-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.counter-row .counter-column {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.counter-row .counter-column button {
    padding: 0;
    margin: 0;
}

.counter-row .counter-column button img.xsmall {
    width: 25px;
    height: 25px;
}

.counter-row .counter-column button img.disabled {
    opacity: 0.3;
    border: none;
}

customer-nav {
    display: block;
    padding-top: 10px;
}

customer-nav:not([is-customer-view="true"]) {
    border: 1px solid #E1E2E3;
    background-color: #FFFFFF;
}

customer-nav .button.text-upper {
    text-transform: uppercase;
}

customer-nav[is-customer-view="true"] {
    margin-top: 10px;
}

customer-nav .block.warning {
    background: none;
}

customer-nav .vulnerable md-icon, customer-nav .vulnerable .sub-title {
    color: #FF687D;
}

customer-nav .overdue-amount .due {
    color: #FF687D;
    font-size: 24px;
}

customer-nav .overdue-amount .settled {
    color: #27B581;
    font-size: 24px;
}

customer-nav .bg-alert img {
    margin-top: -10px;
}

customer-nav .product-block {
    height: 100%;
}

customer-nav .quote-create-button {
    max-width: 550px;
}

.customer-nav__idCheck {
    color: #212121;
    position: fixed;
    width: 900px;
    top: 0;
    left: 50%;
    margin-left: -450px;
    z-index: -1;
    opacity: 0;
    display: block;
}

.customer-nav__idCheck.fadeIn {
    display: block;
    opacity: 1;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    z-index: 1100;
}

.customer-nav__idCheck.fadeOut {
    -webkit-animation: showFadeOut;
            animation: showFadeOut;
    opacity: 0;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    -webkit-animation-duration: 0.3s;
            animation-duration: 0.3s;
}

.customer-nav__idCheck .block {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

@-webkit-keyframes showFadeOut {
    0% {
        z-index: 1100;
    }
    99% {
        z-index: 1100;
    }
    100% {
        z-index: -1;
    }
}

@keyframes showFadeOut {
    0% {
        z-index: 1100;
    }
    99% {
        z-index: 1100;
    }
    100% {
        z-index: -1;
    }
}

.customer-nav__new-quote-disabled {
    opacity: 0.2;
}

.payment-success {
    border: 1px #27B581 solid;
    background: #FFFFFF;
}

.payment-warning {
    border: 1px #FF687D solid;
    background-color: #ffe8eb;
}

.drop-box {
    background: #F8F8F8;
    border: 1px solid #DDD;
    text-align: center;
    padding: 50px;
}

.drop-box.dragover {
    border-color: #4DD0E1;
}

.drop-box-table {
    position: relative;
}

.drop-box-table md-table-container {
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
}

.drop-box-table.loading md-table-container {
    opacity: 0.3;
}

.drop-box-table md-progress-circular {
    top: 20%;
    left: 50%;
    position: absolute;
}

.email-modal .close-btn {
    position: absolute;
    top: -35px;
    right: 5px;
}

.feedback th {
    text-transform: none;
    color: #757575;
}

feedback-form {
    padding: 30px;
}

.feedback-form {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: auto;
    min-height: 100%;
    height: 100%;
}

.feedback-form.reveal-modal > div, .feedback-form.reveal > div {
    padding: 30px;
    height: 100%;
    width: 100%;
}

.feedback-form .notes__note-editor {
    background-color: #fff;
}

.feedback-form select.feedback-status {
    margin: 0;
    padding: 2px 10px;
    border-radius: 5px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 14px;
    border-color: transparent;
}

.app-footer .block.container.is-broker {
    color: #757575;
}

.app-footer .block.container.is-broker .block {
    border: 1px solid #BCBDBD;
    border-radius: 4px;
}

.app-footer .block.container.is-broker a.phone {
    font-size: 20px;
}

.app-footer .block.container.is-broker a:not(.phone) {
    color: #757575;
    font-weight: normal;
    text-decoration: underline;
}

.app-footer .block.container.is-broker ul li a:not(.phone) {
    text-decoration: none;
}

.app-footer .block.container.is-broker .powered-by {
    width: 153px;
    height: auto;
}

.app-footer ul {
    margin: 0;
    padding: 0;
}

.app-footer li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gocardless-form__consent {
    padding: 0 15px;
}

.gocardless-field {
    border: 1px solid #BCBDBD;
    border-radius: 4px;
    padding: .875rem;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: #FFFFFF;
}

.gocardless-field::-webkit-input-placeholder {
    font-weight: 400;
    color: #BCBDBD;
}

.gocardless-field::-moz-placeholder {
    font-weight: 400;
    color: #BCBDBD;
}

.gocardless-field:-ms-input-placeholder {
    font-weight: 400;
    color: #BCBDBD;
}

.gocardless-field::-ms-input-placeholder {
    font-weight: 400;
    color: #BCBDBD;
}

.gocardless-field::placeholder {
    font-weight: 400;
    color: #BCBDBD;
}

.gocardless-field .InputElement {
    font-weight: normal;
}

div.gocardless-field .holder {
    height: 1.2rem;
    width: 100%;
}

.is-error .gocardless-field {
    border-color: #FF687D;
}

.inline-edit {
    display: inline-block;
}

.inline-edit .inline-edit-input {
    position: relative;
    margin-right: 15px;
}

.inline-edit .inline-edit-input md-progress-circular {
    position: absolute;
    right: 25px;
    top: 12px;
}

.inline-edit .inline-edit-buttons .button {
    min-width: 30px;
    margin: 0;
}

.inline-edit .inline-edit-buttons .inline-edit-save md-icon {
    color: #27B581;
}

.magic-link-dialog {
    width: 600px;
}

@media screen and (max-width: 39.938em) {
    .magic-link-dialog {
        min-width: 100%;
    }
}

.magic-link-dialog md-dialog-content {
    width: 87%;
    -ms-flex-item-align: center;
        align-self: center;
}

@media screen and (min-width: 40em) {
    .magic-link-dialog h1 {
        padding-top: 30px;
    }
}

.magic-link-dialog md-dialog-actions {
    display: block;
}

.multi-select select option {
    white-space: normal;
}

.navbar-sideMenu {
    position: fixed;
    background-color: #2A287B;
    width: 55px;
}

.navbar-sideMenu md-content {
    background: none;
    height: 100%;
}

.navbar-sideMenu .logo {
    margin: 10px;
    margin-bottom: 40px;
}

.navbar-sideMenu .md-button {
    margin: 0;
}

.navbar-sideMenu .md-button md-icon.white {
    color: #FFFFFF;
    opacity: 0.6;
}

.navbar-sideMenu .md-button md-icon.white svg circle {
    fill: #FFFFFF;
}

.navbar-sideMenu .md-button md-icon.white svg path {
    fill: #2A287B;
}

.navbar-sideMenu .md-button md-icon.active, .navbar-sideMenu .md-button:hover > md-icon {
    color: #27B581;
    opacity: 1;
}

.navbar-sideMenu .md-button md-icon.active svg circle, .navbar-sideMenu .md-button:hover > md-icon svg circle {
    fill: #27B581;
}

.navbar-sideMenu .md-button md-icon.active svg path, .navbar-sideMenu .md-button:hover > md-icon svg path {
    fill: #2A287B;
}

.navbar-sideMenu md-menu.profile {
    bottom: 0;
    position: absolute;
    padding-left: 8px;
}

.md-open-menu-container {
    border-radius: 4px;
}

.md-open-menu-container md-menu-item {
    min-height: 40px;
    height: auto;
}

.navbar-sideMenu__links > .md-button {
    font-weight: 700;
}

.navbar-sideMenu__links.active md-icon {
    color: #FFFFFF;
    opacity: 0.6;
}

.notes__container {
    background-color: #F4F5F6;
    border: none;
    border-radius: 8px;
    padding: 20px;
}

.notes__container .content {
    display: block;
    padding: 0.15em 0.35em;
    margin: 0;
    background-color: #fff;
}

.notes__image {
    float: left;
    width: 40px;
    height: 40px;
    margin-top: 3px;
    margin-right: 10px;
    margin-bottom: 5px;
}

.notes__modal-add-note {
    min-width: 675px;
}

@media screen and (max-width: 39.938em) {
    .notes__modal-add-note {
        min-width: 100%;
    }
}

.notes__modal-add-note md-dialog-content {
    width: 87%;
    -ms-flex-item-align: center;
        align-self: center;
}

.notes__modal-add-note md-dialog-actions {
    display: block;
}

.notes__note-editor {
    max-width: 99%;
    height: 290px;
    resize: none;
    font-weight: normal;
}

.cke_notifications_area {
    display: none;
}

.paginator {
    text-align: right;
}

.paginator .md-primary {
    border-radius: 4px;
    min-height: 32px;
    width: 32px;
    height: 32px;
    padding: 9px 0;
}

.paginator .md-primary:not([disabled]) {
    border: 1px solid #27B581;
}

.paginator .md-primary md-icon {
    line-height: 14px;
}

.paginator select, .paginator option {
    min-width: 80px;
    height: 2em;
    line-height: 1em;
    padding: 0 15px;
    border: 1px solid #27B581;
    font-weight: 500;
}

.paginator label span {
    line-height: 2.3em;
}

.person__content {
    border-bottom: 2px solid #F4F5F6;
}

.text-capsule.policy-holder {
    color: white;
    background-color: black;
}

.policy-status {
    padding: 6px 35px;
}

.policy-status span {
    color: #FFFFFF;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.17;
}

.policy-status.active {
    background-color: #27B581;
}

.policy-status.inactive {
    background-color: #FF687D;
}

.stripe-form__consent {
    padding: 0 15px;
}

.stripe-field {
    border: 1px solid #E1E2E3;
    border-radius: 4px;
    padding: 0.5rem;
    -webkit-box-shadow: inset 0 1px 2px rgba(33, 33, 33, 0.1);
            box-shadow: inset 0 1px 2px rgba(33, 33, 33, 0.1);
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

div.stripe-field .holder {
    height: 1.2rem;
    width: 100%;
}

.is-error .stripe-field {
    border-color: #FF687D;
}

.tooltip-sidebar {
    outline: 0;
    left: auto;
}

@media screen and (min-width: 64em) {
    .tooltip-sidebar {
        width: 310px;
    }
}

.tooltip-sidebar-modal {
    z-index: 1006;
    opacity: 0;
    right: -310px;
    -webkit-transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-transition-property: right, opacity;
    transition-property: right, opacity;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
}

.fade.in .tooltip-sidebar-modal {
    opacity: 1;
    right: 0;
}

.tooltip-sidebar-modal .message {
    padding: 20px;
}

@media screen and (max-width: 63.938em) {
    .tooltip-sidebar-modal {
        width: 100%;
        height: 100%;
        padding: 20px;
        right: 0;
        -webkit-transition-property: opacity;
        transition-property: opacity;
    }
}

.tooltip-sidebar-close {
    padding-top: 20px;
    padding-right: 20px;
}

.tooltip-sidebar-close a {
    fill: #27B581;
}

.reveal-modal.tooltip-sidebar.in {
    -webkit-animation-name: slideInLeft;
            animation-name: slideInLeft;
    -webkit-animation-delay: 0;
            animation-delay: 0;
}

.reveal-modal.tooltip-sidebar-close.in {
    -webkit-animation-name: slideOutRight;
            animation-name: slideOutRight;
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
}

.tooltip-sidebar-bg {
    background-color: transparent;
}

view-block {
    display: block;
}

view-block h4.sub-title {
    color: #212121;
}

view-block h4 md-icon.material-icons {
    color: #212121;
}

view-block .label-icon {
    margin-top: -30px;
}

.third-party-tag {
    margin: -35px -25px 30px -25px;
    background-color: #FFDF1A;
    text-align: center;
    border-radius: 8px 8px 0 0;
}

.third-party-tag h2 {
    line-height: 1.8;
}

vulnerability-form {
    padding: 30px;
}

.vulnerability-form {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    height: auto;
    min-height: 100%;
    height: 100%;
}

.vulnerability-form.reveal-modal > div, .vulnerability-form.reveal > div {
    padding: 30px;
    height: 100%;
    width: 100%;
}

.vulnerability-form .editing {
    background-color: #E1E2E3;
}

.policy-list__results span[class*="policy-state--"] {
    white-space: nowrap;
    font-size: 10px;
}

.policy-list__results .policy-state--inactive {
    background: #757575;
    color: #FFFFFF;
}

.policy-list__results .policy-state--cancelled {
    background: #212121;
    color: #FFFFFF;
}

.policy-list__results .policy-state--active {
    background: #27B581;
}

.policy-list__results .policy-state--finished {
    background: #FFFFFF;
    border: 1px solid #757575;
    color: #757575;
}

.policy-list__results table.md-table:not(.md-row-select) td.md-cell.policy_type {
    padding-right: 15px;
}

.policy-list__results .product-logo,
.policy-list__results .associate-logo {
    width: auto;
    height: 20px;
}

.policy-view .section--claims th {
    text-transform: none;
    color: #757575;
}

.policy-view .section {
    border-bottom: 1px solid #E1E2E3;
}

.policy-view .product-via-blocks {
    text-align: center;
    font-size: 12px;
    line-height: 1.167;
    color: #757575;
    min-width: 220px;
    border: 1px solid #E1E2E3;
    border-radius: 2px;
    margin-bottom: 10px;
}

.policy-view .product-logo {
    width: auto;
    height: 28px;
    margin-bottom: 5px;
}

.policy-view .associate-logo {
    width: auto;
    height: 28px;
    margin-bottom: 5px;
}

.policy-view .bupa-nmonthsfree-status {
    padding: 6px 35px;
    background-color: #DB3907;
}

.policy-view .bupa-nmonthsfree-status span {
    color: #FFFFFF;
    font-weight: 600;
    text-transform: none;
    font-size: 20px;
    line-height: 1.17;
}

.policy-view-content view-block,
.policy-view-content policy-cover,
.policy-view-content policy-meta-data,
.policy-view-content policy-car,
.policy-view-content policy-odometer,
.policy-view-content policy-people {
    display: block;
}

.quote-edit-container .field {
    background-color: inherit !important;
}

.quote-edit-container .quote-field:nth-child(even) {
    background-color: #FAFBFC;
    border-radius: 4px;
}

.quote-edit-container .quote-field {
    position: relative;
}

.quote-edit-container .quote-field-row {
    padding: 20px 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.quote-edit-container .quote-field-row label {
    display: block;
    width: 50%;
    line-height: 1.3rem;
    margin: 0;
    padding-right: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-size: 14px;
}

.quote-edit-container .quote-field-row label + div {
    width: 50%;
    margin-bottom: 0;
    font-weight: 600;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.quote-edit-container .quote-field-row.appended {
    padding-bottom: 0;
}

.quote-edit-container .wording-endorsement {
    position: absolute;
    z-index: 1;
    left: 100%;
    min-width: 350px;
}

.quote-edit-container .button-group.text-small .button {
    font-size: 0.8rem;
}

.excluding-modifications {
    position: relative;
}

.car-waivers-confirmations .quote-field {
    position: relative;
}

.final-review-warnings {
    list-style-position: inside;
}

.final-review-warnings ul li, .invalid-quote-items ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
}

.final-review-warnings ul li span, .invalid-quote-items ul li span {
    text-align: left;
    display: inline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.final-review-warnings ul li img, .invalid-quote-items ul li img {
    vertical-align: top;
    -ms-flex-item-align: start;
        align-self: start;
    margin-top: 7px;
}

.final-review-prices {
    background-color: #F4F5F6;
    border-radius: 4px;
}

.migration-idCheck {
    color: #212121;
    position: fixed;
    width: 900px;
    top: 0;
    left: 50%;
    margin-left: -450px;
    z-index: -1;
    display: none;
}

.migration-idCheck.show {
    display: block;
    z-index: 1100;
}

.migration-idCheck .block {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.quote-list__results span[class*="quote-state--"] {
    white-space: nowrap;
    font-size: 10px;
}

.quote-list__results .quote-state--in-progress {
    background: #FFDF1A;
}

.quote-list__results .quote-state--purchased {
    background: #212121;
    color: #FFFFFF;
}

.quote-list__results .quote-state--expired {
    background: #757575;
    color: #FFFFFF;
}

.quote-list__results .quote-state--declined {
    background: #FFFFFF;
    border: 1px solid #757575;
    color: #757575;
}

.quote-list__results .product-logo,
.quote-list__results .associate-logo {
    width: auto;
    height: 20px;
}

.customer-list-select-product {
    max-width: 200px;
}

.quote-success-view .select-product {
    max-width: 160px;
}

.quote-confirm__announce .block.info-alert {
    border-left: 10px solid #FFDF1A;
}

.quote-confirm__announce .icon.quotes {
    width: 28px;
    margin-top: -2px;
}

.number-circle-black {
    border-radius: 50%;
    background-color: #212121;
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 700;
    width: 35px;
    height: 35px;
    display: inline-block;
    padding: 3px 10px;
    margin-right: 15px;
}

.catastrophe md-select {
    width: 100%;
}

.drop-box {
    background: #F8F8F8;
    border: 1px solid #DDD;
    text-align: center;
    padding: 50px;
}

.drop-box.dragover {
    border-color: #4DD0E1;
}

.drop-box-table {
    position: relative;
}

.drop-box-table md-table-container {
    -webkit-transition: opacity 0.25s;
    transition: opacity 0.25s;
}

.drop-box-table.loading md-table-container {
    opacity: 0.3;
}

.drop-box-table md-progress-circular {
    top: 20%;
    left: 50%;
    position: absolute;
}

.claim-documents-actions {
    min-width: 20px;
    -webkit-box-sizing: initial;
            box-sizing: initial;
}

.claim-document {
    width: 50px;
    height: auto;
}

.claim-document.icon {
    width: 20px;
    opacity: 0.5;
}

.fixed-height {
    height: 450px;
    overflow: scroll;
    padding: 1em 2em 1em 1em;
    border: 1px solid #E1E2E3;
}

.fixed-height h4 {
    margin: 1em 0 0.5em 0;
}

.fixed-height md-checkbox {
    margin: 0.5em 0;
}

.claim-edit {
    position: fixed;
    bottom: 15px;
    right: 15px;
    background-color: #001776;
    color: #fff;
    border-radius: 5px;
    z-index: 5;
}

.claim-edit h3 {
    color: #fff;
}

.claim-edit md-icon {
    color: #fff;
}

.claim-edit button {
    background-color: transparent;
    color: #FFFFFF;
    border: 1px solid #FFFFFF;
}

claim-meta-data .block {
    height: 100%;
}

.sub-field {
    width: 100%;
}

claim-nav {
    width: 100%;
    padding: 0 30px;
}

claim-nav md-select.claim-status {
    margin: 0;
    padding: 2px 10px;
    border-radius: 5px;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 14px;
    border-color: transparent;
}

claim-nav .nav-item {
    display: inline-block;
    position: relative;
    border: 1px solid #E1E2E3;
    border-right: none;
    padding: 20px 15px 20px 20px;
    height: auto;
    min-height: 125px;
    background: #FFFFFF;
    cursor: pointer;
}

claim-nav .nav-item.active {
    background: none;
    border-bottom: 3px solid #2A287B;
}

claim-nav .nav-item a {
    text-decoration: none;
}

claim-nav .nav-item .is-complete .icon {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 20px;
    height: 20px;
}

claim-nav .nav-item .sla .icon {
    position: absolute;
    bottom: 10px;
    right: 40px;
}

claim-nav .nav-item .sla .icon.task {
    font-size: 11px;
    font-weight: bold;
    color: #FF687D;
}

claim-nav .nav-item .sla .icon.task.complete {
    color: #27B581;
}

claim-nav .nav-item:nth-child(1) {
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
}

claim-nav .nav-item:last-child {
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
    border-right: 1px solid #E1E2E3;
}

claim-nav .product-block {
    text-align: center;
    font-size: 12px;
    line-height: 1.167;
    color: #757575;
    min-width: 220px;
    border: 1px solid #E1E2E3;
    border-radius: 2px;
}

claim-nav .product-logo {
    width: auto;
    height: 28px;
    margin-bottom: 5px;
}

claim-nav .associate-logo {
    width: auto;
    height: 28px;
    margin-bottom: 5px;
}

claim-photos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    /* Compensate for excess margin on outer gallery flex items */
    margin: -1rem -1rem;
}

claim-photos .claim-photo {
    /* Minimum width of 6rem and grow to fit available space */
    -webkit-box-flex: 1;
        -ms-flex: 1 0 6rem;
            flex: 1 0 6rem;
    /* Margin value should be half of grid-gap value as margins on flex items don't collapse */
    margin: 1rem 0 0 1rem;
    -webkit-box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4);
            box-shadow: 0.3rem 0.4rem 0.4rem rgba(0, 0, 0, 0.4);
    overflow: hidden;
    max-width: 120px;
    max-height: 120px;
}

claim-photos .claim-photo img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -webkit-transition: -webkit-transform 400ms ease-out;
    transition: -webkit-transform 400ms ease-out;
    transition: transform 400ms ease-out;
    transition: transform 400ms ease-out, -webkit-transform 400ms ease-out;
}

.claim-progress {
    position: relative;
}

.claim-progress::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 1px dashed #BCBDBD;
    z-index: 0;
}

.claim-progress .columns {
    text-align: center;
}

.claim-progress .columns:first-child {
    text-align: left;
}

.claim-progress .columns:last-child {
    text-align: right;
}

.claim-progress__capsule {
    position: relative;
    background-color: #FFFCFC;
    z-index: 5;
}

.claim-progress__capsule:not(.secondary) {
    color: #BCBDBD;
    border: 1px solid #BCBDBD;
}

.claim-progress__capsule button {
    text-transform: uppercase;
}

.claim-progress__capsule button[disabled] {
    border: 0;
    color: #212121;
}

span[class*="claim-sla--"] {
    white-space: nowrap;
    font-size: 10px;
}

.claim-sla--warning {
    background-color: #FF687D;
    color: #FFFFFF;
}

.claim-sla--alert {
    background-color: #FFDF1A;
}

.claim-sla--soon {
    background-color: #CEE740;
}

.claim-sla--fine {
    background-color: #27B581;
}

.expensePayeeFieldset .row {
    margin: 0;
}

.expense-payments .md-table .md-foot .md-cell {
    border-top: 1px solid #212121;
    border-bottom: 0;
}

.expense-progress {
    position: relative;
}

.expense-progress::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 0;
    top: 10%;
    height: 80%;
    border-left: 1px dashed #BCBDBD;
    z-index: 0;
}

.expense-progress .row {
    z-index: 1;
    position: relative;
}

.expense-progress h4 {
    font-size: 14px;
    font-weight: 700;
    line-height: 14px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.expense-progress h4 img {
    display: none;
    z-index: 10;
    width: 20px;
    height: 20px;
}

.expense-progress h4.not {
    color: #BCBDBD;
}

.expense-progress h4.not img.not {
    display: block;
}

.expense-progress h4.bad img.bad {
    display: block;
    width: 20px;
    height: 20px;
}

.expense-progress h4.ok img.ok {
    display: block;
}

.expense-progress h4 span {
    display: inline-block;
    margin-left: 5px;
    margin-right: -1em;
    margin-top: 3px;
}

/*
md-select.status {

  background-color: $black;
  .md-select-value {
    color: $white;
  }

  &:focus .md-select-value {
    color: $white;
  }

  .md-select-icon {
    color: $white;
  }

}


md-select.status[disabled] {

  background-color: $dark-gray;
  .md-select-value, &:focus .md-select-value {
    color: rgba(255,255,255,.62);
  }

  .md-select-icon {
    color: rgba(255,255,255,.62);
  }
  
}
*/
.customer-new .field {
    padding: 0;
}

.customer-new .field:nth-child(even) {
    background-color: #FFFFFF;
}

.customer-edit .field {
    padding: 0;
}

.customer-edit .field:nth-child(even) {
    background-color: #FFFFFF;
}

.feedback-status {
    color: #212121;
    background-color: #BCBDBD;
}

.feedback-status.state-A {
    background-color: #212121;
    color: #FFFFFF;
}

.feedback-status.state-A:focus .md-select-value, .feedback-status.state-A .md-select-icon {
    color: #FFFFFF;
}

.feedback-status.state-M {
    background-color: #FFDF1A;
}

.feedback-status.state-I {
    background-color: #FF9900;
}

.feedback-status.state-E {
    background-color: #DD2222;
    color: #FFFFFF;
}

.feedback-status.state-E:focus .md-select-value, .feedback-status.state-E .md-select-icon {
    color: #FFFFFF;
}

.feedback-status.state-F {
    background-color: #27B581;
}

.feedback-status.state-X {
    background-color: #757575;
    color: #FFFFFF;
}

.feedback-status.state-X:focus .md-select-value, .feedback-status.state-X .md-select-icon {
    color: #FFFFFF;
}

md-select.feedback-status[disabled] {
    background-color: #E1E2E3;
}

md-select.feedback-status[disabled] .md-select-value, md-select.feedback-status[disabled]:focus .md-select-value {
    color: rgba(0, 0, 0, 0.38);
}

md-select.feedback-status[disabled] .md-select-icon {
    color: rgba(0, 0, 0, 0.38);
}

field-summary {
    display: block;
}

field-summary .button {
    margin: 0;
}

field-summary md-table-container {
    width: 100%;
}

.field {
    padding: 10px 15px;
    margin: 0;
}

.field:nth-child(even) {
    background-color: #FAFBFC;
}

.field-hidden {
    display: none;
}

form[name="eventDetailsForm"] .field-empty input, form[name="eventDetailsForm"] .field-empty textarea, form[name="eventDetailsForm"] .field-empty md-datepicker, form[name="eventDetailsForm"] .field-empty md-select, form[name="eventDetailsForm"] .field-empty md-checkbox .md-container div {
    background-color: #ffed81;
}

form[name="eventDetailsForm"].is-broker .field-empty input, form[name="eventDetailsForm"].is-broker .field-empty textarea, form[name="eventDetailsForm"].is-broker .field-empty md-datepicker, form[name="eventDetailsForm"].is-broker .field-empty md-select, form[name="eventDetailsForm"].is-broker .field-empty md-checkbox .md-container div {
    background-color: transparent;
}

fieldset .collapsable-title h3 {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}

.collapsable-form-fieldset {
    position: relative;
}

.collapsable-form-fieldset h2 {
    position: absolute;
    top: -20px;
}

#expense_notes {
    margin-bottom: -10px;
}

form-field {
    display: block;
    width: 100%;
}

form-field .form-field .form-field-control md-input-container {
    margin: 0;
}

form-field .form-field .form-field-control md-input-container > label {
    margin: 0;
}

form-field .history-text p {
    white-space: pre-line;
}

form-field .percentage md-input-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

form-field .percentage md-input-container span {
    font-weight: 600;
    display: inline-block;
    padding-left: 10px;
    line-height: 100%;
}

form-field h3 {
    display: inline-block;
}

form-field .h3 {
    margin-bottom: 0;
}

form-field .form-field-help h3 {
    display: block;
}

form-field label {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

form-field .readonly_currency md-input-container label, form-field .readonly_percentage md-input-container label {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.decision .decision .tile_choice_radio,
.task .task .tile_choice_radio {
    max-width: 0;
    margin: 0 auto;
}

.field_location_aus ng-form,
.field_location_global ng-form,
.field_free_text_long ng-form,
.field_damage_photo ng-form {
    display: inline;
    margin: 0;
}

.field_location_aus ng-form .form-field-control,
.field_location_global ng-form .form-field-control,
.field_free_text_long ng-form .form-field-control,
.field_damage_photo ng-form .form-field-control {
    padding: 0;
}

.field_tile_choice_radio label {
    margin: 0;
    font-weight: 600;
}

.field_tile_choice_radio input[type="radio"] {
    height: 20px;
    width: 20px;
}

.field_tile_choice_radio .label {
    text-align: left;
    padding: 0;
    font-weight: 400;
}

.field_currency .form-field-control h3 {
    text-align: right;
}

.field_dob {
    margin-bottom: 1.25rem;
}

.field_dob input {
    color: rgba(0, 0, 0, 0.87);
    border-color: rgba(0, 0, 0, 0.12);
}

.field_date md-datepicker {
    border-color: rgba(0, 0, 0, 0.12);
}

.field_date_time .layout-row {
    width: 100%;
    overflow: auto;
}

.field_date_time .layout-row md-datepicker {
    border-color: rgba(0, 0, 0, 0.12);
}

.field_date_time .layout-row > div {
    float: left;
    margin-right: 20px;
}

.field_date_time .layout-row md-hours-minutes {
    margin-right: 5px;
}

.field_date_time .layout-row md-select {
    padding: 10px;
    border-color: rgba(0, 0, 0, 0.12);
}

.fx_rate input {
    max-width: 100px;
}

.currency-label {
    display: none;
}

.estimate-section .currency-label.disabled {
    display: block;
}

.estimate-section .currency-input.disabled {
    display: none;
}

policy-meta-data h2 {
    padding: 4px 0;
}

policy-meta-data h5 {
    margin: 0;
}

.policy-payment img {
    width: 45px;
    margin: -2px 10px 0;
}

.policy-payment .button.hide {
    display: none;
}

.duplicate-quote-modal .close-btn {
    position: absolute;
    top: -35px;
    right: 5px;
}

.price-loader md-progress-circular {
    display: none;
    position: absolute;
}

.price-loader .price {
    -webkit-transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    transition: all cubic-bezier(0.25, 0.8, 0.25, 1) 300ms;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
}

.price-loader.loading-price md-progress-circular {
    display: block;
}

.price-loader.loading-price .price, .price-loader.loading-price .text-number {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
}

.quote-payment .img__container {
    margin-top: -93px;
}

quote-progress {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    overflow-x: hidden;
    display: block;
}

.quote-progress {
    border-bottom: 1px solid #E1E2E3;
}

@media screen and (max-width: 63.938em) {
    .quote-progress {
        min-width: 700px;
    }
}

.quote-progress .quote-progress-button {
    background-color: transparent;
    cursor: default;
    text-decoration: none;
    display: inline-block;
    margin-right: 40px;
    font-weight: 700;
}

@media screen and (max-width: 63.938em) {
    .quote-progress .quote-progress-button {
        height: 30px;
        margin-right: 40px;
    }
}

.quote-progress .quote-progress-button img.svg.icon {
    width: 18px;
    height: 18px;
    cursor: default;
    opacity: 0.2;
    margin-right: 5px;
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .quote-progress .quote-progress-button img.svg.icon {
        width: 20px;
        height: 20px;
    }
}

@media screen and (max-width: 39.938em) {
    .quote-progress .quote-progress-button img.svg.icon {
        width: 13px;
        height: 13px;
        margin-top: 5px;
    }
}

.quote-progress .quote-progress-button md-icon {
    color: #BCBDBD;
}

.quote-progress .quote-progress-button h3 {
    display: inline-block;
    font-size: 16px;
    line-height: 19px;
    font-weight: 700;
    color: #BCBDBD;
    cursor: default;
    vertical-align: sub;
}

.quote-progress .quote-progress-button.is-complete {
    cursor: pointer;
}

.quote-progress .quote-progress-button.is-complete img.svg.icon {
    cursor: pointer;
    opacity: 1;
}

.quote-progress .quote-progress-button.is-complete md-icon {
    color: #212121;
}

.quote-progress .quote-progress-button.is-complete h3 {
    color: #212121;
    cursor: pointer;
}

.quote-progress .quote-progress-button.is-active {
    border-bottom: 3px solid #27B581;
    padding-bottom: 10px;
}

@media screen and (max-width: 39.938em) {
    .quote-progress .quote-progress-button.is-active {
        padding-bottom: 0;
    }
}

.quote-progress .quote-progress-button.is-active h3 {
    color: #27B581;
}

.promocode-input input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.promocode-input input:focus.ng-not-empty, .promocode-input input.ng-touched.ng-not-empty {
    text-indent: 30px;
}

.promocode-input .button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left-width: 0;
    height: 100%;
    padding: 0 10px;
}

.promocode-input img {
    position: absolute;
    margin: -35px 0 0 15px;
}

.wording-endorsement {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 99%;
    min-width: 350px;
}

.wording-endorsement:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    border-right: 15px solid #FFFFFF;
    left: -15px;
    top: 15px;
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .wording-endorsement:before {
        top: 50px;
    }
}

@media screen and (max-width: 39.938em) {
    .wording-endorsement:before {
        display: none;
    }
}

.wording-endorsement.consecutive-top {
    top: -17px;
}

.wording-endorsement.consecutive-top.purchased-14-days {
    top: -65px;
}

.wording-endorsement.consecutive-top.purchased-14-days:before {
    top: 65px;
}

.wording-endorsement.consecutive-bottom {
    top: 32px;
}

.wording-endorsement.disclosure {
    top: 55px;
}

.wording-endorsement.policy-view {
    position: static;
}

.wording-endorsement-editor {
    width: 800px;
    height: 290px;
    border: 1px solid #BCBDBD;
    resize: none;
    font-weight: normal;
}

.wording-endorsement-content {
    border: none !important;
    padding: 0;
    font-weight: normal;
    resize: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.wording-endorsement-action {
    overflow: auto;
}

.car-compare .packages-container.is-fixed .top-deck-blocks .block:nth-child(2) {
    border-width: 2px;
    border-top-width: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.car-compare .packages-container.is-fixed .slick-prev, .car-compare .packages-container.is-fixed .slick-next {
    top: 40px;
}

.car-compare .packages-container .top-deck-blocks {
    position: relative;
}

.car-compare .packages-container .top-deck-blocks .block:nth-child(2) {
    border-radius: 4px;
    padding: 26px 20px;
}

.car-compare .packages-container .package-details {
    height: 180px;
}

.car-compare .packages-container .package-details .kms-desc {
    font-weight: bold;
    line-height: 1.5em;
}

.car-compare .packages-container .payment-plan-offer {
    height: auto;
}

.car-compare .packages-container hr {
    border-top: #F4F5F6;
}

.car-compare .packages-container .slick-prev, .car-compare .packages-container .slick-next {
    margin-top: 7px;
    top: 50%;
}

.car-compare .packages-container .is-active {
    border: 2px solid #27B581;
    margin-bottom: 56px;
}

.car-compare .packages-container .is-active .package-details-block {
    border: none;
}

.car-compare .packages-container img.icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.car-compare .packages-container .price {
    color: #2A287B;
}

.car-compare .packages-container .price .text-number {
    color: #2A287B;
}

.car-compare .packages-container .price .price-coming-soon {
    font-size: 14px;
    text-transform: uppercase;
}

.car-compare .packages-container .price md-progress-circular {
    margin-top: 22px;
}

.car-compare .packages-container .price.unlimited-cover {
    color: rgba(0, 0, 0, 0.3);
    line-height: 40px;
}

.car-compare .packages-container .price.unlimited-cover .icon {
    display: inline;
}

.car-compare .packages-container .price.unlimited-cover .icon path {
    fill: rgba(0, 0, 0, 0.3);
}

.car-compare .packages-container .price.unlimited-cover span {
    vertical-align: top;
}

.car-compare .packages-container .price.limited-cover {
    color: #212121;
}

.car-compare .packages-container .price.unlimited-cover, .car-compare .packages-container .price.limited-cover {
    background: #F4F5F6;
    padding: 5px 0;
    height: 52px;
}

.car-compare .packages-container .button {
    border-radius: 0;
    margin: 20px 0;
}

.car-compare .packages-container .underwriter-logo {
    height: 13px;
    width: auto;
}

.car-compare .packages-container .package-description {
    height: 180px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}

.car-compare .packages-container .package-description span {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.car-compare .packages-container .disabled .package-description {
    background: #F5F6F8;
}

.car-compare .packages-container .disabled .block {
    background: #F5F6F8;
}

.car-compare .packages-container .disabled button {
    pointer-events: none;
    background: #E1E2E3;
}

.car-compare .base-cover-container .features.block {
    min-height: 390px;
}

.car-compare .base-cover-container.disabled .block {
    background: #F5F6F8;
}

.car-compare .base-cover-container.disabled button {
    pointer-events: none;
}

.car-compare select {
    color: #2A287B;
    width: 160px;
}

.car-compare .price select {
    width: 120px;
}

.car-compare h4 {
    display: inline-block;
}

.car-compare .sub-headings {
    position: absolute;
    z-index: 1;
}

.car-compare .sub-headings .sub-heading.sub-heading {
    font-size: 14px;
    line-height: 1.572;
    text-transform: uppercase;
    color: #2A287B;
    font-weight: 700;
    margin-top: 62px;
}

.car-compare .sub-headings .sub-heading.sub-heading:first-child {
    margin-top: 0;
}

.car-compare .sub-headings .sub-heading.sub-heading.kms-heading {
    margin-top: 430px;
}

.car-compare span.is-active {
    color: #2A287B;
}

.car-compare select.is-error {
    border: 1px solid #FF687D;
    color: #757575;
}

.car-compare .block.border.feature-compare {
    border-radius: 0;
    border-width: 1px;
    padding: 10px 0;
    background-color: #F4F5F6;
    text-align: center;
    height: 44px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.car-compare .block.border.feature-compare span {
    line-height: 1em;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.car-compare .block.border.feature-compare.optional {
    border-color: #FF9900;
    background-color: #FFFFFF;
}

.car-compare .block.border.feature-compare.selected {
    border-color: #27B581;
    background-color: #FFFFFF;
}

.car-compare .block.border.feature-compare .disabled .package-description {
    background: #F5F6F8;
}

.car-compare .block.border.feature-compare .disabled .block {
    background: #F5F6F8;
}

.car-compare .block.border.feature-compare .disabled button {
    pointer-events: none;
}

.car-compare .disabled .block.border.feature-compare {
    background: #F5F6F8;
}

.car-compare img.check {
    display: inline;
    margin-right: 5px;
}

.car-compare .packages-container.is-fixed {
    position: fixed;
    top: 0px;
    z-index: 2;
}

.car-compare .packages-container.is-fixed .top-deck-blocks .block {
    padding: 15px 10px 15px 25px;
    -webkit-box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 0 rgba(0, 0, 0, 0.04);
            box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 0 rgba(0, 0, 0, 0.04);
}

.car-compare .packages-container.is-fixed .package-details-sticky {
    display: block;
}

.car-compare .packages-container.is-fixed .sum-insured-type {
    top: 0px;
    right: 4px;
}

.car-compare .packages-container.is-fixed .sum-insured-type .text-capsule {
    font-size: 10px;
    color: #2A287B;
}

.car-compare .packages-container.is-fixed + .packages-placeholder {
    display: block;
}

.car-compare .packages-container.is-fixed .package-details,
.car-compare .packages-container.is-fixed .package-details-action,
.car-compare .packages-container.is-fixed .package-icon,
.car-compare .packages-container.is-fixed .package-underwriter,
.car-compare .packages-container.is-fixed .package-description {
    display: none;
}

.car-compare .packages-container.is-fixed .price {
    min-height: 0;
    font-size: 10px;
}

.car-compare .packages-container.is-fixed .price .text-number {
    font-size: 28px;
}

.car-compare .packages-container.is-fixed .price-coming-soon {
    line-height: 42px;
}

.car-compare .package-details-sticky,
.car-compare .packages-placeholder {
    display: none;
}

.car-compare .sum-insured-type {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 1;
}

.car-compare .sum-insured-type .text-capsule {
    font-size: 14px;
    color: #2A287B;
}

.car-compare .package-details h3 {
    height: 2em;
}

.fixed-commission {
    padding: 10px 0;
    font-weight: bold;
    font-size: 16px;
}

.package-settings.block.border {
    border-color: #E1E2E3;
    background-color: #FAFBFC;
    border-width: 1px;
}

.package-settings.block.border .market-value-block {
    position: relative;
    padding-top: 10px;
}

.package-settings.block.border .market-value-block:after {
    content: "";
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    height: 1px;
    background-color: #E1E2E3;
}

.bupa-payd-script md-icon {
    color: inherit;
}

.car-final-review ul {
    margin: 0 0 10px;
    padding: 0;
}

.car-final-review li {
    list-style: none;
}

.car-final-review li label {
    font-weight: 700;
    display: inline-block;
    width: 50%;
    vertical-align: top;
}

.car-final-review li span {
    display: inline-block;
    text-align: right;
    width: 50%;
}

.car-prices-form .unlimited-cover {
    background: #F4F5F6;
}

.car-prices-form .unlimited-cover > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 220px;
    margin: 0 auto;
}

.car-prices-form .unlimited-cover svg {
    height: 20px;
    width: 40px;
}

.car-prices-form .unlimited-cover path {
    fill: rgba(0, 0, 0, 0.3);
}

.car-prices-form .unlimited-cover span {
    color: rgba(0, 0, 0, 0.3);
}

.car-prices-form .products-link {
    text-decoration: underline;
}

.car-prices-form .unlimited-kms-select .field {
    background-color: #F4F5F6 !important;
}

.car-prices-form .unlimited-kms-select .field__feedback {
    display: none;
}

.car-prices-coverages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    display: none;
}

.car-prices-coverages.is-active {
    border: 2px solid #27B581;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.car-prices-coverages.is-active .fade-when-inactive {
    opacity: 1;
}

.car-prices-coverages.is-active .select-price-button {
    background: none;
    color: #212121;
}

.car-prices-coverages .price {
    margin-left: auto;
}

.car-prices-coverages tooltip-sidebar {
    position: relative;
    z-index: 11;
}

.car-prices-extras {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: top;
        -ms-flex-align: top;
            align-items: top;
}

.car-prices-extras .car-prices-extra {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
}

.car-prices-extras .car-prices-extra label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    line-height: 1.7em;
}

.car-prices-extras .car-prices-extra label > div {
    display: inline-block;
}

.car-prices-extras .car-prices-extra md-checkbox {
    margin-top: 2px;
}

.car-prices-extras .car-prices-extra.is-broker {
    width: 100%;
}

.car-prices-extras .car-prices-extra.is-broker .block {
    position: relative;
}

.car-prices-extras .car-prices-extra.is-broker .block.selected {
    border: 2px solid #27B581;
}

.car-prices-extras .car-prices-extra.is-broker .block .help-link {
    position: absolute;
    top: 10px;
    right: 10px;
}

.car-prices-extras .car-prices-extra.is-broker .block .price {
    color: #2A287B;
}

.car-prices-extras .car-prices-extra.is-broker .block .price .text-number {
    color: #2A287B;
}

.car-prices-extras .car-prices-extra.is-broker .block .button.selected {
    border-width: 0;
    color: #27B581;
}

.car-prices-extras .car-prices-extra.is-broker .block.future-extra {
    background-color: #F4F5F6;
    border: 1px dashed #E1E2E3;
}

.car-prices-extras .car-price-extra-amount {
    font-weight: normal;
}

.fixed-kms-savings {
    margin-top: -50px;
}

.car-quote-summary ul {
    margin: 0 0 10px;
    padding: 0;
}

.car-quote-summary li {
    list-style: none;
}

.car-quote-summary li label {
    font-weight: 700;
    display: inline-block;
    width: 50%;
}

.car-quote-summary h4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #BCBDBD;
}

.car-quote-summary h4 a {
    margin-left: auto;
}

.car-quote-summary .top-deck-blocks .block:nth-child(1) {
    padding: 20px 30px;
}

.car-quote-summary .top-deck-blocks .block:nth-child(2).quote-details {
    padding: 40px 30px 0;
    overflow: hidden;
}

.car-quote-summary .top-deck-blocks .block:nth-child(2).quote-details .unavailable {
    font-style: italic;
    color: #BCBDBD;
}

.car-quote-summary .top-deck-blocks .block:nth-child(2).no-price {
    padding-bottom: 20px;
}

.car-quote-summary .price-block {
    margin-left: -30px;
    margin-right: -30px;
    padding: 20px 0 20px 30px;
}

.car-quote-summary .price-block .price-amount {
    font-size: 48px;
    font-weight: 700;
}

.car-quote-summary .price-block .price-frequency {
    font-size: 14px;
    font-weight: normal;
}

label.safety-question {
    line-height: 1.3rem;
    padding-right: 20px;
    font-size: 16px;
}

.carlookup-list__item {
    outline: none;
    cursor: pointer;
}

.carlookup-list__item.is-active {
    background-color: #27B581;
    font-weight: 600;
}

.car-waivers-confirmations .quote-field {
    padding: 10px 0;
}

.car-waivers-confirmations label + div {
    float: right;
    width: 50%;
}

.edit-car-quote .addressify-form {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.edit-car-quote .product-via-blocks {
    text-align: center;
    font-size: 12px;
    line-height: 1.167;
    color: #757575;
    min-width: 220px;
    border: 1px solid #E1E2E3;
    border-radius: 2px;
    padding-bottom: 8px;
}

.edit-car-quote .product-via-blocks .associate-logo {
    width: auto;
    height: 24px;
    margin-bottom: 0;
}

.edit-car-quote .associate-logo {
    width: auto;
    height: 28px;
    margin-bottom: 5px;
}

.edit-car-quote .hidden-diagnostic-revealer {
    height: 10px;
    width: 10px;
    color: #FFFCFC;
    background-color: #FFFCFC;
}

.add-policy-holders .policy-holder__form {
    border-style: solid;
    border-width: 1px;
    border-color: #F4F5F6;
    border-radius: 8px;
    background: #FFFFFF;
    border-radius: 4px;
    padding: 20px;
}

.add-policy-holders .policy-holder__form .field {
    padding: 0;
}

.edit-home-quote .product-via-blocks {
    text-align: center;
    font-size: 12px;
    line-height: 1.167;
    color: #757575;
    min-width: 220px;
    border: 1px solid #E1E2E3;
    border-radius: 2px;
    padding-bottom: 8px;
}

.edit-home-quote .product-via-blocks .associate-logo {
    width: auto;
    height: 24px;
    margin-bottom: 0;
}

.home-claim-history .field__feedback .is-error {
    color: #FF687D;
    font-weight: 700;
    overflow: hidden;
}

.home-claim-history div.quote-field-row {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 10px 0;
}

.home-claim-history div.quote-field-row label {
    padding-top: 10px;
}

.home-claim-history div.quote-field-row .field {
    padding: 0;
}

.home-compare .packages-container.is-fixed .top-deck-blocks .block:nth-child(2) {
    border-width: 2px;
    border-top-width: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.home-compare .packages-container .top-deck-blocks .block:nth-child(2) {
    border-radius: 4px;
}

.home-compare .packages-container .slick-prev, .home-compare .packages-container .slick-next {
    margin-top: 7px;
    top: 50%;
}

.home-compare .packages-container .top-deck-blocks .block:nth-child(2) {
    border-top-width: 0;
    padding: 26px 20px;
}

.home-compare .packages-container hr {
    border-top: #F4F5F6;
}

.home-compare .packages-container .is-active {
    border: 2px solid #27B581;
    margin-bottom: 56px;
}

.home-compare .packages-container .is-active .package-details-block {
    border: none;
}

.home-compare .packages-container img.icon {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.home-compare .packages-container .price {
    color: #2A287B;
    min-height: 75px;
}

.home-compare .packages-container .price .text-number {
    color: #2A287B;
}

.home-compare .packages-container .price .price-coming-soon {
    font-size: 14px;
    text-transform: uppercase;
    line-height: 75px;
}

.home-compare .packages-container .price md-progress-circular {
    margin-top: 22px;
}

.home-compare .packages-container .button {
    border-radius: 0;
    margin: 20px 0;
}

.home-compare .packages-container .underwriter-logo {
    height: 13px;
    width: auto;
}

.home-compare .packages-container .package-description {
    height: 180px;
}

.home-compare .base-cover-container .features.block {
    min-height: 390px;
}

.home-compare select {
    color: #2A287B;
    width: 160px;
}

.home-compare h4 {
    display: inline-block;
}

.home-compare .sub-headings {
    position: absolute;
    z-index: 1;
}

.home-compare .sub-headings .sub-heading {
    font-size: 14px;
    line-height: 1.572;
    text-transform: uppercase;
    color: #2A287B;
    font-weight: 700;
    margin-top: 62px;
}

.home-compare .sub-headings .sub-heading:first-child {
    margin-top: 0;
}

.home-compare .sub-headings .kms-heading {
    margin-top: 430px;
}

.home-compare span.is-active {
    color: #2A287B;
}

.home-compare .block.border.feature-compare {
    border-radius: 0;
    border-width: 1px;
    padding: 0 10px;
    background-color: #F4F5F6;
    text-align: center;
    height: 44px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.home-compare .block.border.feature-compare span {
    line-height: 1em;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.home-compare .block.border.feature-compare.optional {
    border-color: #FF9900;
    background-color: #FFFFFF;
}

.home-compare .block.border.feature-compare.selected {
    border-color: #27B581;
    background-color: #FFFFFF;
}

.home-compare img.check {
    display: inline;
    margin-right: 5px;
}

.home-compare .packages-container.is-fixed {
    position: fixed;
    top: 0px;
    z-index: 2;
}

.home-compare .packages-container.is-fixed .slick-prev, .home-compare .packages-container.is-fixed .slick-next {
    top: 40px;
}

.home-compare .packages-container.is-fixed .top-deck-blocks .block:nth-child(1) {
    padding: 10px 10px 10px 25px;
    -webkit-box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 0 rgba(0, 0, 0, 0.04);
            box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 0 rgba(0, 0, 0, 0.04);
    min-height: 110px;
}

.home-compare .packages-container.is-fixed .package-details-sticky {
    display: block;
}

.home-compare .packages-container.is-fixed + .packages-placeholder {
    display: block;
}

.home-compare .packages-container.is-fixed .package-details,
.home-compare .packages-container.is-fixed .package-details-block .material-icons,
.home-compare .packages-container.is-fixed .package-icon,
.home-compare .packages-container.is-fixed .package-underwriter,
.home-compare .packages-container.is-fixed .package-description {
    display: none;
}

.home-compare .packages-container.is-fixed .price {
    min-height: 0;
    font-size: 10px;
}

.home-compare .packages-container.is-fixed .price .text-number {
    font-size: 28px;
}

.home-compare .packages-container.is-fixed .price-coming-soon {
    line-height: 42px;
}

.home-compare .package-details-sticky,
.home-compare .packages-placeholder {
    display: none;
}

.home-compare .package-icon {
    color: #000;
}

.home-compare .package-details {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 240px;
}

.home-compare .package-details h3 {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

home-cover .home-cover-block {
    position: relative;
}

home-cover .home-prices-coverages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

home-cover .is-active {
    border-color: #27B581;
}

.home-dwelling .addressify-form {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.home-dwelling .card-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 10px;
}

.home-dwelling .card-list.has-feedback .field__feedbackWrap {
    width: 100%;
}

.home-dwelling .card-list.is-error .card-item.hollow {
    border-color: #FF687D;
}

.home-dwelling .card-list.is-error .card-item.hollow::after {
    background: url(/assets/svgs/icons/cancel.svg);
}

.home-dwelling .card-item {
    background-color: #FFFFFF;
    border-radius: 4px;
    border: 2px solid #E1E2E3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-line-pack: start;
        align-content: flex-start;
    cursor: pointer;
    width: 47%;
    margin: 0 3% 3% 0;
    padding: 12px 24px;
}

@media screen and (max-width: 39.938em) {
    .home-dwelling .card-item {
        width: 100%;
        margin: 0 0 3% 0;
    }
}

.home-dwelling .card-item.marketing {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 32px 24px 24px;
}

.home-dwelling .card-item.marketing:last-child {
    margin-right: 0;
}

.home-dwelling .card-item .button-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 16px;
    clear: both;
}

.home-dwelling .card-item .button-text span {
    display: inline-block;
}

.home-dwelling .card-item.active:not(.disabled) {
    border-color: #27B581;
}

.home-dwelling .card-item.active:not(.disabled), .home-dwelling .card-item.hollow:not(.disabled) {
    border-width: 2px;
    outline: none;
    position: relative;
}

.home-dwelling .card-item.active:not(.disabled) .text-small, .home-dwelling .card-item.hollow:not(.disabled) .text-small {
    color: #212121;
}

.home-dwelling .card-item.active:not(.disabled)::after, .home-dwelling .card-item.hollow:not(.disabled)::after {
    content: '';
    display: block;
    width: 23px;
    height: 23px;
    position: absolute;
    top: 10px;
    right: 5%;
    background: url(/assets/svgs/green-tick-new.svg);
    background-repeat: no-repeat;
}

.home-dwelling .card-item:hover:not(.disabled) {
    border-color: #212121;
}

.home-dwelling .card-item.three-column {
    width: 30%;
}

@media screen and (max-width: 39.938em) {
    .home-dwelling .card-item.three-column {
        width: 100%;
    }
}

@media screen and (min-width: 64em) {
    .home-dwelling .card-item.four-column {
        width: 22%;
    }
}

@media screen and (max-width: 39.938em) {
    .home-dwelling .card-item.four-column {
        width: 100%;
    }
}

.home-dwelling .card-item.five-column {
    width: 17%;
}

@media screen and (max-width: 39.938em) {
    .home-dwelling .card-item.five-column {
        width: 100%;
        margin: 0 0 3%;
    }
}

.home-dwelling .card-item.tick-corner::after {
    top: 10%;
}

.home-dwelling .card-item.disabled {
    border-style: dashed;
    cursor: default;
}

.home-dwelling .currency-input {
    position: relative;
}

.home-dwelling .currency-input:before {
    display: inline-block;
    content: "$";
    position: absolute;
    top: 50%;
    margin-top: -0.7em;
}

.home-dwelling [name="addressifyForm"] > div {
    padding-left: 0;
}

.home-final-review ul {
    margin: 0 0 10px;
    padding: 0;
}

.home-final-review li {
    list-style: none;
}

.home-final-review li label {
    font-weight: 700;
    display: inline-block;
    width: 50%;
    vertical-align: top;
}

.home-final-review li span {
    display: inline-block;
    text-align: right;
    width: 50%;
    word-break: break-word;
}

.home-poilicy-holders .points-table table {
    min-width: 250px;
}

.home-poilicy-holders .points-table td {
    border: 0;
    padding: 2px 5px;
}

.home-prices-extras {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: top;
        -ms-flex-align: top;
            align-items: top;
}

.home-prices-extras .home-prices-extra {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
}

.home-prices-extras .home-prices-extra label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    line-height: 1.7em;
}

.home-prices-extras .home-prices-extra label > div {
    display: inline-block;
}

.home-prices-extras .home-prices-extra md-checkbox {
    margin-top: 2px;
}

.home-prices-extras .home-prices-extra.is-broker {
    width: 100%;
}

.home-prices-extras .home-prices-extra.is-broker .block {
    position: relative;
}

.home-prices-extras .home-prices-extra.is-broker .block.selected {
    border: 2px solid #27B581;
}

.home-prices-extras .home-prices-extra.is-broker .block .help-link {
    position: absolute;
    top: 10px;
    right: 10px;
}

.home-prices-extras .home-prices-extra.is-broker .block .price {
    color: #2A287B;
}

.home-prices-extras .home-prices-extra.is-broker .block .price .text-number {
    color: #2A287B;
}

.home-prices-extras .home-prices-extra.is-broker .block .button.selected {
    border-width: 0;
    color: #27B581;
}

.home-prices-extras .home-prices-extra.is-broker .block.future-extra {
    background-color: #F4F5F6;
    border: 1px dashed #E1E2E3;
}

.home-prices-extras .home-price-extra-amount {
    font-weight: normal;
}

.home-quote-summary ul {
    margin: 0 0 10px;
    padding: 0;
}

.home-quote-summary li {
    list-style: none;
}

.home-quote-summary li label {
    font-weight: 700;
    display: inline-block;
}

.home-quote-summary li span {
    word-break: break-word;
}

.home-quote-summary h4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #BCBDBD;
}

.home-quote-summary h4 a {
    margin-left: auto;
}

.home-quote-summary .top-deck-blocks .block:nth-child(1) {
    padding: 20px 30px;
}

.home-quote-summary .top-deck-blocks .block:nth-child(2).quote-details {
    padding: 40px 30px 0;
    overflow: hidden;
}

.home-quote-summary .top-deck-blocks .block:nth-child(2).quote-details .unavailable {
    font-style: italic;
    color: #BCBDBD;
}

.home-quote-summary .top-deck-blocks .block:nth-child(2).no-price {
    padding-bottom: 20px;
}

.home-quote-summary .price-block {
    margin-left: -30px;
    margin-right: -30px;
    padding: 20px 0 20px 30px;
}

.home-quote-summary .price-block .price-amount {
    font-size: 48px;
    font-weight: 700;
}

.home-quote-summary .price-block .price-frequency {
    font-size: 14px;
    font-weight: normal;
}

.home-quote-summary .broker-summary-table td {
    padding: 0;
    border: 0;
    vertical-align: top;
}

.home-broker-price-loader {
    min-height: 130px;
}

.home-valuables .border-bottom {
    border-bottom: 1px solid #E1E2E3;
}

.home-valuables .valuable-item {
    cursor: default;
    position: relative;
    padding: 10px;
}

.home-valuables .valuable-item img {
    margin: initial;
}

.home-valuables .valuable-item:hover {
    border-color: #E1E2E3;
}

.home-valuables .valuable-item .tooltip {
    position: absolute;
    top: 5px;
    right: 5px;
}

@media screen and (max-width: 39.938em) {
    .home-valuables .valuable-item {
        min-height: 0;
        border-color: #212121;
        border-width: 1px 0 0 0;
        border-radius: 0;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        margin-bottom: 0;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    .home-valuables .valuable-item:hover {
        border-color: #212121;
    }
    .home-valuables .valuable-item:last-child {
        border-width: 1px 0;
    }
    .home-valuables .valuable-item img {
        margin-right: 10px;
    }
    .home-valuables .valuable-item .tooltip {
        position: static;
    }
    .home-valuables .valuable-item h4 {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
    }
}

.home-valuables .valuable-total {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
}

.home-valuables .valuable-total > span {
    margin-right: 3px;
    -ms-flex-item-align: center;
        align-self: center;
}

.home-valuables .valuable-total .valuable-amount {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}

.home-valuables .field {
    padding: 0;
}

.valuable-currency-value label + div {
    margin-left: 14px;
}

.valuable-currency-value label + div:before {
    content: "$";
    position: absolute;
    top: 50%;
    left: -15px;
    margin-top: -1em;
    font-weight: 600;
}

home-valuables-list table {
    width: 100%;
    border-spacing: 0;
}

home-valuables-list table td, home-valuables-list table th {
    padding: 5px;
    word-break: break-all;
    vertical-align: top;
}

home-valuables-list table td .button, home-valuables-list table th .button {
    white-space: nowrap;
    vertical-align: baseline;
}

home-valuables-list td {
    border-bottom: 1px solid #E1E2E3;
}

home-valuables-list th {
    color: #757575;
    font-size: 12px;
    font-weight: bold;
    background-color: #f4f5f6;
    vertical-align: top;
}

home-valuables-list tbody tr:last-child td {
    border-bottom: 0;
}

home-valuables-list .home-valuables-list {
    margin: 0 -30px;
    padding: 6px 30px;
}

home-valuables-list .home-valuables-list:nth-child(even) {
    background: #F4F5F6;
}

home-valuables-list .home-valuables-list .button.tertiary {
    margin: 0 20px 0 0;
    padding: 4px 0;
    font-size: 12px;
}

.home-terms-confirmation label + div {
    float: right;
    width: 50%;
}

.row.row.row.row .button-group.expanded button.button[name="not_insured_reason"] {
    width: 100%;
    border-width: 1px;
    border-radius: 4px;
    margin-bottom: 10px;
}

.bupa-member-number-field, .bupa-member-employee-field {
    padding-right: 16px;
}

.bupa-member-number-field .quote-field-row, .bupa-member-employee-field .quote-field-row {
    -webkit-box-align: normal;
        -ms-flex-align: normal;
            align-items: normal;
}

.bupa-member-number-field .quote-field-row label, .bupa-member-employee-field .quote-field-row label {
    margin-top: 18px;
}

.bupa-member-number-field .quote-field-row button, .bupa-member-employee-field .quote-field-row button {
    margin-top: 8px;
}

.bupa-member-number-field .quote-field-row label + div, .bupa-member-employee-field .quote-field-row label + div {
    width: auto;
}

.home-your-quote .policy-holder-gender .field, .home-your-quote .policy-holder-dob .field {
    padding: 0;
}

.home-your-quote .policy-holder__form .quote-field {
    margin: 0;
}

.home-your-quote .bupa-home-cover-select select {
    padding-right: 30px;
    background-position: 110% 50%;
}

.home-disclosures label + div {
    width: 50%;
    float: right;
    padding: 15px 0;
}

.home-disclosures .select-box {
    padding: 15px;
}

.home-disclosures .select-box label + div {
    width: auto;
    float: none;
}

.home-disclosures .claims-count {
    width: auto;
}

.home-disclosures .points-table table {
    min-width: 250px;
}

.home-disclosures .points-table td {
    border: 0;
    padding: 2px 5px;
}

/*
////////////
// VENDOR //
////////////
*/
.payment-form-wrap .braintree-form .braintree-field {
    position: relative;
    background-color: #FFFFFF;
    border-radius: 4px;
    margin-bottom: 0;
    border: 1px solid #212121;
    height: 3.562rem;
    font-weight: 700;
}

.payment-form-wrap .braintree-form iframe {
    display: block;
    border: 1px solid transparent !important;
    padding: 0.5rem;
    margin: 0;
    font-family: inherit;
    font-size: 1rem;
    color: #212121;
    background-color: transparent;
    -webkit-appearance: none;
    cursor: text;
    -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

.payment-form-wrap .braintree-form .braintree-hosted-fields-invalid {
    border-color: #FF687D;
}

.payment-form-wrap .braintree-form-error .braintree-field,
.payment-form-wrap .braintree-form-loading .braintree-field {
    background-color: #FFFFFF;
    border-radius: 4px;
    border: 1px solid #212121 !important;
    cursor: default;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.payment-form-wrap .braintree-form-loading {
    position: relative;
}

.payment-form-wrap .braintree-form-loading .braintree-form-loader {
    position: absolute;
    top: 150px;
    z-index: 10;
}

.payment-form-wrap .braintree-form-loading button, .payment-form-wrap .braintree-form-loading .block {
    pointer-events: none;
    opacity: 0.4;
}

.braintree-hosted-fields-focused iframe {
    border: 1px solid #212121 !important;
    background-color: #FFFFFF;
    outline: 0;
}

.braintree-hosted-fields-invalid iframe {
    border: 2px solid #FFDF1A !important;
}

.braintree-hosted-fields-invalid iframe input {
    color: #FFDF1A !important;
}

.existing-card-details p {
    margin-top: 0;
}

/*! angularjs-slider - v6.3.0 -
 (c) Rafal Zajac <rzajac@gmail.com>, Valentin Hervieu <valentin@hervieu.me>, Jussi Saarivirta <jusasi@gmail.com>, Angelin Sirbu <angelin.sirbu@gmail.com> -
 https://github.com/angular-slider/angularjs-slider -
 2017-08-11 */
.rzslider {
    position: relative;
    z-index: 1100;
    display: inline-block;
    width: 100%;
    height: 4px;
    margin: 22px 0 15px 0;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.rzslider.with-legend {
    margin-bottom: 40px;
}

.rzslider[disabled] {
    cursor: not-allowed;
}

.rzslider[disabled] .rz-pointer {
    cursor: not-allowed;
    background: #27B581;
}

.rzslider[disabled] .rz-draggable {
    cursor: not-allowed;
}

.rzslider[disabled] .rz-selection {
    background: #8b91a2;
}

.rzslider[disabled] .rz-tick {
    cursor: not-allowed;
}

.rzslider[disabled] .rz-tick.rz-selected {
    background: #8b91a2;
}

.rzslider span {
    position: absolute;
    display: inline-block;
    white-space: nowrap;
}

.rzslider .rz-base {
    width: 100%;
    height: 100%;
    padding: 0;
}

.rzslider .rz-bar-wrapper {
    left: 0;
    z-index: 1;
    width: 100%;
    height: 32px;
    padding-top: 16px;
    margin-top: -16px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.rzslider .rz-draggable {
    cursor: move;
}

.rzslider .rz-bar {
    left: 0;
    z-index: 1;
    width: 100%;
    height: 4px;
    background: #757575;
    border-radius: 2px;
}

.rzslider .rz-bar-wrapper.rz-transparent .rz-bar {
    background: transparent;
}

.rzslider .rz-bar-wrapper.rz-left-out-selection .rz-bar {
    background: #df002d;
}

.rzslider .rz-bar-wrapper.rz-right-out-selection .rz-bar {
    background: #03a688;
}

.rzslider .rz-selection {
    z-index: 2;
    background: #27B581;
    border-radius: 2px;
}

.rzslider .rz-pointer {
    top: -14px;
    z-index: 3;
    width: 32px;
    height: 32px;
    cursor: pointer;
    background: #27B581;
    border-radius: 16px;
    -webkit-box-shadow: 0px 2px 6px 0 rgba(0, 0, 0, 0.4);
            box-shadow: 0px 2px 6px 0 rgba(0, 0, 0, 0.4);
}

.rzslider .rz-pointer.rz-active {
    z-index: 4;
}

.rzslider .rz-pointer {
    outline: 0;
}

.rzslider .rz-pointer:focus {
    -webkit-box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.4);
            box-shadow: 0px 0px 10px 0 rgba(0, 0, 0, 0.4);
}

.rzslider .rz-bubble {
    bottom: 16px;
    padding: 1px 3px;
    color: #55637d;
    cursor: default;
}

.rzslider .rz-bubble.rz-limit {
    color: #55637d;
}

.rzslider .rz-ticks {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 0;
    margin: 0;
    list-style: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.rzslider .rz-ticks-values-under .rz-tick-value {
    top: auto;
    bottom: -32px;
    font-size: 0.688rem;
    font-weight: 700;
    color: #757575;
}

.rzslider .rz-tick {
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 4px;
    margin-left: 11px;
    text-align: center;
    cursor: pointer;
    background: #FFFFFF;
    border-radius: 50%;
}

@media screen and (max-width: 39.938em) {
    .rzslider .rz-tick:first-child span {
        padding-left: 10px;
    }
    .rzslider .rz-tick:nth-child(even):not(:last-child) span {
        display: none;
    }
}

.rzslider .rz-tick.rz-selected {
    background: #27B581;
}

.rzslider .rz-tick-value {
    position: absolute;
    top: -30px;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

.rzslider .rz-tick-legend {
    position: absolute;
    top: 7px;
    max-width: 50px;
    white-space: normal;
    font-size: 0.875rem;
    font-weight: 700;
    color: #757575;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
}

.rzslider.rz-vertical {
    position: relative;
    width: 4px;
    height: 100%;
    padding: 0;
    margin: 0 20px;
    vertical-align: baseline;
}

.rzslider.rz-vertical .rz-base {
    width: 100%;
    height: 100%;
    padding: 0;
}

.rzslider.rz-vertical .rz-bar-wrapper {
    top: auto;
    left: 0;
    width: 32px;
    height: 100%;
    padding: 0 0 0 16px;
    margin: 0 0 0 -16px;
}

.rzslider.rz-vertical .rz-bar {
    bottom: 0;
    left: auto;
    width: 4px;
    height: 100%;
}

.rzslider.rz-vertical .rz-pointer {
    top: auto;
    bottom: 0;
    left: -14px !important;
}

.rzslider.rz-vertical .rz-bubble {
    bottom: 0;
    left: 16px !important;
    margin-left: 3px;
}

.rzslider.rz-vertical .rz-ticks {
    top: 0;
    left: -3px;
    z-index: 1;
    width: 0;
    height: 100%;
}

.rzslider.rz-vertical .rz-tick {
    margin-top: 11px;
    margin-left: auto;
    vertical-align: middle;
}

.rzslider.rz-vertical .rz-tick-value {
    top: auto;
    left: 24px;
    -webkit-transform: translate(0, -28%);
    transform: translate(0, -28%);
}

.rzslider.rz-vertical .rz-tick-legend {
    top: auto;
    right: 24px;
    max-width: none;
    white-space: nowrap;
    -webkit-transform: translate(0, -28%);
    transform: translate(0, -28%);
}

.rzslider.rz-vertical .rz-ticks-values-under .rz-tick-value {
    right: 24px;
    bottom: auto;
    left: auto;
}

.slider-values-hidden .rzslider .rz-tick-value {
    display: none;
}

tags-input {
    display: block;
}

tags-input[type='text'] {
    min-height: 0;
    height: auto;
    padding: 0;
}

.field__icon + tags-input[type='text'] {
    padding-left: 0;
}

.field__icon + tags-input[type='text'] .tags {
    padding-left: 40px;
}

tags-input *, tags-input *:before, tags-input *:after {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 4px;
}

tags-input .host {
    position: relative;
}

tags-input .host:active {
    outline: 0;
}

tags-input .tags {
    -webkit-appearance: textfield;
       -moz-appearance: textfield;
            appearance: textfield;
    padding: 0 5px;
    overflow: hidden;
    word-wrap: break-word;
    cursor: text;
    background-color: #FFFFFF;
    height: 100%;
}

tags-input .tags.focused {
    outline: 0;
}

tags-input .tag-list {
    margin: 0;
    padding: 0;
}

tags-input .tag-item {
    margin-top: 5px;
    margin-right: 5px;
    padding: 0 10px;
    display: inline-block;
    float: left;
    color: #FFFFFF;
    font-size: 0.812rem;
    outline: 0;
    font-weight: 400;
    height: 26px;
    line-height: 25px;
    border: none;
    border-radius: 4px;
    background: #212121;
    max-width: 260px;
    overflow: hidden;
    list-style: none;
}

tags-input .tag-item span {
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    max-width: 180px !important;
}

tags-input .tag-item.selected {
    opacity: 0.5;
    background: #212121;
}

tags-input .tag-item .remove-button {
    margin: 0 0 0 5px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    vertical-align: middle;
    font-weight: 700;
    font-size: 1.219rem;
    color: #FFFFFF;
}

tags-input .tag-item .remove-button:active {
    color: #FFFFFF;
}

tags-input .tags .input {
    border: 0;
    outline: 0;
    margin: 0;
    padding: 0 10px;
    padding-left: 5px;
    -webkit-box-shadow: none;
            box-shadow: none;
    width: 100% !important;
}

tags-input .tags .input.invalid-tag {
    color: #ff0000;
}

tags-input .tags .input::-ms-clear {
    display: none;
}

tags-input[disabled] .host:focus {
    outline: 0;
}

tags-input[disabled] .tags {
    background-color: #eee;
    cursor: default;
}

tags-input[disabled] .tag-item {
    opacity: 0.5;
    background: #212121;
}

tags-input[disabled] .tag-item .remove-button {
    cursor: default;
}

tags-input[disabled] .tag-item .remove-button:active {
    color: #FFFFFF;
}

tags-input[disabled] .tags .input {
    background-color: #eee;
    cursor: default;
}

tags-input .autocomplete {
    position: absolute;
    z-index: 999;
    width: 100%;
    background-color: #FFFFFF;
    border: 1px solid rgba(0, 0, 0, 0.2);
}

tags-input .autocomplete .suggestion-list {
    margin: 0;
    padding: 0;
    list-style-type: none;
    max-height: 280px;
    overflow-y: auto;
    position: relative;
}

tags-input .autocomplete .suggestion-item {
    padding: 5px 10px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #000;
    background-color: #FFFFFF;
    color: #212121;
}

tags-input .autocomplete .suggestion-item.selected {
    background-color: #27B581;
}

tags-input .autocomplete .suggestion-item.selected em {
    background-color: #27B581;
}

tags-input .autocomplete .suggestion-item em {
    font-weight: 700;
    background-color: #FFFFFF;
}

ti-tag-item a {
    text-decoration: none;
}

/*# sourceMappingURL=ng-tags-input.css.map */
.uib-datepicker-popup.dropdown-menu {
    position: absolute;
    display: block;
    float: none;
    width: 100%;
    background: #FFFFFF;
    border-radius: 4px;
    list-style: none;
    margin: 0;
    -webkit-box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04);
            box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04);
    min-width: 320px;
    z-index: 1000;
    padding: 0;
}

.uib-datepicker {
    padding: 0.75rem 1rem;
    min-width: 100%;
}

.uib-datepicker .uib-title {
    width: 100%;
    font-size: 1.25rem;
    color: #27B581 !important;
}

.uib-datepicker th, .uib-datepicker td {
    font-size: 0.75rem;
    color: #212121;
    border: 2px solid #FFFFFF;
}

.uib-datepicker th em, .uib-datepicker td em {
    color: #BCBDBD;
    font-style: normal;
    font-weight: normal;
}

.uib-datepicker th button, .uib-datepicker td button {
    padding: 15px 6px;
}

.uib-datepicker th button.pull-right i, .uib-datepicker td button.pull-right i {
    float: right;
}

.uib-datepicker thead tr:nth-child(1) th {
    border: none;
    padding-bottom: 7px;
}

.uib-datepicker thead tr:nth-child(2) th {
    font-size: 0.875rem;
    color: #212121;
    background-color: none;
    padding: 10px;
    border: none;
}

.uib-datepicker button {
    font-weight: 400;
}

.uib-datepicker button[disabled] {
    font-weight: 400;
    color: #BCBDBD;
    border: none;
}

.uib-datepicker button.active {
    color: #FFFFFF;
    background-color: black;
}

.uib-datepicker .glyphicon::before {
    display: block;
    width: 25px;
    height: 25px;
    background-repeat: no-repeat;
}

.uib-datepicker .glyphicon-chevron-left::before {
    content: "";
    background-image: url(/assets/svgs/redesign/common/left-arrow-circle.svg);
}

.uib-datepicker .glyphicon-chevron-right::before {
    content: "";
    background-image: url(/assets/svgs/redesign/common/right-arrow-circle.svg);
}

.text-muted {
    color: #FFFFFF;
}

.uib-datepicker-popup,
.uib-daypicker {
    outline: 0;
}

.uib-datepicker-popup tbody tr button:hover,
.uib-daypicker tbody tr button:hover {
    color: #212121;
    background-color: #27B581 !important;
}

.uib-datepicker-popup tbody tr button:hover[disabled],
.uib-daypicker tbody tr button:hover[disabled] {
    background-color: inherit;
    color: #E1E2E3;
    border: none;
}

.uib-datepicker-popup tbody tr button:hover.active,
.uib-daypicker tbody tr button:hover.active {
    color: #212121;
    background-color: #27B581 !important;
}

.uib-datepicker-popup tbody tr:nth-child(odd) button,
.uib-daypicker tbody tr:nth-child(odd) button {
    background-color: #f3f4f4;
}

.uib-datepicker-popup tbody tr:nth-child(odd) button[disabled],
.uib-daypicker tbody tr:nth-child(odd) button[disabled] {
    background-color: #E1E2E3;
    border: none;
}

.uib-datepicker-popup tbody tr:nth-child(odd) button.active,
.uib-daypicker tbody tr:nth-child(odd) button.active {
    color: #212121;
    background-color: #27B581 !important;
}

.uib-datepicker-popup tbody tr:nth-child(odd) button .text-muted,
.uib-daypicker tbody tr:nth-child(odd) button .text-muted {
    color: #E1E2E3;
}

.uib-datepicker-popup tbody tr:nth-child(odd) button:hover,
.uib-daypicker tbody tr:nth-child(odd) button:hover {
    background-color: #27B581 !important;
}

.uib-datepicker-popup tbody tr:nth-child(odd) button:hover[disabled],
.uib-daypicker tbody tr:nth-child(odd) button:hover[disabled] {
    background-color: #E1E2E3;
    border: none;
}

.uib-day button,
.uib-month button,
.uib-year button {
    min-width: 100%;
    font-size: 0.75rem;
}

.uib-monthpicker,
.uib-daypicker,
.uib-left,
.uib-right {
    width: 100%;
}

.uib-position-measure {
    display: block !important;
    visibility: hidden !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
}

.uib-position-scrollbar-measure {
    position: absolute !important;
    top: -9999px !important;
    width: 50px !important;
    height: 50px !important;
    overflow: scroll !important;
}

.uib-position-body-scrollbar-measure {
    overflow: scroll !important;
}

.uib-datepicker-current,
.uib-close {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    font-family: inherit;
    padding: 0.85em 1em;
    -webkit-appearance: none;
    border: 1px solid transparent;
    border-radius: 4px;
    -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-size: 16px;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #27B581;
    color: #FFFFFF;
}

[data-whatinput='mouse'] .uib-datepicker-current, [data-whatinput='mouse']
.uib-close {
    outline: 0;
}

.uib-datepicker-current:hover, .uib-datepicker-current:focus,
.uib-close:hover,
.uib-close:focus {
    background-color: #219a6e;
    color: #FFFFFF;
}

.uib-clear {
    display: none;
}

/*
 * angular-tooltips
 * 1.1.10
 *
 * Angular.js tooltips module.
 * http://720kb.github.io/angular-tooltips
 *
 * MIT license
 * Wed Jan 25 2017
 */
@-webkit-keyframes animate-tooltip {
    0% {
        opacity: 0;
    }
    50% {
        opacity: .5;
    }
    60% {
        opacity: .8;
    }
    70% {
        opacity: .9;
    }
    90% {
        opacity: 1;
    }
}

@keyframes animate-tooltip {
    0% {
        opacity: 0;
    }
    50% {
        opacity: .5;
    }
    60% {
        opacity: .8;
    }
    70% {
        opacity: .9;
    }
    90% {
        opacity: 1;
    }
}

._exradicated-tooltip {
    display: block;
    opacity: 1;
    position: absolute;
    z-index: 999;
}

tooltip {
    display: inline-block;
    position: relative;
}

tooltip._multiline {
    display: block;
}

tooltip._slow._ready tip {
    -webkit-animation: animate-tooltip 0.65s;
            animation: animate-tooltip 0.65s;
}

tooltip._fast._ready tip {
    -webkit-animation: animate-tooltip 0.15s;
            animation: animate-tooltip 0.15s;
}

tooltip._steady._ready tip {
    -webkit-animation: animate-tooltip 0.35s;
            animation: animate-tooltip 0.35s;
}

tooltip tip {
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    display: none;
    line-height: normal;
    max-width: 500px;
    min-width: 100px;
    opacity: 0;
    padding: 8px 16px;
    position: absolute;
    text-align: center;
    width: auto;
    will-change: top, left, bottom, right;
}

tooltip tip._hidden {
    display: block;
    visibility: hidden;
}

tooltip.active:not(._force-hidden) tip {
    display: block;
    opacity: 1;
    z-index: 999;
}

tooltip tip-tip {
    font-size: 0.95em;
}

tooltip tip-tip._large {
    font-size: 1.1em;
}

tooltip tip-tip._small {
    font-size: 0.8em;
}

tooltip._top tip {
    left: 50%;
    top: -9px;
    -webkit-transform: translateX(-50%) translateY(-100%);
    transform: translateX(-50%) translateY(-100%);
}

tooltip._top tip tip-arrow {
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid rgba(0, 0, 0, 0.85);
    content: '';
    height: 0;
    left: 50%;
    margin-left: -6px;
    position: absolute;
    top: 100%;
    width: 0;
}

tooltip._bottom tip {
    right: 50%;
    top: 100%;
    -webkit-transform: translateX(50%) translateY(9px);
    transform: translateX(50%) translateY(9px);
}

tooltip._bottom tip tip-arrow {
    border-bottom: 6px solid rgba(0, 0, 0, 0.85);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    bottom: 100%;
    content: '';
    height: 0;
    left: 50%;
    margin-left: -6px;
    position: absolute;
    width: 0;
}

tooltip._right tip {
    left: 100%;
    top: 50%;
    -webkit-transform: translateX(9px) translateY(-50%);
    transform: translateX(9px) translateY(-50%);
}

tooltip._right tip tip-arrow {
    border-bottom: 6px solid transparent;
    border-right: 6px solid rgba(0, 0, 0, 0.85);
    border-top: 6px solid transparent;
    content: '';
    height: 0;
    margin-top: -6px;
    position: absolute;
    right: 100%;
    top: 50%;
    width: 0;
}

tooltip._left tip {
    left: -9px;
    top: 50%;
    -webkit-transform: translateX(-100%) translateY(-50%);
    transform: translateX(-100%) translateY(-50%);
}

tooltip._left tip tip-arrow {
    border-bottom: 6px solid transparent;
    border-left: 6px solid rgba(0, 0, 0, 0.85);
    border-top: 6px solid transparent;
    content: '';
    height: 0;
    left: 100%;
    margin-top: -6px;
    position: absolute;
    top: 50%;
    width: 0;
}

tip-tip .close-button {
    cursor: pointer;
    float: right;
    left: 8%;
    margin-top: -7%;
    padding: 3px;
    position: relative;
}

/* Slider */
.slick-slider {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0;
}

.slick-list:focus {
    outline: none;
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
}

.slick-track:before, .slick-track:after {
    content: "";
    display: table;
}

.slick-track:after {
    clear: both;
}

.slick-loading .slick-track {
    visibility: hidden;
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px;
    outline: none;
    display: none;
}

[dir="rtl"] .slick-slide {
    float: right;
}

.slick-slide img {
    display: block;
}

.slick-slide.slick-loading img {
    display: none;
}

.slick-slide.dragging img {
    pointer-events: none;
}

.slick-initialized .slick-slide {
    display: block;
}

.slick-loading .slick-slide {
    visibility: hidden;
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
.slick-loading .slick-list {
    background: #fff;
}

/* Arrows */
.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 60px;
    width: 60px;
    line-height: 0px;
    font-size: 0px;
    cursor: pointer;
    background: transparent;
    color: transparent;
    top: 10%;
    margin-top: 20px;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding: 0;
    border: none;
    outline: none;
}

.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent;
}

.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}

.slick-prev.slick-disabled,
.slick-next.slick-disabled {
    pointer-events: none;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: 0.25;
}

.slick-prev:before,
.slick-next:before {
    font-size: 20px;
    display: block;
    line-height: 1;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 60px;
    width: 60px;
    background-position: center center;
    background-size: 70%;
    background-repeat: no-repeat;
    border-radius: 4px;
}

.slick-prev {
    left: -5%;
}

.slick-prev:before {
    content: "";
    background-image: url(/assets/svgs/arrow-prev.svg);
    height: 60px;
    width: 60px;
}

.slick-next {
    right: -5%;
}

.slick-next:before {
    content: "";
    background-image: url(/assets/svgs/arrow-next.svg);
    height: 60px;
    width: 60px;
}

slick.hide-slide-controls {
    margin-bottom: 0;
}

slick.hide-slide-controls .slick-prev, slick.hide-slide-controls .slick-next {
    display: none !important;
}

/* Dots */
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}

.slick-dots {
    position: absolute;
    bottom: -25px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%;
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer;
}

.slick-dots li button {
    border: 0;
    background: transparent;
    display: block;
    height: 20px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: transparent;
    padding: 5px;
    cursor: pointer;
}

.slick-dots li button:hover, .slick-dots li button:focus {
    outline: none;
}

.slick-dots li button:hover:before, .slick-dots li button:focus:before {
    opacity: 1;
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "•";
    width: 20px;
    height: 20px;
    font-size: 6px;
    line-height: 20px;
    text-align: center;
    color: black;
    opacity: 0.25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    color: black;
    opacity: 0.75;
}

/*
/////////////
// HELPERS //
/////////////
*/
/*
///////////////
// FUNCTIONS //
///////////////
*/
/*
MAP HELPER FUNCTIONS
*/
/*
////////////
// COLORS //
////////////
*/
/*
TEXT COLOR
*/
.text-primary {
    color: #2A287B;
}

.text-secondary {
    color: #27B581;
}

.text-warning {
    color: #FF687D;
}

.text-white {
    color: #FFFFFF;
}

.text-black {
    color: #212121;
}

.text-darkGray {
    color: #757575;
}

/*
BACKGROUND COLOR
*/
.bg-primary {
    background-color: #27B581;
}

.text-primary {
    color: #27B581;
}

.bg-secondary {
    background-color: #27B581;
}

.text-secondary {
    color: #27B581;
}

.bg-success {
    background-color: #27B581;
}

.text-success {
    color: #27B581;
}

.bg-warning {
    background-color: #FF687D;
}

.text-warning {
    color: #FF687D;
}

.bg-alert {
    background-color: #FFDF1A;
}

.text-alert {
    color: #FFDF1A;
}

.bg-optional {
    background-color: #FF9900;
}

.text-optional {
    color: #FF9900;
}

.bg-white {
    background-color: #FFFFFF;
}

.text-white {
    color: #FFFFFF;
}

.bg-gray {
    background-color: #BCBDBD;
}

.text-gray {
    color: #BCBDBD;
}

.bg-lightGray {
    background-color: #E1E2E3;
}

.text-lightGray {
    color: #E1E2E3;
}

.bg-lighterGray {
    background-color: #F4F5F6;
}

.text-lighterGray {
    color: #F4F5F6;
}

.bg-mediumGray {
    background-color: #BCBDBD;
}

.text-mediumGray {
    color: #BCBDBD;
}

.bg-darkGray {
    background-color: #757575;
}

.text-darkGray {
    color: #757575;
}

.bg-black {
    background-color: #212121;
}

.text-black {
    color: #212121;
}

.bg-snow {
    background-color: #FFFCFC;
}

.text-snow {
    color: #FFFCFC;
}

/*
/////////////
// SPACING //
/////////////
*/
.spacing-left-xxsmall {
    margin-left: 5px;
}

.spacing-inner-left-xxsmall {
    padding-left: 5px;
}

.spacing-right-xxsmall {
    margin-right: 5px;
}

.spacing-inner-right-xxsmall {
    padding-right: 5px;
}

.spacing-top-xxsmall {
    margin-top: 5px;
}

.spacing-inner-top-xxsmall {
    padding-top: 5px;
}

.spacing-bottom-xxsmall {
    margin-bottom: 5px;
}

.spacing-inner-bottom-xxsmall {
    padding-bottom: 5px;
}

.spacing-left-xsmall {
    margin-left: 10px;
}

.spacing-inner-left-xsmall {
    padding-left: 10px;
}

.spacing-right-xsmall {
    margin-right: 10px;
}

.spacing-inner-right-xsmall {
    padding-right: 10px;
}

.spacing-top-xsmall {
    margin-top: 10px;
}

.spacing-inner-top-xsmall {
    padding-top: 10px;
}

.spacing-bottom-xsmall {
    margin-bottom: 10px;
}

.spacing-inner-bottom-xsmall {
    padding-bottom: 10px;
}

.spacing-left-small {
    margin-left: 20px;
}

.spacing-inner-left-small {
    padding-left: 20px;
}

.spacing-right-small {
    margin-right: 20px;
}

.spacing-inner-right-small {
    padding-right: 20px;
}

.spacing-top-small {
    margin-top: 20px;
}

.spacing-inner-top-small {
    padding-top: 20px;
}

.spacing-bottom-small {
    margin-bottom: 20px;
}

.spacing-inner-bottom-small {
    padding-bottom: 20px;
}

.spacing-left-medium {
    margin-left: 40px;
}

.spacing-inner-left-medium {
    padding-left: 40px;
}

.spacing-right-medium {
    margin-right: 40px;
}

.spacing-inner-right-medium {
    padding-right: 40px;
}

.spacing-top-medium {
    margin-top: 40px;
}

.spacing-inner-top-medium {
    padding-top: 40px;
}

.spacing-bottom-medium {
    margin-bottom: 40px;
}

.spacing-inner-bottom-medium {
    padding-bottom: 40px;
}

.spacing-left-large {
    margin-left: 60px;
}

.spacing-inner-left-large {
    padding-left: 60px;
}

.spacing-right-large {
    margin-right: 60px;
}

.spacing-inner-right-large {
    padding-right: 60px;
}

.spacing-top-large {
    margin-top: 60px;
}

.spacing-inner-top-large {
    padding-top: 60px;
}

.spacing-bottom-large {
    margin-bottom: 60px;
}

.spacing-inner-bottom-large {
    padding-bottom: 60px;
}

.spacing-left-xlarge {
    margin-left: 80px;
}

.spacing-inner-left-xlarge {
    padding-left: 80px;
}

.spacing-right-xlarge {
    margin-right: 80px;
}

.spacing-inner-right-xlarge {
    padding-right: 80px;
}

.spacing-top-xlarge {
    margin-top: 80px;
}

.spacing-inner-top-xlarge {
    padding-top: 80px;
}

.spacing-bottom-xlarge {
    margin-bottom: 80px;
}

.spacing-inner-bottom-xlarge {
    padding-bottom: 80px;
}

.spacing-left-xxlarge {
    margin-left: 100px;
}

.spacing-inner-left-xxlarge {
    padding-left: 100px;
}

.spacing-right-xxlarge {
    margin-right: 100px;
}

.spacing-inner-right-xxlarge {
    padding-right: 100px;
}

.spacing-top-xxlarge {
    margin-top: 100px;
}

.spacing-inner-top-xxlarge {
    padding-top: 100px;
}

.spacing-bottom-xxlarge {
    margin-bottom: 100px;
}

.spacing-inner-bottom-xxlarge {
    padding-bottom: 100px;
}

.spacing-horizontal-xxsmall {
    margin-left: 5px;
    margin-right: 5px;
}

.spacing-inner-horizontal-xxsmall {
    padding-left: 5px;
    padding-right: 5px;
}

.spacing-horizontal-xsmall {
    margin-left: 10px;
    margin-right: 10px;
}

.spacing-inner-horizontal-xsmall {
    padding-left: 10px;
    padding-right: 10px;
}

.spacing-horizontal-small {
    margin-left: 20px;
    margin-right: 20px;
}

.spacing-inner-horizontal-small {
    padding-left: 20px;
    padding-right: 20px;
}

.spacing-horizontal-medium {
    margin-left: 40px;
    margin-right: 40px;
}

.spacing-inner-horizontal-medium {
    padding-left: 40px;
    padding-right: 40px;
}

.spacing-horizontal-large {
    margin-left: 60px;
    margin-right: 60px;
}

.spacing-inner-horizontal-large {
    padding-left: 60px;
    padding-right: 60px;
}

.spacing-horizontal-xlarge {
    margin-left: 80px;
    margin-right: 80px;
}

.spacing-inner-horizontal-xlarge {
    padding-left: 80px;
    padding-right: 80px;
}

.spacing-horizontal-xxlarge {
    margin-left: 100px;
    margin-right: 100px;
}

.spacing-inner-horizontal-xxlarge {
    padding-left: 100px;
    padding-right: 100px;
}

.spacing-vertical-xxsmall {
    margin-top: 5px;
    margin-bottom: 5px;
}

.spacing-inner-vertical-xxsmall {
    padding-top: 5px;
    padding-bottom: 5px;
}

.spacing-vertical-xsmall {
    margin-top: 10px;
    margin-bottom: 10px;
}

.spacing-inner-vertical-xsmall {
    padding-top: 10px;
    padding-bottom: 10px;
}

.spacing-vertical-small {
    margin-top: 20px;
    margin-bottom: 20px;
}

.spacing-inner-vertical-small {
    padding-top: 20px;
    padding-bottom: 20px;
}

.spacing-vertical-medium {
    margin-top: 40px;
    margin-bottom: 40px;
}

.spacing-inner-vertical-medium {
    padding-top: 40px;
    padding-bottom: 40px;
}

.spacing-vertical-large {
    margin-top: 60px;
    margin-bottom: 60px;
}

.spacing-inner-vertical-large {
    padding-top: 60px;
    padding-bottom: 60px;
}

.spacing-vertical-xlarge {
    margin-top: 80px;
    margin-bottom: 80px;
}

.spacing-inner-vertical-xlarge {
    padding-top: 80px;
    padding-bottom: 80px;
}

.spacing-vertical-xxlarge {
    margin-top: 100px;
    margin-bottom: 100px;
}

.spacing-inner-vertical-xxlarge {
    padding-top: 100px;
    padding-bottom: 100px;
}

.spacing-all-xxsmall {
    margin: 5px;
}

.spacing-inner-all-xxsmall {
    padding: 5px;
}

.spacing-all-xsmall {
    margin: 10px;
}

.spacing-inner-all-xsmall {
    padding: 10px;
}

.spacing-all-small {
    margin: 20px;
}

.spacing-inner-all-small {
    padding: 20px;
}

.spacing-all-medium {
    margin: 40px;
}

.spacing-inner-all-medium {
    padding: 40px;
}

.spacing-all-large {
    margin: 60px;
}

.spacing-inner-all-large {
    padding: 60px;
}

.spacing-all-xlarge {
    margin: 80px;
}

.spacing-inner-all-xlarge {
    padding: 80px;
}

.spacing-all-xxlarge {
    margin: 100px;
}

.spacing-inner-all-xxlarge {
    padding: 100px;
}

.padding-none {
    padding: 0 !important;
}

.margin-none {
    margin: 0 !important;
}

.padding-top-none {
    padding-top: 0 !important;
}

.padding-right-none {
    padding-right: 0 !important;
}

.padding-bottom-none {
    padding-bottom: 0 !important;
}

.padding-left-none {
    padding-left: 0 !important;
}

.margin-top-none {
    margin-top: 0 !important;
}

.margin-right-none {
    margin-right: 0 !important;
}

.margin-bottom-none {
    margin-bottom: 0 !important;
}

.margin-left-none {
    margin-left: 0 !important;
}

/*
////////////////
// VISIBILITY //
////////////////
*/
.hide {
    display: none !important;
}

.invisible {
    visibility: hidden;
}

/*
show and hide (breakpoints)
*/
@media screen and (min-width: 40em) {
    .show-for-small-down {
        display: none !important;
    }
}

@media screen and (min-width: 40em) {
    .show-for-small-only {
        display: none !important;
    }
}

@media screen and (min-width: 64em) {
    .show-for-medium-down {
        display: none !important;
    }
}

@media screen and (max-width: 39.938em) {
    .show-for-medium-up {
        display: none !important;
    }
}

@media screen and (max-width: 39.938em) {
    .show-for-medium-only {
        display: none !important;
    }
}

@media screen and (min-width: 64em) {
    .show-for-medium-only {
        display: none !important;
    }
}

@media screen and (max-width: 63.938em) {
    .show-for-large-up {
        display: none !important;
    }
}

@media screen and (max-width: 63.938em) {
    .show-for-large-only {
        display: none !important;
    }
}

@media screen and (max-width: 39.938em) {
    .hide-for-small-down {
        display: none !important;
    }
}

@media screen and (max-width: 39.938em) {
    .hide-for-small-only {
        display: none !important;
    }
}

@media screen and (min-width: 40em) {
    .hide-for-medium-up {
        display: none !important;
    }
}

@media screen and (max-width: 63.938em) {
    .hide-for-medium-down {
        display: none !important;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .hide-for-medium-only {
        display: none !important;
    }
}

@media screen and (min-width: 64em) {
    .hide-for-large-up {
        display: none !important;
    }
}

@media screen and (min-width: 64em) {
    .hide-for-large-only {
        display: none !important;
    }
}

/*
Landscape and portrait visibility
*/
.show-for-landscape,
.hide-for-portrait {
    display: block !important;
}

@media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
        display: block !important;
    }
}

@media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
        display: none !important;
    }
}

.hide-for-landscape,
.show-for-portrait {
    display: none !important;
}

@media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
        display: none !important;
    }
}

@media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
        display: block !important;
    }
}

/*
//////////////
// FLEXGRID //
//////////////
*/
/*
flexbox helpers
*/
.collapse-small-up {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.shrink-small-up {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 100%;
}

.align-left-small-up {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.align-right-small-up {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.align-center-small-up {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.align-top-small-up {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.align-middle-small-up {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.align-bottom-small-up {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.align-stretch-small-up {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

@media screen and (max-width: 39.938em) {
    .collapse-small-down {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 39.938em) {
    .shrink-small-down {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (max-width: 39.938em) {
    .align-left-small-down {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 39.938em) {
    .align-right-small-down {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (max-width: 39.938em) {
    .align-center-small-down {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 39.938em) {
    .align-top-small-down {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (max-width: 39.938em) {
    .align-middle-small-down {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (max-width: 39.938em) {
    .align-bottom-small-down {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (max-width: 39.938em) {
    .align-stretch-small-down {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media screen and (max-width: 39.938em) {
    .collapse-small-only {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 39.938em) {
    .shrink-small-only {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (max-width: 39.938em) {
    .align-left-small-only {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 39.938em) {
    .align-right-small-only {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (max-width: 39.938em) {
    .align-center-small-only {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 39.938em) {
    .align-top-small-only {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (max-width: 39.938em) {
    .align-middle-small-only {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (max-width: 39.938em) {
    .align-bottom-small-only {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (max-width: 39.938em) {
    .align-stretch-small-only {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media screen and (min-width: 40em) {
    .collapse-medium-up {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (min-width: 40em) {
    .shrink-medium-up {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (min-width: 40em) {
    .align-left-medium-up {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (min-width: 40em) {
    .align-right-medium-up {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 40em) {
    .align-center-medium-up {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (min-width: 40em) {
    .align-top-medium-up {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (min-width: 40em) {
    .align-middle-medium-up {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (min-width: 40em) {
    .align-bottom-medium-up {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (min-width: 40em) {
    .align-stretch-medium-up {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media screen and (max-width: 63.938em) {
    .collapse-medium-down {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (max-width: 63.938em) {
    .shrink-medium-down {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (max-width: 63.938em) {
    .align-left-medium-down {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (max-width: 63.938em) {
    .align-right-medium-down {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (max-width: 63.938em) {
    .align-center-medium-down {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 63.938em) {
    .align-top-medium-down {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (max-width: 63.938em) {
    .align-middle-medium-down {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (max-width: 63.938em) {
    .align-bottom-medium-down {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (max-width: 63.938em) {
    .align-stretch-medium-down {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .collapse-medium-only {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .shrink-medium-only {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-left-medium-only {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-right-medium-only {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-center-medium-only {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-top-medium-only {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-middle-medium-only {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-bottom-medium-only {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .align-stretch-medium-only {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

@media screen and (min-width: 64em) {
    .collapse-large-up {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (min-width: 64em) {
    .shrink-large-up {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (min-width: 64em) {
    .align-left-large-up {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (min-width: 64em) {
    .align-right-large-up {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 64em) {
    .align-center-large-up {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (min-width: 64em) {
    .align-top-large-up {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (min-width: 64em) {
    .align-middle-large-up {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (min-width: 64em) {
    .align-bottom-large-up {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (min-width: 64em) {
    .align-stretch-large-up {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

.collapse-large-down {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.shrink-large-down {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-width: 100%;
}

.align-left-large-down {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

.align-right-large-down {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.align-center-large-down {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.align-top-large-down {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.align-middle-large-down {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.align-bottom-large-down {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.align-stretch-large-down {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

@media screen and (min-width: 64em) {
    .collapse-large-only {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}

@media screen and (min-width: 64em) {
    .shrink-large-only {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        max-width: 100%;
    }
}

@media screen and (min-width: 64em) {
    .align-left-large-only {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

@media screen and (min-width: 64em) {
    .align-right-large-only {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media screen and (min-width: 64em) {
    .align-center-large-only {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (min-width: 64em) {
    .align-top-large-only {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
}

@media screen and (min-width: 64em) {
    .align-middle-large-only {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
}

@media screen and (min-width: 64em) {
    .align-bottom-large-only {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
}

@media screen and (min-width: 64em) {
    .align-stretch-large-only {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
}

/*
full width rows
 */
.row.full-width {
    max-width: none;
}

/*
  Horizontally scrollable container
*/
.horizontal-overflow {
    overflow-x: auto;
}

.horizontal-overflow::-webkit-scrollbar {
    display: none;
}

@media screen and (min-width: 40em) {
    .slim-column {
        max-width: 470px;
    }
}

.row.equal-height {
    padding-left: 0.938rem;
    padding-right: 0.938rem;
}

.row.equal-height .columns.columns-spacer {
    max-width: 0;
}

.row.equal-height .columns.columns-spacer.medium-down-vertical {
    width: 100%;
}

@media screen and (max-width: 63.938em) {
    .row.equal-height .columns.columns-spacer.medium-down-vertical {
        padding-top: 0.938rem;
        padding-bottom: 0.938rem;
    }
}

@media screen and (max-width: 39.938em) {
    .absolute-center-small-down {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

@media screen and (max-width: 39.938em) {
    .absolute-center-small-only {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

@media screen and (min-width: 40em) {
    .absolute-center-medium-up {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

@media screen and (max-width: 63.938em) {
    .absolute-center-medium-down {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .absolute-center-medium-only {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

@media screen and (min-width: 64em) {
    .absolute-center-large-up {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

@media screen and (min-width: 64em) {
    .absolute-center-large-only {
        position: absolute;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
    }
}

/*
/////////////////
// POSITIONING //
/////////////////
*/
.position-relative {
    position: relative;
}

.position-absolute {
    position: absolute;
}

/*
///////////////
// KEYFRAMES //
///////////////
*/
@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}
@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 10px, 0);
                transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
                transform: none;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 10px, 0);
                transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
                transform: none;
    }
}

@-webkit-keyframes slideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(10px, 0, 0);
                transform: translate3d(10px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
                transform: none;
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(10px, 0, 0);
                transform: translate3d(10px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
                transform: none;
    }
}

@-webkit-keyframes pulse {
    0% {
        opacity: 1;
        font-size: 100%;
    }
    50% {
        opacity: 0.8;
        font-size: 135%;
    }
    100% {
        opacity: 1;
        font-size: 100%;
    }
}

@keyframes pulse {
    0% {
        opacity: 1;
        font-size: 100%;
    }
    50% {
        opacity: 0.8;
        font-size: 135%;
    }
    100% {
        opacity: 1;
        font-size: 100%;
    }
}

@-webkit-keyframes wobble {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    50% {
        -webkit-transform: rotate(1deg);
                transform: rotate(1deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
}

@keyframes wobble {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    50% {
        -webkit-transform: rotate(1deg);
                transform: rotate(1deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
}

@-webkit-keyframes fadeInOut {
    0% {
        opacity: 1;
    }
    23% {
        opacity: 1;
    }
    33% {
        opacity: 0;
    }
    90% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeInOut {
    0% {
        opacity: 1;
    }
    23% {
        opacity: 1;
    }
    33% {
        opacity: 0;
    }
    90% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
                animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
                animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0);
                transform: translate3d(0, -30px, 0);
    }
    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
                animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -25px, 0);
                transform: translate3d(0, -25px, 0);
    }
    90% {
        -webkit-transform: translate3d(0, -4px, 0);
                transform: translate3d(0, -4px, 0);
    }
}

@keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
                animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
                animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0);
                transform: translate3d(0, -30px, 0);
    }
    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
                animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -25px, 0);
                transform: translate3d(0, -25px, 0);
    }
    90% {
        -webkit-transform: translate3d(0, -4px, 0);
                transform: translate3d(0, -4px, 0);
    }
}

@-webkit-keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
                animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
                transform: translate3d(0, 3000px, 0);
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
                transform: translate3d(0, -20px, 0);
    }
    75% {
        -webkit-transform: translate3d(0, 10px, 0);
                transform: translate3d(0, 10px, 0);
    }
    90% {
        -webkit-transform: translate3d(0, -5px, 0);
                transform: translate3d(0, -5px, 0);
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
                animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
                transform: translate3d(0, 3000px, 0);
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
                transform: translate3d(0, -20px, 0);
    }
    75% {
        -webkit-transform: translate3d(0, 10px, 0);
                transform: translate3d(0, 10px, 0);
    }
    90% {
        -webkit-transform: translate3d(0, -5px, 0);
                transform: translate3d(0, -5px, 0);
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
}

@-webkit-keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
                transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }
    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
                transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }
    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
                transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }
    to {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
}

@keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
                transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }
    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
                transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }
    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
                transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }
    to {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
}

/*
////////////////
// ANIMATIONS //
////////////////
*/
.transition {
    -webkit-transition: 1s;
    transition: 1s;
}

.animated {
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-direction: alternate;
            animation-direction: alternate;
}

.animated.fast {
    -webkit-animation-duration: 300ms;
            animation-duration: 300ms;
}

.animated.slow {
    -webkit-animation-duration: 900ms;
            animation-duration: 900ms;
}

.unanimated {
    -webkit-animation: none !important;
            animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
}

.bounce {
    -webkit-animation-name: bounce;
            animation-name: bounce;
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
}

.bounce-in-up {
    -webkit-animation-name: bounceInUp;
            animation-name: bounceInUp;
}

.fade-in {
    -webkit-animation-name: fadeIn;
            animation-name: fadeIn;
}

.fade-out {
    -webkit-animation-name: fadeOut;
            animation-name: fadeOut;
}

.fade-in-up {
    -webkit-animation-name: fadeInUp;
            animation-name: fadeInUp;
}

.tada {
    -webkit-animation-name: tada;
            animation-name: tada;
}

.rotate-180 {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
}

.slide-down {
    overflow-y: hidden;
    max-height: 400px;
    /* If block is bigger use another class to change max-height */
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

.slide-up {
    overflow-y: hidden;
    max-height: 0;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

/*
//////////
// MISC //
//////////
*/
/*
z-index
*/
.z-.depth-1 {
    z-index: 1100;
}

.z-.depth-2 {
    z-index: 1200;
}

.z-.depth-3 {
    z-index: 1300;
}

.z-.depth-4 {
    z-index: 1400;
}

.z-.depth-5 {
    z-index: 1500;
}

.z-.depth-6 {
    z-index: 1600;
}

.z-.depth-7 {
    z-index: 1700;
}

.z-.depth-8 {
    z-index: 1800;
}

.z-.depth-9 {
    z-index: 1900;
}

/*
shadows
*/
.shadow {
    -webkit-transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    transition: all 300ms cubic-bezier(0.25, 0.8, 0.25, 1);
    -webkit-transition-property: -webkit-box-shadow;
    transition-property: -webkit-box-shadow;
    transition-property: box-shadow;
    transition-property: box-shadow, -webkit-box-shadow;
}

.shadow.depth-1 {
    -webkit-box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04);
            box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04);
}

.shadow.depth-2 {
    -webkit-box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21);
            box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21);
}

.shadow.depth-3 {
    -webkit-box-shadow: 0 20px 31px 0 rgba(0, 0, 0, 0.07), 0 20px 31px rgba(0, 0, 0, 0.04);
            box-shadow: 0 20px 31px 0 rgba(0, 0, 0, 0.07), 0 20px 31px rgba(0, 0, 0, 0.04);
}

.shadow-hover-depth-1:hover {
    -webkit-box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04) !important;
            box-shadow: 0 10px 31px 0 rgba(0, 0, 0, 0.07), 0 -10px 31px rgba(0, 0, 0, 0.04) !important;
}

.shadow-hover-depth-2:hover {
    -webkit-box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21) !important;
            box-shadow: 0 14px 22px 0 rgba(0, 0, 0, 0.21), 0 -5px 22px 0 rgba(0, 0, 0, 0.21) !important;
}

.shadow-hover-depth-3:hover {
    -webkit-box-shadow: 0 20px 31px 0 rgba(0, 0, 0, 0.07), 0 20px 31px rgba(0, 0, 0, 0.04) !important;
            box-shadow: 0 20px 31px 0 rgba(0, 0, 0, 0.07), 0 20px 31px rgba(0, 0, 0, 0.04) !important;
}

/*
faded
- for use when features are still in developmemt
- fades out an element and prevents any click functionality
*/
.faded {
    opacity: 0.35;
    pointer-events: none;
    position: relative;
}

.faded a,
.faded .button.tertiary {
    color: #212121;
    text-decoration: none;
}

.faded::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

/*
borders
*/
.border {
    border-style: solid;
    border-width: 1px;
    border-color: #F4F5F6;
    border-radius: 8px;
    background: #FFFFFF;
}

.border.disabled {
    border-style: dashed;
}

.border.primary {
    border-color: #27B581;
}

.border.secondary {
    border-color: #27B581;
}

.border.warning {
    border-color: #FF687D;
}

.border.white {
    border-color: #FFFFFF;
}

.border.black {
    border-color: #212121;
}

.border.lighterGray {
    border-color: #F4F5F6;
}

.border.lightGray {
    border-color: #E1E2E3;
}

.border.mediumGray {
    border-color: #BCBDBD;
}

.border.darkGray {
    border-color: #757575;
}

.border.radius {
    border-radius: 4px;
}

.border.radius-top-left {
    border-top-left-radius: 4px;
}

.border.radius-top-right {
    border-top-right-radius: 4px;
}

.border.radius-bottom-left {
    border-bottom-left-radius: 4px;
}

.border.radius-bottom-right {
    border-bottom-right-radius: 4px;
}

.rounded {
    border-radius: 4px;
}

.border-na {
    border: none;
    border-radius: 0;
}

/*
Link overlay
Used when it's necessary to avoid nesting elements within an <A> tag

.link-overlay
  a.link-overlay__anchor
  // .. first child element
  // .. second child element
  // .. etc

*/
.link-overlay {
    position: relative;
}

.link-overlay__anchor {
    position: absolute;
    overflow: hidden;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
}

/*
images
*/
img.full-width {
    width: 100%;
}

svg.height-auto {
    height: auto !important;
}

svg.width-auto {
    width: auto !important;
}

.centered {
    display: block;
    margin: auto;
}

@media screen and (max-width: 39.938em) {
    .centered-small-down {
        display: block;
        margin: auto;
    }
}

@media screen and (max-width: 39.938em) {
    .centered-small-only {
        display: block;
        margin: auto;
    }
}

@media screen and (min-width: 40em) {
    .centered-medium-up {
        display: block;
        margin: auto;
    }
}

@media screen and (max-width: 63.938em) {
    .centered-medium-down {
        display: block;
        margin: auto;
    }
}

@media screen and (min-width: 40em) and (max-width: 63.938em) {
    .centered-medium-only {
        display: block;
        margin: auto;
    }
}

@media screen and (min-width: 64em) {
    .centered-large-up {
        display: block;
        margin: auto;
    }
}

@media screen and (min-width: 64em) {
    .centered-large-only {
        display: block;
        margin: auto;
    }
}

.password-hint, .password-hint--success {
    margin-left: 25px;
}

.password-hint::before {
    position: absolute;
    left: -25px;
    top: 6px;
    content: '';
    background-image: url("/assets/svgs/icons/close-red.svg");
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
}

.password-hint--success::before {
    position: absolute;
    left: -25px;
    top: 6px;
    content: '';
    background-image: url("/assets/svgs/check-mark.svg");
    background-repeat: no-repeat;
    height: 20px;
    width: 20px;
}

span.text-number sup {
    vertical-align: super;
    font-size: 0.5em;
    top: 0;
}

.tooltip-wrapper {
    position: relative;
}

.tooltip-wrapper .tooltip {
    position: absolute;
    top: 5px;
    right: 5px;
}

.google-reviews-icon {
    width: 300px;
    height: 40px;
}

/*
  Flip images or icons
*/
.flip-vertical {
    -webkit-transform: scaleY(-1);
    transform: scaleY(-1);
}

.flip-horizontal {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}

/*
///////////////
// KEYFRAMES //
///////////////
*/
@keyframes rotate {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
                transform: rotate(360deg);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 10px, 0);
                transform: translate3d(0, 10px, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
                transform: none;
    }
}

@keyframes slideInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(10px, 0, 0);
                transform: translate3d(10px, 0, 0);
    }
    to {
        opacity: 1;
        -webkit-transform: none;
                transform: none;
    }
}

@keyframes pulse {
    0% {
        opacity: 1;
        font-size: 100%;
    }
    50% {
        opacity: 0.8;
        font-size: 135%;
    }
    100% {
        opacity: 1;
        font-size: 100%;
    }
}

@keyframes wobble {
    0% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
    50% {
        -webkit-transform: rotate(1deg);
                transform: rotate(1deg);
    }
    100% {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
    }
}

@keyframes fadeInOut {
    0% {
        opacity: 1;
    }
    23% {
        opacity: 1;
    }
    33% {
        opacity: 0;
    }
    90% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes bounce {
    from, 20%, 53%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
                animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
                animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0);
                transform: translate3d(0, -30px, 0);
    }
    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
                animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -25px, 0);
                transform: translate3d(0, -25px, 0);
    }
    90% {
        -webkit-transform: translate3d(0, -4px, 0);
                transform: translate3d(0, -4px, 0);
    }
}

@keyframes bounceInUp {
    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
                animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0);
                transform: translate3d(0, 3000px, 0);
    }
    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0);
                transform: translate3d(0, -20px, 0);
    }
    75% {
        -webkit-transform: translate3d(0, 10px, 0);
                transform: translate3d(0, 10px, 0);
    }
    90% {
        -webkit-transform: translate3d(0, -5px, 0);
                transform: translate3d(0, -5px, 0);
    }
    to {
        -webkit-transform: translate3d(0, 0, 0);
                transform: translate3d(0, 0, 0);
    }
}

@keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
                transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }
    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
                transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }
    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
                transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }
    to {
        -webkit-transform: scale3d(1, 1, 1);
                transform: scale3d(1, 1, 1);
    }
}

.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

.float-center {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

.clearfix::before, .clearfix::after {
    display: table;
    content: ' ';
}

.clearfix::after {
    clear: both;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmNzcyIsIi4uL3Njc3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi9zY3NzL2Jhc2UvX2Jhc2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vc2Nzcy9iYXNlL19nbG9iYWwuc2NzcyIsIi4uL3Njc3MvYmFzZS9fZm9udHMuc2NzcyIsIi4uL3Njc3MvYmFzZS9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXIvc2Nzcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXIvc2Nzcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vc2Nzcy9iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9zY3NzL2Jhc2UvX2xpc3RzLnNjc3MiLCIuLi9zY3NzL2Jhc2UvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXIvc2Nzcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXIvc2Nzcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fZmxleC5zY3NzIiwiLi4vLi4vLi4vYm93ZXIvc2Nzcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZmxleC1ncmlkLnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vYm93ZXIvc2Nzcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vc2Nzcy9iYXNlL190YWJsZXMuc2NzcyIsIi4uL3Njc3MvY29tcG9uZW50cy9fY29tcG9uZW50cy5zY3NzIiwiLi4vc2Nzcy9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vc2Nzcy9jb21wb25lbnRzL19jaGVja2JveGVzLnNjc3MiLCIuLi9zY3NzL2NvbXBvbmVudHMvX3JhZGlvLWJ1dHRvbnMuc2NzcyIsIi4uL3Njc3MvY29tcG9uZW50cy9fYmxvY2tzLnNjc3MiLCIuLi9zY3NzL2NvbXBvbmVudHMvX2ljb25zLnNjc3MiLCIuLi9zY3NzL2NvbXBvbmVudHMvX292ZXJsYXkuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vc2Nzcy9jb21wb25lbnRzL19zaWRlYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlci9zY3NzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9zY3NzL2NvbXBvbmVudHMvX21lc3NhZ2VzLnNjc3MiLCIuLi9zY3NzL2NvbXBvbmVudHMvX2Jhbm5lcnMuc2NzcyIsIi4uL3Njc3MvY29tcG9uZW50cy9fbG9hZGVycy5zY3NzIiwiLi4vc2Nzcy9tYXRlcmlhbC9fbWF0ZXJpYWwuc2NzcyIsIi4uL3Njc3MvbWF0ZXJpYWwvX2NvcmUuc2NzcyIsIi4uL3Njc3MvbWF0ZXJpYWwvX2lucHV0LnNjc3MiLCIuLi9zY3NzL21hdGVyaWFsL19pY29ucy5zY3NzIiwiLi4vc2Nzcy9tYXRlcmlhbC9fYnV0dG9ucy5zY3NzIiwiLi4vc2Nzcy9tYXRlcmlhbC9fZGF0YS10YWJsZS5zY3NzIiwiLi4vc2Nzcy9tYXRlcmlhbC9fdGltZS1waWNrZXIuc2NzcyIsIi4uL3Njc3MvbWF0ZXJpYWwvX292ZXJyaWRlcy5zY3NzIiwiY2xhaW0vX2NsYWltLnNjc3MiLCJjdXN0b21lcnMvX2N1c3RvbWVycy5zY3NzIiwiZGFzaGJvYXJkL19kYXNoYm9hcmQuc2NzcyIsImxvZ2luL19sb2dpbi5zY3NzIiwicG9saWN5L19wb2xpY3kuc2NzcyIsInN0eWxlcy9fc3R5bGVzLnNjc3MiLCJhY2NvdW50L2FjY291bnQtbGlzdC9fYWNjb3VudC1saXN0LnNjc3MiLCJhY2NvdW50L2FjY291bnQtcGFzc3dvcmQvX2FjY291bnQtcGFzc3dvcmQuc2NzcyIsImNsYWltL2NsYWltLWxpc3QvX2NsYWltLWxpc3Quc2NzcyIsImNsYWltL2N1c3RvbWVyLXNvbHV0aW9ucy9fY3VzdG9tZXItc29sdXRpb25zLnNjc3MiLCJjbGFpbS9lZGl0LWN1c3RvbWVyLXNvbHV0aW9uL19lZGl0LWN1c3RvbWVyLXNvbHV0aW9uLnNjc3MiLCJjbGFpbS9ldmVudC1kZXRhaWxzL19ldmVudC1kZXRhaWxzLnNjc3MiLCJjbGFpbS9leGNlc3MvX2V4Y2Vzcy5zY3NzIiwiY2xhaW0vc3RhdHVzL19zdGF0dXMuc2NzcyIsImNvbXBvbmVudHMvYWN0aW9uLWJ1dHRvbnMvX2FjdGlvbi1idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL2FjdGlvbi1oaXN0b3J5L19hY3Rpb24taGlzdG9yeS5zY3NzIiwiY29tcG9uZW50cy9hZGRyZXNzL19hZGRyZXNzLnNjc3MiLCJjb21wb25lbnRzL2FkZHJlc3NpZnkvX2FkZHJlc3NpZnkuc2NzcyIsImNvbXBvbmVudHMvYXV0aDAtbG9naW4tbGluay9hdXRoMC1sb2dpbi1saW5rLnNjc3MiLCJjb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiY29tcG9uZW50cy9idWJibGUvX2J1YmJsZS5zY3NzIiwiY29tcG9uZW50cy9jYXJkLXBheW1lbnQvX2NhcmQtcGF5bWVudC5zY3NzIiwiY29tcG9uZW50cy9jbGFpbS1zdGF0dXMvX2NsYWltLXN0YXR1cy5zY3NzIiwiY29tcG9uZW50cy9jb3VudGVyL2NvdW50ZXIuc2NzcyIsImNvbXBvbmVudHMvY3VzdG9tZXItbmF2L19jdXN0b21lci1uYXYuc2NzcyIsImNvbXBvbmVudHMvZG9jdW1lbnRzLXRhYmxlL19kb2N1bWVudHMtdGFibGUuc2NzcyIsImNvbXBvbmVudHMvZW1haWwtcXVvdGUvX2VtYWlsLXF1b3RlLnNjc3MiLCJjb21wb25lbnRzL2ZlZWRiYWNrL19mZWVkYmFjay5zY3NzIiwiY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9nb2NhcmRsZXNzLWZvcm0vX2dvY2FyZGxlc3MtZm9ybS5zY3NzIiwiY29tcG9uZW50cy9pbmxpbmUtZWRpdC9pbmxpbmUtZWRpdC5zY3NzIiwiY29tcG9uZW50cy9tYWdpYy1saW5rL19tYWdpYy1saW5rLnNjc3MiLCJjb21wb25lbnRzL211bHRpLXNlbGVjdC9fbXVsdGktc2VsZWN0LnNjc3MiLCJjb21wb25lbnRzL25hdmJhci9fbmF2YmFyLnNjc3MiLCJjb21wb25lbnRzL25vdGVzL19ub3Rlcy5zY3NzIiwiY29tcG9uZW50cy9wYWdpbmF0b3IvX3BhZ2luYXRvci5zY3NzIiwiY29tcG9uZW50cy9wZXJzb24vX3BlcnNvbi5zY3NzIiwiY29tcG9uZW50cy9wb2xpY3ktc3RhdHVzL19wb2xpY3ktc3RhdHVzLnNjc3MiLCJjb21wb25lbnRzL3N0cmlwZS1mb3JtL19zdHJpcGUtZm9ybS5zY3NzIiwiY29tcG9uZW50cy90b29sdGlwLXNpZGViYXIvX3Rvb2x0aXAtc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy92aWV3LWJsb2NrL192aWV3LWJsb2NrLnNjc3MiLCJjb21wb25lbnRzL3Z1bG5lcmFiaWxpdHkvX3Z1bG5lcmFiaWxpdHkuc2NzcyIsInBvbGljeS9wb2xpY3ktbGlzdC9fcG9saWN5LWxpc3Quc2NzcyIsInBvbGljeS9wb2xpY3ktdmlldy9fcG9saWN5LXZpZXcuc2NzcyIsInF1b3RlL3F1b3RlLWVkaXQvX3F1b3RlLWVkaXQuc2NzcyIsInF1b3RlL3F1b3RlLWxpc3QvX3F1b3RlLWxpc3Quc2NzcyIsInF1b3RlL3F1b3RlLWxpc3QtY3VzdG9tZXIvX3F1b3RlLWxpc3QtY3VzdG9tZXIuc2NzcyIsInF1b3RlL3F1b3RlLXN1Y2Nlc3MvX3F1b3RlLXN1Y2Nlc3Muc2NzcyIsImNsYWltL2NvbXBvbmVudHMvY2xhaW0tY2F0YXN0cm9waGUvX2NsYWltLWNhdGFzdHJvcGhlLnNjc3MiLCJjbGFpbS9jb21wb25lbnRzL2NsYWltLWRvY3VtZW50cy9fY2xhaW0tZG9jdW1lbnRzLnNjc3MiLCJjbGFpbS9jb21wb25lbnRzL2NsYWltLWVkaXQvX2NsYWltLWVkaXQuc2NzcyIsImNsYWltL2NvbXBvbmVudHMvY2xhaW0tbWV0YS1kYXRhL19jbGFpbS1tZXRhLWRhdGEuc2NzcyIsImNsYWltL2NvbXBvbmVudHMvY2xhaW0tbmF2L19jbGFpbS1uYXYuc2NzcyIsImNsYWltL2NvbXBvbmVudHMvY2xhaW0tcGhvdG9zL19jbGFpbS1waG90b3Muc2NzcyIsImNsYWltL2NvbXBvbmVudHMvY2xhaW0tcHJvZ3Jlc3MvX2NsYWltLXByb2dyZXNzLnNjc3MiLCJjbGFpbS9jb21wb25lbnRzL2NsYWltLXNsYS9fY2xhaW0tc2xhLnNjc3MiLCJjbGFpbS9jb21wb25lbnRzL2V4cGVuc2UtcGF5ZWUvX2V4cGVuc2UtcGF5ZWUuc2NzcyIsImNsYWltL2NvbXBvbmVudHMvZXhwZW5zZS1wYXltZW50cy9fZXhwZW5zZS1wYXltZW50cy5zY3NzIiwiY2xhaW0vY29tcG9uZW50cy9leHBlbnNlLXByb2dyZXNzL19leHBlbnNlLXByb2dyZXNzLnNjc3MiLCJjbGFpbS9jb21wb25lbnRzL3N0YXR1cy9fc3RhdHVzLnNjc3MiLCJjdXN0b21lcnMvY29tcG9uZW50cy9jdXN0b21lci1uZXcvX2N1c3RvbWVyLW5ldy5zY3NzIiwiY3VzdG9tZXJzL2NvbXBvbmVudHMvY3VzdG9tZXItZWRpdC9fY3VzdG9tZXItZWRpdC5zY3NzIiwiY29tcG9uZW50cy9mZWVkYmFjay9zdGF0dXMvX2ZlZWRiYWNrLXN0YXR1cy5zY3NzIiwiZm9ybS1lbmdpbmUvY29tcG9uZW50cy9maWVsZC1zdW1tYXJ5L19maWVsZC1zdW1tYXJ5LnNjc3MiLCJmb3JtLWVuZ2luZS9jb21wb25lbnRzL2Zvcm0tZmllbGRzZXQvX2Zvcm0tZmllbGRzZXQuc2NzcyIsImZvcm0tZW5naW5lL2NvbXBvbmVudHMvZm9ybS1maWVsZC9fZm9ybS1maWVsZC5zY3NzIiwicG9saWN5L2NvbXBvbmVudHMvcG9saWN5LW1ldGEtZGF0YS9fcG9saWN5LW1ldGEtZGF0YS5zY3NzIiwicG9saWN5L2NvbXBvbmVudHMvcG9saWN5LXBheW1lbnQvX3BvbGljeS1wYXltZW50LnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2R1cGxpY2F0ZS1xdW90ZS9fZHVwbGljYXRlLXF1b3RlLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL3ByaWNlLWxvYWRlci9fcHJpY2UtbG9hZGVyLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL3F1b3RlLXBheW1lbnQvX3F1b3RlLXBheW1lbnQuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvcXVvdGUtcHJvZ3Jlc3MvX3F1b3RlLXByb2dyZXNzLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL3F1b3RlLXByb21vLWNvZGUvX3F1b3RlLXByb21vLWNvZGUuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvcXVvdGUtd29yZGluZy1lbmRvcnNlci9fcXVvdGUtd29yZGluZy1lbmRvcnNlci5zY3NzIiwicXVvdGUvY29tcG9uZW50cy9jYXIvY2FyLWNvbXBhcmUvX2Nhci1jb21wYXJlLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2Nhci9jYXItZmluYWwtcmV2aWV3L19jYXItZmluYWwtcmV2aWV3LnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2Nhci9jYXItcHJpY2VzL19jYXItcHJpY2VzLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2Nhci9jYXItcXVvdGUtc3VtbWFyeS9fY2FyLXF1b3RlLXN1bW1hcnkuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvY2FyL2Nhci1zYWZldHkvX2Nhci1zYWZldHkuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvY2FyL2Nhci12ZWhpY2xlLXNlbGVjdC9fY2FyLXZlaGljbGUtc2VsZWN0LnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2Nhci9jYXItd2FpdmVycy9fY2FyLXdhaXZlcnMuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvY2FyL2VkaXQtY2FyLXF1b3RlL19lZGl0LWNhci1xdW90ZS5zY3NzIiwicXVvdGUvY29tcG9uZW50cy9ob21lL2FkZC1wb2xpY3ktaG9sZGVycy9fYWRkLXBvbGljeS1ob2xkZXJzLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvZWRpdC1ob21lLXF1b3RlL19lZGl0LWhvbWUtcXVvdGUuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvaG9tZS9ob21lLWNsYWltLWhpc3RvcnkvaG9tZS1jbGFpbS1oaXN0b3J5LnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvaG9tZS1jb21wYXJlL19ob21lLWNvbXBhcmUuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvaG9tZS9ob21lLWNvdmVyL2hvbWUtY292ZXIuc2NzcyIsInF1b3RlL2NvbXBvbmVudHMvaG9tZS9ob21lLWR3ZWxsaW5nL19ob21lLWR3ZWxsaW5nLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvaG9tZS1maW5hbC1yZXZpZXcvX2hvbWUtZmluYWwtcmV2aWV3LnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvaG9tZS1wb2xpY3ktaG9sZGVycy9faG9tZS1wb2xpY3ktaG9sZGVycy5zY3NzIiwicXVvdGUvY29tcG9uZW50cy9ob21lL2hvbWUtcHJpY2VzL19ob21lLXByaWNlcy5zY3NzIiwicXVvdGUvY29tcG9uZW50cy9ob21lL2hvbWUtcXVvdGUtc3VtbWFyeS9faG9tZS1xdW90ZS1zdW1tYXJ5LnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvaG9tZS12YWx1YWJsZXMvX2hvbWUtdmFsdWFibGVzLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvaG9tZS12YWx1YWJsZXMtbGlzdC9faG9tZS12YWx1YWJsZXMtbGlzdC5zY3NzIiwicXVvdGUvY29tcG9uZW50cy9ob21lL2hvbWUtd2FpdmVycy9faG9tZS13YWl2ZXJzLnNjc3MiLCJxdW90ZS9jb21wb25lbnRzL2hvbWUvaG9tZS15b3VyLXF1b3RlL19ob21lLXlvdXItcXVvdGUuc2NzcyIsIi4uL3Njc3MvdmVuZG9yL192ZW5kb3Iuc2NzcyIsIi4uL3Njc3MvdmVuZG9yL19icmFpbnRyZWUuc2NzcyIsIi4uL3Njc3MvdmVuZG9yL19yenNsaWRlci5zY3NzIiwiLi4vc2Nzcy92ZW5kb3IvX3RhZ3MtaW5wdXQuc2NzcyIsIi4uL3Njc3MvdmVuZG9yL191aWItZGF0ZXBpY2tlci5zY3NzIiwiLi4vc2Nzcy92ZW5kb3IvXzcyMGtiLXRvb2x0aXBzLnNjc3MiLCIuLi9zY3NzL3ZlbmRvci9fc2xpY2suc2NzcyIsIi4uL3Njc3MvdmVuZG9yL19zbGljay10aGVtZS5zY3NzIiwiLi4vc2Nzcy9oZWxwZXJzL19oZWxwZXJzLnNjc3MiLCIuLi9zY3NzL2hlbHBlcnMvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vc2Nzcy9oZWxwZXJzL19jb2xvcnMuc2NzcyIsIi4uL3Njc3MvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vc2Nzcy9oZWxwZXJzL192aXNpYmlsaXR5LnNjc3MiLCIuLi9zY3NzL2hlbHBlcnMvX2ZsZXhncmlkLnNjc3MiLCIuLi9zY3NzL2hlbHBlcnMvX3Bvc2l0aW9uaW5nLnNjc3MiLCIuLi9zY3NzL2hlbHBlcnMvX2tleWZyYW1lcy5zY3NzIiwiLi4vc2Nzcy9oZWxwZXJzL19hbmltYXRpb25zLnNjc3MiLCIuLi9zY3NzL2hlbHBlcnMvX21pc2Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyL3Njc3MvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7O0NES0M7QUVMRDs7Ozs7RUZXRTtBR1ZGOzs7O0NIZUM7QUdURDs7Q0hZQztBSTBCQyxnRUFBQTtBQUdFO21GSjFCK0U7QUk2Qi9FOzs7OztNSnZCRTtBSThCRjtJQUNFLHVCQzFDdUI7SUQwQ1MsTUFBQTtJQVE5QixpQkFBaUI7SUFBRSxNQUFBO0lBRXJCLDBCQUEwQjtJQUFFLE1BQUE7SUFDNUIsOEJBQThCO0lBQUUsTUFBQTtBSmhDdEM7O0FJcUNJO21GSmxDK0U7QUlxQy9FOztNSmxDRTtBSXNDRjtJQUNFLFNBQVM7QUpwQ2Y7O0FJdUNJOztNSm5DRTtBSXVDRjs7Ozs7O0lBTUUsY0FBYztBSnJDcEI7O0FJd0NJOzs7TUpuQ0U7QUl3Q0Y7SUU5RUYsY0FYdUM7SUZvR2pDLGdCQUFnQjtBSi9DeEI7O0FJcUZJO21GSmxGK0U7QUkwSC9FOztNSnZIRTtBSTJIRjs7SUFFRSxjQUFjO0FKekhwQjs7QUk0SEk7O01KeEhFO0FJNEhGO0lBS0ksZ0JDdkxZO0FMeURwQjs7QUlrSUk7OztNSjdIRTtBSWtJRjtJQUNFLCtCQUF1QjtZQUF2Qix1QkFBdUI7SUFBRSxNQUFBO0lBQ3pCLFNBQVM7SUFBRSxNQUFBO0lBQ1gsaUJBQWlCO0lBQUUsTUFBQTtBSjdIekI7O0FJZ0lJOztNSjVIRTtBSWdJRjtJQUNFLGNBQWM7QUo5SHBCOztBSTRJSTs7O01KdklFO0FJNElGO0lBQ0UsaUNBQWlDO0lBQUUsTUFBQTtJQUNuQyxjQUFjO0lBQUUsTUFBQTtBSnhJdEI7O0FJNklJO21GSjFJK0U7QUk2SS9FOzs7TUp6SUU7QUk4SUY7SUFDRSw2QkFBNkI7SUFBRSxNQUFBO0lBQy9CLHFDQUFxQztJQUFFLE1BQUE7QUoxSTdDOztBSTZJSTs7O01KeElFO0FJNklGOztJQUVFLGdCQUFnQjtBSjNJdEI7O0FJZ0pJO21GSjdJK0U7QUlnSi9FOzs7TUo1SUU7QUlpSkY7SUFDRSxtQkFBbUI7SUFBRSxNQUFBO0lBQ3JCLDBCQUEwQjtJQUFFLE1BQUE7SUFDNUIseUNBQWlDO1lBQWpDLGlDQUFpQztJQUFFLE1BQUE7QUo1SXpDOztBSStJSTs7TUozSUU7QUkrSUY7O0lBRUUsb0JBQW9CO0FKN0kxQjs7QUlnSkk7O01KNUlFO0FJdUlGOztJQVdFLG1CQUFtQjtBSjlJekI7O0FJaUpJOzs7TUo1SUU7QUlpSkY7OztJQUdFLGlDQUFpQztJQUFFLE1BQUE7SUFDbkMsY0FBYztJQUFFLE1BQUE7QUo3SXRCOztBSWdKSTs7TUo1SUU7QUlnSkY7SUFDRSxrQkFBa0I7QUo5SXhCOztBSWlKSTs7TUo3SUU7QUlpSkY7SUFDRSxzQkFBc0I7SUFDdEIsV0FBVztBSi9JakI7O0FJa0pJOztNSjlJRTtBSWtKRjtJQUNFLGNBQWM7QUpoSnBCOztBSW1KSTs7O01KOUlFO0FJbUpGOztJQUVFLGNBQWM7SUFDZCxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLHdCQUF3QjtBSmpKOUI7O0FJb0pJO0lBQ0UsZUFBZTtBSmpKckI7O0FJb0pJO0lBQ0UsV0FBVztBSmpKakI7O0FJc0pJO21GSm5KK0U7QUlzSi9FOztNSm5KRTtBSXVKRjs7SUFFRSxxQkFBcUI7QUpySjNCOztBSXdKSTs7TUpwSkU7QUl3SkY7SUFDRSxhQUFhO0lBQ2IsU0FBUztBSnRKZjs7QUl5Skk7O01KckpFO0FJeUpGO0lBQ0Usa0JBQWtCO0FKdkp4Qjs7QUkwSkk7O01KdEpFO0FJMEpGO0lBQ0UsZ0JBQWdCO0FKeEp0Qjs7QUk2Skk7bUZKMUorRTtBSTZKL0U7OztNSnpKRTtBSThKRjs7Ozs7SUFLRSx1QkN6WnVCO0lEeVpTLE1BQUE7SUFDaEMsZUFBZTtJQUFFLE1BQUE7SUFLZixpQkFBaUI7SUFBRSxNQUFBO0lBRXJCLFNBQVM7SUFBRSxNQUFBO0FKN0pqQjs7QUlnS0k7O01KNUpFO0FJZ0tGO0lBQ0UsaUJBQWlCO0FKOUp2Qjs7QUlpS0k7OztNSjVKRTtBSWlLRjs7SUFDUyxNQUFBO0lBQ1Asb0JBQW9CO0FKOUoxQjs7QUlpS0k7Ozs7TUozSkU7QUlpS0Y7Ozs7SUFJRSwwQkFBMEI7SUFBRSxNQUFBO0FKOUpsQzs7QUlpS0k7Ozs7SUFLRTs7UUo5SkU7SUl1S0Y7O1FKcEtFO0FBQ1I7O0FJcUpJOzs7O0lBVUksa0JBQWtCO0lBQ2xCLFVBQVU7QUp4SmxCOztBSTZJSTs7OztJQW1CSSw4QkFBOEI7QUp6SnRDOztBSTZKSTs7TUp6SkU7QUk2SkY7SUFDRSxpQkFBaUI7QUozSnZCOztBSThKSTs7O01KekpFO0FBQ047O0lJK0pNLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFBRSxNQUFBO0lBQ3hCLFVBQVU7SUFBRSxNQUFBO0FKMUpsQjs7QUk2Skk7O01KekpFO0FBQ047O0lJOEpNLFlBQVk7QUozSmxCOztBSThKSTs7O01KekpFO0FBQ047SUk4Sk0sNkJBQTZCO0lBQUUsTUFBQTtJQUMvQixvQkFBb0I7SUFBRSxNQUFBO0lBRXRCOztRSjFKRTtBQUNSOztBQUVBO0lJNkpRLHdCQUF3QjtBSjNKaEM7O0FJK0pJOzs7TUoxSkU7QUkrSkY7SUFDRSwwQkFBMEI7SUFBRSxNQUFBO0lBQzVCLGFBQWE7SUFBRSxNQUFBO0FKM0pyQjs7QUk4Skk7O01KMUpFO0FJOEpGO0lBQ0UseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYiw4QkFBOEI7QUo1SnBDOztBSStKSTs7Ozs7TUp4SkU7QUkrSkY7SUFDRSw4QkFBc0I7WUFBdEIsc0JBQXNCO0lBQUUsTUFBQTtJQUN4QixjQUFjO0lBQUUsTUFBQTtJQUNoQixlQUFlO0lBQUUsTUFBQTtJQUNqQixVQUFVO0lBQUUsTUFBQTtJQUNaLGNBQWM7SUFBRSxNQUFBO0lBQ2hCLG1CQUFtQjtJQUFFLE1BQUE7QUp2SjNCOztBSTBKSTs7O01KckpFO0FJMEpGO0lBQ0UscUJBQXFCO0lBQUUsTUFBQTtJQUN2Qix3QkFBd0I7SUFBRSxNQUFBO0FKdEpoQzs7QUl5Skk7O01KckpFO0FJeUpGO0lBQ0UsY0FBYztBSnZKcEI7O0FJNEpJO21GSnpKK0U7QUk0Si9FOztNSnpKRTtBSTZKRjtJQUNFLGNBQWM7QUozSnBCOztBSThKSTs7TUoxSkU7QUk4SkY7SUFDRSxrQkFBa0I7QUo1SnhCOztBSStKSTs7TUozSkU7QUkrSkY7SUFDRSxjQUFjO0FKN0pwQjs7QUlzTEk7bUZKbkwrRTtBSXNML0U7O01KbkxFO0FJdUxGO0lBQ0UscUJBQXFCO0FKckwzQjs7QUl3TEk7O01KcExFO0FJd0xGO0lBQ0UsYUFBYTtBSnRMbkI7O0FJMkxJO21GSnhMK0U7QUkyTC9FOztNSnhMRTtBQUNOO0lJNExNLGFBQWE7QUoxTG5COztBTzVWRTtJQUNFLCtDQUFnRDtBUCtWcEQ7O0FJaGJJO0lHcUZBLDhCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsZU54Rm1CO0FEdWJ2Qjs7QU8zVkU7OztJQUdFLDJCQUFtQjtZQUFuQixtQkFBbUI7QVA4VnZCOztBSW5hSTtJRzBFQSxTQUFTO0lBQ1QsVUFBVTtJQUVWLG1CTmhGVTtJTWtGVixvQ050QnNDO0lNdUJ0QyxnQk5yQnNCO0lNc0J0QixnQk56R21CO0lNMEduQixjTnRGVztJTXlGVCxtQ0FBbUM7SUFDbkMsa0NBQWtDO0FQeVZ4Qzs7QUlsSEk7SUdqT0EscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUd0QixlQUFlO0lBQ2YsWUFBWTtJQUNaLCtCQUErQjtBUHFWbkM7O0FJbUVJO0lHblpBLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsa0JOckNlO0FEeVhuQjs7QU9oVkU7SUFDRSw4QkFBc0I7WUFBdEIsc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCxrQk41Q2U7QUQrWG5COztBTzlVRTs7Ozs7O0lBS0ksMEJBQTBCO0FQa1ZoQzs7QUlyR0k7SUd0T0EsVUFBVTtJQUNWLHdCQUFnQjtPQUFoQixxQkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLFNBQVM7SUFDVCxrQk5oRWU7SU1pRWYsdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxZQXhHdUI7QVB1YjNCOztBQUVBO0lRaFdJLFVBQVU7QVJrV2Q7O0FJbFRJO0lHNUJBLGNBQWM7QVBrVmxCOztBSTNJSTs7Ozs7SUc5TEEsb0JBQW9CO0FQaVZ4Qjs7QU83VUU7SUFDRSx5QkFBeUI7QVBnVjdCOztBTzdVRTtJQUNFLHdCQUF3QjtBUGdWNUI7O0FTL2pCQTs7OztDVHFrQkM7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WGhCYTtJV2lCYixrQlh1RGlCO0lXdERqQix5Qlh2QmE7SVd3QmIseURYbkJhO1lXbUJiLGlEWG5CYTtJV3FCYixvQlh1VXlCO0lXdFV6QixlQ1p1RDtJRGF2RCxnQlh3Q3dCO0lXdkN4QixnQlg1Q3FCO0lXNkNyQixjWHpCYTtJVzRCWCwyRVgwVThEO0lXMVU5RCxtRVgwVThEO0lXMVU5RCwyRFgwVThEO0lXMVU5RCxvRlgwVThEO0lXclQ5RCx3QkFBZ0I7T0FBaEIscUJBQWdCO1lBQWhCLGdCQUFnQjtBWndwQnBCOztBQUVBOztJWTFxQkksYUFBYTtJQUNiLHlCWGxDVztJV21DWCx5Qlh4Q1c7SVd5Q1gsbUNYdENpQjtZV3NDakIsMkJYdENpQjtJV3lDZiwyRVgrVDREO0lXL1Q1RCxtRVgrVDREO0lXL1Q1RCwyRFgrVDREO0lXL1Q1RCxvRlgrVDREO0FENFdsRTs7QUlwTkk7SVF4Y0EsZUFBZTtBWmdxQm5COztBWWpxQkU7SUFJSSxZQUFZO0FaaXFCbEI7O0FZN3BCRTtJQUlJLGNYbkVlO0FEaXVCckI7O0FZbHFCRTtJQUlJLGNYbkVlO0FEaXVCckI7O0FZbHFCRTtJQUlJLGNYbkVlO0FEaXVCckI7O0FZbHFCRTtJQUlJLGNYbkVlO0FEaXVCckI7O0FZbHFCRTs7SUFJSSxjWG5FZTtBRGl1QnJCOztBWWxxQkU7OztJQVVJLHlCWDFFYztJVzJFZCxtQlg2UjZCO0FEaVluQzs7QUFFQTs7SVl6cEJJLHdCQUFnQjtPQUFoQixxQkFBZ0I7WUFBaEIsZ0JBQWdCO0lBQ2hCLGtCWFJlO0FEb3FCbkI7O0FZeHBCRTtJQUNFLDhCQUFzQjtZQUF0QixzQkFBc0I7QVoycEIxQjs7QUFFQTs7O0ljcHpCSSxnQkQ0RXFEO0FiNHVCekQ7O0FBRUE7O0ljcHpCSSxxQkFBcUI7SUFDckIsd0JBQXdCO0lBRXhCLG1CQUFrRDtJQUNsRCxrQkRrRXFEO0lDakVyRCxnQkFBZ0I7QWRzekJwQjs7QUFFQTs7SWNyekJNLGVBQWU7QWR3ekJyQjs7QWNuekJFOztJQUVFLG9CQUFtRDtBZHN6QnZEOztBQUVBO0ljbnpCSSxXQUFXO0FkcXpCZjs7QWVqekJFO0lBakJBLGNBQWM7SUFDZCxTQUFTO0lBRVQsbUJGNER1RDtJRTNEdkQsZ0JkZ0h3QjtJYy9HeEIsZ0Jkc1kwQjtJY3JZMUIsY2QrQ2E7QURzeEJmOztBZTF6QkU7SUFMQSxnQkZtRHVEO0lFbER2RCxtQkFBOEQ7QWZtMEJoRTs7QWdCcDFCRTtJQUdFLG1CQUZ1QztJQUd2QyxtQkgrRHFEO0lHOURyRCxrQmZrWXdCO0llall4QixjZm1EVztBRGt5QmY7O0FpQnQxQkU7SUFDRSxjQUF3QztJQUN4QyxXQUFXO0lBQ1gsbUJKMkRxRDtBYjh4QnpEOztBaUI1MUJFO0lBVUksMEJoQmtIYTtBRG91Qm5COztBaUJoMkJFO0lBZU0sMEJBQWlIO0FqQnExQnpIOztBaUJoMUJFOzs7O0lBQ0UsU0FBUztJQUNULG1CQUFtQjtJQUdqQixtQkFBbUI7SUFDbkIsc0JBQXNCO0FqQm8xQjVCOztBaUJoMUJFO0lBRUUsZWhCc1d1QjtJZ0JyV3ZCLHlCaEJpQmlCO0lnQmhCakIsbUJoQmVnQjtJZ0JiaEIsY2hCZ0JXO0lnQmZYLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFRakIsU0FBUztJQUNULFlBQVk7QWpCMDBCbEI7O0FpQjMxQkU7SUFzQk0sZUFBaUM7QWpCeTBCekM7O0FpQi8xQkU7SUEwQk0sY0FBZ0M7QWpCeTBCeEM7O0FpQnAwQkU7SUFFRSxnQkFBZ0I7SUFRZCxjQXpFNkM7QWpCdzRCbkQ7O0FpQjN6QkU7SUFFRSxjQUFjO0lBQ2QsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQU9oQixTQUFTO0lBQ1QsWUFBWTtBakJ1ekJsQjs7QWlCbjBCRTs7OztJQTBCTSxjQXZHMkM7SUF5RzdDLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsZUozQ21EO0FiMDFCekQ7O0FpQnp5Qk07SUFDSSxtQkFBbUI7QWpCNHlCN0I7O0FJOVlJO0ljamdCQSxTQUFTO0lBQ1QsVUFBVTtJQUNWLFNBQVM7QWxCbTVCYjs7QUl2WUk7SWN4Z0JBLGVBQWU7SUFDZixxQkFBa0M7QWxCbTVCdEM7O0FrQmg1QkU7SUF4QkEsa0JMb0VXO0lLbkVYLGdCTDhEdUQ7SUs3RHZELHlCakJpRG1CO0FEMjNCckI7O0FrQjE2QkU7SUFFRSxTQUFTO0lBQ1Qsc0JMd0RxRDtJS3ZEckQsbUJMdURxRDtBYnEzQnpEOztBTzl3QkU7SVl4S0EsZ0JBRnNKO0lBR3RKLGdCTmdFdUQ7SU0vRHZELGVQNkIrQjtJTzNCL0Isd0JBQWdCO09BQWhCLHFCQUFnQjtZQUFoQixnQkFBZ0I7SUFDaEIseUJsQmtEYTtJa0JqRGIsa0JsQnlIaUI7SWtCeEhqQix5QmxCMkNhO0lrQnpDYixvQmxCMFl5QjtJa0J6WXpCLGVOdUR1RDtJTXREdkQsZ0JsQjJHd0I7SWtCMUd4QixnQmxCdUJxQjtJa0J0QnJCLGNsQjBDYTtJT3dFYix3T0FBeU47SVc5R3ZOLDhCQUE4QjtJQUM5Qix1Q0FBMEQ7SUFDMUQsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUV4QixxQkFBdUQ7SUFJdkQsMkVsQm1ZOEQ7SWtCblk5RCxtRWxCbVk4RDtJa0JuWTlELDJEbEJtWThEO0lrQm5ZOUQsb0ZsQm1ZOEQ7QUQraUJsRTs7QVEzMEJFO0lEdUNBO1FDcENJLHVXQUF1VztJUjYwQnpXO0FBQ0o7O0FtQnA3QkU7SUFDRSxhQUFhO0lBQ2IseUJsQnVCVztJa0J0QlgseUJsQmlCVztJa0JoQlgsbUNsQm1CaUI7WWtCbkJqQiwyQmxCbUJpQjtJa0JoQmYsMkVsQndYNEQ7SWtCeFg1RCxtRWxCd1g0RDtJa0J4WDVELDJEbEJ3WDREO0lrQnhYNUQsb0ZsQndYNEQ7QUQ2akJsRTs7QW1CaDdCRTtJQUNFLHlCbEJTZ0I7SWtCUmhCLG1CbEJnWCtCO0FEbWtCbkM7O0FtQi82QkU7SUFDRSxhQUFhO0FuQms3QmpCOztBbUIvNkJFO0lBQ0UsWUFBWTtJQUNaLHNCQUFzQjtBbkJrN0IxQjs7QW9CbjlCRTtJQUNFLHFCbkJxQlk7SW1CcEJaLHlCQUErRDtBcEJzOUJuRTs7QW9CcjlCSTtJQUNFLGNuQmtCVTtBRHM4QmhCOztBb0J6OUJJO0lBQ0UsY25Ca0JVO0FEczhCaEI7O0FvQno5Qkk7SUFDRSxjbkJrQlU7QURzOEJoQjs7QW9CejlCSTtJQUNFLGNuQmtCVTtBRHM4QmhCOztBb0J6OUJJO0lBQ0UsY25Ca0JVO0FEczhCaEI7O0FvQjk3Qkk7SUFDRSxjbkJUVTtBRDA4QmhCOztBb0I1N0JFO0lBekJBLGFBQWE7SUFDYixtQkFBZ0M7SUFDaEMsbUJQK0J1RDtJTzdCdkQsa0JQNkJ1RDtJTzVCdkQsZ0JuQm9Gc0I7SW1CbkZ0QixjbkJLYztBRG05QmhCOztBb0JyOEJFO0lBSUksY0FBYztBcEJxOEJwQjs7QVdoaENBOztJQUNFLGtCQUFrQjtBWG9oQ3BCOztBV3RnQ0E7SUFDRSxVQUFVO0lBQ1YsV0FBVztBWHlnQ2I7O0FBRUE7SVd2Z0NFLGdCQUFnQjtJQUNoQix5QlY0Q2tCO0lVM0NsQixjQUFjO0lBQ2QsY0FBYztJQUNkLGdCVjhHc0I7QUQyNUJ4Qjs7QUFFQTtJV3hnQ0ksZ0JWd0dzQjtBRGs2QjFCOztBQUZBO0lXeGdDSSxnQlZ3R3NCO0FEazZCMUI7O0FBRkE7SVd4Z0NJLGdCVndHc0I7QURrNkIxQjs7QUFGQTtJV3hnQ0ksZ0JWd0dzQjtBRGs2QjFCOztBQUZBO0lXeGdDSSxnQlZ3R3NCO0FEazZCMUI7O0FXdmdDRTtJQUNFLHFCVndCYztBRGsvQmxCOztBQUVBO0lXeGdDSSxxQlZvQmM7QURzL0JsQjs7QUFFQTtJV3RnQ0ksNkJBQTZCO0lBQzdCLHFCVndCaUI7SVV2QmpCLG9CQUFvQjtBWHdnQ3hCOztBQUVBO0lXcGdDSSx5QlZjVztJVWJYLGVBQWU7QVhzZ0NuQjs7QVdsZ0NBO0lBQ0UseUJWU29CO0lVUnBCLFlBQVk7SUFDWixnQlYwRXdCO0FEMjdCMUI7O0FXbGdDQTtJQUNFLGtCQUFrQjtJQUNsQixzQkVnQnVEO0FicS9CekQ7O0FXbmdDRTtJQUNFLHFCRWFxRDtBYnkvQnpEOztBV3BnQ0U7SUFDRSxzQkVVcUQ7QWI2L0J6RDs7QWUzaUNFO0lKeUNBLGtCVlVZO0lVVFosZ0JWMkQwQjtBRDI4QjVCOztBV25nQ0E7SUFDRSxnQlZxRHdCO0lVcER4QixlQUFlO0lBQ2YsY1ZiaUI7SVVjakIsaUJBQWlC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QXFCL3lDRDs7Q3JCa3pDQztBcUI5eUNEO0lBQ0UsY3BCa0VhO0lvQmpFYixtQlIyRXVEO0FicXVDekQ7O0FxQnZ5Q0E7SUFDRSxnQnBCeUhzQjtJb0J4SHRCLGdCQUFnQjtJQUtkLGVBQWU7QXJCc3lDbkI7O0FzQjNwQ007SURsSk47UUFJSSxlQUFlO0lyQjh5Q2Y7QUFDSjs7QXFCeHlDQTtJQUNFLGdCcEI4R3NCO0lvQjdHdEIsZUFBZTtJQUNmLGlCQUFpQjtBckIyeUNuQjs7QXNCdnFDTTtJRHZJTjtRQUtJLGVBQWU7UUFDZixnQkFBZ0I7SXJCOHlDaEI7QUFDSjs7QXFCM3lDQTtJQUNFLGdCcEJtRzBCO0lvQmxHMUIsZUFBZTtJQUNmLGlCQUFpQjtBckI4eUNuQjs7QXFCM3lDQTtJQUNFLGdCcEI4RnNCO0lvQjdGdEIsZUFBZTtJQUNmLGlCQUFpQjtBckI4eUNuQjs7QXFCM3lDQTtJQUNFLGdCcEJ3RnNCO0lvQnZGdEIsY3BCcUJhO0lvQnBCYix5QlI4QnVEO0lRN0J2RCxpQkFBaUI7SUFLZixlQUFlO0FyQjB5Q25COztBc0Jsc0NNO0lEakhOO1FBTUksZUFBZTtJckJrekNmO0FBQ0o7O0FxQjV5Q0E7SUFDRSxnQnBCMkVzQjtJb0IxRXRCLGVBQWU7SUFDZixjcEJNaUI7SW9CTGpCLHlCUmdCdUQ7SVFmdkQsaUJBQWlCO0FyQit5Q25COztBcUI1eUNBO0lBQ0UsZ0JwQm1Fc0I7SW9CbEV0QixjcEJEaUI7SW9CRWpCLHlCUlN1RDtJUVJ2RCxnQkFBZ0I7QXJCK3lDbEI7O0FxQjV5Q0E7SUFDRSxlQUFlO0lBQ2Ysa0JBQWtCO0FyQit5Q3BCOztBcUI1eUNBO0lBQ0UsZUFBZTtJQUNmLGtCQUFrQjtBckIreUNwQjs7QXFCenlDQTtJQUNFLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJwQmdIeUI7QUQ0ckMzQjs7QXFCenlDQTtJQUNFLGdCcEJ3QzBCO0lvQnZDMUIsZUFBZTtJQUNmLGNwQjNCYTtJb0I0QmIseUJSbEJ1RDtJUW1CdkQsaUJBQWlCO0FyQjR5Q25COztBcUJ6eUNBO0lBQ0UsZ0JwQmlDc0I7SW9CaEN0QixjcEJsQ2E7SW9CbUNiLHdCUnpCdUQ7SVEwQnZELGVBQWU7QXJCNHlDakI7O0FxQmh6Q0E7SUFPSSxlQUFlO0lBQ2YsaUJBQWlCO0FyQjZ5Q3JCOztBcUJyekNBO0lBV0ksZUFBZTtJQUNmLGlCQUFpQjtBckI4eUNyQjs7QXFCMXpDQTtJQWVJLGVBQWU7SUFDZix5QlJ0Q3FEO0FicTFDekQ7O0FxQi96Q0E7SUFtQkksZUFBZTtBckJnekNuQjs7QXFCbjBDQTtJQXdCTSxZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLGVBQWU7QXJCK3lDckI7O0FxQnowQ0E7SUE2Qk0sZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBckJnekN6Qjs7QXFCOTBDQTtJQWtDSSxjcEJsRVc7SW9CbUVYLGlCQUFpQjtJQUNqQixvQkFBb0I7QXJCZ3pDeEI7O0FxQjV5Q0E7O0NyQmd6Q0M7QXFCN3lDRDtJQUNFLG1CQUFtQjtBckIreUNyQjs7QXFCNXlDQTtJQUNFLGtCQUFrQjtBckIreUNwQjs7QXFCNXlDQTtJQUNFLDBCQUEwQjtBckIreUM1Qjs7QXFCNXlDQTtJQUNFLHFCQUFxQjtBckIreUN2Qjs7QXFCNXlDQTtJQUNFLHlCQUF5QjtBckIreUMzQjs7QXFCNXlDQTtJQUNFLHlCQUF5QjtBckIreUMzQjs7QXFCNXlDQTtJQUNFLDBCQUEwQjtBckIreUM1Qjs7QXFCNXlDQTtJQUNFLDBCQUEwQjtBckIreUM1Qjs7QXFCNXlDQTtJQUNFLHVCQUF1QjtBckIreUN6Qjs7QXFCNXlDQTtJQUNFLG1CQUFtQjtBckIreUNyQjs7QXFCN3lDQTtJQUNFLDhCQUE4QjtBckJnekNoQzs7QXFCOXlDQTtJQUNFLHFCQUFxQjtBckJpekN2Qjs7QXFCL3lDQTtJQUNFLG1CQUFtQjtBckJrekNyQjs7QXFCaHpDQTtJQUNFLDZCQUE2QjtBckJtekMvQjs7QXFCanpDQTtJQUNFLGNwQjlJaUI7QURrOENuQjs7QXFCdHlDRTtJQUNFLGdCcEJoRnFCO0FEeTNDekI7O0FxQjUyQ0E7SUFtRUksZ0JwQi9Fc0I7QUQ0M0MxQjs7QXFCOXlDRTtJQUNFLGdCcEI5RW9CO0FEKzNDeEI7O0FxQmx6Q0U7SUFDRSxnQnBCN0V3QjtBRGs0QzVCOztBcUJ0ekNFO0lBQ0UsZ0JwQjVFb0I7QURxNEN4Qjs7QXFCMXpDRTtJQUNFLGdCcEI1RW9CO0FEeTRDeEI7O0FxQnp6Q0E7O0NyQjZ6Q0M7QXFCdHpDQztJQUNFLGdCcEJoSmM7QUR3OENsQjs7QXNCeDNDTTtJRHVFRTtRQUVJLGdCcEJ6Sk07SUQ2OENkO0FBQ0o7O0FzQjkzQ007SUR1RUU7UUFFSSxnQnBCekpNO0lEbTlDZDtBQUNKOztBc0JwNENNO0lEdUVFO1FBRUksZ0JwQnpKTTtJRHk5Q2Q7QUFDSjs7QXNCMTRDTTtJRHVFRTtRQUVJLGdCcEJ6Sk07SUQrOUNkO0FBQ0o7O0FzQmg1Q007SUR1RUU7UUFFSSxnQnBCekpNO0lEcStDZDtBQUNKOztBc0J0NUNNO0lEdUVFO1FBRUksZ0JwQnpKTTtJRDIrQ2Q7QUFDSjs7QXNCNTVDTTtJRHVFRTtRQUVJLGdCcEJ6Sk07SURpL0NkO0FBQ0o7O0FxQm4yQ0U7SUFDRSxrQnBCaEpzQjtBRHMvQzFCOztBc0J0NkNNO0lEdUVFO1FBRUksa0JwQnpKYztJRDIvQ3RCO0FBQ0o7O0FzQjU2Q007SUR1RUU7UUFFSSxrQnBCekpjO0lEaWdEdEI7QUFDSjs7QXNCbDdDTTtJRHVFRTtRQUVJLGtCcEJ6SmM7SUR1Z0R0QjtBQUNKOztBc0J4N0NNO0lEdUVFO1FBRUksa0JwQnpKYztJRDZnRHRCO0FBQ0o7O0FzQjk3Q007SUR1RUU7UUFFSSxrQnBCekpjO0lEbWhEdEI7QUFDSjs7QXNCcDhDTTtJRHVFRTtRQUVJLGtCcEJ6SmM7SUR5aER0QjtBQUNKOztBc0IxOENNO0lEdUVFO1FBRUksa0JwQnpKYztJRCtoRHRCO0FBQ0o7O0FxQmo1Q0U7SUFDRSxpQnBCaEo2QjtBRG9pRGpDOztBc0JwOUNNO0lEdUVFO1FBRUksaUJwQnpKcUI7SUR5aUQ3QjtBQUNKOztBc0IxOUNNO0lEdUVFO1FBRUksaUJwQnpKcUI7SUQraUQ3QjtBQUNKOztBc0JoK0NNO0lEdUVFO1FBRUksaUJwQnpKcUI7SURxakQ3QjtBQUNKOztBc0J0K0NNO0lEdUVFO1FBRUksaUJwQnpKcUI7SUQyakQ3QjtBQUNKOztBc0I1K0NNO0lEdUVFO1FBRUksaUJwQnpKcUI7SURpa0Q3QjtBQUNKOztBc0JsL0NNO0lEdUVFO1FBRUksaUJwQnpKcUI7SUR1a0Q3QjtBQUNKOztBc0J4L0NNO0lEdUVFO1FBRUksaUJwQnpKcUI7SUQ2a0Q3QjtBQUNKOztBcUIvN0NFO0lBQ0UsbUJwQmhKc0M7QURrbEQxQzs7QXNCbGdETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lEdWxEdEM7QUFDSjs7QXNCeGdETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lENmxEdEM7QUFDSjs7QXNCOWdETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lEbW1EdEM7QUFDSjs7QXNCcGhETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lEeW1EdEM7QUFDSjs7QXNCMWhETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lEK21EdEM7QUFDSjs7QXNCaGlETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lEcW5EdEM7QUFDSjs7QXNCdGlETTtJRHVFRTtRQUVJLG1CcEJ6SjhCO0lEMm5EdEM7QUFDSjs7QXFCNytDRTtJQUNFLGtCcEJoSjhDO0FEZ29EbEQ7O0FzQmhqRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRHFvRDlDO0FBQ0o7O0FzQnRqRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRDJvRDlDO0FBQ0o7O0FzQjVqRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRGlwRDlDO0FBQ0o7O0FzQmxrRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRHVwRDlDO0FBQ0o7O0FzQnhrRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRDZwRDlDO0FBQ0o7O0FzQjlrRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRG1xRDlDO0FBQ0o7O0FzQnBsRE07SUR1RUU7UUFFSSxrQnBCekpzQztJRHlxRDlDO0FBQ0o7O0FxQnpnREE7O0NyQjZnREM7QXFCdmdERDtJQUdNLGNwQnpMUztBRGdzRGY7O0FxQjFnREE7SUFHTSxjcEJ6TFM7QURvc0RmOztBcUI5Z0RBO0lBR00sY3BCekxTO0FEd3NEZjs7QXFCbGhEQTtJQUdNLGNwQnpMUztBRDRzRGY7O0FxQnRoREE7SUFHTSxjcEJ6TFM7QURndERmOztBcUIxaERBO0lBR00sY3BCekxTO0FEb3REZjs7QXFCOWhEQTtJQUdNLGNwQnpMUztBRHd0RGY7O0FxQmxpREE7SUFHTSxjcEJ6TFM7QUQ0dERmOztBcUJ0aURBO0lBR00sY3BCekxTO0FEZ3VEZjs7QXFCMWlEQTtJQUdNLGNwQnpMUztBRG91RGY7O0FxQjlpREE7SUFHTSxjcEJ6TFM7QUR3dURmOztBcUJsakRBO0lBR00sY3BCekxTO0FENHVEZjs7QXFCdGpEQTtJQUdNLGNwQnpMUztBRGd2RGY7O0FxQjFqREE7SUFHTSxjcEJ6TFM7QURvdkRmOztBcUI5akRBOzs7Ozs7SUFZSSxjcEJsTVc7QUQ2dkRmOztBcUI3aURFO0lBQ0UsY3BCN05jO0FENndEbEI7O0FxQmpqREU7SUFDRSxjcEI1TmdCO0FEZ3hEcEI7O0FxQnJqREU7SUFDRSxjcEJ4Tlk7QURneERoQjs7QXFCempERTtJQUNFLGNwQjFOYztBRHN4RGxCOztBcUI3akRFO0lBQ0UsY3BCN01lO0FENndEbkI7O0FxQmprREU7SUFDRSxjcEI5TWlCO0FEa3hEckI7O0FxQmhrREE7O0NyQm9rREM7QXFCaGtERDs7Q3JCbWtEQztBcUJoakREO0lBQ0UscUJBQXFCO0lBQ3JCLGNwQnpPYTtJb0IwT2IsY0FBYztJQUNkLGVBUmE7SUFTYixnQnBCM0swQjtJb0I0SzFCLHlCQUF5QjtJQUN6QixtQkFBaUM7SUFDakMsbUJBQThGO0lBQzlGLHlCcEJsUG1CO0FEb3lEckI7O0FxQjNqREE7SUFhTSx5QnBCclFZO0FEdXpEbEI7O0FxQi9qREE7SUFhTSx5QnBCcFFjO0FEMHpEcEI7O0FxQm5rREE7SUFhTSx5QnBCalFZO0FEMnpEbEI7O0FxQnZrREE7SUFhTSx5QnBCaFFVO0FEOHpEaEI7O0FxQjNrREE7SUFhTSx5QnBCNVBnQjtBRDh6RHRCOztBcUIva0RBO0lBa0JNLGVBdkJPO0lBd0JQLHVCQUFv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Q2tCO1FBdUNsQix1QkF2Q2tCO1lBdUNsQixvQkF2Q2tCO0ExQndxRXBCOztBeUJ0bEVJO0lDM0JGLDRCQXZEa0I7UUF1RGxCLG1CQXZEa0I7QTFCNHFFcEI7O0F5QnBsRUU7SUNsREEsd0JBL0NnQjtRQStDaEIscUJBL0NnQjtZQStDaEIsdUJBL0NnQjtJQWdEaEIseUJBeENnQjtRQXdDaEIsc0JBeENnQjtZQXdDaEIsbUJBeENnQjtJRDJGZCwwQkFBcUI7UUFBckIscUJBQXFCO0F6QndsRXpCOztBeUJsbEVNO0lDbkNKLDRCRGtDZ0I7UUNsQ2hCLGlCRGtDZ0I7WUNsQ2hCLFFEa0NnQjtBekJ1bEVsQjs7QXlCdGxFTTtJQ25DSiw0QkRrQ2dCO1FDbENoQixpQkRrQ2dCO1lDbENoQixRRGtDZ0I7QXpCMmxFbEI7O0F5QjFsRU07SUNuQ0osNEJEa0NnQjtRQ2xDaEIsaUJEa0NnQjtZQ2xDaEIsUURrQ2dCO0F6QitsRWxCOztBeUI5bEVNO0lDbkNKLDRCRGtDZ0I7UUNsQ2hCLGlCRGtDZ0I7WUNsQ2hCLFFEa0NnQjtBekJtbUVsQjs7QXlCbG1FTTtJQ25DSiw0QkRrQ2dCO1FDbENoQixpQkRrQ2dCO1lDbENoQixRRGtDZ0I7QXpCdW1FbEI7O0F5QnRtRU07SUNuQ0osNEJEa0NnQjtRQ2xDaEIsaUJEa0NnQjtZQ2xDaEIsUURrQ2dCO0F6QjJtRWxCOztBc0JuakVNO0lHdkRBO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCZ25FZDtJeUIvbUVFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCbW5FZDtJeUJsbkVFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCc25FZDtJeUJybkVFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCeW5FZDtJeUJ4bkVFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCNG5FZDtJeUIzbkVFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCK25FZDtBQUNKOztBc0J4a0VNO0lHdkRBO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCcW9FZDtJeUJwb0VFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCd29FZDtJeUJ2b0VFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCMm9FZDtJeUIxb0VFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCOG9FZDtJeUI3b0VFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCaXBFZDtJeUJocEVFO1FDbkNKLDRCRGtDZ0I7WUNsQ2hCLGlCRGtDZ0I7Z0JDbENoQixRRGtDZ0I7SXpCb3BFZDtBQUNKOztBeUIvdUVFO0lDT0Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7QTFCNHVFZjs7QXlCL3VFRTtJQUNFLG1CQUFjO1FBQWQsa0JBQWM7WUFBZCxjQUFjO0F6Qmt2RWxCOztBeUIvdUVFO0lBQ0UsbUJBQWM7UUFBZCxrQkFBYztZQUFkLGNBQWM7QXpCa3ZFbEI7O0F5Qi91RUU7SUFDRSxtQkFBYztRQUFkLGtCQUFjO1lBQWQsY0FBYztBekJrdkVsQjs7QXlCOXVFSTtJQ2lERiw4QkFuRVU7SUFtRVYsNkJBbkVVO1FBbUVWLHVCQW5FVTtZQW1FVixtQkFuRVU7QTFCb3dFWjs7QXlCbHZFSTtJQ2lERiw4QkFsRTBCO0lBa0UxQiw4QkFsRTBCO1FBa0UxQiwrQkFsRTBCO1lBa0UxQiwyQkFsRTBCO0ExQnV3RTVCOztBeUJ0dkVJO0lDaURGLDRCQWpFZ0I7SUFpRWhCLDZCQWpFZ0I7UUFpRWhCLDBCQWpFZ0I7WUFpRWhCLHNCQWpFZ0I7QTFCMHdFbEI7O0F5QjF2RUk7SUNpREYsNEJBaEVnQztJQWdFaEMsOEJBaEVnQztRQWdFaEMsa0NBaEVnQztZQWdFaEMsOEJBaEVnQztBMUI2d0VsQzs7QXNCN25FTTtJR3ZISTtRQ3BCUixvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtJMUI2d0VYO0l5QnJ2RU07UUFDRSxtQkFBYztZQUFkLGtCQUFjO2dCQUFkLGNBQWM7SXpCdXZFdEI7SXlCcHZFTTtRQUNFLG1CQUFjO1lBQWQsa0JBQWM7Z0JBQWQsY0FBYztJekJzdkV0QjtJeUJudkVNO1FBQ0UsbUJBQWM7WUFBZCxrQkFBYztnQkFBZCxjQUFjO0l6QnF2RXRCO0l5Qmp2RVE7UUNzQlYsOEJBbkVVO1FBbUVWLDZCQW5FVTtZQW1FVix1QkFuRVU7Z0JBbUVWLG1CQW5FVTtJMUJpeUVSO0l5QnB2RVE7UUNzQlYsOEJBbEUwQjtRQWtFMUIsOEJBbEUwQjtZQWtFMUIsK0JBbEUwQjtnQkFrRTFCLDJCQWxFMEI7STFCbXlFeEI7SXlCdnZFUTtRQ3NCViw0QkFqRWdCO1FBaUVoQiw2QkFqRWdCO1lBaUVoQiwwQkFqRWdCO2dCQWlFaEIsc0JBakVnQjtJMUJxeUVkO0l5QjF2RVE7UUNzQlYsNEJBaEVnQztRQWdFaEMsOEJBaEVnQztZQWdFaEMsa0NBaEVnQztnQkFnRWhDLDhCQWhFZ0M7STFCdXlFOUI7QUFDSjs7QXNCeHBFTTtJR3ZISTtRQ3BCUixvQkFBYTtRQUFiLG9CQUFhO1FBQWIsYUFBYTtJMUJ3eUVYO0l5Qmh4RU07UUFDRSxtQkFBYztZQUFkLGtCQUFjO2dCQUFkLGNBQWM7SXpCa3hFdEI7SXlCL3dFTTtRQUNFLG1CQUFjO1lBQWQsa0JBQWM7Z0JBQWQsY0FBYztJekJpeEV0QjtJeUI5d0VNO1FBQ0UsbUJBQWM7WUFBZCxrQkFBYztnQkFBZCxjQUFjO0l6Qmd4RXRCO0l5QjV3RVE7UUNzQlYsOEJBbkVVO1FBbUVWLDZCQW5FVTtZQW1FVix1QkFuRVU7Z0JBbUVWLG1CQW5FVTtJMUI0ekVSO0l5Qi93RVE7UUNzQlYsOEJBbEUwQjtRQWtFMUIsOEJBbEUwQjtZQWtFMUIsK0JBbEUwQjtnQkFrRTFCLDJCQWxFMEI7STFCOHpFeEI7SXlCbHhFUTtRQ3NCViw0QkFqRWdCO1FBaUVoQiw2QkFqRWdCO1lBaUVoQiwwQkFqRWdCO2dCQWlFaEIsc0JBakVnQjtJMUJnMEVkO0l5QnJ4RVE7UUNzQlYsNEJBaEVnQztRQWdFaEMsOEJBaEVnQztZQWdFaEMsa0NBaEVnQztnQkFnRWhDLDhCQWhFZ0M7STFCazBFOUI7QUFDSjs7QTJCeHRFRTtJQzdCQSxnQmZUdUQ7SWNuRHJELGtCQUFrQjtJQUNsQixpQkFBaUI7SUFJakIsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw4QkFsQm1CO0lBa0JuQiw2QkFsQm1CO1FBa0JuQix1QkFsQm1CO1lBa0JuQixtQkFsQm1CO0EzQnEwRXZCOztBMkJodUVFO0lDMUNFLHVCQUYrRDtJQUcvRCxzQkFIK0Q7QTVCaXhFbkU7O0FzQmhzRU07SUtyQ0o7UUMxQ0UsdUJBRitEO1FBRy9ELHNCQUgrRDtJNUJ1eEUvRDtBQUNKOztBc0J2c0VNO0lLckNKO1FDMUNFLHVCQUYrRDtRQUcvRCxzQkFIK0Q7STVCOHhFL0Q7QUFDSjs7QTJCbnZFRTtJQVFNLGVBQWU7SUFDZixjQUFjO0EzQit1RXRCOztBMkJ4dkVFO0lDN0JBLGVBSGE7QTVCNHhFZjs7QTJCNXZFRTtJQWtCTSxrQkFBa0I7SUFDbEIsaUJBQWlCO0EzQjh1RXpCOztBMkJqd0VFO0lDN0JBLGVBSGE7QTVCcXlFZjs7QTJCcndFRTtJRXhHRSxnQmhCdUVTO0lnQnRFVCxlaEJzRVM7QWIyeUViOztBMkIxd0VFOzs7SUFxQ0ksZUFBZTtJQUNmLGNBQWM7QTNCMnVFcEI7O0EyQnR1RUU7SUF0REEsbUJBeERjO1FBd0RkLGlCQXhEYztZQXdEZCxhQXhEYztJRXJDWix1QkFGcUM7SUFHckMsc0JBSHFDO0lGb0VyQyxZQUFZO0EzQjh6RWhCOztBc0JudkVNO0lLTUo7UUVuSkUsdUJBRnFDO1FBR3JDLHNCQUhxQztJN0J3NEVyQztBQUNKOztBMkI5dUVFO0lBQ0UsV0FBVztJQUNYLGNBQWM7QTNCaXZFbEI7O0EyQjd1RUU7SUFDRSxlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQixlQUFlO0EzQmd2RW5COztBMkIxdUVNO0lBQ0UsbUJHbksrQztRSG1LL0Msb0JHbksrQztZSG1LL0MsZ0JHbksrQztJSG9LL0MsaUJHcEsrQztBOUJpNUV2RDs7QTJCdnVFTTtJSTdKSixlRGhCZ0M7QTlCdzVFbEM7O0EyQm52RU07SUFDRSxtQkduSytDO1FIbUsvQyxxQkduSytDO1lIbUsvQyxpQkduSytDO0lIb0svQyxrQkdwSytDO0E5QjA1RXZEOztBMkJodkVNO0lJN0pKLG1CRGJxRDtBOUI4NUV2RDs7QTJCNXZFTTtJQUNFLG1CR25LK0M7UUhtSy9DLGlCR25LK0M7WUhtSy9DLGFHbksrQztJSG9LL0MsY0dwSytDO0E5Qm02RXZEOztBMkJ6dkVNO0lJN0pKLG9CRGJxRDtBOUJ1NkV2RDs7QTJCcndFTTtJQUNFLG1CR25LK0M7UUhtSy9DLHFCR25LK0M7WUhtSy9DLGlCR25LK0M7SUhvSy9DLGtCR3BLK0M7QTlCNDZFdkQ7O0EyQmx3RU07SUk3SkosZ0JEYnFEO0E5Qmc3RXZEOztBMkI5d0VNO0lBQ0UsbUJHbksrQztRSG1LL0MscUJHbksrQztZSG1LL0MsaUJHbksrQztJSG9LL0Msa0JHcEsrQztBOUJxN0V2RDs7QTJCM3dFTTtJSTdKSixvQkRicUQ7QTlCeTdFdkQ7O0EyQnZ4RU07SUFDRSxtQkduSytDO1FIbUsvQyxpQkduSytDO1lIbUsvQyxhR25LK0M7SUhvSy9DLGNHcEsrQztBOUI4N0V2RDs7QTJCcHhFTTtJSTdKSixvQkRicUQ7QTlCazhFdkQ7O0EyQmh5RU07SUFDRSxtQkduSytDO1FIbUsvQyxxQkduSytDO1lIbUsvQyxpQkduSytDO0lIb0svQyxrQkdwSytDO0E5QnU4RXZEOztBMkI3eEVNO0lJN0pKLGdCRGJxRDtBOUIyOEV2RDs7QTJCenlFTTtJQUNFLG1CR25LK0M7UUhtSy9DLHFCR25LK0M7WUhtSy9DLGlCR25LK0M7SUhvSy9DLGtCR3BLK0M7QTlCZzlFdkQ7O0EyQnR5RU07SUk3Skosb0JEYnFEO0E5Qm85RXZEOztBMkJsekVNO0lBQ0UsbUJHbksrQztRSG1LL0MsaUJHbksrQztZSG1LL0MsYUduSytDO0lIb0svQyxjR3BLK0M7QTlCeTlFdkQ7O0EyQi95RU07SUk3Skosb0JEYnFEO0E5QjY5RXZEOztBMkIzekVNO0lBQ0UsbUJHbksrQztRSG1LL0MscUJHbksrQztZSG1LL0MsaUJHbksrQztJSG9LL0Msa0JHcEsrQztBOUJrK0V2RDs7QTJCeHpFTTtJSTdKSixnQkRicUQ7QTlCcytFdkQ7O0EyQnAwRU07SUFDRSxtQkduSytDO1FIbUsvQyxxQkduSytDO1lIbUsvQyxpQkduSytDO0lIb0svQyxrQkdwSytDO0E5QjIrRXZEOztBMkJqMEVNO0lJN0pKLG9CRGJxRDtBOUIrK0V2RDs7QTJCNzBFTTtJQUNFLG1CR25LK0M7UUhtSy9DLGtCR25LK0M7WUhtSy9DLGNHbksrQztJSG9LL0MsZUdwSytDO0E5Qm8vRXZEOztBMkIxMEVNO0lJN0pKLG9CRGJxRDtBOUJ3L0V2RDs7QTJCdjBFTTtJQTFHSixtQkFBZTtRQUFmLGVBQWU7QTNCcTdFakI7O0EyQm43RUU7SUFHRSxtQkFGc0I7UUFFdEIsa0JBRnNCO1lBRXRCLGNBRnNCO0lBR3RCLGVBSHNCO0EzQnU3RTFCOztBMkJoMUVNO0lBMUdKLG1CQUFlO1FBQWYsZUFBZTtBM0I4N0VqQjs7QTJCNTdFRTtJQUdFLG1CQUZzQjtRQUV0QixpQkFGc0I7WUFFdEIsYUFGc0I7SUFHdEIsY0FIc0I7QTNCZzhFMUI7O0EyQnoxRU07SUExR0osbUJBQWU7UUFBZixlQUFlO0EzQnU4RWpCOztBMkJyOEVFO0lBR0UsbUJBRnNCO1FBRXRCLHFCQUZzQjtZQUV0QixpQkFGc0I7SUFHdEIsa0JBSHNCO0EzQnk4RTFCOztBMkJsMkVNO0lBMUdKLG1CQUFlO1FBQWYsZUFBZTtBM0JnOUVqQjs7QTJCOThFRTtJQUdFLG1CQUZzQjtRQUV0QixpQkFGc0I7WUFFdEIsYUFGc0I7SUFHdEIsY0FIc0I7QTNCazlFMUI7O0EyQjMyRU07SUExR0osbUJBQWU7UUFBZixlQUFlO0EzQnk5RWpCOztBMkJ2OUVFO0lBR0UsbUJBRnNCO1FBRXRCLGlCQUZzQjtZQUV0QixhQUZzQjtJQUd0QixjQUhzQjtBM0IyOUUxQjs7QTJCcDNFTTtJQTFHSixtQkFBZTtRQUFmLGVBQWU7QTNCaytFakI7O0EyQmgrRUU7SUFHRSxtQkFGc0I7UUFFdEIscUJBRnNCO1lBRXRCLGlCQUZzQjtJQUd0QixrQkFIc0I7QTNCbytFMUI7O0EyQjczRU07SUExR0osbUJBQWU7UUFBZixlQUFlO0EzQjIrRWpCOztBMkJ6K0VFO0lBR0UsbUJBRnNCO1FBRXRCLHFCQUZzQjtZQUV0QixpQkFGc0I7SUFHdEIsa0JBSHNCO0EzQjYrRTFCOztBMkJ0NEVNO0lBMUdKLG1CQUFlO1FBQWYsZUFBZTtBM0JvL0VqQjs7QTJCbC9FRTtJQUdFLG1CQUZzQjtRQUV0QixtQkFGc0I7WUFFdEIsZUFGc0I7SUFHdEIsZ0JBSHNCO0EzQnMvRTFCOztBMkJuM0VJO0lFcE5BLGdCaEJ1RVM7SWdCdEVULGVoQnNFUztBYnFnRmI7O0EyQnAzRUk7SUV4TkEsdUJBRnFDO0lBR3JDLHNCQUhxQztBN0JtbEZ6Qzs7QXNCcDhFTTtJSzRCQTtRQUNFLG1CR25LK0M7WUhtSy9DLG9CR25LK0M7Z0JIbUsvQyxnQkduSytDO1FIb0svQyxpQkdwSytDO0k5QmdsRm5EO0kyQnQ2RUU7UUk3SkosZURoQmdDO0k5QnNsRjlCO0kyQmo3RUU7UUFDRSxtQkduSytDO1lIbUsvQyxxQkduSytDO2dCSG1LL0MsaUJHbksrQztRSG9LL0Msa0JHcEsrQztJOUJ1bEZuRDtJMkI3NkVFO1FJN0pKLG1CRGJxRDtJOUIwbEZuRDtJMkJ4N0VFO1FBQ0UsbUJHbksrQztZSG1LL0MsaUJHbksrQztnQkhtSy9DLGFHbksrQztRSG9LL0MsY0dwSytDO0k5QjhsRm5EO0kyQnA3RUU7UUk3Skosb0JEYnFEO0k5QmltRm5EO0kyQi83RUU7UUFDRSxtQkduSytDO1lIbUsvQyxxQkduSytDO2dCSG1LL0MsaUJHbksrQztRSG9LL0Msa0JHcEsrQztJOUJxbUZuRDtJMkIzN0VFO1FJN0pKLGdCRGJxRDtJOUJ3bUZuRDtJMkJ0OEVFO1FBQ0UsbUJHbksrQztZSG1LL0MscUJHbksrQztnQkhtSy9DLGlCR25LK0M7UUhvSy9DLGtCR3BLK0M7STlCNG1GbkQ7STJCbDhFRTtRSTdKSixvQkRicUQ7STlCK21GbkQ7STJCNzhFRTtRQUNFLG1CR25LK0M7WUhtSy9DLGlCR25LK0M7Z0JIbUsvQyxhR25LK0M7UUhvSy9DLGNHcEsrQztJOUJtbkZuRDtJMkJ6OEVFO1FJN0pKLG9CRGJxRDtJOUJzbkZuRDtJMkJwOUVFO1FBQ0UsbUJHbksrQztZSG1LL0MscUJHbksrQztnQkhtSy9DLGlCR25LK0M7UUhvSy9DLGtCR3BLK0M7STlCMG5GbkQ7STJCaDlFRTtRSTdKSixnQkRicUQ7STlCNm5GbkQ7STJCMzlFRTtRQUNFLG1CR25LK0M7WUhtSy9DLHFCR25LK0M7Z0JIbUsvQyxpQkduSytDO1FIb0svQyxrQkdwSytDO0k5QmlvRm5EO0kyQnY5RUU7UUk3Skosb0JEYnFEO0k5Qm9vRm5EO0kyQmwrRUU7UUFDRSxtQkduSytDO1lIbUsvQyxpQkduSytDO2dCSG1LL0MsYUduSytDO1FIb0svQyxjR3BLK0M7STlCd29GbkQ7STJCOTlFRTtRSTdKSixvQkRicUQ7STlCMm9GbkQ7STJCeitFRTtRQUNFLG1CR25LK0M7WUhtSy9DLHFCR25LK0M7Z0JIbUsvQyxpQkduSytDO1FIb0svQyxrQkdwSytDO0k5QitvRm5EO0kyQnIrRUU7UUk3SkosZ0JEYnFEO0k5QmtwRm5EO0kyQmgvRUU7UUFDRSxtQkduSytDO1lIbUsvQyxxQkduSytDO2dCSG1LL0MsaUJHbksrQztRSG9LL0Msa0JHcEsrQztJOUJzcEZuRDtJMkI1K0VFO1FJN0pKLG9CRGJxRDtJOUJ5cEZuRDtJMkJ2L0VFO1FBQ0UsbUJHbksrQztZSG1LL0Msa0JHbksrQztnQkhtSy9DLGNHbksrQztRSG9LL0MsZUdwSytDO0k5QjZwRm5EO0kyQm4vRUU7UUk3Skosb0JEYnFEO0k5QmdxRm5EO0kyQi8rRUU7UUExR0osbUJBQWU7WUFBZixlQUFlO0kzQjRsRmI7STJCMWxGRjtRQUdFLG1CQUZzQjtZQUV0QixrQkFGc0I7Z0JBRXRCLGNBRnNCO1FBR3RCLGVBSHNCO0kzQjZsRnRCO0kyQnQvRUU7UUExR0osbUJBQWU7WUFBZixlQUFlO0kzQm1tRmI7STJCam1GRjtRQUdFLG1CQUZzQjtZQUV0QixpQkFGc0I7Z0JBRXRCLGFBRnNCO1FBR3RCLGNBSHNCO0kzQm9tRnRCO0kyQjcvRUU7UUExR0osbUJBQWU7WUFBZixlQUFlO0kzQjBtRmI7STJCeG1GRjtRQUdFLG1CQUZzQjtZQUV0QixxQkFGc0I7Z0JBRXRCLGlCQUZzQjtRQUd0QixrQkFIc0I7STNCMm1GdEI7STJCcGdGRTtRQTFHSixtQkFBZTtZQUFmLGVBQWU7STNCaW5GYjtJMkIvbUZGO1FBR0UsbUJBRnNCO1lBRXRCLGlCQUZzQjtnQkFFdEIsYUFGc0I7UUFHdEIsY0FIc0I7STNCa25GdEI7STJCM2dGRTtRQTFHSixtQkFBZTtZQUFmLGVBQWU7STNCd25GYjtJMkJ0bkZGO1FBR0UsbUJBRnNCO1lBRXRCLGlCQUZzQjtnQkFFdEIsYUFGc0I7UUFHdEIsY0FIc0I7STNCeW5GdEI7STJCbGhGRTtRQTFHSixtQkFBZTtZQUFmLGVBQWU7STNCK25GYjtJMkI3bkZGO1FBR0UsbUJBRnNCO1lBRXRCLHFCQUZzQjtnQkFFdEIsaUJBRnNCO1FBR3RCLGtCQUhzQjtJM0Jnb0Z0QjtJMkJ6aEZFO1FBMUdKLG1CQUFlO1lBQWYsZUFBZTtJM0Jzb0ZiO0kyQnBvRkY7UUFHRSxtQkFGc0I7WUFFdEIscUJBRnNCO2dCQUV0QixpQkFGc0I7UUFHdEIsa0JBSHNCO0kzQnVvRnRCO0kyQmhpRkU7UUExR0osbUJBQWU7WUFBZixlQUFlO0kzQjZvRmI7STJCM29GRjtRQUdFLG1CQUZzQjtZQUV0QixtQkFGc0I7Z0JBRXRCLGVBRnNCO1FBR3RCLGdCQUhzQjtJM0I4b0Z0QjtBQUNKOztBc0JubEZNO0lLbURFO1FBQ0UsbUJBNUpNO1lBNEpOLGlCQTVKTTtnQkE0Sk4sYUE1Sk07STNCZ3NGWjtBQUNKOztBMkIvaEZRO0lBRUksbUJBQTJCO1FBQTNCLGtCQUEyQjtZQUEzQixjQUEyQjtBM0JpaUZ2Qzs7QXNCN2xGTTtJSzBERTtRQUtNLG1CQXZLRTtZQXVLRixpQkF2S0U7Z0JBdUtGLGFBdktFO0kzQjBzRlo7QUFDSjs7QXNCbm1GTTtJS3VFRjtRRXBOQSxnQmhCdUVTO1FnQnRFVCxlaEJzRVM7SWIrcUZUO0kyQjloRkE7UUV4TkEsdUJBRnFDO1FBR3JDLHNCQUhxQztJN0I0dkZyQztBQUNKOztBc0I5bUZNO0lLNEJBO1FBQ0UsbUJHbksrQztZSG1LL0Msb0JHbksrQztnQkhtSy9DLGdCR25LK0M7UUhvSy9DLGlCR3BLK0M7STlCMHZGbkQ7STJCaGxGRTtRSTdKSixlRGhCZ0M7STlCZ3dGOUI7STJCM2xGRTtRQUNFLG1CR25LK0M7WUhtSy9DLHFCR25LK0M7Z0JIbUsvQyxpQkduSytDO1FIb0svQyxrQkdwSytDO0k5Qml3Rm5EO0kyQnZsRkU7UUk3SkosbUJEYnFEO0k5Qm93Rm5EO0kyQmxtRkU7UUFDRSxtQkduSytDO1lIbUsvQyxpQkduSytDO2dCSG1LL0MsYUduSytDO1FIb0svQyxjR3BLK0M7STlCd3dGbkQ7STJCOWxGRTtRSTdKSixvQkRicUQ7STlCMndGbkQ7STJCem1GRTtRQUNFLG1CR25LK0M7WUhtSy9DLHFCR25LK0M7Z0JIbUsvQyxpQkduSytDO1FIb0svQyxrQkdwSytDO0k5Qit3Rm5EO0kyQnJtRkU7UUk3SkosZ0JEYnFEO0k5Qmt4Rm5EO0kyQmhuRkU7UUFDRSxtQkduSytDO1lIbUsvQyxxQkduSytDO2dCSG1LL0MsaUJHbksrQztRSG9LL0Msa0JHcEsrQztJOUJzeEZuRDtJMkI1bUZFO1FJN0pKLG9CRGJxRDtJOUJ5eEZuRDtJMkJ2bkZFO1FBQ0UsbUJHbksrQztZSG1LL0MsaUJHbksrQztnQkhtSy9DLGFHbksrQztRSG9LL0MsY0dwSytDO0k5QjZ4Rm5EO0kyQm5uRkU7UUk3Skosb0JEYnFEO0k5Qmd5Rm5EO0kyQjluRkU7UUFDRSxtQkduSytDO1lIbUsvQyxxQkduSytDO2dCSG1LL0MsaUJHbksrQztRSG9LL0Msa0JHcEsrQztJOUJveUZuRDtJMkIxbkZFO1FJN0pKLGdCRGJxRDtJOUJ1eUZuRDtJMkJyb0ZFO1FBQ0UsbUJHbksrQztZSG1LL0MscUJHbksrQztnQkhtSy9DLGlCR25LK0M7UUhvSy9DLGtCR3BLK0M7STlCMnlGbkQ7STJCam9GRTtRSTdKSixvQkRicUQ7STlCOHlGbkQ7STJCNW9GRTtRQUNFLG1CR25LK0M7WUhtSy9DLGlCR25LK0M7Z0JIbUsvQyxhR25LK0M7UUhvSy9DLGNHcEsrQztJOUJrekZuRDtJMkJ4b0ZFO1FJN0pKLG9CRGJxRDtJOUJxekZuRDtJMkJucEZFO1FBQ0UsbUJHbksrQztZSG1LL0MscUJHbksrQztnQkhtSy9DLGlCR25LK0M7UUhvSy9DLGtCR3BLK0M7STlCeXpGbkQ7STJCL29GRTtRSTdKSixnQkRicUQ7STlCNHpGbkQ7STJCMXBGRTtRQUNFLG1CR25LK0M7WUhtSy9DLHFCR25LK0M7Z0JIbUsvQyxpQkduSytDO1FIb0svQyxrQkdwSytDO0k5QmcwRm5EO0kyQnRwRkU7UUk3Skosb0JEYnFEO0k5Qm0wRm5EO0kyQmpxRkU7UUFDRSxtQkduSytDO1lIbUsvQyxrQkduSytDO2dCSG1LL0MsY0duSytDO1FIb0svQyxlR3BLK0M7STlCdTBGbkQ7STJCN3BGRTtRSTdKSixvQkRicUQ7STlCMDBGbkQ7STJCenBGRTtRQTFHSixtQkFBZTtZQUFmLGVBQWU7STNCc3dGYjtJMkJwd0ZGO1FBR0UsbUJBRnNCO1lBRXRCLGtCQUZzQjtnQkFFdEIsY0FGc0I7UUFHdEIsZUFIc0I7STNCdXdGdEI7STJCaHFGRTtRQTFHSixtQkFBZTtZQUFmLGVBQWU7STNCNndGYjtJMkIzd0ZGO1FBR0UsbUJBRnNCO1lBRXRCLGlCQUZzQjtnQkFFdEIsYUFGc0I7UUFHdEIsY0FIc0I7STNCOHdGdEI7STJCdnFGRTtRQTFHSixtQkFBZTtZQUFmLGVBQWU7STNCb3hGYjtJMkJseEZGO1FBR0UsbUJBRnNCO1lBRXRCLHFCQUZzQjtnQkFFdEIsaUJBRnNCO1FBR3RCLGtCQUhzQjtJM0JxeEZ0QjtJMkI5cUZFO1FBMUdKLG1CQUFlO1lBQWYsZUFBZTtJM0IyeEZiO0kyQnp4RkY7UUFHRSxt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QTs7OztDakMrakdDO0FrQy9qR0Q7Ozs7Q2xDb2tHQztBbUNsNEZDO0lBL0pBLG1CbEMyU3VCO0lrQ25TckIsWUFBWTtBbkM2aEdoQjs7QVFoNkZFO0lBRUUsY0FBYztJQUNkLFlBQVk7QVJrNkZoQjs7QVExNUZFO0lBQ0UsV0FBVztBUjY1RmY7O0FtQ25pR0U7SUFDRSxTQUFTO0lBQ1QsaUJsQytScUI7SWtDOVJyQixrQmxDOFJxQjtJa0M3UnJCLGlCbENrUmE7QURveEZqQjs7QW1DaGlHSTtJQUNFLGVBQWlDO0FuQ21pR3ZDOztBbUMxNUZFO0lBTU0saUJsQzBITTtBRDh4RmQ7O0FtQzk1RkU7SUFNTSxrQmxDMkhRO0FEaXlGaEI7O0FtQ2w2RkU7SUFNTSxrQmxDNkhRO0FEbXlGaEI7O0FtQ3Q2RkU7SUE1R0UsaUJsQ3lQcUI7QUQ2eEZ6Qjs7QW1DcGhHSTtJQUVFLGFBQWE7QW5Dc2hHbkI7O0FtQzVnR007SUFDRSxXQUFXO0FuQytnR25COztBbUN6Z0dVO0lBQ0UscUJBQXFCO0lBQ3JCLHNCQUFnRDtJQUNoRCxpQmxDaU9hO0FEMnlGekI7O0FtQzFnR1k7SUFDRSxpQkFBbUU7QW5DNmdHakY7O0FtQ25oR1U7SUFDRSxxQkFBcUI7SUFDckIsMEJBQWdEO0lBQ2hELGlCbENpT2E7QURxekZ6Qjs7QW1DcGhHWTtJQUNFLGlCQUFtRTtBbkN1aEdqRjs7QW1DN2hHVTtJQUNFLHFCQUFxQjtJQUNyQixzQkFBZ0Q7SUFDaEQsaUJsQ2lPYTtBRCt6RnpCOztBbUM5aEdZO0lBQ0UsaUJBQW1FO0FuQ2lpR2pGOztBbUN2aUdVO0lBQ0UscUJBQXFCO0lBQ3JCLHNCQUFnRDtJQUNoRCxpQmxDaU9hO0FEeTBGekI7O0FtQ3hpR1k7SUFDRSxpQkFBbUU7QW5DMmlHakY7O0FtQ2pqR1U7SUFDRSxxQkFBcUI7SUFDckIsMEJBQWdEO0lBQ2hELGlCbENpT2E7QURtMUZ6Qjs7QW1DbGpHWTtJQUNFLGlCQUFtRTtBbkNxakdqRjs7QW1DcCtGRTtJQ2pEQSx5Qm5DckZnQjtJbUNzRmhCLGNuQ3JFYTtBRDhsR2Y7O0FvQ3ZoR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DekVXO0FEbW1HZjs7QW1DOStGRTtJQ2pEQSx5Qm5DcEZrQjtJbUNxRmxCLGNuQ3JFYTtBRHdtR2Y7O0FvQ2ppR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DekVXO0FENm1HZjs7QW1DeC9GRTtJQ2pEQSx5Qm5DbkZpQjtJbUNvRmpCLGNuQzFFYTtBRHVuR2Y7O0FvQzNpR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DOUVXO0FENG5HZjs7QW1DbGdHRTtJQ2pEQSx5Qm5DbEZnQjtJbUNtRmhCLGNuQ3JFYTtBRDRuR2Y7O0FvQ3JqR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DekVXO0FEaW9HZjs7QW1DNWdHRTtJQ2pEQSx5Qm5DakZnQjtJbUNrRmhCLGNuQ3JFYTtBRHNvR2Y7O0FvQy9qR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DekVXO0FEMm9HZjs7QW1DdGhHRTtJQ2pEQSx5Qm5DaEZjO0ltQ2lGZCxjbkNyRWE7QURncEdmOztBb0N6a0dFO0lBQ0UseUJBUG9GO0lBUXBGLGNuQ3pFVztBRHFwR2Y7O0FtQ2hpR0U7SUNqREEseUJuQy9FaUI7SW1DZ0ZqQixjbkNyRWE7QUQwcEdmOztBb0NubEdFO0lBQ0UseUJBUG9GO0lBUXBGLGNuQ3pFVztBRCtwR2Y7O0FtQzFpR0U7SUNqREEseUJuQzlFYztJbUMrRWQsY25DckVhO0FEb3FHZjs7QW9DN2xHRTtJQUNFLHlCQVBvRjtJQVFwRixjbkN6RVc7QUR5cUdmOztBbUNwakdFO0lDakRBLHlCbkM3RWU7SW1DOEVmLGNuQ3JFYTtBRDhxR2Y7O0FvQ3ZtR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DekVXO0FEbXJHZjs7QW1DOWpHRTtJQ2pEQSx5Qm5DNUVvQjtJbUM2RXBCLGNuQ3JFYTtBRHdyR2Y7O0FvQ2puR0U7SUFDRSx5QkFQb0Y7SUFRcEYsY25DekVXO0FENnJHZjs7QW1Ddm9HRTtJQUtJLFdBQVc7QW5Dc29HakI7O0FtQ25vR0k7SUFDRSxnQkFBZ0I7QW5Dc29HdEI7O0FzQmhuR007SWFLSjtRQUtJLFdBQVc7UUFFYixn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ZUFBZTtRQUNmLGNBQWM7SXBDdzJHZDtBQUNKOztBc0J4ekdNO0lZMUhOO1FFc0VJLGNBQWM7UUFDZCxXQUFXO1FBQ1gsZUFBZTtRQUNmLGNBQWM7SXBDaTNHZDtBQUNKOztBc0JqMEdNO0lZMUhOO1FFc0VJLGNBQWM7UUFDZCxXQUFXO1FBQ1gsZUFBZTtRQUNmLGNBQWM7SXBDMDNHZDtBQUNKOztBa0NwOEdBO0lBNkVJLHFCQUFxQjtJQUNyQixjakM5Q1c7SWlDK0NYLHlCQUF5QjtJQUN6QixtQkFBaUM7SUFDakMsWWpDbENVO0lpQ21DVix5QmpDOURZO0FEeTdHaEI7O0FrQ3YzR0E7O0NsQzIzR0M7QWtDeDNHRDtJQUlJLHFCQUFxQjtBbEN1M0d6Qjs7QWtDbjNHQTs7Q2xDdTNHQztBa0NuM0dEO0lBQ0UseUJqQ3ZGZ0I7SWlDd0ZoQixjakM1RWE7QURpOEdmOztBa0N2M0dBO0lBS0ksY2pDL0VXO0FEcThHZjs7QWtDMzNHQTtJQVNJLHlCakM5RmdCO0lpQytGaEIsY2pDcEZXO0FEMDhHZjs7QWtDaDRHQTtJQWFNLHlCakM5RlU7QURxOUdoQjs7QWtDcDRHQTtJQWtCSSx5QmpDbkdZO0lpQ29HWixjakN4Rlc7QUQ4OEdmOztBa0N6NEdBO0lBdUJJLHlCQTNKMkQ7SUE0SjNELGNqQ2xHVztBRHc5R2Y7O0FrQzk0R0E7SUE0QkkseUJqQ3BHZ0I7SWlDcUdoQixjakN2R1c7QUQ2OUdmOztBa0NsM0dBO0lBQ0UseUJqQ3BIZ0I7SWlDcUhoQixjakM3R2E7QURrK0dmOztBa0N2M0dBO0lBS0kseUJBdks4RDtJQXdLOUQsY2pDNUdXO0FEaytHZjs7QWtDNTNHQTtJQVVJLHlCQTNLaUU7SUE0S2pFLGNqQ2pIVztBRHUrR2Y7O0FrQ2wzR0E7O0NsQ3MzR0M7QWtDbDNHRDtJQUNFLDZCQUE2QjtJQUU3Qix5QmpDN0lnQjtJaUM4SWhCLGtCakNyRGlCO0lpQ3NEakIscUJqQy9JZ0I7SWlDaUpoQixjakNqSmdCO0FEbWdIbEI7O0FrQ3ozR0E7SUFTSSxjakNuSmM7QUR1Z0hsQjs7QWtDNzNHQTtJQWFJLHFCakNsSlk7SWlDbUpaLGNqQ3ZJVztBRDIvR2Y7O0FrQ2w0R0E7SUFpQk0sY2pDMUlTO0FEKy9HZjs7QWtDdDRHQTtJQXNCSSxxQkE5TTJEO0lBK00zRCxjQS9NMkQ7QWxDbWtIL0Q7O0FrQzM0R0E7SUEwQk0sY0FsTnlEO0FsQ3VrSC9EOztBa0MvNEdBO0lBK0JJLGNqQ3JLYztJaUNzS2QscUJqQ3RLYztBRDBoSGxCOztBa0NwNUdBO0lBa0NNLHVCQUF1QjtBbENzM0c3Qjs7QWtDeDVHQTtJQXVDSSxxQmpDbktnQjtJaUNvS2hCLGNqQ3BLZ0I7QUR5aEhwQjs7QWtDNzVHQTtJQTJDTSxjakN2S2M7QUQ2aEhwQjs7QWtDbDNHRTtJQUNFLGNqQzlLVztBRG1pSGY7O0FrQ3QzR0U7SUFJSSxjakNqTFM7QUR1aUhmOztBa0NqM0dBOztDbENxM0dDO0FrQ2ozR0Q7SUFDRSxjakNyTWlCO0lpQ3NNakIsdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2Ysd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osZ0JqQzNIMEI7SWlDNEgxQixxQkFBcUI7QWxDbTNHdkI7O0FrQzMzR0E7SUFXSSwwQkFBMEI7QWxDbzNHOUI7O0FrQy8zR0E7SUFrQkksY2pDcE5jO0FEcWtIbEI7O0FrQ240R0E7SUFvQk0sdUJBQXVCO0FsQ20zRzdCOztBa0N2NEdBO0lBd0JNLGNqQzFOWTtBRDZrSGxCOztBa0MzNEdBO0lBNkJJLGNqQ3BOaUI7SWlDcU5qQixxQkFBcUI7QWxDazNHekI7O0FrQ2g1R0E7SUFrQ0ksb0JBQW9CO0FsQ2szR3hCOztBa0MvMkdFO0lBQ0UsY2pDaE9XO0FEa2xIZjs7QW1DeDlHRTtJRDJHQSxTQUFTO0FsQ2kzR1g7O0FtQ2huSEU7SURtUUEsU0FBUztJQUNULGdCQUFnQjtJQUNoQix5QmpDek9rQjtJaUMwT2xCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsY2pDek9hO0lpQzBPYixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtBbENpM0dsQjs7QWtDMTNHQTtJQVlJLDBC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eUJyQ0pXO0FEOHdIZjs7QXNDOXdIQTtJQVFJLHFCckNuQmdCO0FENnhIcEI7O0FzQ2x4SEE7SUFVTSx5QnJDckJjO0FEaXlIcEI7O0FzQ3R3SEE7SUFDRSxpQkFBOEI7SUFDOUIsZ0JBQTBDO0lBQzFDLGVBQXlDO0lBQ3pDLGtCQUE0QztBdEN5d0g5Qzs7QXNCOXJITTtJZ0IvRU47UUFPSSxxQkFBcUI7UUFDckIsYUFBYTtRQUNiLGdCQUFnQjtJdEMyd0hoQjtBQUNKOztBc0NyeEhBO0lBYUksa0JyQ1BTO0FEbXhIYjs7QXNDenhIQTtJQWlCSSxXQUFXO0lBQ1gsa0JyQ1pTO0lxQ2FULGVBQWU7QXRDNHdIbkI7O0FzQy94SEE7SUEyQkksV0FBVztBdEN3d0hmOztBc0NueUhBO0lBK0JJLGlCQUFpQjtBdEN3d0hyQjs7QXNDcHdIQTtJQUNFLGtCQUFrQjtBdEN1d0hwQjs7QXNDeHdIQTtJQUdJLFdBQVc7SUFDWCxrQnJDakNTO0FEMHlIYjs7QXNDcndIQTtJQUNFLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsY3JDekRhO0lxQzBEYixnQkFBZ0I7QXRDd3dIbEI7O0F1Qy80SEE7Ozs7Q3ZDcTVIQztBdUMzM0hEO0lBVEUseUJ0Q3VEYTtJc0N0RGIsa0J0Q21JaUI7SXNDbElqQixrQkFBa0I7QXZDdTRIcEI7O0FzQm52SE07SWlCN0lOO1FBSkksa0JBQWtCO0l2Q3k0SGxCO0FBQ0o7O0F1Q2g0SEU7SUFDRSx5QnRDeUNnQjtBRDAxSHBCOztBdUNwNEhFO0lBQ0UseUJ0Q3dDa0I7QUQrMUh0Qjs7QXVDeDRIRTtJQUNFLHlCdEM4QmM7QUQ2MkhsQjs7QXVDNTRIRTtJQUNFLHlCdEMrQmM7QURnM0hsQjs7QXVDaDVIRTtJQUNFLHlCdENpQ2U7QURrM0huQjs7QXVDcDVIRTtJQUNFLHlCdENnQ1k7QUR1M0hoQjs7QXVDajVIRTtJQUNFLGtCdENvRFU7QURnMkhkOztBdUNsNUhFO0lBQ0UsZ0J0Q2lEVTtBRG8ySGQ7O0F1Q3o1SEU7SUFDRSxrQnRDcURVO0FEdTJIZDs7QXVDMTVIRTtJQUNFLGtCdENrRFU7QUQyMkhkOztBdUNqNkhFO0lBQ0Usa0J0Q3NEUztBRDgySGI7O0F1Q2w2SEU7SUFDRSxrQnRDbURTO0FEazNIYjs7QXVDejZIRTtJQUNFLGtCdEN1RFU7QURxM0hkOztBdUMxNkhFO0lBQ0Usa0J0Q29EVTtBRHkzSGQ7O0F1Q2o3SEU7SUFDRSxrQnRDd0RTO0FENDNIYjs7QXVDbDdIRTtJQUNFLGtCdENxRFM7QURnNEhiOztBdUN6N0hFO0lBQ0UsbUJ0Q3lEVTtBRG00SGQ7O0F1QzE3SEU7SUFDRSxrQnRDc0RVO0FEdTRIZDs7QXVDajhIRTtJQUNFLG9CdEMwRFk7QUQwNEhoQjs7QXVDbDhIRTtJQUNFLG9CdEN1RFk7QUQ4NEhoQjs7QXNCejBITTtJaUJuSEU7UUFFSSxrQnRDc0NFO0lEeTVIVjtBQUNKOztBc0IvMEhNO0lpQjlHRTtRQUVJLGdCdENpQ0U7SUQrNUhWO0FBQ0o7O0FzQnIxSE07SWlCbkhFO1FBRUksa0J0Q3VDRTtJRG82SFY7QUFDSjs7QXNCMzFITTtJaUI5R0U7UUFFSSxrQnRDa0NFO0lEMDZIVjtBQUNKOztBc0JqMkhNO0lpQm5IRTtRQUVJLGtCdEN3Q0M7SUQrNkhUO0FBQ0o7O0FzQnYySE07SWlCOUdFO1FBRUksa0J0Q21DQztJRHE3SFQ7QUFDSjs7QXNCNzJITTtJaUJuSEU7UUFFSSxrQnRDeUNFO0lEMDdIVjtBQUNKOztBc0JuM0hNO0lpQjlHRTtRQUVJLGtCdENvQ0U7SURnOEhWO0FBQ0o7O0FzQnozSE07SWlCbkhFO1FBRUksa0J0QzBDQztJRHE4SFQ7QUFDSjs7QXNCLzNITTtJaUI5R0U7UUFFSSxrQnRDcUNDO0lEMjhIVDtBQUNKOztBc0JyNEhNO0lpQm5IRTtRQUVJLG1CdEMyQ0U7SURnOUhWO0FBQ0o7O0FzQjM0SE07SWlCOUdFO1FBRUksa0J0Q3NDRTtJRHM5SFY7QUFDSjs7QXNCajVITTtJaUJuSEU7UUFFSSxvQnRDNENJO0lEMjlIWjtBQUNKOztBc0J2NUhNO0lpQjlHRTtRQUVJLG9CdEN1Q0k7SURpK0haO0FBQ0o7O0FzQjc1SE07SWlCbkhFO1FBRUksa0J0Q3NDRTtJRDYrSFY7QUFDSjs7QXNCbjZITTtJaUI5R0U7UUFFSSxnQnRDaUNFO0lEbS9IVjtBQUNKOztBc0J6NkhNO0lpQm5IRTtRQUVJLGtCdEN1Q0U7SUR3L0hWO0FBQ0o7O0FzQi82SE07SWlCOUdFO1FBRUksa0J0Q2tDRTtJRDgvSFY7QUFDSjs7QXNCcjdITTtJaUJuSEU7UUFFSSxrQnRDd0NDO0lEbWdJVDtBQUNKOztBc0IzN0hNO0lpQjlHRTtRQUVJLGtCdENtQ0M7SUR5Z0lUO0FBQ0o7O0FzQmo4SE07SWlCbkhFO1FBRUksa0J0Q3lDRTtJRDhnSVY7QUFDSjs7QXNCdjhITTtJaUI5R0U7UUFFSSxrQnRDb0NFO0lEb2hJVjtBQUNKOztBc0I3OEhNO0lpQm5IRTtRQUVJLGtCdEMwQ0M7SUR5aElUO0FBQ0o7O0FzQm45SE07SWlCOUdFO1FBRUksa0J0Q3FDQztJRCtoSVQ7QUFDSjs7QXNCejlITTtJaUJuSEU7UUFFSSxtQnRDMkNFO0lEb2lJVjtBQUNKOztBc0IvOUhNO0lpQjlHRTtRQUVJLGtCdENzQ0U7SUQwaUlWO0FBQ0o7O0FzQnIrSE07SWlCbkhFO1FBRUksb0J0QzRDSTtJRCtpSVo7QUFDSjs7QXNCMytITTtJaUI5R0U7UUFFSSxvQnRDdUNJO0lEcWpJWjtBQUNKOztBc0JqL0hNO0lpQm5IRTtRQUVJLGtCdENzQ0U7SURpa0lWO0FBQ0o7O0FzQnYvSE07SWlCOUdFO1FBRUksZ0J0Q2lDRTtJRHVrSVY7QUFDSjs7QXNCNy9ITTtJaUJuSEU7UUFFSSxrQnRDdUNFO0lENGtJVjtBQUNKOztBc0JuZ0lNO0lpQjlHRTtRQUVJLGtCdENrQ0U7SURrbElWO0FBQ0o7O0FzQnpnSU07SWlCbkhFO1FBRUksa0J0Q3dDQztJRHVsSVQ7QUFDSjs7QXNCL2dJTTtJaUI5R0U7UUFFSSxrQnRDbUNDO0lENmxJVDtBQUNKOztBc0JyaElNO0lpQm5IRTtRQUVJLGtCdEN5Q0U7SURrbUlWO0FBQ0o7O0FzQjNoSU07SWlCOUdFO1FBRUksa0J0Q29DRTtJRHdtSVY7QUFDSjs7QXNCamlJTTtJaUJuSEU7UUFFSSxrQnRDMENDO0lENm1JVDtBQUNKOztBc0J2aUlNO0lpQjlHRTtRQUVJLGtCdENxQ0M7SURtbklUO0FBQ0o7O0FzQjdpSU07SWlCbkhFO1FBRUksbUJ0QzJDRTtJRHduSVY7QUFDSjs7QXNCbmpJTTtJaUI5R0U7UUFFSSxrQnRDc0NFO0lEOG5JVjtBQUNKOztBc0J6aklNO0lpQm5IRTtRQUVJLG9CdEM0Q0k7SURtb0laO0FBQ0o7O0FzQi9qSU07SWlCOUdFO1FBRUksb0J0Q3VDSTtJRHlvSVo7QUFDSjs7QXNCcmtJTTtJaUJuSEU7UUFFSSxrQnRDc0NFO0lEcXBJVjtBQUNKOztBc0Iza0lNO0lpQjlHRTtRQUVJLGdCdENpQ0U7SUQycElWO0FBQ0o7O0FzQmpsSU07SWlCbkhFO1FBRUksa0J0Q3VDRTtJRGdxSVY7QUFDSjs7QXNCdmxJTTtJaUI5R0U7UUFFSSxrQnRDa0NFO0lEc3FJVjtBQUNKOztBc0I3bElNO0lpQm5IRTtRQUVJLGtCdEN3Q0M7SUQycUlUO0FBQ0o7O0FzQm5tSU07SWlCOUdFO1FBRUksa0J0Q21DQztJRGlySVQ7QUFDSjs7QXNCem1JTTtJaUJuSEU7UUFFSSxrQnRDeUNFO0lEc3JJVjtBQUNKOztBc0IvbUlNO0lpQjlHRTtRQUVJLGtCdENvQ0U7SUQ0cklWO0FBQ0o7O0FzQnJuSU07SWlCbkhFO1FBRUksa0J0QzBDQztJRGlzSVQ7QUFDSjs7QXNCM25JTTtJaUI5R0U7UUFFSSxrQnRDcUNDO0lEdXNJVDtBQUNKOztBc0Jqb0lNO0lpQm5IRTtRQUVJLG1CdEMyQ0U7SUQ0c0lWO0FBQ0o7O0FzQnZvSU07SWlCOUdFO1FBRUksa0J0Q3NDRTtJRGt0SVY7QUFDSjs7QXNCN29JTTtJaUJuSEU7UUFFSSxvQnRDNENJO0lEdXRJWjtBQUNKOztBc0JucElNO0lpQjlHRTtRQUVJLG9CdEN1Q0k7SUQ2dElaO0FBQ0o7O0FzQnpwSU07SWlCbkhFO1FBRUksa0J0Q3NDRTtJRHl1SVY7QUFDSjs7QXNCL3BJTTtJaUI5R0U7UUFFSSxnQnRDaUNFO0lEK3VJVjtBQUNKOztBc0JycUlNO0lpQm5IRTtRQUVJLGtCdEN1Q0U7SURvdklWO0FBQ0o7O0FzQjNxSU07SWlCOUdFO1FBRUksa0J0Q2tDRTtJRDB2SVY7QUFDSjs7QXNCanJJTTtJaUJuSEU7UUFFSSxrQnRDd0NDO0lEK3ZJVDtBQUNKOztBc0J2cklNO0lpQjlHRTtRQUVJLGtCdENtQ0M7SURxd0lUO0FBQ0o7O0FzQjdySU07SWlCbkhFO1FBRUksa0J0Q3lDRTtJRDB3SVY7QUFDSjs7QXNCbnNJTTtJaUI5R0U7UUFFSSxrQnRDb0NFO0lEZ3hJVjtBQUNKOztBc0J6c0lNO0lpQm5IRTtRQUVJLGtCdEMwQ0M7SURxeElUO0FBQ0o7O0FzQi9zSU07SWlCOUdFO1FBRUksa0J0Q3FDQztJRDJ4SVQ7QUFDSjs7QXNCcnRJTTtJaUJuSEU7UUFFSSxtQnRDMkNFO0lEZ3lJVjtBQUNKOztBc0IzdElNO0lpQjlHRTtRQUVJLGtCdENzQ0U7SURzeUlWO0FBQ0o7O0FzQmp1SU07SWlCbkhFO1FBRUksb0J0QzRDSTtJRDJ5SVo7QUFDSjs7QXNCdnVJTTtJaUI5R0U7UUFFSSxvQnRDdUNJO0lEaXpJWjtBQUNKOztBc0I3dUlNO0lpQm5IRTtRQUVJLGtCdENzQ0U7SUQ2eklWO0FBQ0o7O0FzQm52SU07SWlCOUdFO1FBRUksZ0J0Q2lDRTtJRG0wSVY7QUFDSjs7QXNCenZJTTtJaUJuSEU7UUFFSSxrQnRDdUNFO0lEdzBJVjtBQUNKOztBc0IvdklNO0lpQjlHRTtRQUVJLGtCdENrQ0U7SUQ4MElWO0FBQ0o7O0FzQnJ3SU07SWlCbkhFO1FBRUksa0J0Q3dDQztJRG0xSVQ7QUFDSjs7QXNCM3dJTTtJaUI5R0U7UUFFSSxrQnRDbUNDO0lEeTFJVDtBQUNKOztBc0JqeElNO0lpQm5IRTtRQUVJLGtCdEN5Q0U7SUQ4MUlWO0FBQ0o7O0FzQnZ4SU07SWlCOUdFO1FBRUksa0J0Q29DRTtJRG8ySVY7QUFDSjs7QXNCN3hJTTtJaUJuSEU7UUFFSSxrQnRDMENDO0lEeTJJVDtBQUNKOztBc0JueUlNO0lpQjlHRTtRQUVJLGtCdENxQ0M7SUQrMklUO0FBQ0o7O0FzQnp5SU07SWlCbkhFO1FBRUksbUJ0QzJDRTtJRG8zSVY7QUFDSjs7QXNCL3lJTTtJaUI5R0U7UUFFSSxrQnRDc0NFO0lEMDNJVjtBQUNKOztBc0JyeklNO0lpQm5IRTtRQUVJLG9CdEM0Q0k7SUQrM0laO0FBQ0o7O0FzQjN6SU07SWlCOUdFO1FBRUksb0J0Q3VDSTtJRHE0SVo7QUFDSjs7QXNCajBJTTtJaUJuSEU7UUFFSSxrQnRDc0NFO0lEaTVJVjtBQUNKOztBc0J2MElNO0lpQjlHRTtRQUVJLGdCdENpQ0U7SUR1NUlWO0FBQ0o7O0FzQjcwSU07SWlCbkhFO1FBRUksa0J0Q3VDRTtJRDQ1SVY7QUFDSjs7QXNCbjFJTTtJaUI5R0U7UUFFSSxrQnRDa0NFO0lEazZJVjtBQUNKOztBc0J6MUlNO0lpQm5IRTtRQUVJLGtCdEN3Q0M7SUR1NklUO0FBQ0o7O0FzQi8xSU07SWlCOUdFO1FBRUksa0J0Q21DQztJRDY2SVQ7QUFDSjs7QXNCcjJJTTtJaUJuSEU7UUFFSSxrQnRDeUNFO0lEazdJVjtBQUNKOztBc0IzMklNO0lpQjlHRTtRQUVJLGtCdENvQ0U7SUR3N0lWO0FBQ0o7O0FzQmozSU07SWlCbkhFO1FBRUksa0J0QzBDQztJRDY3SVQ7QUFDSjs7QXNCdjNJTTtJaUI5R0U7UUFFSSxrQnRDcUNDO0lEbThJVDtBQUNKOztBc0I3M0lNO0lpQm5IRTtRQUVJLG1CdEMyQ0U7SUR3OElWO0FBQ0o7O0FzQm40SU07SWlCOUdFO1FBRUksa0J0Q3NDRTtJRDg4SVY7QUFDSjs7QXNCejRJTTtJaUJuSEU7UUFFSSxvQnRDNENJO0lEbTlJWjtBQUNKOztBc0IvNElNO0lpQjlHRTtRQUVJLG9CdEN1Q0k7SUR5OUlaO0FBQ0o7O0F1Q3I5SUE7SUFDRSxrQnRDNkNpQjtBRDI2SW5COztBdUM1L0lFO0lBQ0UsNEJBQTRCO0lBQzVCLDZCQUE2QjtJQUM3QiwyQnRDOEVlO0lzQzdFZiw0QnRDNkVlO0FEazdJbkI7O0F1QzcvSUU7SUFDRSx5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLDhCdEN3RWU7SXNDdkVmLCtCdEN1RWU7SXNDdEVmLHVCdENnQlU7QURnL0lkOztBdUM3L0lFO0lBQ0Usa0JBQWtCO0lBQ2xCLFNBQVM7QXZDZ2dKYjs7QXVDditJQTtJQUNFLGtCdEN1Q2lCO0FEbThJbkI7O0F1Qy8vSUU7SUFDRSwyQnRDMkRlO0lzQzFEZiw4QnRDMERlO0lzQ3pEZiwwQkFBMEI7SUFDMUIsNkJBQTZCO0F2Q2tnSmpDOztBdUNoZ0pFO0lBQ0UseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1Qiw0QnRDbURlO0lzQ2xEZiwrQnRDa0RlO0FEaTlJbkI7O0F1Q24vSUE7SUFDRSxrQnRDaUNpQjtBRHE5SW5COztBdUNqaEpFO0lBQ0UsMkJ0QzJEZTtJc0MxRGYsOEJ0QzBEZTtJc0N6RGYsMEJBQTBCO0lBQzFCLDZCQUE2QjtBdkNvaEpqQzs7QXVDbGhKRTtJQUNFLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsNEJ0Q21EZTtJc0NsRGYsK0J0Q2tEZTtBRG0rSW5COztBc0JqOUlNO0lpQjlFSjtRQXBCRSw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLDJCdEM4RWU7UXNDN0VmLDRCdEM2RWU7SUQyK0lmO0l1Q2ppSkY7UUFwQkUseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiw4QnRDd0VlO1FzQ3ZFZiwrQnRDdUVlO1FzQ3RFZix1QnRDZ0JVO0lEd2lKVjtJdUNyakpGO1FBQ0Usa0JBQWtCO1FBQ2xCLFNBQVM7SXZDdWpKVDtBQUNKOztBdUM5Z0pBO0lBQ0UsaUJBQWlCO0F2Q2loSm5COztBdUM3Z0pBOztDdkNpaEpDO0F1QzlnSkQ7SUFDRSxrQkFBa0I7SUFDbEIseUNBQXlDO0lBQ3pDLGFBQWE7QXZDZ2hKZjs7QXdDenBKQTs7OztDeEMrcEpDO0F3Q2huSkM7SUFFSSxXQXpDUztJQTBDVCxZQXpDVTtBeEMwcEpoQjs7QXdDcG5KRTtJQU9JLFdBOUNTO0F4QytwSmY7O0F3Q3huSkU7SUFXSSxZQWpEVTtBeENrcUpoQjs7QXdDNW5KRTtJQUVJLFdBckNTO0lBc0NULFlBckNVO0F4Q21xSmhCOztBd0Nqb0pFO0lBT0ksV0ExQ1M7QXhDd3FKZjs7QXdDcm9KRTtJQVdJLFlB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USx5QkFBd0I7QTdDd3FLaEM7O0E2Q25zS0E7SUEyQlEseUJBQXdCO0E3QzRxS2hDOztBNkN2c0tBO0lBMkJRLHlCQUF3QjtBN0NncktoQzs7QTZDM3NLQTtJQTJCUSx5QkFBd0I7QTdDb3JLaEM7O0E2Qy9zS0E7SUEyQlEseUJBQXdCO0E3Q3dyS2hDOztBNENqb0tFO0lDL0NFLHlCNUNvQmM7STRDbkJkLFlBQVk7QTdDb3JLaEI7O0E0Q3RvS0U7SUMvQ0UseUI1Q3FCZ0I7STRDcEJoQixZQUFZO0E3Q3lyS2hCOztBNEMzb0tFO0lDL0NFLHlCNUNzQmU7STRDckJmLFlBQVk7QTdDOHJLaEI7O0E0Q2hwS0U7SUMvQ0UseUI1Q3VCYztJNEN0QmQsWUFBWTtBN0Ntc0toQjs7QTRDcnBLRTtJQy9DRSx5QjVDd0JjO0k0Q3ZCZCxZQUFZO0E3Q3dzS2hCOztBNEMxcEtFO0lDL0NFLHlCNUN5Qlk7STRDeEJaLFlBQVk7QTdDNnNLaEI7O0E0Qy9wS0U7SUMvQ0UseUI1QzBCZTtJNEN6QmYsWUFBWTtBN0NrdEtoQjs7QTRDcHFLRTtJQy9DRSx5QjVDMkJZO0k0QzFCWixZQUFZO0E3Q3V0S2hCOztBNEN6cUtFO0lDL0NFLHlCNUM0QmE7STRDM0JiLFlBQVk7QTdDNHRLaEI7O0E0QzlxS0U7SUMvQ0UseUI1QzZCa0I7STRDNUJsQixZQUFZO0E3Q2l1S2hCOztBOEMxd0tBOzs7O0M5Q2d4S0M7QThDMXdLRDtJQUNFLFdBQVc7QTlDNHdLYjs7QXNCNW1LTTtJd0I3Sk47UUFFSSxlQUFlO1FBQ2YsaUJBQWlCO0k5QzR3S2pCO0FBQ0o7O0ErQzF4S0E7Ozs7Qy9DZ3lLQztBK0MxeEtEO0lBQ0Usa0JBQWtCO0lBQ2xCLGdCQUFnQjtBL0M0eEtsQjs7QStDOXhLQTtJQUtJLGU5Q2tFVztJOENqRVgsU0FBUztJQUNULGtCQUFrQjtBL0M2eEt0Qjs7QWdEMXlLQTs7OztDaERnektDO0FpRGp6S0Q7Ozs7Ozs7OztFakQyektFO0FTaHpLRjtJd0NBRSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLDhGQUFBO0lBQ0EsOEJBQTRCO0Fq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dURweU5BO0lBb0JNLGdCQUFnQjtJQUNoQixZQUFZO0F2RG94TmxCOztBdUR6eU5BO0lBeUJJLFFBQVE7SUFDUixXQUFXO0lBQ1gsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixVQUFVO0F2RG94TmQ7O0F1RGp4TkE7SUFDRSxjQUFjO0F2RG94TmhCOztBdURqeE5BOzs7O0lBSUUseUJ0RGpGZ0I7QURxMk5sQjs7QXVEanhOQTs7OztJQUlFLGN0RHZFYTtBRDIxTmY7O0F1RGp4TkE7OztJQUdFLHFCdERsRmE7QURzMk5mOztBdURoeE5BOzs7O0lBSUUsY3REdEdnQjtBRHkzTmxCOztBdURoeE5BOztJQUVJLHFCdEQzR2M7QUQ4M05sQjs7QXVEaHhOQTs7SUFFSSx5QnREaEhjO0FEbTRObEI7O0F1RGh4TkE7O0lBRUksdUJ0RDdGb0U7QURnM054RTs7QXVEaHhOQTtJQUNFLHFCQUFxQjtBdkRteE52Qjs7QXVENXdOQTtJQUNFLFlBQVk7QXZEK3dOZDs7QXFEbnVOQTtJRXpDRSxjdERwSGlCO0lzRHFIakIsMEJBQTBCO0F2RGd4TjVCOztBcUQ3bk5BO0lFaEpFLGVBQWU7QXZEaXhOakI7O0F1RC93TkE7SUFDRSx5QnREL0hhO0lzRGdJYixjdEQxSWlCO0FENDVObkI7O0F1RHB4TkE7SUFJSSxjQUFjO0F2RG94TmxCOztBdURqeE5BOztJQUVFLDRDQUE0QztJQUM1Qyx5Q0FBeUM7SUFDekMsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBdkRveE5wQjs7QXVEL3dOQTtJQUNFLHNCQUFzQjtJQUFFLDBCQUF1QjtJQUMvQyw2QkFBNkI7QXZEbXhOL0I7O0FBRUE7SXVEbHhORSxzQkFBc0I7SUFDdEIseUJ0RG5Ka0I7QUR1Nk5wQjs7QXVEanhOQTtJQUNFLGVBQWU7QXZEb3hOakI7O0FpRDl5TkE7O0lNK0JFLHlCdERsS2U7QURzN05qQjs7QWlEbnpOQTs7SU1tQ0UseUJ0RHRLZTtJc0R1S2YsWUFBWTtBdkRxeE5kOztBdURseE5BO0lBQ0UsYUFBYTtBdkRxeE5mOztBd0RyZ09BO0lBRUksMEJBQTBCO0lBQzFCLDJCQUEy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O0lBQ0UsOEI1RG1EYTtBRG8wT2Y7O0E2RHAzT0E7SUFFSSxrQjVEc0hlO0FEZ3dPbkI7O0E2RHgzT0E7SUFNTSx5QjVENkJZO0FEeTFPbEI7O0E2RDUzT0E7SUFZTSx5QjVEbUJZO0FEaTJPbEI7O0E2RGg0T0E7SUFrQk0seUI1RGNjO0FEbzJPcEI7O0E4RGw2T0E7SUFHTSxjN0RzRVM7STZEckVULG1CN0R5RWE7QUQwMU9uQjs7QThEdjZPQTtJQU9NLG1CN0R5RFk7STZEeERaLGM3RGlFUztBRG0yT2Y7O0E4RDU2T0E7SUFXTSxtQjdEbURjO0FEazNPcEI7O0E4RGg3T0E7SUFjTSxtQjdEbURZO0k2RGxEWixjN0QwRFM7QUQ0Mk9mOztBK0RyN09BO0lBQ0Usd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsa0JBQWtCO0lBQ2xCLFlBQVk7QS9EdzdPZDs7QStEMzdPQTtJQU1JLFVBQVU7QS9EeTdPZDs7QWdFLzdPQTtJQUNFLG1CQUFtQjtJQUNuQixlQUFlO0FoRWs4T2pCOztBZ0UvN09BO0lBQ0UsbUIvRHVFaUI7SStEdEVqQixjL0RrRWE7QURnNE9mOztBZ0UvN09BO0lBQ0UsbUIvRHFEZ0I7QUQ2NE9sQjs7QWdFLzdPQTtJQUNFLG1CL0RtRGM7QUQrNE9oQjs7QWdFLzdPQTtJQUNFLG1CL0R3RGtCO0krRHZEbEIsYy9EMERhO0FEdzRPZjs7QWdFLzdPQTtJQUNFLG1CL0Q0Q2M7QURzNU9oQjs7QWdFLzdPQTtJQUNFLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsZUFBZTtBaEVrOE9qQjs7QWdFLzdPQTtJQUVJLHFCL0R1QmM7SStEdEJkLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0FoRWk4TzFCOztBZ0V6OE9BO0lBWUksYy9EYWM7SStEWmQsZ0JBQWdCO0lBQ2hCLGVBQWU7QWhFaThPbkI7O0FnRS84T0E7SUFrQkksZ0JBQWdCO0lBQ2hCLFlBQVk7QWhFaThPaEI7O0FnRTc3T0E7SUFFSSxtQkFBbUI7QWhFKzdPdkI7O0FnRWo4T0E7SUFLSSxtQi9ERmdCO0krREdoQixxQi9ESGdCO0krREloQixjL0RZVztBRG83T2Y7O0FnRTU3T0E7OztJQUdJLFdBQVc7SUFDWCxZQUFZO0FoRSs3T2hCOztBaUV6Z1BBO0lBR00sbUJoRStEVTtJZ0U5RFYsY2hFMEVTO0FEZzhPZjs7QWlFOWdQQTtJQU9NLGNoRWtFUztJZ0VqRVQsbUJoRXFFYTtBRHM4T25COztBaUVuaFBBO0lBV00sY2hFOERTO0lnRTdEVCxtQmhFa0VTO0FEMDhPZjs7QWlFeGhQQTtJQWVNLG1CaEVxRFU7SWdFcERWLGNoRXlEUztBRG85T2Y7O0FpRTdoUEE7SUFtQk0sbUJoRTBDWTtJZ0V6Q1osY2hFcURTO0FEeTlPZjs7QWlFbGlQQTtJQXVCTSxjaEVrRFM7SWdFakRULG1CaEV3Q1k7QUR1K09sQjs7QWlFdmlQQTtJQTJCTSxtQmhFc0NZO0lnRXJDWixjaEU2Q1M7QURtK09mOztBaUU1aVBBO0lBK0JNLGNoRTZDZTtJZ0U1Q2YseUJoRTRDZTtJZ0UzQ2YsbUJoRXdDUztBRHkrT2Y7O0FpRTVnUEE7SUFFSSxxQmhFcUJjO0lnRXBCZCxpQkFBaUI7SUFDakIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixrQkFBa0I7QWpFOGdQdEI7O0FpRXBoUEE7SUFVSSxjaEVhYztJZ0VaZCxnQkFBZ0I7SUFDaEIsZUFBZTtBakU4Z1BuQjs7QWlFMWhQQTtJQWdCSSxnQkFBZ0I7QWpFOGdQcEI7O0FpRTFnUEE7SUFFSSxxQmhFS2M7QUR1Z1BsQjs7QWtFeGtQQTtJQUlRLGVBQWU7QWxFd2tQdkI7O0FrRTVrUEE7SUFVTSxzQkFBc0I7SUFDdEIsY2pFOERTO0lpRTdEVCxzQkFBc0I7QWxFc2tQNUI7O0FrRWxsUEE7SUFnQkksZUFBZTtBbEVza1BuQjs7QWtFbGtQQTtJQUVJLGdCQUFnQjtBbEVva1BwQjs7QWtFdGtQQTtJQU9NLGNBQWM7QWxFbWtQcEI7O0FrRTFrUEE7SUFZSSxnQkFBZ0I7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NVBBO0lBSUksZ0JBQWdCO0FuRSs1UHBCOztBbUUzNVBBO0lBQ0UsZ0JBQWdCO0FuRTg1UGxCOztBbUUzNVBBO0lBRUksY0FBYztBbkU2NVBsQjs7QW1FLzVQQTtJQUtJLFdBQVc7SUFDWCxlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGNBQWM7QW5FODVQbEI7O0FvRWw3UEE7SUFFSSxhQUFhO0FwRW83UGpCOztBb0V0N1BBO0lBTUksaUJBQWlCO0FwRW83UHJCOztBb0UxN1BBO0lBVUksY0FBYztBcEVvN1BsQjs7QW9FOTdQQTtJQWNJLDZCbkU4RGlCO0ltRTdEakIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtBcEVvN1BwQjs7QW9FcDhQQTtJQW1CTSxlQUFlO0lBQ2YsZ0JuRTRIa0I7SW1FM0hsQixTQUFTO0FwRXE3UGY7O0FxRTE4UEE7SUFFSSxxQkFBcUI7QXJFNDhQekI7O0FxRXg4UEE7SUFDRSxrQnBFK0lpQjtJb0U5SWpCLGlCQUFnQjtBckUyOFBsQjs7QXFFNzhQQTtJQUlJLGtCQUFrQjtBckU2OFB0Qjs7QXFFajlQQTtJQU9JLG1CQUFtQjtBckU4OFB2Qjs7QXFFcjlQQTtJQVdJLHFCcEVnRGM7SW9FL0NkLHlCcEVpRW9FO0FENjRQeEU7O0FxRTE5UEE7SUFlSSxxQnBFNkNZO0lvRTVDWix5QnBFOERnRTtBRGk1UHBFOztBcUUvOVBBO0lBbUJJLHFCcEV1Q2M7SW9FdENkLHVCcEUyRG9FO0FEcTVQeEU7O0FxRXArUEE7SUF1QkkscUJwRWdEZTtJb0UvQ2YseUJwRXdEc0M7QUR5NVAxQzs7QXFFNzhQQTtJQUVJLHlCQUF5QjtJQUN6QiwwQkFBMEI7QXJFKzhQOUI7O0FxRTM4UEE7SUFFSSxTQUFTO0lBQ1QsY3BFNkJXO0FEZzdQZjs7QXFFaDlQQTtJQU1JLDRCQUE0QjtJQUM1Qiw2QkFBNkI7QXJFODhQakM7O0FxRTE4UEE7SUFDRSx1QkFBdUI7SUFDdkIsb0JBQW9CO0FyRTY4UHRCOztBcUUxOFBBO0lBQ0UsY3BFZWE7SW9FZGIsY0FBYztBckU2OFBoQjs7QXNFdmdRQTtJQUNFLGNBQWM7QXRFMGdR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ckI7O0FxRnhsUkE7SUFRSSxnQnBGaUlzQjtJb0ZoSXRCLGNwRitEaUI7QURnaFJyQjs7QXFGeGxSQTtJQVFJLGdCcEZpSXNCO0lvRmhJdEIsY3BGK0RpQjtBRGdoUnJCOztBcUZ4bFJBO0lBUUksZ0JwRmlJc0I7SW9GaEl0QixjcEYrRGlCO0FEZ2hSckI7O0FxRnhsUkE7SUFRSSxnQnBGaUlzQjtJb0ZoSXRCLGNwRitEaUI7QURnaFJyQjs7QXFGeGxSQTtJQWNJLG1CQUFtQjtBckY4a1J2Qjs7QXFGMWtSQTtJQUNFLGNBQWM7SUFDZCxXQUFXO0FyRjZrUmI7O0FxRjFrUkE7SUFDRSxxQnBGcUNnQjtBRHdpUmxCOztBc0Z4bVJBO0lBQ0UscUJBQXFCO0F0RjJtUnZCOztBc0Y1bVJBO0lBSUksa0JBQWtCO0lBQ2xCLGtCQUFrQjtBdEY0bVJ0Qjs7QXNGam5SQTtJQVFNLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsU0FBUztBdEY2bVJmOztBc0Z2blJBO0lBZ0JNLGVBQWU7SUFDZixTQUFTO0F0RjJtUmY7O0FzRjVuUkE7SUFxQlEsY3JGd0NZO0FEbWtScEI7O0F1RmpvUkE7SUFDRSxZQUFZO0F2Rm9vUmQ7O0FzQjc5UU07SWlFeEtOO1FBR0ksZUFBZTtJdkZ1b1JmO0FBQ0o7O0F1RjNvUkE7SUFPSSxVQUFVO0lBQ1YsMkJBQWtCO1FBQWxCLGtCQUFrQjtBdkZ3b1J0Qjs7QXNCeCtRTTtJaUV4S047UUFhTSxpQkFBaUI7SXZGd29SbkI7QUFDSjs7QXVGdHBSQTtJQWtCSSxjQUFjO0F2RndvUmxCOztBd0YxcFJBO0lBRUksbUJBQW1CO0F4RjRwUnZCOztBeUY5cFJBO0lBQ0UsZUFBZTtJQUNmLHlCeEY2RGlCO0l3RjVEakIsV3hGeXBCa0I7QUR3Z1FwQjs7QXlGcHFSQTtJQU1JLGdCQUFnQjtJQUNoQixZQUFZO0F6RmtxUmhCOztBeUZ6cVJBO0lBVUksWXhGb0ZVO0l3Rm5GVixtQnhGcUZVO0FEOGtSZDs7QXlGOXFSQTtJQWVJLFNBQVM7QXpGbXFSYjs7QXlGbHJSQTtJQWtCTSxjeEZ1RFM7SXdGdERULFlB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SUFDckIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixlQUFlO0FsSGtnVHJCOztBbUh2alRBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NuSHdsVEM7QW9IemxURDtJQUVJLFVBQVU7QXBIMGxUZDs7QW9INWxUQTtJQUtNLHlCbkhvRVM7QUR1aFRmOztBcUhobVRBO0lBRUksVUFBVTtBckhrbVRkOztBcUhwbVRBO0lBS00seUJwSG9FUztBRCtoVGY7O0FzSHZtVEE7SUFDRSxjckg0RWE7SXFIM0ViLHlCckh5RW1CO0FEaWlUckI7O0FzSDVtVEE7SUFLSSx5QnJId0VXO0lxSHZFWCxjckhrRVc7QUR5aVRmOztBc0hqblRBO0lBUU0sY3JIZ0VTO0FENmlUZjs7QXNIcm5UQTtJQWNJLHlCckhtRFk7QUR3alRoQjs7QXNIem5UQTtJQWtCSSx5QkFBeUI7QXRIMm1UN0I7O0FzSDduVEE7SUFzQkkseUJBQXlCO0lBQ3pCLGNySGlEVztBRDBqVGY7O0FzSGxvVEE7SUF5Qk0sY3JIK0NTO0FEOGpUZjs7QXNIdG9UQTtJQThCSSx5QnJIK0JnQjtBRDZrVHBCOztBc0gxb1RBO0lBbUNJLHlCckh5Q2U7SXFIeENmLGNySG9DVztBRHVrVGY7O0FzSC9vVEE7SUFzQ00sY3JIa0NTO0FEMmtUZjs7QXNIdm1UQTtJQUVFLHlCckg0QmtCO0FENmtUcEI7O0FzSDNtVEE7SUFJSSwwQkFBc0I7QXRIMm1UMUI7O0FzSC9tVEE7SUFRSSwwQkFBc0I7QXRIMm1UMUI7O0F1SGhxVEE7SUFDRSxjQUFjO0F2SG1xVGhCOztBdUhwcVRBO0lBSUksU0FBUztBdkhvcVRiOztBdUh4cVRBO0lBUUksV0FBVztBdkhvcVRmOztBV3RtVEE7STZHckVFLGtCQUFrQjtJQUNsQixTQUFTO0F4SCtxVFg7O0F3SGpyVEE7SUFLSSx5QnZIMkVXO0FEcW1UZjs7QXdINXFUQTtJQUNFLGFBQWE7QXhIK3FUZjs7QXdINXFUQTtJQUdNLHlCQUF5QjtBeEg2cVQvQjs7QXdIaHJUQTtJQVNRLDZCQUE2QjtBeEgycVRyQzs7QXdIcnFUQTtJQUVJ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Q2xLZ3ZaQztBa0t2dFpDO0lBQ0UseUJqS01jO0FEbXRabEI7O0FxQnYvWUU7STZJL05FLGNqS0djO0FEdXRabEI7O0FrSzl0WkU7SUFDRSx5QmpLT2dCO0FEMHRacEI7O0FxQi8vWUU7STZJL05FLGNqS0lnQjtBRDh0WnBCOztBa0t0dVpFO0lBQ0UseUJqS1NjO0FEZ3VabEI7O0FxQnZnWkU7STZJL05FLGNqS01jO0FEb3VabEI7O0FrSzl1WkU7SUFDRSx5QmpLVWM7QUR1dVpsQjs7QWtLaHhaRTtJQWtDRSxjaktPYztBRDJ1WmxCOztBa0t0dlpFO0lBQ0UseUJqS1dZO0FEOHVaaEI7O0FxQnZoWkU7STZJL05FLGNqS1FZO0FEa3ZaaEI7O0FrSzl2WkU7SUFDRSx5QmpLWWU7QURxdlpuQjs7QWtLL3ZaRTtJQUNFLGNqS1NlO0FEeXZabkI7O0FrS3R3WkU7SUFDRSx5QmpLa0JXO0FEdXZaZjs7QWtLeHlaRTtJQWtDRSxjaktlVztBRDJ2WmY7O0FrSzl3WkU7SUFDRSx5QmpLcUJpQjtBRDR2WnJCOztBa0svd1pFO0lBQ0UsY2pLa0JpQjtBRGd3WnJCOztBa0t0eFpFO0lBQ0UseUJqS29CZ0I7QURxd1pwQjs7QWtLdnhaRTtJQUNFLGNqS2lCZ0I7QUR5d1pwQjs7QWtLOXhaRTtJQUNFLHlCakttQmtCO0FEOHdadEI7O0FrSy94WkU7SUFDRSxjaktnQmtCO0FEa3hadEI7O0FrS3R5WkU7SUFDRSx5QmpLcUJpQjtBRG94WnJCOztBa0t2eVpFO0lBQ0UsY2pLa0JpQjtBRHd4WnJCOztBa0s5eVpFO0lBQ0UseUJqS3NCZTtBRDJ4Wm5COztBa0toMVpFO0lBa0NFLGNqS21CZTtBRCt4Wm5COztBa0t0elpFO0lBQ0UseUJqS3VCVztBRGt5WmY7O0FrS3gxWkU7SUFrQ0UsY2pLb0JXO0FEc3laZjs7QWtLOXpaRTtJQUNFLHlCakt3QlU7QUR5eVpkOztBa0svelpFO0lBQ0UsY2pLcUJVO0FENnlaZDs7QW1LMzNaQTs7OztDbktpNFpDO0FtS3AzWkc7SUFDRSxnQmxLOEVRO0FEd3laZDs7QW1LcDNaSTtJQUNFLGlCbEsyRVE7QUQ0eVpkOztBbUszM1pJO0lBQ0UsaUJsSzhFUTtBRGd6WmQ7O0FtSzUzWkk7SUFDRSxrQmxLMkVRO0FEb3paZDs7QW1LMzNaSTtJQUNFLGVsS3NFUTtBRHd6WmQ7O0FtSzUzWkk7SUFDRSxnQmxLbUVRO0FENHpaZDs7QW1LbjRaSTtJQUNFLGtCbEtzRVE7QURnMFpkOztBbUtwNFpJO0lBQ0UsbUJsS21FUTtBRG8wWmQ7O0FtS241Wkk7SUFDRSxpQmxLK0VRO0FEdTBaZDs7QW1LcDVaSTtJQUNFLGtCbEs0RVE7QUQyMFpkOztBbUszNVpJO0lBQ0Usa0JsSytFUTtBRCswWmQ7O0FtSzU1Wkk7SUFDRSxtQmxLNEVRO0FEbTFaZDs7QW1LMzVaSTtJQUNFLGdCbEt1RVE7QUR1MVpkOztBbUs1NVpJO0lBQ0UsaUJsS29FUTtBRDIxWmQ7O0FtS242Wkk7SUFDRSxtQmxLdUVRO0FEKzFaZDs7QW1LcDZaSTtJQUNFLG9CbEtvRVE7QURtMlpkOztBbUtuN1pJO0lBQ0UsaUJsS2dGTztBRHMyWmI7O0FtS3A3Wkk7SUFDRSxrQmxLNkVPO0FEMDJaYjs7QW1LMzdaSTtJQUNFLGtCbEtnRk87QUQ4MlpiOztBbUs1N1pJO0lBQ0UsbUJsSzZFTztBRGszWmI7O0FtSzM3Wkk7SUFDRSxnQmxLd0VPO0FEczNaYjs7QW1LNTdaSTtJQUNFLGlCbEtxRU87QUQwM1piOztBbUtuOFpJO0lBQ0UsbUJsS3dFTztBRDgzWmI7O0FtS3A4Wkk7SUFDRSxvQmxLcUVPO0FEazRaYjs7QW1LbjlaSTtJQUNFLGlCbEtpRlE7QURxNFpkOztBbUtwOVpJO0lBQ0Usa0JsSzhFUTtBRHk0WmQ7O0FtSzM5Wkk7SUFDRSxrQmxLaUZRO0FENjRaZDs7QW1LNTlaSTtJQUNFLG1CbEs4RVE7QURpNVpkOztBbUszOVpJO0lBQ0UsZ0JsS3lFUTtBRHE1WmQ7O0FtSzU5Wkk7SUFDRSxpQmxLc0VRO0FEeTVaZDs7QW1LbitaSTtJQUNFLG1CbEt5RVE7QUQ2NVpkOztBbUtwK1pJO0lBQ0Usb0JsS3NFUTtBRGk2WmQ7O0FtS24vWkk7SUFDRSxpQmxLa0ZPO0FEbzZaYjs7QW1LcC9aSTtJQUNFLGtCbEsrRU87QUR3NlpiOztBbUszL1pJO0lBQ0Usa0JsS2tGTztBRDQ2WmI7O0FtSzUvWkk7SUFDRSxtQmxLK0VPO0FEZzdaYjs7QW1LMy9aSTtJQUNFLGdCbEswRU87QURvN1piOztBbUs1L1pJO0lBQ0UsaUJsS3VFTztBRHc3WmI7O0FtS25nYUk7SUFDRSxtQmxLMEVPO0FENDdaYjs7QW1LcGdhSTtJQUNFLG9CbEt1RU87QURnOFpiOztBbUtuaGFJO0lBQ0UsaUJsS21GUTtBRG04WmQ7O0FtS3BoYUk7SUFDRSxrQmxLZ0ZRO0FEdThaZDs7QW1LM2hhSTtJQUNFLGtCbEttRlE7QUQyOFpkOztBbUs1aGFJO0lBQ0UsbUJsS2dGUTtBRCs4WmQ7O0FtSzNoYUk7SUFDRSxnQmxLMkVRO0FEbTlaZDs7QW1LNWhhSTtJQUNFLGlCbEt3RVE7QUR1OVpkOztBbUtuaWFJO0lBQ0UsbUJsSzJFUTtBRDI5WmQ7O0FtS3BpYUk7SUFDRSxvQmxLd0VRO0FEKzlaZDs7QW1LbmphSTtJQUNFLGtCbEtvRlU7QURrK1poQjs7QW1LcGphSTtJQUNFLG1CbEtpRlU7QURzK1poQjs7QW1LM2phSTtJQUNFLG1CbEtvRlU7QUQwK1poQjs7QW1LNWphSTtJQUNFLG9CbEtpRlU7QUQ4K1poQjs7QW1LM2phSTtJQUNFLGlCbEs0RVU7QURrL1poQjs7QW1LNWphSTtJQUNFLGtCbEt5RVU7QURzL1poQjs7QW1LbmthSTtJQUNFLG9CbEs0RVU7QUQwL1poQjs7QW1LcGthSTtJQUNFLHFCbEt5RVU7QUQ4L1poQjs7QW1LaGthRTtJQUVJLGdCbEswRFE7SWtLMURSLGlCbEswRFE7QUR5Z2FkOztBbUtoa2FFO0lBRUksaUJsS3FEUTtJa0tyRFIsa0JsS3FEUTtBRDhnYWQ7O0FtSzFrYUU7SUFFSSxpQmxLMkRRO0lrSzNEUixrQmxLMkRRO0FEa2hhZDs7QW1LMWthRTtJQUVJLGtCbEtzRFE7SWtLdERSLG1CbEtzRFE7QUR1aGFkOztBbUtwbGFFO0lBRUksaUJsSzRETztJa0s1RFAsa0JsSzRETztBRDJoYWI7O0FtS3BsYUU7SUFFSSxrQmxLdURPO0lrS3ZEUCxtQmxLdURPO0FEZ2lhYjs7QW1LOWxhRTtJQUVJLGlCbEs2RFE7SWtLN0RSLGtCbEs2RFE7QURvaWFkOztBbUs5bGFFO0lBRUksa0JsS3dEUTtJa0t4RFIsbUJsS3dEUTtBRHlpYWQ7O0FtS3htYUU7SUFFSSxpQmxLOERPO0lrSzlEUCxrQmxLOERPO0FENmlhYjs7QW1LeG1hRTtJQUVJLGtCbEt5RE87SWtLekRQLG1CbEt5RE87QURramFiOztBbUtsbmFFO0lBRUksaUJsSytEUTtJa0svRFIsa0JsSytEUTtBRHNqYWQ7O0FtS2xuYUU7SUFFSSxrQmxLMERRO0lrSzFEUixtQmxLMERRO0FEMmphZDs7QW1LNW5hRTtJQUVJLGtCbEtnRVU7SWtLaEVWLG1CbEtnRVU7QUQramFoQjs7QW1LNW5hRTtJQUVJLG1CbEsyRFU7SWtLM0RWLG9CbEsyRFU7QURva2FoQjs7QW1LeG5hRTtJQUVJLGVsSzRDUTtJa0s1Q1Isa0JsSzRDUTtBRCtrYWQ7O0FtS3huYUU7SUFFSSxnQmxLdUNRO0lrS3ZDUixtQmxLdUNRO0FEb2xhZDs7QW1LbG9hRTtJQUVJLGdCbEs2Q1E7SWtLN0NSLG1CbEs2Q1E7QUR3bGFkOztBbUtsb2FFO0lBRUksaUJsS3dDUTtJa0t4Q1Isb0JsS3dDUTtBRDZsYWQ7O0FtSzVvYUU7SUFFSSxnQmxLOENPO0lrSzlDUCxtQmxLOENPO0FEaW1hYjs7QW1LNW9hRTtJQUVJLGlCbEt5Q087SWtLekNQLG9CbEt5Q087QURzbWFiOztBbUt0cGFFO0lBRUksZ0JsSytDUTtJa0svQ1IsbUJsSytDUTtBRDBtYWQ7O0FtS3RwYUU7SUFFSSxpQmxLMENRO0lrSzFDUixvQmxLMENRO0FEK21hZDs7QW1LaHFhRTtJQUVJLGdCbEtnRE87SWtLaERQLG1CbEtnRE87QURtbmFiOztBbUtocWFFO0lBRUksaUJsSzJDTztJa0szQ1Asb0JsSzJDTztBRHduYWI7O0FtSzFxYUU7SUFFSSxnQmxLaURRO0lrS2pEUixtQmxLaURRO0FENG5hZDs7QW1LMXFhRTtJQUVJLGlCbEs0Q1E7SWtLNUNSLG9CbEs0Q1E7QURpb2FkOztBbUtwcmFFO0lBRUksaUJsS2tEVTtJa0tsRFYsb0JsS2tEVTtBRHFvYWhCOztBbUtwcmFFO0lBRUksa0JsSzZDVTtJa0s3Q1YscUJsSzZDVTtBRDBvYWhCOztBbUtocmFFO0lBQ0UsV2xLK0JVO0FEb3BhZDs7QW1LanJhRTtJQUNFLFlsSzRCVTtBRHdwYWQ7O0FtS3hyYUU7SUFDRSxZbEtnQ1U7QUQycGFkOztBbUt6cmFFO0lBQ0UsYWxLNkJVO0FEK3BhZDs7QW1LaHNhRTtJQUNFLFlsS2lDUztBRGtxYWI7O0FtS2pzYUU7SUFDRSxhbEs4QlM7QURzcWFiOztBbUt4c2FFO0lBQ0UsWWxLa0NVO0FEeXFhZDs7QW1LenNhRTtJQUNFLGFsSytCVTtBRDZxYWQ7O0FtS2h0YUU7SUFDRSxZbEttQ1M7QURncmFiOztBbUtqdGFFO0lBQ0UsYWxLZ0NTO0FEb3JhYjs7QW1LeHRhRTtJQUNFLFlsS29DVTtBRHVyYWQ7O0FtS3p0YUU7SUFDRSxhbEtpQ1U7QUQycmFkOztBbUtodWFFO0lBQ0UsYWxLcUNZO0FEOHJhaEI7O0FtS2p1YUU7SUFDRSxjbEtrQ1k7QURrc2FoQjs7QW1LL3RhQTtJQUNFLHFCQUFxQjtBbktrdWF2Qjs7QW1LL3RhQTtJQUNFLG9CQUFvQjtBbktrdWF0Qjs7QW1LOXRhRTtJQUNFLHlCQUFxQztBbktpdWF6Qzs7QW1LbHVhRTtJQUNFLDJCQUFxQztBbktxdWF6Qzs7QW1LdHVhRTtJQUNFLDRCQUFxQztBbkt5dWF6Qzs7QW1LMXVhRTtJQUNFLDBCQUFxQztBbks2dWF6Qzs7QW1LeHVhRTtJQUNFLHdCQUFtQztBbksydWF2Qzs7QW1LNXVhRTtJQUNFLDBCQUFtQztBbksrdWF2Qzs7QW1LaHZhRTtJQUNFLDJCQUFtQztBbkttdmF2Qzs7QW1LcHZhRTtJQUNFLHlCQUFtQztBbkt1dmF2Qzs7QW9LNTBhQTs7OztDcEtrMWFDO0FvSzUwYUQ7SUFDRSx3QkFBd0I7QXBLODBhMUI7O0FvSzMwYUE7SUFDRSxrQkFBa0I7QXBLODBhcEI7O0FvSzMwYUE7O0NwSyswYUM7QXNCdHJhSztJOEkzR0o7UUF6Qkksd0JBQXdCO0lwSzh6YTFCO0FBQ0o7O0FzQjNyYU07SThJbkdKO1FBZkksd0JBQXdCO0lwS2t6YTFCO0FBQ0o7O0FzQmpzYU07SThJM0dKO1FBekJJLHdCQUF3QjtJcEswMGExQjtBQUNKOztBc0J2c2FNO0k4SXZHSjtRQXhDSSx3QkFBd0I7SXBLMjFhMUI7QUFDSjs7QXNCN3NhTTtJOEluR0o7UUFyQkksd0JBQXdCO0lwSzAwYTFCO0FBQ0o7O0FzQm50YU07SThJbkdKO1FBZkksd0JBQXdCO0lwSzAwYTFCO0FBQ0o7O0FzQnp0YU07SThJdkdKO1FBeENJLHdCQUF3QjtJcEs2MmExQjtBQUNKOztBc0IvdGFNO0k4SW5HSjtRQXJCSSx3QkFBd0I7SXBLNDFhMUI7QUFDSjs7QXNCcnVhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLaTBhOUI7QUFDSjs7QXNCM3VhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLdTBhOUI7QUFDSjs7QXNCanZhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLNjBhOUI7QUFDSjs7QXNCdnZhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLbTFhOUI7QUFDSjs7QXNCN3ZhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLeTFhOUI7QUFDSjs7QXNCbndhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLKzFhOUI7QUFDSjs7QXNCendhTTtJOEl6RkE7UUFFSSx3QkFBd0I7SXBLcTJhOUI7QUFDSjs7QW9LLzFhQTs7Q3BLbTJhQztBb0svMWFEOztJQUVFLHlCQUF5QjtBcEtpMmEzQjs7QXNCdnhhTTtJOEk1RU47O1FBS0kseUJBQXlCO0lwS28yYXpCO0FBQ0o7O0FzQjl4YU07SThJNUVOOztRQVNJLHdCQUF3QjtJcEt1MmF4QjtBQUNKOztBb0twMmFBOztJQUVFLHdCQUF3QjtBcEt1MmExQjs7QXNCMXlhTTtJOEkvRE47O1FBS0ksd0JBQXdCO0lwSzAyYXhCO0FBQ0o7O0FzQmp6YU07SThJL0ROOztRQVNJLHlCQUF5QjtJcEs2MmF6QjtBQUNKOztB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bkIzQyxzRHhLeW5CMkM7SXdLeG5CM0MsK0NBQStCO0lBQS9CLHVDQUErQjtJQUEvQiwrQkFBK0I7SUFBL0IsbURBQStCO0F6S20vY2pDOztBeUtyL2NBO0lBTU0sdUZ4SzJFc0U7WXdLM0V0RSwrRXhLMkVzRTtBRHc2YzVFOztBeUt6L2NBO0lBTU0sd0Z4SzRFb0U7WXdLNUVwRSxnRnhLNEVvRTtBRDI2YzFFOztBeUs3L2NBO0lBTU0sc0Z4SzZFcUU7WXdLN0VyRSw4RXhLNkVxRTtBRDg2YzNFOztBeUtyL2NFO0lBRUksa0dBQTZCO1lBQTdCLDBGQUE2QjtBekt1L2NuQzs7QXlLei9jRTtJQUVJLG1HQUE2QjtZQUE3QiwyRkFBNkI7QXpLMi9jbkM7O0F5SzcvY0U7SUFFSSxpR0FBNkI7WUFBN0IseUZBQTZCO0F6SysvY25DOztBeUsxL2NBOzs7O0N6S2dnZEM7QXlLMy9jRDtJQUVFLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsa0JBQWtCO0F6SzQvY3BCOztBeUtoZ2RBOztJQVNJLGN4S3VCVztJd0t0QlgscUJBQXFCO0F6SzQvY3pCOztBeUt0Z2RBO0lBY0ksV0FBVztJQUNYLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sT0FBTztJQUNQLFFBQVE7SUFDUixTQUFTO0F6SzQvY2I7O0F5S3YvY0E7O0N6SzIvY0M7QXlLMytjRDtJQUNFLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIscUJ4S2ZvQjtJd0tnQnBCLGtCQUFrQjtJQUNsQixtQnhLbEJhO0FEKy9jZjs7QXlLbC9jQTtJQVFJLG9CQUFvQjtBeks4K2N4Qjs7QXlLdC9jQTtJQWVNLHFCeEt4Q1k7QURtaGRsQjs7QXlLMS9jQTtJQWVNLHFCeEt2Q2M7QURzaGRwQjs7QXlLOS9jQTtJQWVNLHFCeEtwQ1k7QUR1aGRsQjs7QXlLbGdkQTtJQWVNLHFCeEs1QlM7QURtaGRmOztBeUt0Z2RBO0lBZU0scUJ4S3ZCUztBRGtoZGY7O0F5SzFnZEE7SUFlTSxxQnhLM0JnQjtBRDBoZHRCOztBeUs5Z2RBO0lBZU0scUJ4SzFCYztBRDZoZHBCOztBeUtsaGRBO0lBZU0scUJ4S3pCZTtBRGdpZHJCOztBeUt0aGRBO0lBZU0scUJ4S3hCYTtBRG1pZG5COztBeUsxaGRBO0lBb0JJLGtCeEs0Q2U7QUQ4OWNuQjs7QXlLOWhkQTtJQTJCUSwyQnhLcUNXO0FEaytjbkI7O0F5S2xpZEE7SUEyQlEsNEJ4S3FDVztBRHMrY25COztBeUt0aWRBO0lBMkJRLDhCeEtxQ1c7QUQwK2NuQjs7QXlLMWlkQTtJQTJCUSwrQnhLcUNXO0FEOCtjbkI7O0F5SzdnZEE7SUFDRSxrQnhLOEJpQjtBRGsvY25COztBeUs3Z2RBO0lBQ0UsWUFBWTtJQUNaLGdCQUFnQjtBektnaGRsQjs7QXlLNWdkQTs7Ozs7Ozs7OztDekt3aGRDO0F5SzdnZEQ7SUFDRSxrQkFBa0I7QXpLK2dkcEI7O0F5SzdnZEE7SUFDRSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULE9BQU87SUFDUCxXQUFXO0F6S2doZGI7O0F5SzVnZEE7O0N6S2doZEM7QXlLNWdkRDtJQUNFLFdBQVc7QXpLOGdkYjs7QXlLM2dkQTtJQUNFLHVCQUF1QjtBeks4Z2R6Qjs7QXlLM2dkQTtJQUNFLHNCQUFzQjtBeks4Z2R4Qjs7QXlLM2dkQTtJQUNFLGNBQWM7SUFDZCxZQUFZO0F6SzhnZGQ7O0FzQmxoZE07SW1KV0E7UUFFSSxjQUFjO1FBQ2QsWUFBWTtJekswZ2RsQjtBQUNKOztBc0J6aGRNO0ltSldBO1FBRUksY0FBYztRQUNkLFlBQVk7SXpLaWhkbEI7QUFDSjs7QXNCaGlkTTtJbUpXQTtRQUVJLGNBQWM7UUFDZCxZQUFZO0l6S3doZGxCO0FBQ0o7O0FzQnZpZE07SW1KV0E7UUFFSSxjQUFjO1FBQ2QsWUFBWTtJeksraGRsQjtBQUNKOztBc0I5aWRNO0ltSldBO1FBRUksY0FBYztRQUNkLFlBQVk7SXpLc2lkbEI7QUFDSjs7QXNCcmpkTTtJbUpXQTtRQUVJLGNBQWM7UUFDZCxZQUFZO0l6SzZpZGxCO0FBQ0o7O0FzQjVqZE07SW1KV0E7UUFFSSxjQUFjO1FBQ2QsWUFBWTtJektvamRsQjtBQUNKOztBeUs3aWRBO0lBQ0UsaUJBQWlCO0F6S2dqZG5COztBeUs3aWRBO0lBQ0Usa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxRQUFRO0lBQ1IsV0FBVztJQUNYLHlEQUF5RDtJQUN6RCw0QkFBNEI7SUFDNUIsWUFBWTtJQUNaLFdBQVc7QXpLZ2pkYjs7QXlLN2lkQTtJQUNFLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsUUFBUTtJQUNSLFdBQVc7SUFDWCxvREFBb0Q7SUFDcEQsNEJBQTRCO0lBQzVCLFlBQVk7SUFDWixXQUFXO0F6S2dqZGI7O0F5SzVpZEE7SUFFSSxxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLE1BQU07QXpLOGlkVjs7QXlLMWlkQTtJQUNFLGtCQUFrQjtBeks2aWRwQjs7QXlLOWlkQTtJQUdJLGtCQUFrQjtJQUNsQixRQUFRO0lBQ1IsVUFBVTtBeksraWRkOztBeUszaWRBO0lBQ0UsWUFBWTtJQUNaLFlBQVk7QXpLOGlkZDs7QXlLM2lkQTs7Q3pLK2lkQztBeUs1aWREO0lBQ0UsNkJBQTZCO0lBQzdCLHFCQUFxQjtBeks4aWR2Qjs7QXlLNWlkQTtJQUNFLDZCQUE2QjtJQUM3QixxQkFBcUI7QXpLK2lkdkI7O0F1S3Z5ZEE7Ozs7Q3ZLNnlkQztBdUt2eWREO0lBQ0U7UUFBUSwrQkFBdUI7Z0JBQXZCLHVCQUF1QjtJdksweWQ3QjtJdUt6eWRGO1FBQVEsaUNBQXlCO2dCQUF6Qix5QkFBeUI7SXZLNHlkL0I7QUFDSjs7QXVLMXlkQTtJQUNFO1FBQU8sVUFBVTtJdks4eWRmO0l1Szd5ZEY7UUFBTyxVQUFVO0l2S2d6ZGY7QUFDSjs7QXVLOXlkQTtJQUNFO1FBQU8sVUFBVTtJdktremRmO0l1S2p6ZEY7UUFBTyxVQUFVO0l2S296ZGY7QUFDSjs7QXVLbHpkQTtJQUNFO1FBQ0UsVUFBVTtRQUNWLDBDQUFrQztnQkFBbEMsa0NBQWtDO0l2S3F6ZGxDO0l1S2x6ZEY7UUFDRSxVQUFVO1FBQ1YsdUJBQWU7Z0JBQWYsZUFBZTtJdktvemRmO0FBQ0o7O0F1S2p6ZEE7SUFDRTtRQUNFLFVBQVU7UUFDViwwQ0FBa0M7Z0JBQWxDLGtDQUFrQztJdktvemRsQztJdUtqemRGO1FBQ0UsVUFBVTtRQUNWLHVCQUFlO2dCQUFmLGVBQWU7SXZLbXpkZjtBQUNKOztBdUtoemRBO0lBQ0U7UUFBTyxVQUFTO1FBQUUsZUFBZTtJdktxemQvQjtJdUtwemRGO1FBQU8sWUFBVztRQUFFLGVBQWU7SXZLd3pkakM7SXVLdnpkRjtRQUFPLFVBQVM7UUFBRSxlQUFlO0l2SzJ6ZC9CO0FBQ0o7O0F1S3p6ZEE7SUFDRTtRQUFPLCtCQUF1QjtnQkFBdkIsdUJBQXVCO0l2SzZ6ZDVCO0l1SzV6ZEY7UUFBTywrQkFBdUI7Z0JBQXZCLHVCQUF1QjtJdksremQ1QjtJdUs5emRGO1FBQU8sK0JBQXVCO2dCQUF2Qix1QkFBdUI7SXZLaTBkNUI7QUFDSjs7QXVLL3pkQTtJQUNFO1FBQUssVUFBVTtJdkttMGRiO0l1S2wwZEY7UUFBTSxVQUFVO0l2S3EwZGQ7SXVLcDBkRjtRQUFNLFVBQVU7SXZLdTBkZDtJdUt0MGRGO1FBQU0sVUFBVTtJdkt5MGRkO0l1S3gwZEY7UUFBTyxVQUFVO0l2SzIwZGY7QUFDSjs7QXVLejBkQTtJQUNFO1FBQ0Usc0VBQW1FO2dCQUFuRSw4REFBbUU7UUFDbkUsdUNBQTZCO2dCQUE3QiwrQkFBNkI7SXZLNDBkN0I7SXVLMTBkRjtRQUNFLHlFQUFtRTtnQkFBbkUsaUVBQW1FO1FBQ25FLDJDQUFtQztnQkFBbkMsbUNBQW1DO0l2SzQwZG5DO0l1SzEwZEY7UUFDRSx5RUFBbUU7Z0JBQW5FLGlFQUFtRTtRQUNuRSwyQ0FBbUM7Z0JBQW5DLG1DQUFtQztJdks0MGRuQztJdUsxMGRGO1FBQ0UsMENBQWdDO2dCQUFoQyxrQ0FBZ0M7SXZLNDBkaEM7QUFDSjs7QXVLejBkQTtJQUNFO1FBQ0Usc0VBQW1FO2dCQUFuRSw4REFBbUU7SXZLNDBkbkU7SXVLejBkRjtRQUNFLFVBQVU7UUFDViw0Q0FBb0M7Z0JBQXBDLG9DQUFvQztJdksyMGRwQztJdUt4MGRGO1FBQ0UsVUFBVTtRQUNWLDJDQUFtQztnQkFBbkMsbUNBQW1DO0l2SzAwZG5DO0l1S3YwZEY7UUFDRSwwQ0FBa0M7Z0JBQWxDLGtDQUFrQztJdkt5MGRsQztJdUt0MGRGO1FBQ0UsMENBQWtDO2dCQUFsQyxrQ0FBa0M7SXZLdzBkbEM7SXVLcjBkRjtRQUNFLHVDQUErQjtnQkFBL0IsK0JBQStCO0l2S3UwZC9CO0FBQ0o7O0F1S3AwZEE7SUFDRTtRQUNFLG1DQUEyQjtnQkFBM0IsMkJBQTJCO0l2S3UwZDNCO0l1S3IwZEY7UUFDRSxrRUFBdUQ7Z0JBQXZELDBEQUF1RDtJdkt1MGR2RDtJdUtyMGRGO1FBQ0UsaUVBQXlEO2dCQUF6RCx5REFBeUQ7SXZLdTBkekQ7SXVLcjBkRjtRQUNFLGtFQUEwRDtnQkFBMUQsMERBQTBEO0l2S3UwZDFEO0l1S3IwZEY7UUFDRSxtQ0FBMkI7Z0JBQTNCLDJCQUEyQjtJdkt1MGQzQjtBQUNKOztBMEs1N2RFO0lBQ0Usc0JBQXNCO0ExSys3ZDFCOztBMEs1N2RFO0lBQ0UsdUJBQXVCO0ExSys3ZDNCOztBMEs1N2RFO0lBQ0UsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixpQkFBaUI7QTFLKzdkckI7O0FRMXlkRTtJQUVFLGNBQWM7SUFDZCxZQUFZO0FSNHlkaEI7O0FRcHlkRTtJQUNFLFdBQVc7QVJ1eWRmIiwiZmlsZSI6ImluZGV4LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qXG4vLy8vLy8vLy8vLy8vL1xuLy8gU0VUVElOR1MgLy9cbi8vLy8vLy8vLy8vLy8vXG4qL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLypcbi8vLy8vLy8vLy9cbi8vIEJBU0UgLy9cbi8vLy8vLy8vLy9cbiovXG4vKlxuZm91bmRhdGlvbiBiYXNlICgmIG5vcm1hbGl6ZSlcbiovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC8qIDIgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC8qIDMgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC8qIDEgKi9cbiAgICBoZWlnaHQ6IDA7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5wcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgLyogMiAqL1xufVxuXG4vKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZS13aWR0aDogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5hYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuYXVkaW8sXG52aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIC8qIDIgKi9cbn1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cbmlucHV0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLyogMSAqL1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIC8qIDIgKi9cbiAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIC8qIDEgKi9cbn1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbVwiO1xufVxuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGQ0ZDO1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbn1cblxudGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBhdXRvO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG5wcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlxuLy8vLy8vLy8vLy8vXG4vLyBHTE9CQUwgLy9cbi8vLy8vLy8vLy8vL1xuKi9cbi8qXG5nbG9iYWwgdGFnc1xuKi9cbmh0bWwsIGJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xufVxuXG5hIHtcbiAgICBjb2xvcjogIzJBMjg3QjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHksIGJveC1zaGFkb3c7XG59XG5cbmEuYnV0dG9uLCBhLnRleHQtbGFyZ2UsIGEucm93LCBhLnVuc3R5bGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmEudW5zdHlsZWQge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG5hOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbmJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5LCBib3gtc2hhZG93O1xufVxuXG5zdXAge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICB0b3A6IDA7XG4gICAgZm9udC1zaXplOiAwLjVlbTtcbn1cblxuLmhyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0UxRTJFMztcbn1cblxuLnByaWNlLWxvYWRpbmcgLnBsZWFzZS13YWl0IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ucGxlYXNlLXdhaXQge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UtaW4tb3V0O1xufVxuXG4ucGxlYXNlLXdhaXQgc3ZnIHtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbn1cblxuLypcbmhpZGUgc3ZnIGRlZmluaXRpb24gY29udGFpbmVyXG4qL1xuLnN2Zy1kZWZzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbn1cblxuLypcbi8vLy8vLy8vLy8vXG4vLyBGT05UUyAvL1xuLy8vLy8vLy8vLy9cbiovXG4vKlxuRk9OVCBJQ09OU1xuKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnaHVkZGxlJztcbiAgICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvaHVkZGxlL2h1ZGRsZS5lb3Q/NzUxOTkwNDVcIik7XG4gICAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL2h1ZGRsZS9odWRkbGUuZW90Pzc1MTk5MDQ1I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2h1ZGRsZS9odWRkbGUud29mZjI/NzUxOTkwNDVcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9hc3NldHMvZm9udHMvaHVkZGxlL2h1ZGRsZS53b2ZmPzc1MTk5MDQ1XCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvZm9udHMvaHVkZGxlL2h1ZGRsZS50dGY/NzUxOTkwNDVcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi9hc3NldHMvZm9udHMvaHVkZGxlL2h1ZGRsZS5zdmc/NzUxOTkwNDUjaHVkZGxlXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSwgW2NsYXNzKj1cIiBpY29uLVwiXTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnaHVkZGxlJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBzcGVhazogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHdpZHRoOiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1sZWZ0OiAuMmVtO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLXJlcGx5OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwMCc7XG59XG5cbi8qICfuoIAnICovXG4uaWNvbi1jYWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwMSc7XG59XG5cbi8qICfuoIEnICovXG4uaWNvbi1jaGF0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwMic7XG59XG5cbi8qICfuoIInICovXG4uaWNvbi1pbmZvOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwMyc7XG59XG5cbi8qICfuoIMnICovXG4uaWNvbi1vay1jaXJjbGVkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MDQnO1xufVxuXG4vKiAn7qCEJyAqL1xuLmljb24tY2FuY2VsLWNpcmNsZWQyOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwNSc7XG59XG5cbi8qICfuoIUnICovXG4uaWNvbi1vay1jaXJjbGVkOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwNic7XG59XG5cbi8qICfuoIYnICovXG4uaWNvbi1jYW5jZWwtY2lyY2xlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MDcnO1xufVxuXG4vKiAn7qCHJyAqL1xuLmljb24tcGx1cy1jaXJjbGVkOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwOCc7XG59XG5cbi8qICfuoIgnICovXG4uaWNvbi1taW51cy1jaXJjbGVkOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwOSc7XG59XG5cbi8qICfuoIknICovXG4uaWNvbi1lcnJvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MGEnO1xufVxuXG4vKiAn7qCKJyAqL1xuLmljb24tbWFpbC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMGUwJztcbn1cblxuLyogJ++DoCcgKi9cbi5pY29uLWRvYy10ZXh0LWludjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYxNWMnO1xufVxuXG4vKiAn74WcJyAqL1xuLmljb24tYXR0ZW50aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgwYic7XG59XG5cbi8qICfuoIsnICovXG4vKlxuLy8vLy8vLy8vLy9cbi8vIEZPUk1TIC8vXG4vLy8vLy8vLy8vL1xuKi9cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMi40MzhyZW07XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIxMjEyMTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgzMywgMzMsIDMzLCAwLjEpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI0JDQkRCRDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxudGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxudGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI0JDQkRCRDtcbn1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMkUzO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbn1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbn1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbmxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbmxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MnJlbSAwO1xufVxuXG4uaGVscC10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44MTJyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG5cbi5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQ0JEQkQ7XG4gICAgYmFja2dyb3VuZDogI0UxRTJFMztcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xufVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG59XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMSU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG5maWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5sZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5cbi5maWVsZHNldCB7XG4gICAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JDQkRCRDtcbn1cblxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODhyZW07XG4gICAgcGFkZGluZzogMCAwLjE4OHJlbTtcbn1cblxuc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDIuNDM4cmVtO1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIxMjEyMTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTE3LCAxMTcsIDExNyUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTFyZW0gY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gICAgfVxufVxuXG5zZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI0JDQkRCRDtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxuc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMkUzO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICNGRkRGMUE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmNlODtcbn1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI0ZGREYxQTtcbn1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICAgIGNvbG9yOiAjRkZERjFBO1xufVxuXG4uZm9ybS1lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNGRkRGMUE7XG59XG5cbi5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZmllbGRfX2ljb24gKyBzZWxlY3QsXG4uZmllbGRfX2ljb24gKyB0ZXh0YXJlYSwgLmZpZWxkX19pY29uICsgW3R5cGU9J3RleHQnXSwgLmZpZWxkX19pY29uICsgW3R5cGU9J3Bhc3N3b3JkJ10sIC5maWVsZF9faWNvbiArIFt0eXBlPSdkYXRlJ10sIC5maWVsZF9faWNvbiArIFt0eXBlPSdkYXRldGltZSddLCAuZmllbGRfX2ljb24gKyBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgLmZpZWxkX19pY29uICsgW3R5cGU9J21vbnRoJ10sIC5maWVsZF9faWNvbiArIFt0eXBlPSd3ZWVrJ10sIC5maWVsZF9faWNvbiArIFt0eXBlPSdlbWFpbCddLCAuZmllbGRfX2ljb24gKyBbdHlwZT0nbnVtYmVyJ10sIC5maWVsZF9faWNvbiArIFt0eXBlPSdzZWFyY2gnXSwgLmZpZWxkX19pY29uICsgW3R5cGU9J3RlbCddLCAuZmllbGRfX2ljb24gKyBbdHlwZT0ndGltZSddLCAuZmllbGRfX2ljb24gKyBbdHlwZT0ndXJsJ10sIC5maWVsZF9faWNvbiArIFt0eXBlPSdjb2xvciddIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbi5maWVsZF9faWNvbi0tcmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwcHg7XG59XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIGhlaWdodDogMi42cmVtO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cblt0eXBlPSd0ZXh0J106OnBsYWNlaG9sZGVyLCBbdHlwZT0ncGFzc3dvcmQnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdkYXRlJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nZGF0ZXRpbWUnXTo6cGxhY2Vob2xkZXIsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J21vbnRoJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nd2VlayddOjpwbGFjZWhvbGRlciwgW3R5cGU9J2VtYWlsJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nbnVtYmVyJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0ndGVsJ106OnBsYWNlaG9sZGVyLCBbdHlwZT0ndGltZSddOjpwbGFjZWhvbGRlciwgW3R5cGU9J3VybCddOjpwbGFjZWhvbGRlciwgW3R5cGU9J2NvbG9yJ106OnBsYWNlaG9sZGVyLCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIHNlbGVjdDo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5pcy1lcnJvciBbdHlwZT0ndGV4dCddLCAuaXMtZXJyb3IgW3R5cGU9J3Bhc3N3b3JkJ10sIC5pcy1lcnJvciBbdHlwZT0nZGF0ZSddLCAuaXMtZXJyb3IgW3R5cGU9J2RhdGV0aW1lJ10sIC5pcy1lcnJvciBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgLmlzLWVycm9yIFt0eXBlPSdtb250aCddLCAuaXMtZXJyb3IgW3R5cGU9J3dlZWsnXSwgLmlzLWVycm9yIFt0eXBlPSdlbWFpbCddLCAuaXMtZXJyb3IgW3R5cGU9J251bWJlciddLCAuaXMtZXJyb3IgW3R5cGU9J3NlYXJjaCddLCAuaXMtZXJyb3IgW3R5cGU9J3RlbCddLCAuaXMtZXJyb3IgW3R5cGU9J3RpbWUnXSwgLmlzLWVycm9yIFt0eXBlPSd1cmwnXSwgLmlzLWVycm9yIFt0eXBlPSdjb2xvciddLCAuaXMtZXJyb3IgdGV4dGFyZWEsIC5pcy1lcnJvciBzZWxlY3Qge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGNjg3RDtcbn1cblxuW3R5cGU9J3RleHQnXS5uZy1pbnZhbGlkOm5vdCgubmctcHJpc3RpbmUpLCBbdHlwZT0ncGFzc3dvcmQnXS5uZy1pbnZhbGlkOm5vdCgubmctcHJpc3RpbmUpLCBbdHlwZT0nZGF0ZSddLm5nLWludmFsaWQ6bm90KC5uZy1wcmlzdGluZSksIFt0eXBlPSdkYXRldGltZSddLm5nLWludmFsaWQ6bm90KC5uZy1wcmlzdGluZSksIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLm5nLWludmFsaWQ6bm90KC5uZy1wcmlzdGluZSksIFt0eXBlPSdtb250aCddLm5nLWludmFsaWQ6bm90KC5uZy1wcmlzdGluZSksIFt0eXBlPSd3ZWVrJ10ubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSwgW3R5cGU9J2VtYWlsJ10ubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSwgW3R5cGU9J251bWJlciddLm5nLWludmFsaWQ6bm90KC5uZy1wcmlzdGluZSksIFt0eXBlPSdzZWFyY2gnXS5uZy1pbnZhbGlkOm5vdCgubmctcHJpc3RpbmUpLCBbdHlwZT0ndGVsJ10ubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSwgW3R5cGU9J3RpbWUnXS5uZy1pbnZhbGlkOm5vdCgubmctcHJpc3RpbmUpLCBbdHlwZT0ndXJsJ10ubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSwgW3R5cGU9J2NvbG9yJ10ubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSwgdGV4dGFyZWEubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSwgc2VsZWN0Lm5nLWludmFsaWQ6bm90KC5uZy1wcmlzdGluZSkge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGNjg3RDtcbn1cblxuW3R5cGU9J3RleHQnXTpkaXNhYmxlZCwgW3R5cGU9J3Bhc3N3b3JkJ106ZGlzYWJsZWQsIFt0eXBlPSdkYXRlJ106ZGlzYWJsZWQsIFt0eXBlPSdkYXRldGltZSddOmRpc2FibGVkLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpkaXNhYmxlZCwgW3R5cGU9J21vbnRoJ106ZGlzYWJsZWQsIFt0eXBlPSd3ZWVrJ106ZGlzYWJsZWQsIFt0eXBlPSdlbWFpbCddOmRpc2FibGVkLCBbdHlwZT0nbnVtYmVyJ106ZGlzYWJsZWQsIFt0eXBlPSdzZWFyY2gnXTpkaXNhYmxlZCwgW3R5cGU9J3RlbCddOmRpc2FibGVkLCBbdHlwZT0ndGltZSddOmRpc2FibGVkLCBbdHlwZT0ndXJsJ106ZGlzYWJsZWQsIFt0eXBlPSdjb2xvciddOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCwgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNCQ0JEQkQ7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG59XG5cblt0eXBlPSd0ZXh0J11bcmVhZG9ubHldLCBbdHlwZT0ncGFzc3dvcmQnXVtyZWFkb25seV0sIFt0eXBlPSdkYXRlJ11bcmVhZG9ubHldLCBbdHlwZT0nZGF0ZXRpbWUnXVtyZWFkb25seV0sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddW3JlYWRvbmx5XSwgW3R5cGU9J21vbnRoJ11bcmVhZG9ubHldLCBbdHlwZT0nd2VlayddW3JlYWRvbmx5XSwgW3R5cGU9J2VtYWlsJ11bcmVhZG9ubHldLCBbdHlwZT0nbnVtYmVyJ11bcmVhZG9ubHldLCBbdHlwZT0nc2VhcmNoJ11bcmVhZG9ubHldLCBbdHlwZT0ndGVsJ11bcmVhZG9ubHldLCBbdHlwZT0ndGltZSddW3JlYWRvbmx5XSwgW3R5cGU9J3VybCddW3JlYWRvbmx5XSwgW3R5cGU9J2NvbG9yJ11bcmVhZG9ubHldLCB0ZXh0YXJlYVtyZWFkb25seV0sIHNlbGVjdFtyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG50ZXh0YXJlYSwgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY1RjY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5xdW90ZS1wYWdlcyAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLnN1YmZvcm0gLmZpZWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG5sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5maWVsZC1zdWJ0ZXh0IHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBsaW5lLWhlaWdodDogMS44NTtcbn1cblxuLmZpZWxkX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyM3B4O1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5maWVsZF9faWNvbi0tYnJhaW50cmVlIHtcbiAgICB0b3A6IC0zMnB4O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwcHg7XG59XG5cbi5kaXNhYmxlZCxcbltkaXNhYmxlZF0ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmllbGRfX2ZlZWRiYWNrV3JhcCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uZmllbGRfX2ZlZWRiYWNrV3JhcCAuZmllbGRfX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDdweDtcbiAgICBsZWZ0OiA3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5maWVsZC0tc2VsZWN0IC5maWVsZF9fZmVlZGJhY2tXcmFwIC5maWVsZF9faWNvbiB7XG4gICAgcmlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmZpZWxkOm5vdCguaGFzLWZlZWRiYWNrKSAuZmllbGRfX2ZlZWRiYWNrV3JhcCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5maWVsZF9fZmVlZGJhY2sge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgei1pbmRleDogOTtcbiAgICBwYWRkaW5nOiAwLjNyZW0gMDtcbn1cblxuLmlzLWVycm9yIC5maWVsZF9fZmVlZGJhY2sge1xuICAgIGNvbG9yOiAjRkY2ODdEO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZpZWxkX19lcnJvcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5maWVsZF9fZXJyb3I6bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZpZWxkX19lcnJvciBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbn1cblxuc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdmdzL2ljb24tYXJyb3ctZG93bi5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi5kcmFnLW4tZHJvcC11cGxvYWQtYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUUyRTM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZHJhZy1uLWRyb3AtdXBsb2FkLWJveCAuZHJhZy1uLWRyb3AtdXBsb2FkLWltZyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9kcmFnLW4tZHJvcC5wbmcpIGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5kcmFnLW4tZHJvcC11cGxvYWQtYm94LmRyYWdvdmVyIHtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgIzI3QjU4MTtcbn1cblxuLmZvcm0tY29tcGFjdCBbdHlwZT0ndGV4dCddLCAuZm9ybS1jb21wYWN0IFt0eXBlPSdwYXNzd29yZCddLCAuZm9ybS1jb21wYWN0IFt0eXBlPSdkYXRlJ10sIC5mb3JtLWNvbXBhY3QgW3R5cGU9J2RhdGV0aW1lJ10sIC5mb3JtLWNvbXBhY3QgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIC5mb3JtLWNvbXBhY3QgW3R5cGU9J21vbnRoJ10sIC5mb3JtLWNvbXBhY3QgW3R5cGU9J3dlZWsnXSwgLmZvcm0tY29tcGFjdCBbdHlwZT0nZW1haWwnXSwgLmZvcm0tY29tcGFjdCBbdHlwZT0nbnVtYmVyJ10sIC5mb3JtLWNvbXBhY3QgW3R5cGU9J3NlYXJjaCddLCAuZm9ybS1jb21wYWN0IFt0eXBlPSd0ZWwnXSwgLmZvcm0tY29tcGFjdCBbdHlwZT0ndGltZSddLCAuZm9ybS1jb21wYWN0IFt0eXBlPSd1cmwnXSwgLmZvcm0tY29tcGFjdCBbdHlwZT0nY29sb3InXSwgLmZvcm0tY29tcGFjdCBzZWxlY3Qge1xuICAgIGhlaWdodDogMi40cmVtO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLmZvcm0tY29tcGFjdCB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiA3cmVtO1xufVxuXG4uZm9ybS1jb21wYWN0IGZpZWxkc2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi5mb3JtLWNvbXBhY3QgZmllbGRzZXQuc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uZm9ybS1jb21wYWN0IGZpZWxkc2V0LmJsb2NrIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZm9ybS1jb21wYWN0IGZpZWxkc2V0IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmZvcm0tY29tcGFjdCBmaWVsZHNldCBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5mb3JtLWNvbXBhY3QgbWQtc2VsZWN0IHtcbiAgICBwYWRkaW5nOiA0cHg7XG59XG5cbi5mb3JtLWNvbXBhY3QgbWQtaW5wdXQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9ybS1jb21wYWN0IFtjbGFzcyo9XCJmaWVsZF9cIl0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbn1cblxuLmZvcm0tY29tcGFjdCAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmZvcm0tY29tcGFjdCAuZmllbGRfZG9iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9ybS1jb21wYWN0IGhyIHtcbiAgICBtYXJnaW46IDVweCAwIDIwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZvcm0tY29tcGFjdCAubWQtdGFibGUgLm1kLWJvZHkgPiAubWQtcm93LCAuZm9ybS1jb21wYWN0IC5tZC10YWJsZSAubWQtaGVhZCA+IC5tZC1yb3cge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmZvcm0tY29tcGFjdCAubWQtdGFibGUgLm1kLWJvZHkgPiAubWQtcm93IHRoLCAuZm9ybS1jb21wYWN0IC5tZC10YWJsZSAubWQtYm9keSA+IC5tZC1yb3cgdGQsIC5mb3JtLWNvbXBhY3QgLm1kLXRhYmxlIC5tZC1oZWFkID4gLm1kLXJvdyB0aCwgLmZvcm0tY29tcGFjdCAubWQtdGFibGUgLm1kLWhlYWQgPiAubWQtcm93IHRkIHtcbiAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29tcGFjdCAubWQtZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmZvcm0tY29tcGFjdCAuZmllbGRfZGF0ZV90aW1lIC5sYXlvdXQtcm93IG1kLXNlbGVjdCB7XG4gICAgcGFkZGluZzogNHB4O1xufVxuXG4uZm9ybS1jb21wYWN0IC5tZC1idXR0b24uYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmV4cGFuZGVkLWZpZWxkIC5maWVsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZmllbGQtLXRlbCBpbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA5M3B4O1xufVxuXG4uY291bnRyeS1jb2RlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDkzcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA0MnB4O1xufVxuXG4uY291bnRyeS1jb2RlLXdyYXBwZXItZGlhbGNvZGUge1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4vKlxuLy8vLy8vLy8vLy8vLy8vL1xuLy8gVFlQT0dSQVBIWSAvL1xuLy8vLy8vLy8vLy8vLy8vL1xuKi9cbi8qXG5DVVNUT00gRk9OVFNcbiovXG5oMSwgLmgxLCBoMiwgLmgyLCBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1LCBoNiwgLmg2IHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xufVxuXG5oMSwgLmgxIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1zaXplOiAzMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaDEsIC5oMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB9XG59XG5cbmgyLCAuaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaDIsIC5oMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB9XG59XG5cbmgzLCAuaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE3O1xufVxuXG5oNCwgLmg0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTtcbn1cblxuLmhlYWRsaW5lIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4xMzhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gICAgZm9udC1zaXplOiA0NXB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgIH1cbn1cblxuLnN1Yi1oZWFkbGluZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0OHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40NDtcbn1cblxuLnN1Yi10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDMzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50ZXh0LXhzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2Nztcbn1cblxuLnRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41NzI7XG59XG5cbi50ZXh0LW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xufVxuXG4udGV4dC1sYXJnZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0NHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40Mztcbn1cblxuLnRleHQtbnVtYmVyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4xMnJlbTtcbiAgICBmb250LXNpemU6IDM0cHg7XG59XG5cbi50ZXh0LW51bWJlci54eHNtYWxsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi50ZXh0LW51bWJlci54c21hbGwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLnRleHQtbnVtYmVyLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MnJlbTtcbn1cblxuLnRleHQtbnVtYmVyLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG59XG5cbi50ZXh0LW51bWJlci5wcmljZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICckJztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgZm9udC1zaXplOiAuNWVtO1xufVxuXG4udGV4dC1udW1iZXIucHJpY2UgZW0ge1xuICAgIGZvbnQtc2l6ZTogMC40ZW07XG4gICAgZm9udC1zdHlsZTogaW5oZXJpdDtcbn1cblxuLnRleHQtbnVtYmVyIC50ZXh0LXNtYWxsIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLypcblRFWFQgSEVMUEVSU1xuKi9cbi50ZXh0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnRleHQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50ZXh0LXVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50ZXh0LXVuZGVybGluZS1uYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGV4dC1sb3dlciB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLnRleHQtdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi50ZXh0LWNhcGl0YWxpc2Uge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4udGV4dC1jYXBzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLnRleHQtb3ZlcmZsb3cge1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4udGV4dC1uby13cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGV4dC13cmFwLW5vcm1hbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1zdXBlciB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuXG4udGV4dC1zdWIge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG59XG5cbi50ZXh0LXN0cmlrZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi50ZXh0LXRlcnRpYXJ5IHtcbiAgICBjb2xvcjogIzJBMjg3Qjtcbn1cblxuLnRleHQtbGlnaHQge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi50ZXh0LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnRleHQtdGhpbiB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRleHQtc2VtaWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50ZXh0LWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi50ZXh0LXhib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vKlxuVEVYVCBBTElHTk1FTlRcbiovXG4udGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC50ZXh0LWxlZnQtc21hbGwtZG93biB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC50ZXh0LWxlZnQtc21hbGwtb25seSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRleHQtbGVmdC1tZWRpdW0tdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAudGV4dC1sZWZ0LW1lZGl1bS1kb3duIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC50ZXh0LWxlZnQtbWVkaXVtLW9ubHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWxlZnQtbGFyZ2UtdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWxlZnQtbGFyZ2Utb25seSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4udGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAudGV4dC1jZW50ZXItc21hbGwtZG93biB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLnRleHQtY2VudGVyLXNtYWxsLW9ubHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRleHQtY2VudGVyLW1lZGl1bS11cCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnRleHQtY2VudGVyLW1lZGl1bS1kb3duIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnRleHQtY2VudGVyLW1lZGl1bS1vbmx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWNlbnRlci1sYXJnZS11cCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGV4dC1jZW50ZXItbGFyZ2Utb25seSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAudGV4dC1yaWdodC1zbWFsbC1kb3duIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC50ZXh0LXJpZ2h0LXNtYWxsLW9ubHkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudGV4dC1yaWdodC1tZWRpdW0tdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnRleHQtcmlnaHQtbWVkaXVtLWRvd24ge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC50ZXh0LXJpZ2h0LW1lZGl1bS1vbmx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRleHQtcmlnaHQtbGFyZ2UtdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGV4dC1yaWdodC1sYXJnZS1vbmx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxufVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC50ZXh0LWp1c3RpZnktc21hbGwtZG93biB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC50ZXh0LWp1c3RpZnktc21hbGwtb25seSB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRleHQtanVzdGlmeS1tZWRpdW0tdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAudGV4dC1qdXN0aWZ5LW1lZGl1bS1kb3duIHtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC50ZXh0LWp1c3RpZnktbWVkaXVtLW9ubHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWp1c3RpZnktbGFyZ2UtdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LWp1c3RpZnktbGFyZ2Utb25seSB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgfVxufVxuXG4udGV4dC1taWRkbGUge1xuICAgIHRleHQtYWxpZ246IG1pZGRsZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAudGV4dC1taWRkbGUtc21hbGwtZG93biB7XG4gICAgICAgIHRleHQtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLnRleHQtbWlkZGxlLXNtYWxsLW9ubHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRleHQtbWlkZGxlLW1lZGl1bS11cCB7XG4gICAgICAgIHRleHQtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnRleHQtbWlkZGxlLW1lZGl1bS1kb3duIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnRleHQtbWlkZGxlLW1lZGl1bS1vbmx5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZXh0LW1pZGRsZS1sYXJnZS11cCB7XG4gICAgICAgIHRleHQtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGV4dC1taWRkbGUtbGFyZ2Utb25seSB7XG4gICAgICAgIHRleHQtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbi8qXG5URVhUIENPTE9SXG4qL1xuLmRhcmsgLmhlYWRsaW5lIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLmgxIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLmgyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLmgzIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLmg0IHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLnN1Yi1oZWFkbGluZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5kYXJrIC5zdWItdGl0bGUge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZGFyayAudGV4dC14c21hbGwge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZGFyayAudGV4dC1zbWFsbCB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5kYXJrIC50ZXh0LW1lZGl1bSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5kYXJrIC50ZXh0LWxhcmdlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLnRleHQtbnVtYmVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLnRleHQtcHJpY2Uge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZGFyayAubGlzdC10aWNrIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgcCxcbi5kYXJrIHAgYSxcbi5kYXJrIGRpdixcbi5kYXJrIHNwYW4sXG4uZGFyayBsYWJlbCxcbi5kYXJrIGxpIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbi50ZXh0LWFsZXJ0IHtcbiAgICBjb2xvcjogI0ZGREYxQTtcbn1cblxuLnRleHQtc3VjY2VzcyB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbi50ZXh0LWRhcmstZ3JheSB7XG4gICAgY29sb3I6ICM3NTc1NzU7XG59XG5cbi50ZXh0LW1lZGl1bS1ncmF5IHtcbiAgICBjb2xvcjogI0JDQkRCRDtcbn1cblxuLypcblRFWFQgTUlTQ1xuKi9cbi8qXG5URVhUIENBUFNVTEVcbiovXG4udGV4dC1jYXBzdWxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDRweCAxOS4ycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0JDQkRCRDtcbn1cblxuLnRleHQtY2Fwc3VsZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xufVxuXG4udGV4dC1jYXBzdWxlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbn1cblxuLnRleHQtY2Fwc3VsZS53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY2ODdEO1xufVxuXG4udGV4dC1jYXBzdWxlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZERjFBO1xufVxuXG4udGV4dC1jYXBzdWxlLnN0YXR1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RERUJGNztcbn1cblxuLnRleHQtY2Fwc3VsZS5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDMuNjY3cHggMTMuMnB4O1xufVxuXG4udGV4dC1jYXBzdWxlLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgcGFkZGluZzogNi42NjdweCAyNHB4O1xufVxuXG4uYnVwYS1vZmZlci1jYXBzdWxlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIHBhZGRpbmc6IDRweCAxOS4ycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCMzkwNztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qXG5MSU5FIEhFSUdIVFNcbiovXG4ubGluZS1oZWlnaHQteHhzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDAuNTtcbn1cblxuLmxpbmUtaGVpZ2h0LXhzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDAuODtcbn1cblxuLmxpbmUtaGVpZ2h0LXNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxpbmUtaGVpZ2h0LW1lZGl1bSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5saW5lLWhlaWdodC1sYXJnZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmxpbmUtaGVpZ2h0LXhsYXJnZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuOTtcbn1cblxuLmxpbmUtaGVpZ2h0LXh4bGFyZ2Uge1xuICAgIGxpbmUtaGVpZ2h0OiAzO1xufVxuXG5hZGRyZXNzIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qXG5UQUJMRVNcbiovXG50YWJsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxucHJlIHtcbiAgICBmb250LXNpemU6IDEwLjVweDtcbiAgICBsaW5lLWhlaWdodDogMTAuNXB4O1xufVxuXG5wcmUuZml4ZWQge1xuICAgIG1heC1oZWlnaHQ6IDIwZW07XG4gICAgbWF4LXdpZHRoOiA2MGVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAgIGNvbG9yOiAjZWVlO1xufVxuXG5wcmUudGFsbCB7XG4gICAgbWF4LWhlaWdodDogNjBlbTtcbn1cblxucHJlLmZpeGVkOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG1heC13aWR0aDogN3B4O1xuICAgIG1heC1oZWlnaHQ6IDdweDtcbn1cblxucHJlLmZpeGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi8qXG4vLy8vLy8vLy8vL1xuLy8gTElTVFMgLy9cbi8vLy8vLy8vLy8vXG4qL1xubGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxpc3QtaW5saW5lLCAubGlzdC1pbmxpbmUtc21hbGwtZG93biwgLmxpc3QtaW5saW5lLXNtYWxsLW9ubHksIC5saXN0LWlubGluZS1tZWRpdW0tdXAsIC5saXN0LWlubGluZS1tZWRpdW0tZG93biwgLmxpc3QtaW5saW5lLW1lZGl1bS1vbmx5LCAubGlzdC1pbmxpbmUtbGFyZ2UtdXAsIC5saXN0LWlubGluZS1sYXJnZS1vbmx5LCAubGlzdC11bnN0eWxlZCwgdGFncy1pbnB1dCAuYXV0b2NvbXBsZXRlIC5zdWdnZXN0aW9uLWxpc3QsIC51aWItZGF0ZXBpY2tlci1wb3B1cCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmxpc3QtaW5saW5lID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAubGlzdC1pbmxpbmUtc21hbGwtZG93biA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAubGlzdC1pbmxpbmUtc21hbGwtb25seSA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0LWlubGluZS1tZWRpdW0tdXAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmxpc3QtaW5saW5lLW1lZGl1bS1kb3duID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAubGlzdC1pbmxpbmUtbWVkaXVtLW9ubHkgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdC1pbmxpbmUtbGFyZ2UtdXAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlzdC1pbmxpbmUtbGFyZ2Utb25seSA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmxpc3QtZGlzYyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG4ubGlzdC10aWNrIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS44MTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5saXN0LXRpY2sgbGk6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTM2cHg7XG4gICAgdG9wOiA0cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9zdmdzL3RpY2suc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4ubGlzdC10aWNrIGxpLm9wdGlvbmFsOmJlZm9yZSB7XG4gICAgY29udGVudDogJyBcXDI1Q0YnO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsZWZ0OiAtMzNweDtcbiAgICB0b3A6IC0yNXB4O1xuICAgIGNvbG9yOiAjRTFFMkUzO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5saXN0LXRpY2suc21hbGwgbGk6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgdG9wOiAxMHB4O1xufVxuXG4ubGlzdC10aWNrLm1lZGl1bSBsaTpiZWZvcmUge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsZWZ0OiAtMzFweDtcbiAgICB0b3A6IDhweDtcbn1cblxuLmxpc3QtdGljay5sYXJnZSBsaTpiZWZvcmUge1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBsZWZ0OiAtMzVweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbi5saXN0LXRpY2suc3VjY2VzcyBsaTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvc3Zncy9jaGVjay1zdWNjZXNzLnN2Z1wiKTtcbn1cblxuLmxpc3QtY2lyY2xlLXRpY2sgbGkge1xuICAgIHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDBweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5saXN0LWNpcmNsZS10aWNrIGxpOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5saXN0LWNpcmNsZS10aWNrIGxpOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0zMHB4O1xuICAgIHRvcDogMTBweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL3N2Z3MvcmVkZXNpZ24vY29tbW9uL2NoZWNrLXdpdGgtY2lyY2xlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuLmRhcmsgLmxpc3QtY2lyY2xlLXRpY2sgbGk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL3N2Z3MvcmVkZXNpZ24vY29tbW9uL2NoZWNrLXdpdGgtY2lyY2xlLXdoaXRlLnN2Z1wiKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmFubmVyLWZlYXR1cmUtbGlzdC5saXN0LWNpcmNsZS10aWNrIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuYmFubmVyLWZlYXR1cmUtbGlzdC5saXN0LWNpcmNsZS10aWNrIGxpIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDEwcHggMzBweDtcbiAgICB9XG4gICAgLmJhbm5lci1mZWF0dXJlLWxpc3QubGlzdC1jaXJjbGUtdGljayBsaTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA2cHg7XG4gICAgfVxufVxuXG4vKlxuLy8vLy8vLy8vLy8vXG4vLyBMQVlPVVQgLy9cbi8vLy8vLy8vLy8vL1xuKi9cbi5hbGlnbi1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hbGlnbi1zcGFjZWQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLWJvdHRvbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmFsaWduLXN0cmV0Y2gge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgICBvcmRlcjogMTtcbn1cblxuLnNtYWxsLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyO1xufVxuXG4uc21hbGwtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7XG59XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgICBvcmRlcjogNDtcbn1cblxuLnNtYWxsLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1O1xufVxuXG4uc21hbGwtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICAgIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgICAubWVkaXVtLW9yZGVyLTMge1xuICAgICAgICBvcmRlcjogMztcbiAgICB9XG4gICAgLm1lZGl1bS1vcmRlci00IHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgfVxuICAgIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgIH1cbiAgICAubWVkaXVtLW9yZGVyLTYge1xuICAgICAgICBvcmRlcjogNjtcbiAgICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxhcmdlLW9yZGVyLTEge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgLmxhcmdlLW9yZGVyLTIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG4gICAgLmxhcmdlLW9yZGVyLTMge1xuICAgICAgICBvcmRlcjogMztcbiAgICB9XG4gICAgLmxhcmdlLW9yZGVyLTQge1xuICAgICAgICBvcmRlcjogNDtcbiAgICB9XG4gICAgLmxhcmdlLW9yZGVyLTUge1xuICAgICAgICBvcmRlcjogNTtcbiAgICB9XG4gICAgLmxhcmdlLW9yZGVyLTYge1xuICAgICAgICBvcmRlcjogNjtcbiAgICB9XG59XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xufVxuXG4uZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lZGl1bS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuICAgIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxuICAgIC5tZWRpdW0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gICAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgICAubWVkaXVtLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG4gICAgLmxhcmdlLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cbiAgICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gICAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIC5sYXJnZS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gICAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG59XG5cbi5yb3cge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM4cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM4cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzOHJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzOHJlbTtcbiAgICB9XG59XG5cbi5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4ucm93Om5vdCguZXhwYW5kZWQpIC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5yb3cuaXMtY29sbGFwc2UtY2hpbGQsXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3csXG4ucm93LmNvbGxhcHNlID4gLmNvbHVtbnMgPiAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICBmbGV4OiAxIDEgMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45MzhyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45MzhyZW07XG4gICAgfVxufVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zbWFsbC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMlO1xufVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTtcbn1cblxuLnNtYWxsLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY3JTtcbn1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMlO1xufVxuXG4uc21hbGwtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbn1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY3JTtcbn1cblxuLnNtYWxsLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uc21hbGwtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMlO1xufVxuXG4uc21hbGwtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY3JTtcbn1cblxuLnNtYWxsLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzJTtcbn1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uc21hbGwtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjclO1xufVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMlO1xufVxuXG4uc21hbGwtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY3JTtcbn1cblxuLnNtYWxsLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLnNtYWxsLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NyU7XG59XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMlO1xufVxuXG4uc21hbGwtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NyU7XG59XG5cbi5zbWFsbC11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uc21hbGwtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5zbWFsbC11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDMzLjMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMlO1xufVxuXG4uc21hbGwtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG59XG5cbi5zbWFsbC11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbn1cblxuLnNtYWxsLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NyU7XG59XG5cbi5zbWFsbC11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NiU7XG4gICAgbWF4LXdpZHRoOiAxNC4yODYlO1xufVxuXG4uc21hbGwtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlO1xufVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVkaXVtLTEge1xuICAgICAgICBmbGV4OiAwIDAgOC4zMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDguMzMzJTtcbiAgICB9XG4gICAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICB9XG4gICAgLm1lZGl1bS0yIHtcbiAgICAgICAgZmxleDogMCAwIDE2LjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogMTYuNjY3JTtcbiAgICB9XG4gICAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMyU7XG4gICAgfVxuICAgIC5tZWRpdW0tMyB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG4gICAgfVxuICAgIC5tZWRpdW0tNCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMyU7XG4gICAgfVxuICAgIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjUlO1xuICAgIH1cbiAgICAubWVkaXVtLTUge1xuICAgICAgICBmbGV4OiAwIDAgNDEuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MS42NjclO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC00IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7XG4gICAgfVxuICAgIC5tZWRpdW0tNiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC01IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NyU7XG4gICAgfVxuICAgIC5tZWRpdW0tNyB7XG4gICAgICAgIGZsZXg6IDAgMCA1OC4zMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDU4LjMzMyU7XG4gICAgfVxuICAgIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIH1cbiAgICAubWVkaXVtLTgge1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjclO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC03IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMyU7XG4gICAgfVxuICAgIC5tZWRpdW0tOSB7XG4gICAgICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC04IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7XG4gICAgfVxuICAgIC5tZWRpdW0tMTAge1xuICAgICAgICBmbGV4OiAwIDAgODMuMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA4My4zMzMlO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC05IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgICB9XG4gICAgLm1lZGl1bS0xMSB7XG4gICAgICAgIGZsZXg6IDAgMCA5MS42NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NyU7XG4gICAgfVxuICAgIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMyU7XG4gICAgfVxuICAgIC5tZWRpdW0tMTIge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjclO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTEge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLm1lZGl1bS11cC0yIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTMge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gICAgLm1lZGl1bS11cC00IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTUge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgfVxuICAgIC5tZWRpdW0tdXAtNiB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgMTYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNi42NjclO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTcge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDE0LjI4NiU7XG4gICAgICAgIG1heC13aWR0aDogMTQuMjg2JTtcbiAgICB9XG4gICAgLm1lZGl1bS11cC04IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZWRpdW0tZXhwYW5kIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG59XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM4cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM4cmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGFyZ2UtMSB7XG4gICAgICAgIGZsZXg6IDAgMCA4LjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogOC4zMzMlO1xuICAgIH1cbiAgICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCU7XG4gICAgfVxuICAgIC5sYXJnZS0yIHtcbiAgICAgICAgZmxleDogMCAwIDE2LjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogMTYuNjY3JTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLTMge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NyU7XG4gICAgfVxuICAgIC5sYXJnZS00IHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgICB9XG4gICAgLmxhcmdlLTUge1xuICAgICAgICBmbGV4OiAwIDAgNDEuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MS42NjclO1xuICAgIH1cbiAgICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzMuMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLTYge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC01IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQxLjY2NyU7XG4gICAgfVxuICAgIC5sYXJnZS03IHtcbiAgICAgICAgZmxleDogMCAwIDU4LjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNTguMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC02IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgICB9XG4gICAgLmxhcmdlLTgge1xuICAgICAgICBmbGV4OiAwIDAgNjYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjclO1xuICAgIH1cbiAgICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTguMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLTkge1xuICAgICAgICBmbGV4OiAwIDAgNzUlO1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC04IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NyU7XG4gICAgfVxuICAgIC5sYXJnZS0xMCB7XG4gICAgICAgIGZsZXg6IDAgMCA4My4zMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDgzLjMzMyU7XG4gICAgfVxuICAgIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gICAgfVxuICAgIC5sYXJnZS0xMSB7XG4gICAgICAgIGZsZXg6IDAgMCA5MS42NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDkxLjY2NyU7XG4gICAgfVxuICAgIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgICAgICBtYXJnaW4tbGVmdDogODMuMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLTEyIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5MS42NjclO1xuICAgIH1cbiAgICAubGFyZ2UtdXAtMSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTIge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cbiAgICAubGFyZ2UtdXAtMyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMzJTtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTQge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgIH1cbiAgICAubGFyZ2UtdXAtNSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgfVxuICAgIC5sYXJnZS11cC02IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgMTYuNjY3JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxNi42NjclO1xuICAgIH1cbiAgICAubGFyZ2UtdXAtNyB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDE0LjI4NiU7XG4gICAgICAgIG1heC13aWR0aDogMTQuMjg2JTtcbiAgICB9XG4gICAgLmxhcmdlLXVwLTgge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5sYXJnZS1leHBhbmQge1xuICAgICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbn1cblxuLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5sYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM4cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM4cmVtO1xuICAgIH1cbn1cblxuLnNocmluayB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4uY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIH1cbiAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmNvbHVtbi5jb2xsYXBzZS1sZWZ0LCAuY29sbGFwc2UtbGVmdC5jb2x1bW5zLFxuLmNvbHVtbnMuY29sbGFwc2UtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU1cHggIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGh0bWwsIGJvZHkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5hcHAtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5hcHAtbWFpbixcbiAgICAuYXBwLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuICAgIC5hcHAtbWFpbiB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG5cbi5hcHAtbWFpbl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hcHAtbWFpbl9faW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hcHAtbWFpbl9faW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICB9XG59XG5cbi5kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uc2VhcmNoLXBhbmVsLnNlYXJjaC1wYW5lbC5zZWFyY2gtcGFuZWwge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLnNlYXJjaC1wYW5lbC5zZWFyY2gtcGFuZWwuc2VhcmNoLXBhbmVsIGlucHV0IHtcbiAgICBoZWlnaHQ6IDIuOHJlbTtcbn1cblxuLnNlYXJjaC1wYW5lbC5zZWFyY2gtcGFuZWwuc2VhcmNoLXBhbmVsIC5zZWFyY2gtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDIuOHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbn1cblxudGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRhYmxlIHRkLFxudGFibGUgdGgge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50YWJsZSB0aCB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNWY2O1xufVxuXG4ucmVzdWx0cy10YWJsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG5cbi5yZXN1bHRzLXRhYmxlIC5icmVhZGNydW1iLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ucmVzdWx0cy10YWJsZSBicmVhZGNydW1icyAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi5yZXN1bHRzLXRhYmxlIGJyZWFkY3J1bWJzIC5jb2x1bW4sIC5yZXN1bHRzLXRhYmxlIGJyZWFkY3J1bWJzIC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50YWJsZSAubGFzdC10YWJsZXJvdyB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbn1cblxuLypcbi8vLy8vLy8vLy8vLy8vLy9cbi8vIENPTVBPTkVOVFMgLy9cbi8vLy8vLy8vLy8vLy8vLy9cbiovXG4vKlxuLy8vLy8vLy8vLy8vL1xuLy8gQlVUVE9OUyAvL1xuLy8vLy8vLy8vLy8vL1xuKi9cbi5idXR0b24tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgZm9udC1zaXplOiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG59XG5cbi5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07XG59XG5cbi5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuXG4uYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAwcHgpO1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4uYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMHB4O1xufVxuXG4uYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogY2FsYygxNi42NjclIC0gMHB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbn1cblxuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cbi5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZjkxNjc7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZjkxNjc7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAudGVydGlhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBMjg3QjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ1dHRvbi1ncm91cC50ZXJ0aWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnRlcnRpYXJ5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjIwNjI7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZjkxNjc7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY2ODdEO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjIwM2Y7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGREYxQTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWMxMDA7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAub3B0aW9uYWwgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOTkwMDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi1ncm91cC5vcHRpb25hbCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLm9wdGlvbmFsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzdhMDA7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAucmVhZHkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOEU2ODtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi1ncm91cC5yZWFkeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnJlYWR5IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjU4MjA7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhdHVzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBREU0RTU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhdHVzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3RhdHVzIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3MGQwZDI7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhdHVzTGlnaHQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RERUJGNztcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zdGF0dXNMaWdodCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN0YXR1c0xpZ2h0IC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MWJlZTU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG59XG5cbi5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMTRweCAyNXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eSwgYm94LXNoYWRvdztcbn1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTlhNmU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idXR0b24ueHhzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbn1cblxuLmJ1dHRvbi54eHNtYWxsIG1kLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xufVxuXG4uYnV0dG9uLnh4c21hbGwuYnV0dG9uLW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcbn1cblxuLmJ1dHRvbi54c21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAxMHB4IDEycHg7XG59XG5cbi5idXR0b24ueHNtYWxsIG1kLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xufVxuXG4uYnV0dG9uLnhzbWFsbC5idXR0b24tbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHBhZGRpbmc6IDEwcHggMTJweCAwO1xufVxuXG4uYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xufVxuXG4uYnV0dG9uLnNtYWxsIG1kLWljb24ge1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4uYnV0dG9uLnNtYWxsLmJ1dHRvbi1ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMTBweCAyNXB4IDA7XG59XG5cbi5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBwYWRkaW5nOiAxNnB4IDI1cHg7XG59XG5cbi5idXR0b24ubGFyZ2UgbWQtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG5cbi5idXR0b24ubGFyZ2UuYnV0dG9uLW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAxNnB4IDI1cHggMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYnV0dG9uLnJlc3BvbnNpdmUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLnJlc3BvbnNpdmUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjVweDtcbiAgICB9XG59XG5cbi5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmJ1dHRvbi5kZWJ1ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTMwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgei1pbmRleDogOTk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uYnV0dG9uLmRkZWJ1ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTMwcHg7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cblxuLmZpZWxkc2V0LXdyYXBwZXIgLmJ1dHRvbi5kZWJ1ZyB7XG4gICAgcmlnaHQ6IC0xMHB4O1xufVxuXG4uZmllbGRzZXQtd3JhcHBlciAuYnV0dG9uLmRkZWJ1ZyB7XG4gICAgcmlnaHQ6IC00MHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5idXR0b24uZXhwYW5kZWQtc21hbGwtZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJ1dHRvbi5leHBhbmRlZC1zbWFsbC1vbmx5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24uZXhwYW5kZWQtbWVkaXVtLXVwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYnV0dG9uLmV4cGFuZGVkLW1lZGl1bS1kb3duIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJ1dHRvbi5leHBhbmRlZC1tZWRpdW0tb25seSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLmV4cGFuZGVkLWxhcmdlLXVwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24uZXhwYW5kZWQtbGFyZ2Utb25seSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59XG5cbi5idXR0b24uY2Fwc3VsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGREYxQTtcbn1cblxuLypcbnJlbW92aW5nIHVuZGVybGluZSBmcm9tIGxpbmsgYnV0dG9uc1xuKi9cbmEuYnV0dG9uLCBhLmJ1dHRvbjpob3ZlciwgYS5idXR0b246Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbnByaW1hcnkgYnV0dG9uc1xuKi9cbi5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ1dHRvbi5wcmltYXJ5IG1kLWljb24ge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnV0dG9uLnByaW1hcnkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnV0dG9uLnByaW1hcnkuYWN0aXZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZERjFBO1xufVxuXG4uYnV0dG9uLnByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkRGMUE7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFlOGI2MztcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFFMkUzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjY4N0Q7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idXR0b24ud2FybmluZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNGY2NztcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYzNTUxO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4vKlxuc2Vjb25kYXJ5IGJ1dHRvbnNcbiovXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzI3QjU4MTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjdCNTgxO1xuICAgIGNvbG9yOiAjMjdCNTgxO1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeSBtZC1pY29uIHtcbiAgICBjb2xvcjogIzI3QjU4MTtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGREYxQTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIgbWQtaWNvbiB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMxZThiNjM7XG4gICAgY29sb3I6ICMxZThiNjM7XG59XG5cbi5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIG1kLWljb24ge1xuICAgIGNvbG9yOiAjMWU4YjYzO1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeS53YXJuaW5nIHtcbiAgICBjb2xvcjogI0ZGNjg3RDtcbiAgICBib3JkZXItY29sb3I6ICNGRjY4N0Q7XG59XG5cbi5idXR0b24uc2Vjb25kYXJ5Lndhcm5pbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZCwgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6ICNFMUUyRTM7XG4gICAgY29sb3I6ICNFMUUyRTM7XG59XG5cbi5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkIG1kLWljb24sIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXSBtZC1pY29uIHtcbiAgICBjb2xvcjogI0UxRTJFMztcbn1cblxuLmRhcmsgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZGFyayAuYnV0dG9uLnNlY29uZGFyeSBtZC1pY29uIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLypcbnRlcnRpYXJ5IGJ1dHRvbnNcbiovXG4uYnV0dG9uLnRlcnRpYXJ5IHtcbiAgICBjb2xvcjogIzJBMjg3QjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbi50ZXJ0aWFyeTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5idXR0b24udGVydGlhcnkud2FybmluZyB7XG4gICAgY29sb3I6ICNGRjY4N0Q7XG59XG5cbi5idXR0b24udGVydGlhcnkud2FybmluZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5idXR0b24udGVydGlhcnkud2FybmluZyBtZC1pY29uIHtcbiAgICBjb2xvcjogI0ZGNjg3RDtcbn1cblxuLmJ1dHRvbi50ZXJ0aWFyeS5kaXNhYmxlZCwgLmJ1dHRvbi50ZXJ0aWFyeVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjQkNCREJEO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbi50ZXJ0aWFyeS5uby10cmFuc2Zvcm0ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4uZGFyayAuYnV0dG9uLnRlcnRpYXJ5IHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUUyRTM7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBoZWlnaHQ6IDMuNTYycmVtO1xuICAgIHBhZGRpbmc6IC44NzVyZW07XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjMjdCNTgxO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyN0I1ODE7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5hY3RpdmUua25vY2tvdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkRGMUE7XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkO1xufVxuXG4uYnV0dG9uLWdyb3VwIC5idXR0b246Zmlyc3QtY2hpbGQgKyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuc3F1YXJlIC5idXR0b24ge1xuICAgIHdpZHRoOiAzLjU2MnJlbTtcbn1cblxuLmJ1dHRvbi1ncm91cC5zZXBlcmF0ZSAuYnV0dG9uIHtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5jaGVja2JveCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpIDMwMG1zO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyMTIxMjE7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNoZWNrYm94IHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4uY2hlY2tib3g6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDUlO1xuICAgIGhlaWdodDogODAlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjEyMTIxO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyMTIxMjE7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDAuMyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDI1JTtcbiAgICB0b3A6IC0yJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAzMDBtcztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG59XG5cbi5jaGVja2JveC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjdCNTgxO1xufVxuXG4uY2hlY2tib3guYWN0aXZlOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MGRlZykgc2NhbGUoMSk7XG59XG5cbi5jaGVja2JveF9fbGFiZWwgLmNoZWNrYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5jaGVja2JveF9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNoZWNrYm94X190ZXh0LS1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5jaGVja2JveC5tZWRpdW0ge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLmNoZWNrYm94Lm1lZGl1bTo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDNweDtcbn1cblxuLypcbi8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJBRElPIEJVVFRPTlMgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy9cbiovXG4ucmFkaW8tYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyMTIxMjE7XG4gICAgdHJhbnNpdGlvbjogYWxsIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpIDMwMG1zO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJhZGlvLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLnJhZGlvLWJ1dHRvbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjdCNTgxO1xufVxuXG4ucmFkaW8tYnV0dG9uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkgMzAwbXM7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xufVxuXG4uZGFyayAucmFkaW8tYnV0dG9uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLnJhZGlvLWJ1dHRvbi5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbn1cblxuLnJhZGlvLWJ1dHRvbi5hY3RpdmU6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5kYXJrIC5yYWRpby1idXR0b24ge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmRhcmsgLnJhZGlvLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5kYXJrIC5yYWRpby1idXR0b24uYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICMyN0I1ODE7XG59XG5cbi5kYXJrIC5yYWRpby1idXR0b24uYWN0aXZlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbn1cblxuLnJhZGlvLWJ1dHRvbi13cmFwIHtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmFkaW8tYnV0dG9uLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ucmFkaW8tYnV0dG9uLXdyYXA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4ucmFkaW8tYnV0dG9uLXdyYXAgLnJhZGlvLWJ1dHRvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLnJhZGlvLWJ1dHRvbi13cmFwLmZpbGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmFkaW8tYnV0dG9uLXdyYXAgLnR3by1saW5lIHtcbiAgICBtYXJnaW4tbGVmdDogNDVweDtcbn1cblxuLnJhZGlvLWJ1dHRvbl9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnJhZGlvLWJ1dHRvbl9fbGFiZWwgLmJ1dHRvbi5yYWRpbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4ucmFkaW8tYnV0dG9uX190ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG59XG5cbi8qXG4vLy8vLy8vLy8vLy9cbi8vIEJMT0NLUyAvL1xuLy8vLy8vLy8vLy8vXG4qL1xuLmJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAxNXB4IDE1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgfVxufVxuXG4uYmxvY2suZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTJFMztcbn1cblxuLmJsb2NrLmxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY1RjY7XG59XG5cbi5ibG9jay5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xufVxuXG4uYmxvY2sud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNjg3RDtcbn1cblxuLmJsb2NrLm9wdGlvbmFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY5OTAwO1xufVxuXG4uYmxvY2suYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkRGMUE7XG59XG5cbi5ibG9jay54eHNtYWxsIHtcbiAgICBwYWRkaW5nOiA2LjVweCA1cHg7XG59XG5cbi5ibG9jay54eHNtYWxsLnNxdWFyZXBhZCB7XG4gICAgcGFkZGluZzogNXB4IDVweDtcbn1cblxuLmJsb2NrLnhzbWFsbCB7XG4gICAgcGFkZGluZzogMTNweCAxMHB4O1xufVxuXG4uYmxvY2sueHNtYWxsLnNxdWFyZXBhZCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4O1xufVxuXG4uYmxvY2suc21hbGwge1xuICAgIHBhZGRpbmc6IDI2cHggMjBweDtcbn1cblxuLmJsb2NrLnNtYWxsLnNxdWFyZXBhZCB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xufVxuXG4uYmxvY2subWVkaXVtIHtcbiAgICBwYWRkaW5nOiA1MnB4IDQwcHg7XG59XG5cbi5ibG9jay5tZWRpdW0uc3F1YXJlcGFkIHtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHg7XG59XG5cbi5ibG9jay5sYXJnZSB7XG4gICAgcGFkZGluZzogNzhweCA2MHB4O1xufVxuXG4uYmxvY2subGFyZ2Uuc3F1YXJlcGFkIHtcbiAgICBwYWRkaW5nOiA2MHB4IDYwcHg7XG59XG5cbi5ibG9jay54bGFyZ2Uge1xuICAgIHBhZGRpbmc6IDEwNHB4IDgwcHg7XG59XG5cbi5ibG9jay54bGFyZ2Uuc3F1YXJlcGFkIHtcbiAgICBwYWRkaW5nOiA4MHB4IDgwcHg7XG59XG5cbi5ibG9jay54eGxhcmdlIHtcbiAgICBwYWRkaW5nOiAxMzBweCAxMDBweDtcbn1cblxuLmJsb2NrLnh4bGFyZ2Uuc3F1YXJlcGFkIHtcbiAgICBwYWRkaW5nOiAxMDBweCAxMDBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHhzbWFsbC1zbWFsbC1kb3duIHtcbiAgICAgICAgcGFkZGluZzogNi41cHggNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHhzbWFsbC1zbWFsbC1kb3duLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54c21hbGwtc21hbGwtZG93biB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1zbWFsbC1kb3duLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLXNtYWxsLWRvd24ge1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay5zbWFsbC1zbWFsbC1kb3duLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLm1lZGl1bS1zbWFsbC1kb3duIHtcbiAgICAgICAgcGFkZGluZzogNTJweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLXNtYWxsLWRvd24uc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2subGFyZ2Utc21hbGwtZG93biB7XG4gICAgICAgIHBhZGRpbmc6IDc4cHggNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLmxhcmdlLXNtYWxsLWRvd24uc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNjBweCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2sueGxhcmdlLXNtYWxsLWRvd24ge1xuICAgICAgICBwYWRkaW5nOiAxMDRweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2sueGxhcmdlLXNtYWxsLWRvd24uc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogODBweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHhsYXJnZS1zbWFsbC1kb3duIHtcbiAgICAgICAgcGFkZGluZzogMTMwcHggMTAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLXNtYWxsLWRvd24uc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMTAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54eHNtYWxsLXNtYWxsLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiA2LjVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54eHNtYWxsLXNtYWxsLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1zbWFsbC1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogMTNweCAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHNtYWxsLXNtYWxsLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2suc21hbGwtc21hbGwtb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDI2cHggMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLXNtYWxsLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLXNtYWxsLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiA1MnB4IDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay5tZWRpdW0tc21hbGwtb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay5sYXJnZS1zbWFsbC1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogNzhweCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYmxvY2subGFyZ2Utc21hbGwtb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54bGFyZ2Utc21hbGwtb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDEwNHB4IDgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54bGFyZ2Utc21hbGwtb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLXNtYWxsLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiAxMzBweCAxMDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJsb2NrLnh4bGFyZ2Utc21hbGwtb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiAxMDBweCAxMDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvY2sueHhzbWFsbC1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiA2LjVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLnh4c21hbGwtbWVkaXVtLXVwLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDEwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1tZWRpdW0tdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9jay5zbWFsbC1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLW1lZGl1bS11cC5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLm1lZGl1bS1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiA1MnB4IDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLm1lZGl1bS1tZWRpdW0tdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9jay5sYXJnZS1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiA3OHB4IDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLmxhcmdlLW1lZGl1bS11cC5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJsb2NrLnhsYXJnZS1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiAxMDRweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9jay54bGFyZ2UtbWVkaXVtLXVwLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDgwcHggODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvY2sueHhsYXJnZS1tZWRpdW0tdXAge1xuICAgICAgICBwYWRkaW5nOiAxMzBweCAxMDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvY2sueHhsYXJnZS1tZWRpdW0tdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMTAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay54eHNtYWxsLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogNi41cHggNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHhzbWFsbC1tZWRpdW0tZG93bi5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA1cHggNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHNtYWxsLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogMTNweCAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHNtYWxsLW1lZGl1bS1kb3duLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogMjZweCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2suc21hbGwtbWVkaXVtLWRvd24uc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogNTJweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLW1lZGl1bS1kb3duLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLmxhcmdlLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogNzhweCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2subGFyZ2UtbWVkaXVtLWRvd24uc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNjBweCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2sueGxhcmdlLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogMTA0cHggODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnhsYXJnZS1tZWRpdW0tZG93bi5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcGFkZGluZzogMTMwcHggMTAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLW1lZGl1bS1kb3duLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDEwMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnh4c21hbGwtbWVkaXVtLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiA2LjVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2sueHhzbWFsbC1tZWRpdW0tb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA1cHggNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1tZWRpdW0tb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay54c21hbGwtbWVkaXVtLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLW1lZGl1bS1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogMjZweCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLW1lZGl1bS1vbmx5LnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay5tZWRpdW0tbWVkaXVtLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiA1MnB4IDQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLW1lZGl1bS1vbmx5LnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay5sYXJnZS1tZWRpdW0tb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDc4cHggNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay5sYXJnZS1tZWRpdW0tb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYmxvY2sueGxhcmdlLW1lZGl1bS1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogMTA0cHggODBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay54bGFyZ2UtbWVkaXVtLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogODBweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmJsb2NrLnh4bGFyZ2UtbWVkaXVtLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiAxMzBweCAxMDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLW1lZGl1bS1vbmx5LnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDEwMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54eHNtYWxsLWxhcmdlLXVwIHtcbiAgICAgICAgcGFkZGluZzogNi41cHggNXB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54eHNtYWxsLWxhcmdlLXVwLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1sYXJnZS11cCB7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2sueHNtYWxsLWxhcmdlLXVwLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2suc21hbGwtbGFyZ2UtdXAge1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLWxhcmdlLXVwLnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLWxhcmdlLXVwIHtcbiAgICAgICAgcGFkZGluZzogNTJweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay5tZWRpdW0tbGFyZ2UtdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay5sYXJnZS1sYXJnZS11cCB7XG4gICAgICAgIHBhZGRpbmc6IDc4cHggNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2subGFyZ2UtbGFyZ2UtdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNjBweCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54bGFyZ2UtbGFyZ2UtdXAge1xuICAgICAgICBwYWRkaW5nOiAxMDRweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54bGFyZ2UtbGFyZ2UtdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogODBweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLWxhcmdlLXVwIHtcbiAgICAgICAgcGFkZGluZzogMTMwcHggMTAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnh4bGFyZ2UtbGFyZ2UtdXAuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMTAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnh4c21hbGwtbGFyZ2Utb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDYuNXB4IDVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2sueHhzbWFsbC1sYXJnZS1vbmx5LnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnhzbWFsbC1sYXJnZS1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogMTNweCAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54c21hbGwtbGFyZ2Utb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLWxhcmdlLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnNtYWxsLWxhcmdlLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay5tZWRpdW0tbGFyZ2Utb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDUycHggNDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2subWVkaXVtLWxhcmdlLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay5sYXJnZS1sYXJnZS1vbmx5IHtcbiAgICAgICAgcGFkZGluZzogNzhweCA2MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay5sYXJnZS1sYXJnZS1vbmx5LnNxdWFyZXBhZCB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmxvY2sueGxhcmdlLWxhcmdlLW9ubHkge1xuICAgICAgICBwYWRkaW5nOiAxMDRweCA4MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54bGFyZ2UtbGFyZ2Utb25seS5zcXVhcmVwYWQge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJsb2NrLnh4bGFyZ2UtbGFyZ2Utb25seSB7XG4gICAgICAgIHBhZGRpbmc6IDEzMHB4IDEwMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ibG9jay54eGxhcmdlLWxhcmdlLW9ubHkuc3F1YXJlcGFkIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMTAwcHg7XG4gICAgfVxufVxuXG4udG9wLWRlY2stYmxvY2tzIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50b3AtZGVjay1ibG9ja3MgLmJsb2NrOm50aC1jaGlsZCgxKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDQwcHggMjBweCA0MHB4O1xufVxuXG4udG9wLWRlY2stYmxvY2tzIC50ZXh0LXNtYWxsICoge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5zaWRlLWRlY2stYmxvY2tzIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zaWRlLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMSkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5zaWRlLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbi50b3BzaWRlLWRlY2stYmxvY2tzIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50b3BzaWRlLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMSkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi50b3BzaWRlLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudG9wc2lkZS1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICB9XG4gICAgLnRvcHNpZGUtZGVjay1ibG9ja3MgLmJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjBweCA0MHB4O1xuICAgIH1cbiAgICAudG9wc2lkZS1kZWNrLWJsb2NrcyAudGV4dC1zbWFsbCAqIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uYmxvY2suYm9yZGVyIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLypcbkh1ZGRsZXMgYmFubmVyIHdpdGggaW1hZ2UgYmFja2dyb3VuZFxuKi9cbi5ibG9jay5odWRkbGUtYmFubmVyIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogY2VudGVyIGNlbnRlci9jb3ZlciBuby1yZXBlYXQ7XG4gICAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLypcbi8vLy8vLy8vLy8vXG4vLyBJQ09OUyAvL1xuLy8vLy8vLy8vLy9cbiovXG4uaWNvbi54eHNtYWxsIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG59XG5cbi5pY29uLnh4c21hbGwtd2lkdGgge1xuICAgIHdpZHRoOiAxNXB4O1xufVxuXG4uaWNvbi54eHNtYWxsLWhlaWdodCB7XG4gICAgaGVpZ2h0OiAxNXB4O1xufVxuXG4uaWNvbi54c21hbGwge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuLmljb24ueHNtYWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuLmljb24ueHNtYWxsLWhlaWdodCB7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uaWNvbi5zbWFsbGVyIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5pY29uLnNtYWxsZXItd2lkdGgge1xuICAgIHdpZHRoOiAzMHB4O1xufVxuXG4uaWNvbi5zbWFsbGVyLWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4uaWNvbi5zbWFsbCB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xufVxuXG4uaWNvbi5zbWFsbC13aWR0aCB7XG4gICAgd2lkdGg6IDQwcHg7XG59XG5cbi5pY29uLnNtYWxsLWhlaWdodCB7XG4gICAgaGVpZ2h0OiA0MHB4O1xufVxuXG4uaWNvbi5tZWRpdW0ge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbn1cblxuLmljb24ubWVkaXVtLXdpZHRoIHtcbiAgICB3aWR0aDogNjBweDtcbn1cblxuLmljb24ubWVkaXVtLWhlaWdodCB7XG4gICAgaGVpZ2h0OiA2MHB4O1xufVxuXG4uaWNvbi5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG59XG5cbi5pY29uLmxhcmdlLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwcHg7XG59XG5cbi5pY29uLmxhcmdlLWhlaWdodCB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbn1cblxuLmljb24ueGxhcmdlIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDtcbn1cblxuLmljb24ueGxhcmdlLXdpZHRoIHtcbiAgICB3aWR0aDogMTYwcHg7XG59XG5cbi5pY29uLnhsYXJnZS1oZWlnaHQge1xuICAgIGhlaWdodDogMTYwcHg7XG59XG5cbi5pY29uLnh4bGFyZ2Uge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IDMwMHB4O1xufVxuXG4uaWNvbi54eGxhcmdlLXdpZHRoIHtcbiAgICB3aWR0aDogMzAwcHg7XG59XG5cbi5pY29uLnh4bGFyZ2UtaGVpZ2h0IHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xufVxuXG4uaWNvbi5maWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pY29uLmZpbGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaWNvbi5maWxsLWhlaWdodCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaWNvbi5wcmltYXJ5IHtcbiAgICBmaWxsOiAjMjdCNTgxO1xufVxuXG4uaWNvbi5zZWNvbmRhcnkge1xuICAgIGZpbGw6ICMyN0I1ODE7XG59XG5cbi5pY29uLmJsYWNrIHtcbiAgICBmaWxsOiAjMjEyMTIxO1xufVxuXG4uaWNvbi53aGl0ZSB7XG4gICAgZmlsbDogI0ZGRkZGRjtcbn1cblxuYSAuaWNvbiwgYSAuaWNvbi1pbmZvIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5zdmcuc3Ryb2tlLTEge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuMSAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTIge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuMiAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTMge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuMyAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTQge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuNCAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTUge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuNSAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTYge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuNiAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTcge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuNyAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTgge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuOCAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTkge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBzdHJva2Utd2lkdGg6IDAuOSAhaW1wb3J0YW50O1xufVxuXG5zdmcuc3Ryb2tlLTEwIHtcbiAgICBzdHJva2U6ICMyMTIxMjE7XG4gICAgc3Ryb2tlLXdpZHRoOiAxICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4vLy8vLy8vLy8vLy8vXG4vLyBPVkVSTEFZIC8vXG4vLy8vLy8vLy8vLy8vXG4qL1xuaHRtbC5tb2RhbC1vcGVuLFxuaHRtbC5tb2RhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5yZXZlYWwtbW9kYWwtYmcge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTEwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzMsIDMzLCAzMywgMC42OSk7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHotaW5kZXg6IDEyMDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucmV2ZWFsLW1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB6LWluZGV4OiAxMzAwO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5yZXZlYWwtbW9kYWwud2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLnJldmVhbC1tb2RhbC5ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMywgMzMsIDMzLCAwLjY5KTtcbn1cblxuLmRldmljZS1pcGhvbmUgLnJldmVhbC1tb2RhbCB7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG59XG5cbi5kZXZpY2UtaXBob25lIC5yZXZlYWwtbW9kYWwgPiBkaXYge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ucmV2ZWFsLW1vZGFsID4gZGl2IHtcbiAgICBwYWRkaW5nOiA0MHB4IDEwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsID4gZGl2IHtcbiAgICAgICAgcGFkZGluZzogODBweCA0MHB4O1xuICAgIH1cbn1cblxuLnJldmVhbC1tb2RhbC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgMjBweCAzMXB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgei1pbmRleDogMTQwMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3V0bGluZTogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5kZXZpY2UtaXBob25lIC5yZXZlYWwtbW9kYWwtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICBtYXJnaW46IDAgYXV0byBhdXRvIDA7XG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG59XG5cbi5yZXZlYWwtbW9kYWwtY29udGVudC53aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cblxuLnJldmVhbC1tb2RhbC1jb250ZW50LmxpZ2h0R3JheSB7XG4gICAgYmFja2dyb3VuZDogI0UxRTJFMztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZXZlYWwtbW9kYWwtY29udGVudC5zbWFsbCB7XG4gICAgICAgIHdpZHRoOiA0NjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsLWNvbnRlbnQuc21hbGwge1xuICAgICAgICB3aWR0aDogNDYwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC1jb250ZW50Lm1lZGl1bSB7XG4gICAgICAgIHdpZHRoOiA3NTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmV2ZWFsLW1vZGFsLWNvbnRlbnQubGFyZ2Uge1xuICAgICAgICB3aWR0aDogMTA0MHB4O1xuICAgIH1cbn1cblxuLnJldmVhbC1tb2RhbC1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC1tb2RhbC1jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogLTI1cHg7XG4gICAgfVxufVxuXG4ucmV2ZWFsLW1vZGFsLWNsb3NlIHN2ZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xufVxuXG4ucmV2ZWFsLW1vZGFsLWJnLmZhZGUsXG4ucmV2ZWFsLW1vZGFsLmZhZGUge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5yZXZlYWwtbW9kYWwtYmcuZmFkZS5pbiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuLnJldmVhbC1tb2RhbC5mYWRlLmluIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcztcbn1cblxuLnJldmVhbC1tb2RhbC1iZy5mYWRlLmluLFxuLnJldmVhbC1tb2RhbC5mYWRlLmluIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xufVxuXG4uc2lkZWJhci1zbGlkZS1vdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvIGF1dG8gMDtcbiAgICB3aWR0aDogMzEwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDFweCAycHggMTJweCAwIHJnYmEoMCwgMCwgMCwgMC4xMyk7XG59XG5cbi5zaWRlYmFyLXNsaWRlLW91dDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zaWRlYmFyLXNsaWRlLW91dDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uY2FsbG91dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzMsIDMzLCAzMywgMC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZjdlZDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJmN2VkO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2FsbG91dC50ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q4ZDhmMjtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZjdlZDtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThlYztcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZhZGQ7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5jYWxsb3V0Lm9wdGlvbmFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMGQ5O1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2FsbG91dC5yZWFkeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWVlODtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhbGxvdXQuc3RhdHVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmYmZiO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2FsbG91dC5zdGF0dXNMaWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmNmZTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLmNhbGxvdXQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uY2FsbG91dC5zbGltIHtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbn1cblxuLmNhbGxvdXQgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jYWxsb3V0IHAsIC5jYWxsb3V0IC50ZXh0LW1lZGl1bSwgLmNhbGxvdXQgLnRleHQtc21hbGwge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2FsbG91dC53YXJuaW5nIC5oZWFkbGluZSB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQud2FybmluZyAuaDEge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0Lndhcm5pbmcgLmgyIHtcbiAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xufVxuXG4uY2FsbG91dC53YXJuaW5nIC5oMyB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQud2FybmluZyAuaDQge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0Lndhcm5pbmcgLnN1Yi1oZWFkbGluZSB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQud2FybmluZyAuc3ViLXRpdGxlIHtcbiAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xufVxuXG4uY2FsbG91dC5zdWNjZXNzIC5oZWFkbGluZSB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyAuaDEge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0LnN1Y2Nlc3MgLmgyIHtcbiAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xufVxuXG4uY2FsbG91dC5zdWNjZXNzIC5oMyB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyAuaDQge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0LnN1Y2Nlc3MgLnN1Yi1oZWFkbGluZSB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyAuc3ViLXRpdGxlIHtcbiAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xufVxuXG4uY2FsbG91dC5zdWNjZXNzIC50ZXh0LXhzbWFsbCB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyAudGV4dC1zbWFsbCB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxuLmNhbGxvdXQuc3VjY2VzcyAudGV4dC1tZWRpdW0ge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0LnN1Y2Nlc3MgLnRleHQtbGFyZ2Uge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0LnN1Y2Nlc3MgLnRleHQtbnVtYmVyIHtcbiAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xufVxuXG4uY2FsbG91dC5zdWNjZXNzIC50ZXh0LXByaWNlIHtcbiAgICBjb2xvcjogIzIxMjEyMSAhaW1wb3J0YW50O1xufVxuXG4uY2FsbG91dC5zdWNjZXNzIC5saXN0LXRpY2sge1xuICAgIGNvbG9yOiAjMjEyMTIxICFpbXBvcnRhbnQ7XG59XG5cbi5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uY2FsbG91dC50ZXJ0aWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBMjg3QjtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY2ODdEO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkRGMUE7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uY2FsbG91dC5vcHRpb25hbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGOTkwMDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jYWxsb3V0LnJlYWR5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4RTY4O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmNhbGxvdXQuc3RhdHVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQURFNEU1O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmNhbGxvdXQuc3RhdHVzTGlnaHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREVCRjc7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4vKlxuLy8vLy8vLy8vLy8vL1xuLy8gQkFOTkVSUyAvL1xuLy8vLy8vLy8vLy8vL1xuKi9cbi5iYW5uZXJzX19pbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIHVsLmJhbm5lci1mZWF0dXJlLWxpc3Qge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLypcbi8vLy8vLy8vLy8vL1xuLy8gTE9BREVSUyAvL1xuLy8vLy8vLy8vLy8vXG4qL1xuLnByaWNlLWJveC1sb2FkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4ucHJpY2UtYm94LWxvYWRlciBzdmcge1xuICAgIHN0cm9rZTogIzIxMjEyMTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xufVxuXG4vKlxuLy8vLy8vLy8vLy8vLy9cbi8vIE1BVEVSSUFMIC8vXG4vLy8vLy8vLy8vLy8vL1xuKi9cbi8qIVxuICogQW5ndWxhckpTIE1hdGVyaWFsIERlc2lnblxuICogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvbWF0ZXJpYWxcbiAqIEBsaWNlbnNlIE1JVFxuICogdjEuMS42XG4gKlxuICogTkI6IERvIG5vdCBkZWxldGUuXG4gKiBUaGlzIGlzIGluY2x1ZGVkIHRvIGhlbHAgc3R5bGUgc29tZSBvZiB0aGUgbWF0ZXJpYWwgY29tcG9uZW50c1xuICogYW5kIGluY2x1ZGVzIGhlbHBlcnMgc3VjaCBhcyB0aGUgcmlwcGxlIGVmZmVjdCBvbiBidXR0b25zLlxuICovXG5odG1sLCBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIE92ZXJyaWRlIG1hdGVyaWFsIGhlcmUgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHNldCBieXQgbWF0ZXJpYWwgdGhlbWVzICovXG4gICAgYmFja2dyb3VuZDogI0ZGRkNGQyAhaW1wb3J0YW50O1xufVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuW3RhYmluZGV4PSctMSddOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uaW5zZXQge1xuICAgIHBhZGRpbmc6IDEwcHg7XG59XG5cbmEubWQtbm8tc3R5bGUsXG5idXR0b24ubWQtbm8tc3R5bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuc2VsZWN0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5pbnB1dCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmlucHV0W3R5cGU9XCJyZXNldFwiXVtkaXNhYmxlZF0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXVtkaXNhYmxlZF0sXG5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbnRleHRhcmVhIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLm1kLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgd2lkdGg6IDFweDtcbn1cblxuLm1kLXNoYWRvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ubWQtc2hhZG93LWJvdHRvbS16LTEge1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG5cbi5tZC1zaGFkb3ctYm90dG9tLXotMiB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4ubWQtc2hhZG93LWFuaW1hdGVkLm1kLXNoYWRvdyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xufVxuXG4vKlxuICogQSBjb250YWluZXIgaW5zaWRlIG9mIGEgcmlwcGxpbmcgZWxlbWVudCAoZWcgYSBidXR0b24pLFxuICogd2hpY2ggY29udGFpbnMgYWxsIG9mIHRoZSBpbmRpdmlkdWFsIHJpcHBsZXNcbiAqL1xuLm1kLXJpcHBsZS1jb250YWluZXIge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjU1cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41NXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG59XG5cbi5tZC1yaXBwbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubWQtcmlwcGxlLm1kLXJpcHBsZS1wbGFjZWQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIGJvcmRlciAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCB3aWR0aCAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBoZWlnaHQgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgb3BhY2l0eSAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCAtd2Via2l0LXRyYW5zZm9ybSAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBib3JkZXIgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgd2lkdGggMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgaGVpZ2h0IDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIG9wYWNpdHkgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgLXdlYmtpdC10cmFuc2Zvcm0gMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgYm9yZGVyIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIHdpZHRoIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIGhlaWdodCAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBvcGFjaXR5IDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIHRyYW5zZm9ybSAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBib3JkZXIgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgd2lkdGggMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgaGVpZ2h0IDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIG9wYWNpdHkgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgdHJhbnNmb3JtIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIC13ZWJraXQtdHJhbnNmb3JtIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG59XG5cbi5tZC1yaXBwbGUubWQtcmlwcGxlLXNjYWxlZCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbn1cblxuLm1kLXJpcHBsZS5tZC1yaXBwbGUtYWN0aXZlLCAubWQtcmlwcGxlLm1kLXJpcHBsZS1mdWxsLCAubWQtcmlwcGxlLm1kLXJpcHBsZS12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAwLjIwO1xufVxuXG4ubWQtcmlwcGxlLm1kLXJpcHBsZS1yZW1vdmUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBtZC1yZW1vdmUtcmlwcGxlIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gICAgYW5pbWF0aW9uOiBtZC1yZW1vdmUtcmlwcGxlIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBtZC1yZW1vdmUtcmlwcGxlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IC4xNTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kLXJlbW92ZS1yaXBwbGUge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogLjE1O1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5tZC1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiA4cHg7XG59XG5cbi5tZC1tYXJnaW4ge1xuICAgIG1hcmdpbjogOHB4O1xufVxuXG4ubWQtc2Nyb2xsLW1hc2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogNTA7XG59XG5cbi5tZC1zY3JvbGwtbWFzayA+IC5tZC1zY3JvbGwtbWFzay1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogNjU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4ubWQtbm8tbW9tZW50dW0ge1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xufVxuXG4ubWQtbm8tZmxpY2tlciB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMHB4KTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLm1kLXBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgIH1cbn1cblxuaHRtbFtkaXI9cnRsXSwgaHRtbFtkaXI9bHRyXSwgYm9keVtkaXI9cnRsXSwgYm9keVtkaXI9bHRyXSB7XG4gICAgdW5pY29kZS1iaWRpOiBlbWJlZDtcbn1cblxuYmRvW2Rpcj1ydGxdIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7XG59XG5cbmJkb1tkaXI9bHRyXSB7XG4gICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgdW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRlO1xufVxuXG5odG1sLCBib2R5IHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5tZC1zd2l0Y2gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxubWQtc3dpdGNoLm1kLWRlZmF1bHQtdGhlbWUubWQtY2hlY2tlZCAubWQtYmFyLFxubWQtc3dpdGNoLm1kLWNoZWNrZWQgLm1kLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I4ZjBkYjtcbn1cblxubWQtc3dpdGNoLm1kLWRlZmF1bHQtdGhlbWUubWQtY2hlY2tlZCAubWQtdGh1bWIsXG5tZC1zd2l0Y2gubWQtY2hlY2tlZCAubWQtdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG59XG5cbm1kLXN3aXRjaC5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLWluay1yaXBwbGUsXG5tZC1zd2l0Y2gubWQtY2hlY2tlZCAubWQtaW5rLXJpcHBsZSB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbm1kLWlucHV0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbm1kLWlucHV0LWNvbnRhaW5lciBsYWJlbCB7XG4gICAgY29sb3I6ICMyMTIxMjEgIWltcG9ydGFudDtcbn1cblxubWQtaW5wdXQtY29udGFpbmVyLm1kLWlucHV0LWludmFsaWQgLm1kLWlucHV0LW1lc3NhZ2VzLWFuaW1hdGlvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbm1kLWlucHV0LWNvbnRhaW5lciAubWQtaW5wdXQtbWVzc2FnZXMtYW5pbWF0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbm1kLWlucHV0LWNvbnRhaW5lciAubWQtaW5wdXQtbWVzc2FnZXMtYW5pbWF0aW9uID4gZGl2IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC4zcmVtIDA7XG59XG5cbi8qIFNlZTogaHR0cDovL2dvb2dsZS5naXRodWIuaW8vbWF0ZXJpYWwtZGVzaWduLWljb25zLyAqL1xuLyogUnVsZXMgZm9yIHNpemluZyB0aGUgaWNvbi4gKi9cbi5tYXRlcmlhbC1pY29ucy5tZC0xMiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBtaW4taGVpZ2h0OiAxMnB4O1xuICAgIG1pbi13aWR0aDogMTJweDtcbn1cblxuLm1hdGVyaWFsLWljb25zLm1kLTE4IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xufVxuXG4ubWF0ZXJpYWwtaWNvbnMubWQtMjQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgbWluLWhlaWdodDogMjRweDtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG59XG5cbi5tYXRlcmlhbC1pY29ucy5tZC0zMCB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIG1pbi13aWR0aDogMzBweDtcbn1cblxuLm1hdGVyaWFsLWljb25zLm1kLTM2IHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICAgbWluLXdpZHRoOiAzNnB4O1xufVxuXG4ubWF0ZXJpYWwtaWNvbnMubWQtNDgge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgbWluLWhlaWdodDogNDhweDtcbiAgICBtaW4td2lkdGg6IDQ4cHg7XG59XG5cbi5tYXRlcmlhbC1pY29ucy5tZC02NCB7XG4gICAgZm9udC1zaXplOiA2NHB4O1xuICAgIGhlaWdodDogNjRweDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBtaW4taGVpZ2h0OiA2NHB4O1xuICAgIG1pbi13aWR0aDogNjRweDtcbn1cblxuLm1hdGVyaWFsLWljb25zLm1kLTkyIHtcbiAgICBmb250LXNpemU6IDkycHg7XG4gICAgaGVpZ2h0OiA5MnB4O1xuICAgIHdpZHRoOiA5MnB4O1xuICAgIG1pbi1oZWlnaHQ6IDkycHg7XG4gICAgbWluLXdpZHRoOiA5MnB4O1xufVxuXG5tZC1pY29uLm1kLWRlZmF1bHQtdGhlbWUsIG1kLWljb24ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi8qIFJ1bGVzIGZvciB1c2luZyBpY29ucyBhcyBibGFjayBvbiBhIGxpZ2h0IGJhY2tncm91bmQuICovXG4ubWF0ZXJpYWwtaWNvbnMubWQtZGFyayB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG5cbi5tYXRlcmlhbC1pY29ucy5tZC1kYXJrLm1kLWluYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLyogUnVsZXMgZm9yIHVzaW5nIGljb25zIGFzIHdoaXRlIG9uIGEgZGFyayBiYWNrZ3JvdW5kLiAqL1xuLm1hdGVyaWFsLWljb25zLm1kLWxpZ2h0IHtcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5tYXRlcmlhbC1pY29ucy5tZC1saWdodC5tZC1pbmFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxuLm1kLWJ1dHRvbi5idXR0b24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuXG4ubWQtYnV0dG9uLmJ1dHRvbi5zZWNvbmRhcnksIC5tZC1idXR0b24uYnV0dG9uLnRlcnRpYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kLWJ1dHRvbi5tZC1uby1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxubWQtYmFja2Ryb3AubWQtZWRpdC1kaWFsb2ctYmFja2Ryb3Age1xuICAgIHotaW5kZXg6IDgwO1xufVxuXG5tZC1lZGl0LWRpYWxvZyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogODE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxNnB4IDI0cHggMDtcbn1cblxubWQtZWRpdC1kaWFsb2cgPiAubWQtY29udGVudCAubWQtdGl0bGUge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxubWQtZWRpdC1kaWFsb2cgPiAubWQtY29udGVudCBtZC1pbnB1dC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG59XG5cbm1kLWVkaXQtZGlhbG9nID4gLm1kLWNvbnRlbnQgbWQtaW5wdXQtY29udGFpbmVyIGlucHV0IHtcbiAgICBmbG9hdDogbm9uZTtcbn1cblxubWQtZWRpdC1kaWFsb2cgPiAubWQtY29udGVudCBtZC1pbnB1dC1jb250YWluZXIgLm1kLWVycm9ycy1zcGFjZXIge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1jb250ZW50IG1kLWlucHV0LWNvbnRhaW5lciAubWQtZXJyb3JzLXNwYWNlciAubWQtY2hhci1jb3VudGVyIHtcbiAgICBwYWRkaW5nOiA1cHggMnB4IDVweCAwO1xufVxuXG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1jb250ZW50IG1kLWlucHV0LWNvbnRhaW5lciBbbmctbWVzc2FnZV0ge1xuICAgIHBhZGRpbmc6IDVweCAwIDVweCAycHg7XG59XG5cbm1kLWVkaXQtZGlhbG9nID4gLm1kLWFjdGlvbnMge1xuICAgIG1hcmdpbjogMCAxNnB4IDhweDtcbn1cblxubWQtZWRpdC1kaWFsb2cgPiAubWQtYWN0aW9ucyAubWQtYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiBpbml0aWFsO1xufVxuXG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1hY3Rpb25zIC5tZC1idXR0b24gKyAubWQtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4ubWQtdGFibGUtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBib3JkZXItdG9wOiAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKSBzb2xpZDtcbn1cblxuLm1kLXRhYmxlLXBhZ2luYXRpb24gbWQtc2VsZWN0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1pbi13aWR0aDogNjRweDtcbn1cblxuLm1kLXRhYmxlLXBhZ2luYXRpb24gbWQtc2VsZWN0Om5vdChbZGlzYWJsZWRdKTpmb2N1cyAubWQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1kLXRhYmxlLXBhZ2luYXRpb24gbWQtc2VsZWN0IC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xufVxuXG4ubWQtdGFibGUtcGFnaW5hdGlvbiBtZC1zZWxlY3QgLm1kLXNlbGVjdC12YWx1ZSBzcGFuLm1kLXNlbGVjdC1pY29uIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tZC10YWJsZS1wYWdpbmF0aW9uIG1kLXNlbGVjdCAubWQtc2VsZWN0LXZhbHVlIHNwYW4ubWQtc2VsZWN0LWljb246YWZ0ZXIge1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpIHNjYWxlWCgxKTtcbn1cblxuLm1kLXRhYmxlLXBhZ2luYXRpb24gPiAqIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNTZweDtcbn1cblxuLm1kLXRhYmxlLXBhZ2luYXRpb24gPiAuYnV0dG9uczpub3QoOmZpcnN0LWNoaWxkKSxcbi5tZC10YWJsZS1wYWdpbmF0aW9uID4gLmxpbWl0LXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMycHg7XG59XG5cbi5tZC10YWJsZS1wYWdpbmF0aW9uID4gLmJ1dHRvbnMge1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7XG59XG5cbi5tZC10YWJsZS1wYWdpbmF0aW9uID4gLmJ1dHRvbnMgPiAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZC10YWJsZS1wYWdpbmF0aW9uID4gLmJ1dHRvbnMgPiAubGFiZWwgKyAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxubWQtc2VsZWN0Lm1kLXRhYmxlLXNlbGVjdCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5tZC1zZWxlY3QubWQtdGFibGUtc2VsZWN0ID4gLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMjRweDtcbiAgICBib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbm1kLXNlbGVjdC5tZC10YWJsZS1zZWxlY3QgPiAubWQtc2VsZWN0LXZhbHVlID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5tZC1zZWxlY3QubWQtdGFibGUtc2VsZWN0ID4gLm1kLXNlbGVjdC12YWx1ZSA+IHNwYW4gPiAubWQtdGV4dCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgdHJhbnNmb3JtOiBpbmhlcml0O1xufVxuXG5tZC1zZWxlY3QubWQtdGFibGUtc2VsZWN0ID4gLm1kLXNlbGVjdC12YWx1ZSA+IHNwYW4ubWQtc2VsZWN0LWljb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbjogMDtcbn1cblxubWQtc2VsZWN0Lm1kLXRhYmxlLXNlbGVjdCA+IC5tZC1zZWxlY3QtdmFsdWUgPiBzcGFuLm1kLXNlbGVjdC1pY29uOmFmdGVyIHtcbiAgICB0b3A6IGluaXRpYWw7XG59XG5cbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIubWQtdGFibGUtc2VsZWN0LFxuLm1kLXNlbGVjdC1tZW51LWNvbnRhaW5lci5tZC1wYWdpbmF0aW9uLXNlbGVjdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXRhYmxlLXNlbGVjdCBtZC1zZWxlY3QtbWVudSxcbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIubWQtcGFnaW5hdGlvbi1zZWxlY3QgbWQtc2VsZWN0LW1lbnUsXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXRhYmxlLXNlbGVjdCBtZC1jb250ZW50LFxuLm1kLXNlbGVjdC1tZW51LWNvbnRhaW5lci5tZC1wYWdpbmF0aW9uLXNlbGVjdCBtZC1jb250ZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXRhYmxlLXNlbGVjdCBtZC1jb250ZW50LFxuLm1kLXNlbGVjdC1tZW51LWNvbnRhaW5lci5tZC1wYWdpbmF0aW9uLXNlbGVjdCBtZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXRhYmxlLXNlbGVjdCAubWQtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXBhZ2luYXRpb24tc2VsZWN0IC5tZC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG59XG5cbm1kLXRvb2xiYXIubWQtdGFibGUtdG9vbGJhciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxubWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyLm1kLWRlZmF1bHQtdGhlbWU6bm90KC5tZC1tZW51LXRvb2xiYXIpLm1kLWRlZmF1bHQsXG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXI6bm90KC5tZC1tZW51LXRvb2xiYXIpLm1kLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbm1kLXRvb2xiYXIubWQtdGFibGUtdG9vbGJhci5tZC1kZWZhdWx0LXRoZW1lOm5vdCgubWQtbWVudS10b29sYmFyKS5tZC1kZWZhdWx0IC5tZC1idXR0b24sXG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXI6bm90KC5tZC1tZW51LXRvb2xiYXIpLm1kLWRlZmF1bHQgLm1kLWJ1dHRvbiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIGFuZCAobWluLXdpZHRoOiAwKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICBtZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMge1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxufVxuXG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMge1xuICAgIHBhZGRpbmc6IDAgMjRweDtcbn1cblxubWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyIC5tZC10b29sYmFyLXRvb2xzIG1kLWljb24ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMgPiAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbm1kLXRvb2xiYXIubWQtdGFibGUtdG9vbGJhciAubWQtdG9vbGJhci10b29scyA+IC5tZC1idXR0b24ubWQtaWNvbi1idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbn1cblxubWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyIC5tZC10b29sYmFyLXRvb2xzID4gLm1kLWJ1dHRvbi5tZC1pY29uLWJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xufVxuXG5tZC1jYXJkID4gbWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyOmZpcnN0LWNoaWxkLFxubWQtY2FyZCA+IG1kLXRhYmxlLWNvbnRhaW5lcjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG59XG5cbm1kLWNhcmQgPiBtZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXI6bGFzdC1jaGlsZCxcbm1kLWNhcmQgPiBtZC10YWJsZS1jb250YWluZXI6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG59XG5cbm1kLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG50YWJsZS5tZC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxudGFibGUubWQtdGFibGUgdGhlYWQubWQtaGVhZCA+IHRyLm1kLXJvdyB7XG4gICAgaGVpZ2h0OiA1NnB4O1xufVxuXG50YWJsZS5tZC10YWJsZSB0Ym9keS5tZC1ib2R5ID4gdHIubWQtcm93LFxudGFibGUubWQtdGFibGUgdGZvb3QubWQtZm9vdCA+IHRyLm1kLXJvdyB7XG4gICAgaGVpZ2h0OiA0OHB4O1xufVxuXG50YWJsZS5tZC10YWJsZSB0aGVhZC5tZC1oZWFkICsgLm1kLXRhYmxlLXByb2dyZXNzIG1kLXByb2dyZXNzLWxpbmVhciB7XG4gICAgdG9wOiAtM3B4O1xufVxuXG50YWJsZS5tZC10YWJsZSAubWQtdGFibGUtcHJvZ3Jlc3MgdGgge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnRhYmxlLm1kLXRhYmxlIC5tZC10YWJsZS1wcm9ncmVzcyB0aCBtZC1wcm9ncmVzcy1saW5lYXIge1xuICAgIGhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xufVxuXG50YWJsZS5tZC10YWJsZSAubWQtdGFibGUtcHJvZ3Jlc3MgdGggbWQtcHJvZ3Jlc3MtbGluZWFyLm5nLWhpZGUge1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbnRhYmxlLm1kLXRhYmxlIC5tZC10YWJsZS1wcm9ncmVzcyB0aCBtZC1wcm9ncmVzcy1saW5lYXIgPiAubWQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxudGFibGUubWQtdGFibGUgLm1kLXRhYmxlLXByb2dyZXNzIHRoIG1kLXByb2dyZXNzLWxpbmVhciA+IC5tZC1jb250YWluZXIgPiAubWQtYmFyIHtcbiAgICBoZWlnaHQ6IDNweDtcbn1cblxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4ubWQtc29ydCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4gbWQtaWNvbiB7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiBtZC1pY29uLm1kLXNvcnQtaWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cywgb3BhY2l0eSAwLjI1cztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMsIG9wYWNpdHkgMC4yNXM7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiBtZC1pY29uLm1kLXNvcnQtaWNvbi5tZC1hc2Mge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4gbWQtaWNvbi5tZC1zb3J0LWljb24ubWQtZGVzYyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWljb246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiBtZC1pY29uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4ubWQtYWN0aXZlLFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLm1kLWFjdGl2ZSBtZC1pY29uIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uOmhvdmVyIG1kLWljb24ubWQtc29ydC1pY29uLFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLm1kLWFjdGl2ZSBtZC1pY29uLm1kLXNvcnQtaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxudGFibGUubWQtdGFibGUgdHIubWQtcm93W25nXFw6cmVwZWF0XS5uZy1sZWF2ZSxcbnRhYmxlLm1kLXRhYmxlIHRyLm1kLXJvd1tuZy1yZXBlYXRdLm5nLWxlYXZlLFxudGFibGUubWQtdGFibGUgdHIubWQtcm93W3gtbmctcmVwZWF0XS5uZy1sZWF2ZSxcbnRhYmxlLm1kLXRhYmxlIHRyLm1kLXJvd1tkYXRhLW5nLXJlcGVhdF0ubmctbGVhdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbnRhYmxlLm1kLXRhYmxlLm1kLXJvdy1zZWxlY3QgdGJvZHkubWQtYm9keSA+IHRyLm1kLXJvdyB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuXG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRib2R5Lm1kLWJvZHkgPiB0ci5tZC1yb3c6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlICFpbXBvcnRhbnQ7XG59XG5cbnRhYmxlLm1kLXRhYmxlLm1kLXJvdy1zZWxlY3QgdGJvZHkubWQtYm9keSA+IHRyLm1kLXJvdy5tZC1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cblxudGFibGUubWQtdGFibGUubWQtcm93LXNlbGVjdCB0ZC5tZC1jZWxsOmZpcnN0LWNoaWxkLFxudGFibGUubWQtdGFibGUubWQtcm93LXNlbGVjdCB0aC5tZC1jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDI0cHg7XG59XG5cbnRhYmxlLm1kLXRhYmxlLm1kLXJvdy1zZWxlY3QgdGQubWQtY2VsbDpudGgtY2hpbGQoMiksXG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRoLm1kLWNvbHVtbjpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmc6IDAgMjRweDtcbn1cblxudGFibGUubWQtdGFibGUubWQtcm93LXNlbGVjdCB0ZC5tZC1jZWxsOm50aC1jaGlsZChuKzMpOm50aC1sYXN0LWNoaWxkKG4rMiksXG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRoLm1kLWNvbHVtbjpudGgtY2hpbGQobiszKTpudGgtbGFzdC1jaGlsZChuKzIpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xufVxuXG50YWJsZS5tZC10YWJsZTpub3QoLm1kLXJvdy1zZWxlY3QpIHRkLm1kLWNlbGw6Zmlyc3QtY2hpbGQsXG50YWJsZS5tZC10YWJsZTpub3QoLm1kLXJvdy1zZWxlY3QpIHRoLm1kLWNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMCAxMnB4O1xufVxuXG50YWJsZS5tZC10YWJsZTpub3QoLm1kLXJvdy1zZWxlY3QpIHRkLm1kLWNlbGw6bnRoLWNoaWxkKG4rMik6bnRoLWxhc3QtY2hpbGQobisyKSxcbnRhYmxlLm1kLXRhYmxlOm5vdCgubWQtcm93LXNlbGVjdCkgdGgubWQtY29sdW1uOm50aC1jaGlsZChuKzIpOm50aC1sYXN0LWNoaWxkKG4rMikge1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbCxcbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbCA+ICosXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4gPiAqIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsOmxhc3QtY2hpbGQsXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMCAxMnB4IDAgMDtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1jbGlja2FibGUsXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4ubWQtY2xpY2thYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwubWQtY2xpY2thYmxlOmZvY3VzLFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLm1kLWNsaWNrYWJsZTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1udW1lcmljLFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLm1kLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsIG1kLWNoZWNrYm94LFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWNoZWNrYm94IHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBib3JkZXItdG9wOiAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKSBzb2xpZDtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1udW1lcmljIG1kLXNlbGVjdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1udW1lcmljIG1kLXNlbGVjdCAubWQtc2VsZWN0LXZhbHVlIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwgbWQtc2VsZWN0ID4gLm1kLXNlbGVjdC12YWx1ZSA+IHNwYW4ubWQtc2VsZWN0LWljb24ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwgbWQtc2VsZWN0ID4gLm1kLXNlbGVjdC12YWx1ZSA+IHNwYW4ubWQtc2VsZWN0LWljb246YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuNCkgc2NhbGVYKDAuOCk7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbi5lbWFpbCwgdGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLnBvbGljeV9udW1iZXIsXG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsLmVtYWlsLFxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5wb2xpY3lfbnVtYmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5uZy1mb3JtW25hbWU9dGltZUZvcm1dIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxubmctZm9ybVtuYW1lPXRpbWVGb3JtXSA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxubmctZm9ybVtuYW1lPXRpbWVGb3JtXSBpbnB1dCxcbm5nLWZvcm1bbmFtZT10aW1lRm9ybV0gbWQtaW5wdXQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbn1cblxubmctZm9ybVtuYW1lPXRpbWVGb3JtXSBtZC1pbnB1dC1jb250YWluZXIgLm1kLWVycm9ycy1zcGFjZXIge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbm5nLWZvcm1bbmFtZT10aW1lRm9ybV0gZGl2LnRpbWUtZXJyb3ItbWVzc2FnZXMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDMwcHg7XG59XG5cbm1kLWhvdXJzLW1pbnV0ZXMge1xuICAgIHdpZHRoOiA2MHB4O1xufVxuXG5tZC1tZXJpZGllbSB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbn1cblxubWQtbWVyaWRpZW0gLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG59XG5cbm1kLW1lcmlkaWVtIC5tZC1zZWxlY3QtdmFsdWUubWQtc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxubWQtbWVyaWRpZW0gLm1kLXNlbGVjdC12YWx1ZSAubWQtc2VsZWN0LWljb24ge1xuICAgIHdpZHRoOiAxNXB4O1xufVxuXG4udGltZS1jb2xvbiB7XG4gICAgdG9wOiAyM3B4O1xuICAgIHBhZGRpbmc6IDAgNHB4O1xufVxuXG4ubWQtdXAtYXJyb3csIC5tZC1kb3duLWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRvcDogMTRweDtcbiAgICByaWdodDogMnB4O1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLyogQ2hyb21lIGFsbCAvIFNhZmFyaSBhbGwgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIEZpcmVmb3ggYWxsICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIElFIDEwKyAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIExpa2VseSBmdXR1cmUgKi9cbn1cblxuLm1kLXVwLWFycm93OmZvY3VzLCAubWQtZG93bi1hcnJvdzpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1kLXVwLWFycm93OmhvdmVyLCAubWQtZG93bi1hcnJvdzpob3ZlciB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1kLXVwLWFycm93OmFmdGVyLCAubWQtZG93bi1hcnJvdzphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwLjUpIHNjYWxlWCgxKTtcbn1cblxuLm1kLXVwLWFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNUIyJztcbiAgICB0b3A6IC02cHg7XG59XG5cbi5tZC1kb3duLWFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwyNUJDJztcbiAgICB0b3A6IDNweDtcbn1cblxuLm1kLWRhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZHAtYW5pbWF0ZS1uZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDFweCk7XG59XG5cbi5tZHAtYW5pbWF0ZS1uZXh0LXJlbW92ZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMXB4KTtcbn1cblxuLm1kcC1hbmltYXRlLW5leHQtcmVtb3ZlLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDFweCk7XG59XG5cbi5tZHAtYW5pbWF0ZS1wcmV2IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAxcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMXB4KTtcbn1cblxuLm1kcC1hbmltYXRlLXByZXYtcmVtb3ZlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDFweCk7XG59XG5cbi5tZHAtYW5pbWF0ZS1wcmV2LXJlbW92ZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDFweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxcHgpO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbWRwLWFuaW1hdGlvbi1ib3VuY2Uge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kcC1hbmltYXRpb24tYm91bmNlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICA3MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLm1kcC1hbmltYXRpb24tem9vbS5uZy1lbnRlciB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBtZHAtYW5pbWF0aW9uLWJvdW5jZTtcbiAgICBhbmltYXRpb24tbmFtZTogbWRwLWFuaW1hdGlvbi1ib3VuY2U7XG59XG5cbi5tZHAtZGF0ZXBpY2tlciB7XG4gICAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgICBtaW4td2lkdGg6IDIzNHB4O1xufVxuXG4ubWRwLWRhdGVwaWNrZXIgKiB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLm1kcC1kYXRlcGlja2VyIC5tZC1hY3Rpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xufVxuXG4ubWRwLWNhbGVuZGFyLXdlZWstZGF5cyB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLm1kcC1jYWxlbmRhci13ZWVrLWRheXMgPiAqIHtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDBweDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5tZHAtY2FsZW5kYXItZGF5cyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1kcC1jYWxlbmRhci1kYXlzIC5tZC1idXR0b24sXG4ubWRwLWNhbGVuZGFyLWRheXMgLm1kcC1kYXktcGxhY2Vob2xkZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBtYXJnaW46IDAgNXB4O1xufVxuXG4ubWRwLWNhbGVuZGFyLWRheXMgLm1kLWJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1kcC1jYWxlbmRhci1kYXlzIC5tZC1idXR0b25bZGlzYWJsZWRdOm5vdCgubWQtYWNjZW50KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLm1kcC1jYWxlbmRhci1tb250aHllYXIge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7XG59XG5cbi5tZHAtZGF0ZXBpY2tlci1kYXRlLFxuLm1kcC1kYXRlcGlja2VyLWRheSxcbi5tZHAtZGF0ZXBpY2tlci1kb3csXG4ubWRwLWRhdGVwaWNrZXItbW9udGgge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLm1kcC1kYXRlcGlja2VyLWRhdGU6bm90KC5hY3RpdmUpLFxuLm1kcC1kYXRlcGlja2VyLWRheTpub3QoLmFjdGl2ZSksXG4ubWRwLWRhdGVwaWNrZXItZG93Om5vdCguYWN0aXZlKSxcbi5tZHAtZGF0ZXBpY2tlci1tb250aDpub3QoLmFjdGl2ZSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1kcC1kYXRlcGlja2VyLWRhdGUuYWN0aXZlLFxuLm1kcC1kYXRlcGlja2VyLWRheS5hY3RpdmUsXG4ubWRwLWRhdGVwaWNrZXItZG93LmFjdGl2ZSxcbi5tZHAtZGF0ZXBpY2tlci1tb250aC5hY3RpdmUsXG4ubWRwLWRhdGVwaWNrZXItZGF0ZTpob3Zlcixcbi5tZHAtZGF0ZXBpY2tlci1kYXk6aG92ZXIsXG4ubWRwLWRhdGVwaWNrZXItZG93OmhvdmVyLFxuLm1kcC1kYXRlcGlja2VyLW1vbnRoOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubWRwLWRhdGVwaWNrZXIteWVhciB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubWRwLWRhdGVwaWNrZXIteWVhcjpub3QoLmFjdGl2ZSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1kcC1kYXRlcGlja2VyLXllYXIuYWN0aXZlLFxuLm1kcC1kYXRlcGlja2VyLXllYXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciB7XG4gICAgaGVpZ2h0OiAyMzJweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyIC5yZXBlYXRlZC15ZWFyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciAucmVwZWF0ZWQteWVhciAubWQtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4wcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xufVxuXG4ubWRwLWRhdGVwaWNrZXItc2VsZWN0LXllYXIgLnJlcGVhdGVkLXllYXIgLm1kLWJ1dHRvbi5jdXJyZW50IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogNDJweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyIC5tZC12aXJ0dWFsLXJlcGVhdC1jb250YWluZXIsXG4ubWRwLWRhdGVwaWNrZXItc2VsZWN0LXllYXIgLm1kLXZpcnR1YWwtcmVwZWF0LW9mZnNldHRlcixcbi5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciAubWQtdmlydHVhbC1yZXBlYXQtc2Nyb2xsZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxubWRwLWRhdGUtcGlja2VyID4gbWQtaW5wdXQtY29udGFpbmVyLm1kLWhhcy1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbm1kcC1kYXRlLXBpY2tlciAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgICBtYXJnaW46IDE4cHggMCAwIDA7XG59XG5cbi5tZHAtZGF0ZXBpY2tlcjpub3QoLnBvcnRyYWl0KSAubWRwLWRhdGVwaWNrZXItc2VsZWN0LXllYXIge1xuICAgIHdpZHRoOiAzMDlweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyOm5vdCgucG9ydHJhaXQpIC5tZHAtY2FsZW5kYXIge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHdpZHRoOiAyOTRweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyOm5vdCgucG9ydHJhaXQpIC5tZHAtZGF0ZXBpY2tlci1kYXRlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxNTBweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyOm5vdCgucG9ydHJhaXQpIC5tZHAtZGF0ZXBpY2tlci1kb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWRwLWRhdGVwaWNrZXI6bm90KC5wb3J0cmFpdCkgLm1kcC1jYWxlbmRhci13ZWVrLWRheXMgPiAqLFxuLm1kcC1kYXRlcGlja2VyOm5vdCgucG9ydHJhaXQpIC5tZHAtY2FsZW5kYXItZGF5cyA+ICoge1xuICAgIHdpZHRoOiA0MnB4O1xufVxuXG4ubWRwLWRhdGVwaWNrZXIgLm1kcC1kYXRlcGlja2VyLWRhdGUtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTZweCAzNXB4IDE2cHggMTZweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyIG1kLWRpYWxvZy1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyIG1kLWRpYWxvZy1jb250ZW50IC5tZHAtY2FsZW5kYXIge1xuICAgIHdpZHRoOiAyOTRweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCB7XG4gICAgbWF4LXdpZHRoOiAyMzRweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IC5tZHAtY2FsZW5kYXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IC5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciB7XG4gICAgaGVpZ2h0OiAyNTJweDtcbn1cblxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IG1kLWRpYWxvZy1jb250ZW50ID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWRwLWNhbGVuZGFyLXdlZWstZGF5cyxcbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWRwLWNhbGVuZGFyLWRheXMsXG4ubWRwLWRhdGVwaWNrZXIucG9ydHJhaXQgLm1kLWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDAgNXB4O1xufVxuXG4ubWRwLWRhdGVwaWNrZXIucG9ydHJhaXQgLm1kLWFjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWRwLWNhbGVuZGFyLXdlZWstZGF5cyA+ICosXG4ubWRwLWRhdGVwaWNrZXIucG9ydHJhaXQgLm1kcC1jYWxlbmRhci1kYXlzID4gKiB7XG4gICAgd2lkdGg6IDMycHg7XG59XG5cbm1kcC1jYWxlbmRhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZHAtY2FsZW5kYXItd2Vlay1kYXlzIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1kcC1jYWxlbmRhci13ZWVrLWRheXMgPiAqIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZHAtY2FsZW5kYXItZGF5cyAubWQtYnV0dG9uLFxuLm1kcC1jYWxlbmRhci1kYXlzIC5tZHAtZGF5LXBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZHAtY2xvY2sge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogMjRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xufVxuXG4ubWRwLWNsb2NrIC5tZC1idXR0b24ge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi5tZHAtY2xvY2sgLm1kcC1jbG9jay1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZHAtY2xvY2sgLm1kcC1wb2ludGVyIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kcC1jbG9jayAubWRwLWNsb2NrLWNlbnRlciB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIGhlaWdodDogNnB4O1xuICAgIHdpZHRoOiA2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4ubWRwLWNsb2NrIC5tZC1idXR0b24ubWRwLWNsb2NrLXNlbGVjdGVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm1kcC10aW1lcGlja2VyIC5tZHAtY2xvY2stc3dpdGNoLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB3aWR0aDogMzA5cHg7XG59XG5cbi5tZHAtdGltZXBpY2tlciAubWRwLXRpbWVwaWNrZXItdGltZSB7XG4gICAgcGFkZGluZzogMTVweDtcbn1cblxuLm1kcC10aW1lcGlja2VyIC5tZHAtdGltZXBpY2tlci1zZWxlY3RlZC10aW1lIHtcbiAgICBmb250LXNpemU6IDNyZW07XG59XG5cbi5tZHAtdGltZXBpY2tlcjpub3QoLnBvcnRyYWl0KSAubWRwLXRpbWVwaWNrZXItdGltZSB7XG4gICAgd2lkdGg6IDE2MHB4O1xufVxuXG4ubWRwLXRpbWVwaWNrZXIucG9ydHJhaXQgLm1kcC10aW1lcGlja2VyLXNlbGVjdGVkLXRpbWUge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbn1cblxubWRwLXRpbWUtcGlja2VyIG1kLWlucHV0LWNvbnRhaW5lci5tZC1oYXMtaWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG5tZHAtdGltZS1waWNrZXIgLm1kLWJ1dHRvbi5tZC1pY29uLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAxOHB4IDAgMCAwO1xufVxuXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSA+IHNwYW4sXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtYW1wbSA+IHNwYW4ge1xuICAgIG91dGxpbmU6IDA7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSA+IHNwYW46bm90KC5hY3RpdmUpLFxuLm1kcC10aW1lcGlja2VyLXNlbGVjdGVkLWFtcG0gPiBzcGFuOm5vdCguYWN0aXZlKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSA+IHNwYW4uYWN0aXZlLFxuLm1kcC10aW1lcGlja2VyLXNlbGVjdGVkLWFtcG0gPiBzcGFuLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLm1kcC1jbG9jay1kZWcwIHtcbiAgICB0b3A6IDAlO1xuICAgIGxlZnQ6IDUwJTtcbn1cblxuLm1kcC1jbG9jay1kZWcxNSB7XG4gICAgdG9wOiAxLjcwMzcwODY5JTtcbiAgICBsZWZ0OiA2Mi45NDA5NTIyNiU7XG59XG5cbi5tZHAtY2xvY2stZGVnMzAge1xuICAgIHRvcDogNi42OTg3Mjk4MSU7XG4gICAgbGVmdDogNzUlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzQ1IHtcbiAgICB0b3A6IDE0LjY0NDY2MDk0JTtcbiAgICBsZWZ0OiA4NS4zNTUzMzkwNSU7XG59XG5cbi5tZHAtY2xvY2stZGVnNjAge1xuICAgIHRvcDogMjUlO1xuICAgIGxlZnQ6IDkzLjMwMTI3MDE5JTtcbn1cblxuLm1kcC1jbG9jay1kZWc3NSB7XG4gICAgdG9wOiAzNy4wNTkwNDc3NCU7XG4gICAgbGVmdDogOTguMjk2MjkxMzElO1xufVxuXG4ubWRwLWNsb2NrLWRlZzkwIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMDAlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzEwNSB7XG4gICAgdG9wOiA2Mi45NDA5NTIyNiU7XG4gICAgbGVmdDogOTguMjk2MjkxMzElO1xufVxuXG4ubWRwLWNsb2NrLWRlZzEyMCB7XG4gICAgdG9wOiA3NSU7XG4gICAgbGVmdDogOTMuMzAxMjcwMTklO1xufVxuXG4ubWRwLWNsb2NrLWRlZzEzNSB7XG4gICAgdG9wOiA4NS4zNTUzMzkwNiU7XG4gICAgbGVmdDogODUuMzU1MzM5MDYlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzE1MCB7XG4gICAgdG9wOiA5My4zMDEyNzAxOSU7XG4gICAgbGVmdDogNzUlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzE2NSB7XG4gICAgdG9wOiA5OC4yOTYyOTEzMSU7XG4gICAgbGVmdDogNjIuOTQwOTUyMjYlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzE4MCB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbn1cblxuLm1kcC1jbG9jay1kZWcxOTUge1xuICAgIHRvcDogOTguMjk2MjkxMzElO1xuICAgIGxlZnQ6IDM3LjA1OTA0Nzc0JTtcbn1cblxuLm1kcC1jbG9jay1kZWcyMTAge1xuICAgIHRvcDogOTMuMzAxMjcwMTklO1xuICAgIGxlZnQ6IDI1JTtcbn1cblxuLm1kcC1jbG9jay1kZWcyMjUge1xuICAgIHRvcDogODUuMzU1MzM5MDYlO1xuICAgIGxlZnQ6IDE0LjY0NDY2MDk0JTtcbn1cblxuLm1kcC1jbG9jay1kZWcyNDAge1xuICAgIHRvcDogNzUlO1xuICAgIGxlZnQ6IDYuNjk4NzI5ODElO1xufVxuXG4ubWRwLWNsb2NrLWRlZzI1NSB7XG4gICAgdG9wOiA2Mi45NDA5NTIyNiU7XG4gICAgbGVmdDogMS43MDM3MDg2ODYlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzI3MCB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMCU7XG59XG5cbi5tZHAtY2xvY2stZGVnMjg1IHtcbiAgICB0b3A6IDM3LjA1OTA0Nzc0JTtcbiAgICBsZWZ0OiAxLjcwMzcwODY4NiU7XG59XG5cbi5tZHAtY2xvY2stZGVnMzAwIHtcbiAgICB0b3A6IDI1JTtcbiAgICBsZWZ0OiA2LjY5ODcyOTgxJTtcbn1cblxuLm1kcC1jbG9jay1kZWczMTUge1xuICAgIHRvcDogMTQuNjQ0NjYwOTQlO1xuICAgIGxlZnQ6IDE0LjY0NDY2MDk0JTtcbn1cblxuLm1kcC1jbG9jay1kZWczMzAge1xuICAgIHRvcDogNi42OTg3Mjk4MSU7XG4gICAgbGVmdDogMjUlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzM0NSB7XG4gICAgdG9wOiAxLjcwMzcwODY4NiU7XG4gICAgbGVmdDogMzcuMDU5MDQ3NzQlO1xufVxuXG4ubWRwLWNsb2NrLWRlZzM2MCB7XG4gICAgdG9wOiAwJTtcbiAgICBsZWZ0OiA1MCU7XG59XG5cbi5tZC1idXR0b24ge1xuICAgIG1pbi13aWR0aDogNzVweDtcbn1cblxubWQtZGlhbG9nIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbm1kLWRpYWxvZy5hbGxvdy1vdmVyZmxvdyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBtZC1kaWFsb2cuYWxsb3ctb3ZlcmZsb3cgLm1kLWJ1dHRvbi5jbG9zZS1kaWFsb2cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICB9XG59XG5cbm1kLWNvbnRlbnQubWQtZGVmYXVsdC10aGVtZSwgbWQtY29udGVudCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbn1cblxubWQtZGlhbG9nLWFjdGlvbnMge1xuICAgIGJvcmRlci10b3Atc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxubWQtc2VsZWN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkNCREJEO1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luOiBpbmhlcml0O1xufVxuXG5tZC1zZWxlY3QgLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxubWQtcmFkaW8tYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG5tZC1jYWxlbmRhciB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbm1kLWNhbGVuZGFyIHRkLCBtZC1jYWxlbmRhciB0aCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5tZC1kYXRlcGlja2VyLWNhbGVuZGFyLXBhbmUge1xuICAgIHotaW5kZXg6IDE0MDA7XG59XG5cbm1kLXNpZGVuYXYsIG1kLWJhY2tkcm9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbm1kLXRvYXN0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcGFkZGluZzogMDtcbn1cblxubWQtdG9hc3QgLm1kLXRvYXN0LWNvbnRlbnQgc3BhbiB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5tZC10b2FzdC5zdWNjZXNzIC5tZC10b2FzdC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjMjdCNTgxO1xufVxuXG5tZC10b2FzdC53YXJuaW5nIC5tZC10b2FzdC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY2ODdEO1xufVxuXG5tZC10b2FzdC5hbGVydCAubWQtdG9hc3QtY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI0ZGREYxQTtcbn1cblxubWQtZGF0ZXBpY2tlciAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgIG1hcmdpbi1sZWZ0OiAtN3B4O1xufVxuXG5tZC1kYXRlcGlja2VyIC5tZC1kYXRlcGlja2VyLWlucHV0LWNvbnRhaW5lciB7XG4gICAgdG9wOiAtM3B4O1xufVxuXG4uX21kLWRhdGVwaWNrZXItZmxvYXRpbmctbGFiZWwgbWQtZGF0ZXBpY2tlciB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLl9tZC1kYXRlcGlja2VyLWZsb2F0aW5nLWxhYmVsIG1kLWRhdGVwaWNrZXIgLm1kLWRhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5fbWQtZGF0ZXBpY2tlci1mbG9hdGluZy1sYWJlbCBtZC1kYXRlcGlja2VyIC5tZC1kYXRlcGlja2VyLXRyaWFuZ2xlLWJ1dHRvbiB7XG4gICAgdG9wOiA1cHg7XG59XG5cbi5fbWQtZGF0ZXBpY2tlci1mbG9hdGluZy1sYWJlbCBtZC1kYXRlcGlja2VyIC5tZC1kYXRlcGlja2VyLWV4cGFuZC10cmlhbmdsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL3N2Z3MvaWNvbi1hcnJvdy1kb3duLnN2Zyk7XG4gICAgaGVpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwcHg7XG59XG5cbi5fbWQtZGF0ZXBpY2tlci1mbG9hdGluZy1sYWJlbCAubWQtaW5wdXQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5fbWQtZGF0ZXBpY2tlci1mbG9hdGluZy1sYWJlbCAubWQtaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLl9tZC1kYXRlcGlja2VyLWZsb2F0aW5nLWxhYmVsID4gbWQtZGF0ZXBpY2tlciAubWQtZGF0ZXBpY2tlci1idXR0b24ge1xuICAgIHRvcDogNnB4O1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBtYXJnaW46IC0xMnB4IDAgMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWQtZGF0ZXBpY2tlci1vcGVuLm1kLWlucHV0LWhhcy12YWx1ZSA+IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxubWQtY2hlY2tib3gubWQtZGVmYXVsdC10aGVtZS5tZC1jaGVja2VkIC5tZC1pY29uLFxubWQtY2hlY2tib3gubWQtY2hlY2tlZCAubWQtaWNvbixcbi5tZC1jaGVja2JveC1lbmFibGVkLm1kLWRlZmF1bHQtdGhlbWVbc2VsZWN0ZWRdIC5tZC1pY29uLFxuLm1kLWNoZWNrYm94LWVuYWJsZWRbc2VsZWN0ZWRdIC5tZC1pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xufVxuXG5tZC1zZWxlY3QtbWVudS5tZC1kZWZhdWx0LXRoZW1lIG1kLWNvbnRlbnQgbWQtb3B0aW9uW3NlbGVjdGVkXSxcbm1kLXNlbGVjdC1tZW51Lm1kLWRlZmF1bHQtdGhlbWUgbWQtY29udGVudCBtZC1vcHRpb25bc2VsZWN0ZWRdOmZvY3VzLFxubWQtc2VsZWN0LW1lbnUgbWQtY29udGVudCBtZC1vcHRpb25bc2VsZWN0ZWRdLFxubWQtc2VsZWN0LW1lbnUgbWQtY29udGVudCBtZC1vcHRpb25bc2VsZWN0ZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLm1kLWNoZWNrYm94LWVuYWJsZWQubWQtZGVmYXVsdC10aGVtZVtzZWxlY3RlZF0gLm1kLWljb246YWZ0ZXIsXG4ubWQtY2hlY2tib3gtZW5hYmxlZFtzZWxlY3RlZF0gLm1kLWljb246YWZ0ZXIsXG5tZC1jaGVja2JveC5tZC1jaGVja2VkIC5tZC1pY29uOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG59XG5cbm1kLXJhZGlvLWdyb3VwLm1kLWRlZmF1bHQtdGhlbWUgLm1kLWNoZWNrZWQgLm1kLWluay1yaXBwbGUsXG5tZC1yYWRpby1ncm91cCAubWQtY2hlY2tlZCAubWQtaW5rLXJpcHBsZSxcbm1kLXJhZGlvLWJ1dHRvbi5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLWluay1yaXBwbGUsXG5tZC1yYWRpby1idXR0b24ubWQtY2hlY2tlZCAubWQtaW5rLXJpcHBsZSB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbm1kLXJhZGlvLWJ1dHRvbi5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLW9mZixcbm1kLXJhZGlvLWJ1dHRvbi5tZC1jaGVja2VkIC5tZC1vZmYge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbn1cblxubWQtcmFkaW8tYnV0dG9uLm1kLWRlZmF1bHQtdGhlbWUgLm1kLW9uLFxubWQtcmFkaW8tYnV0dG9uIC5tZC1vbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbn1cblxubWQtcmFkaW8tZ3JvdXAubWQtZGVmYXVsdC10aGVtZS5tZC1mb2N1c2VkOm5vdCg6ZW1wdHkpIC5tZC1jaGVja2VkIC5tZC1jb250YWluZXI6YmVmb3JlLFxubWQtcmFkaW8tZ3JvdXAubWQtZm9jdXNlZDpub3QoOmVtcHR5KSAubWQtY2hlY2tlZCAubWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbm1kLXByb2dyZXNzLWNpcmN1bGFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbnRhYmxlLm1kLXRhYmxlIHRib2R5Lm1kLWJvZHkgPiB0ci5tZC1yb3cge1xuICAgIGhlaWdodDogNjBweDtcbn1cblxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIHtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG50YWJsZS5tZC10YWJsZSAubWQtcm93Om5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzJBMjg3Qjtcbn1cblxudGFibGUubWQtdGFibGUgLm1kLXJvdzpub3QoW2Rpc2FibGVkXSk6aG92ZXIgdGQubWQtY2VsbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbnRhYmxlLm1kLXRhYmxlIC5tZC1yb3cgdGQubWQtY2VsbC5kaXNhYmxlZCxcbnRhYmxlLm1kLXRhYmxlIC5tZC1yb3cgdGQubWQtY2VsbFtkaXNhYmxlZF0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpIHNvbGlkO1xuICAgIGJvcmRlci10b3A6IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpIHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxubWQtc2VsZWN0Lm1kLWRlZmF1bHQtdGhlbWVbZGlzYWJsZWRdIC5tZC1zZWxlY3QtdmFsdWUsIG1kLXNlbGVjdFtkaXNhYmxlZF0gLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuW2Rpc2FibGVkXSBtZC1pbnB1dC1jb250YWluZXIubWQtZGVmYXVsdC10aGVtZSAubWQtaW5wdXQsIFtkaXNhYmxlZF0gbWQtaW5wdXQtY29udGFpbmVyIC5tZC1pbnB1dCwgbWQtaW5wdXQtY29udGFpbmVyLm1kLWRlZmF1bHQtdGhlbWUgLm1kLWlucHV0W2Rpc2FibGVkXSwgbWQtaW5wdXQtY29udGFpbmVyIC5tZC1pbnB1dFtkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UxRTJFMztcbn1cblxubWQtc2lkZW5hdi5tZC1sb2NrZWQtb3Blbi5tZC1jbG9zZWQubWQtc2lkZW5hdi1sZWZ0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbm1kLXN3aXRjaC5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLWluay1yaXBwbGUsXG5tZC1zd2l0Y2gubWQtY2hlY2tlZCAubWQtaW5rLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FERTRFNTtcbn1cblxubWQtc3dpdGNoLm1kLWRlZmF1bHQtdGhlbWUubWQtY2hlY2tlZCAubWQtYmFyLFxubWQtc3dpdGNoLm1kLWNoZWNrZWQgLm1kLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0FERTRFNTtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIge1xuICAgIHotaW5kZXg6IDIwMDA7XG59XG5cbi5jbGFpbS1zaWRlYmFyIG1kLWxpc3QtaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHRleHQtaW5kZW50OiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi5jbGFpbS1zaWRlYmFyIC5tZC1idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY2xhaW0tc2lkZWJhciAubWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTgsIDE1OCwgMTU4LCAwLjIpO1xufVxuXG4uY2xhaW0tZHJvcGRvd24ge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4uY2xhaW0taGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xufVxuXG4uY2xhaW0tdGhpcmQtcGFydHktdGFnLWNpcmNsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZERjFBO1xuICAgIG1pbi13aWR0aDogNDVweDtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jbGFpbS10aGlyZC1wYXJ0eS10YWctY2lyY2xlIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbi5jbGFpbS10aGlyZC1wYXJ0eS10YWctY2lyY2xlLnRhZy1zbWFsbCB7XG4gICAgbWluLXdpZHRoOiAyNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG59XG5cbi5tYW5hZ2UtY2xhaW0tbGluayB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jbGFpbV9fcmVzb2x2ZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMjJweCAwIHJnYmEoMCwgMCwgMCwgMC4yMSksIDAgLTVweCAyMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIxKTtcbiAgICBwYWRkaW5nOiAzMHB4O1xufVxuXG4uY2xhaW1fX3Jlc29sdmVyX3dlbGwtZG9uZSB7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG59XG5cbm1kLWRpYWxvZy1jb250ZW50LnNtYWxsIHtcbiAgICB3aWR0aDogNjQwcHg7XG59XG5cbm1kLWRpYWxvZy1jb250ZW50LnhzbWFsbCB7XG4gICAgd2lkdGg6IDM1MHB4O1xufVxuXG4uY2FyZC1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jYXJkLWl0ZW0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRTFFMkUzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogMzElO1xuICAgIG1hcmdpbjogMCAxJSAxJSAwO1xufVxuXG4uY2FyZC1pdGVtIGgzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4uY2FyZC1pdGVtIGgzIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNhcmQtaXRlbS5hY3RpdmUsIC5jYXJkLWl0ZW0uaG9sbG93IHtcbiAgICBib3JkZXItY29sb3I6ICMyN0I1ODE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLmNhcmQtaXRlbS5hY3RpdmUgLnRleHQtc21hbGwsIC5jYXJkLWl0ZW0uaG9sbG93IC50ZXh0LXNtYWxsIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmNhcmQtaXRlbTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpLCAwIC0xMHB4IDMxcHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxuLmNsYWltLXJlY2VpcHQgLnJlY2VpcHQtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2xhaW0tcmVjZWlwdCAucmVjZWlwdC10aXRsZSAucmVjZWlwdC1jdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGQ0ZDO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA1MHB4KTtcbiAgICBib3R0b206IDYzJTtcbn1cblxuLmNsYWltLXJlY2VpcHQgLnJlY2VpcHQtYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNsYWltLXJlY2VpcHQgLnJlY2VpcHQtYm9keSAucmVjZWlwdC1kaXZpZGVyIHtcbiAgICB3aWR0aDogMTIwJTtcbiAgICBtYXJnaW4tbGVmdDogLTUwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI0UxRTJFMztcbn1cblxuLmNsYWltLXZpZXcgaWZyYW1lIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jdXN0b21lci12aWV3IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY1cHg7XG59XG5cbi5kYXNoYm9hcmQtY29udGFpbmVyLFxuLmJyb2tlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5icm9rZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmRhc2hib2FyZC1wYWdlIHtcbiAgICB3aWR0aDogODglO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXNoYm9hcmQtbGlua3Mge1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLmRhc2hib2FyZC1saW5rcyAuY29udGVudHMucXVvdGVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIuYnVwYS1oZWFkZXIge1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgLnRvcC1kZWNrLWJsb2NrcyB7XG4gICAgb3BhY2l0eTogMC40O1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciAudG9wLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpIC5pY29uLXNlcGFyYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRTFFMkUzO1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciAuYWxpZ24tbGVmdC1jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDIzcHg7XG59XG5cbi5icm9rZXItY29udGFpbmVyIC5pbmNyZW1lbnQge1xuICAgIGNvbG9yOiAjMjdCNTgxO1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciAuZGVjcmVtZW50IHtcbiAgICBjb2xvcjogI0ZGNjg3RDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgLmJnLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgLmFjdGl2aXR5LWRldGFpbHMge1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmJyb2tlci1jb250YWluZXIgLmFjdGl2aXR5LWRldGFpbHMgLmFjdGl2aXR5LWNhcm91c2VsIC5zbGljay1hcnJvdzpiZWZvcmUge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgLmFjdGl2aXR5LWRldGFpbHMgLmFjdGl2aXR5LWNhcm91c2VsIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMTglO1xuICAgIHRvcDogMzAlO1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciAuYWN0aXZpdHktZGV0YWlscyAuYWN0aXZpdHktY2Fyb3VzZWwgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjUlO1xuICAgIHRvcDogMzAlO1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciAuYWN0aW9uLWhpc3Rvcnkge1xuICAgIGhlaWdodDogMjkwcHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgaDMudGlsZS1oZWFkaW5ncyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5icm9rZXItY29udGFpbmVyIC5maWx0ZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5icm9rZXItY29udGFpbmVyIC5maWx0ZXItY29udGFpbmVyIC5kb3dud2FyZC1hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNXB4O1xuICAgIGhlaWdodDogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM3NTc1NzU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRvcDogLTVweDtcbn1cblxuLmJyb2tlci1jb250YWluZXIgYS5kaXNhYmxlZCwgLmJyb2tlci1jb250YWluZXIgYVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNzU3NTc1O1xufVxuXG4ubG9naW4tcGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBMjg3QjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDQlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTVweDtcbn1cblxuLmxvZ2luLXBhZ2UgZm9ybSB7XG4gICAgbWluLWhlaWdodDogMjYwcHg7XG59XG5cbi5sb2dpbi1wYWdlIGltZy5sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0JTtcbn1cblxuLmxvZ2luLXBhZ2UgI3Nzby1tZXNzYWdlIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogeC1zbWFsbDtcbn1cblxuLmxvZ2luLXBhZ2UgLmxvZ28tdGV4dCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjQkNCREJEO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbn1cblxuLmxvZ2luLXBhZ2UgLmxvZ2luLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNzY0cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xufVxuXG4ubG9naW4tcGFnZSAubG9naW4tY29udGVudCAubG9naW4tZm9ybS1ibG9jayB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmxvZ2luLXBhZ2UgLmxvZ2luLWNvbnRlbnQgLmxvZ2luLWZvcm0tYmxvY2sgLmJsb2NrLmJvcmRlciB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5sb2dpbi1wYWdlIC5sb2dpbi1jb250ZW50IC5sb2dpbi1pbWFnZS1ibG9jayB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ubG9naW4tcGFnZSAubG9naW4tY29udGVudCAubG9naW4taW1hZ2UtYmxvY2sgLmJsb2NrIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RERUJGNztcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcbn1cblxuLmxvZ2luLXBhZ2UgLmxvZ2luLWNvbnRlbnQgLmxvZ2luLWltYWdlLWJsb2NrIC5ibG9jayBpbWcge1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5sb2dpbi1wYWdlIC5sb2dpbi1jb250ZW50IC5kaXNjbG9zdXJlIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5sb2dpbi1wYWdlIC5sb2dpbi1jb250ZW50IGltZy5wb3dlcmVkLWJ5IHtcbiAgICB3aWR0aDogMTUycHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ub2RvbWV0ZXItcmVhZGluZy1wYW5lbF9faW5wdXQge1xuICAgIGhlaWdodDogMi44NjJyZW07XG4gICAgcGFkZGluZzogMC40NzVyZW07XG59XG5cbi5wb2xpY3lfX21vZGFsLWNyZWF0ZS1jbGFpbSB7XG4gICAgd2lkdGg6IDgwMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5wb2xpY3lfX21vZGFsLWNyZWF0ZS1jbGFpbSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wb2xpY3lfX21vZGFsLWNyZWF0ZS1jbGFpbSBtZC1kaWFsb2ctY29udGVudCB7XG4gICAgd2lkdGg6IDg3JTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucG9saWN5X19tb2RhbC1jcmVhdGUtY2xhaW0gaDEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICB9XG59XG5cbi5wb2xpY3lfX21vZGFsLWNyZWF0ZS1jbGFpbSBtZC1kaWFsb2ctYWN0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wb2xpY3lfX2NsYWltLWxvc3MtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBvbGljeV9fY2xhaW0tZXhwbGFpbiB7XG4gICAgaGVpZ2h0OiAyMjBweDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLnNwYWNpbmdzLWhyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnNwYWNpbmdzLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMTIxMjE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uc3BhY2luZ3MtdGFibGUtY2VsbC10IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzIxMjEyMTtcbn1cblxuLnNwYWNpbmdzLXRhYmxlLWNlbGwtciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzIxMjEyMTtcbn1cblxuLnNwYWNpbmdzLXRhYmxlLWNlbGwtYiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyMTIxMjE7XG59XG5cbi5zcGFjaW5ncy10YWJsZS1jZWxsLWwge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzIxMjEyMTtcbn1cblxuLnN0eWxlcy1pY29ucyAuc3R5bGVzLWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnN0eWxlcy1pY29ucyAuY29sdW1uczpudGgtY2hpbGQoM24pIC5zdHlsZXMtaWNvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0ZGNjg3RDtcbn1cblxuLnN0eWxlcy1pY29ucyAuY29sdW1uczpudGgtY2hpbGQoM24rMSkgLnN0eWxlcy1pY29uIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMjdCNTgxO1xufVxuXG4uc3R5bGVzLWljb25zIC5jb2x1bW5zOm50aC1jaGlsZCgzbisyKSAuc3R5bGVzLWljb24ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyN0I1ODE7XG59XG5cbi5hY2NvdW50LWxpc3QtdGFibGUgLnRleHQtY2Fwc3VsZS5kcmFmdCB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZDogIzc1NzU3NTtcbn1cblxuLmFjY291bnQtbGlzdC10YWJsZSAudGV4dC1jYXBzdWxlLmNvbXBsZXRlZCB7XG4gICAgYmFja2dyb3VuZDogIzI3QjU4MTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmFjY291bnQtbGlzdC10YWJsZSAudGV4dC1jYXBzdWxlLmFwcHJvdmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjdCNTgxO1xufVxuXG4uYWNjb3VudC1saXN0LXRhYmxlIC50ZXh0LWNhcHN1bGUuZGVjbGluZWQge1xuICAgIGJhY2tncm91bmQ6ICNGRjY4N0Q7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5hY2NvdW50LWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmFjY291bnQtY29udGFpbmVyIC5maWVsZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuc3BhbltjbGFzcyo9XCJjbGFpbS1zdGF0ZS0tXCJdIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmNsYWltLXN0YXRlLS1kcmFmdCB7XG4gICAgYmFja2dyb3VuZDogIzc1NzU3NTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmNsYWltLXN0YXRlLS1yZXNvbHZlZCwgLmNsYWltLXN0YXRlLS1maW5hbGlzZWQge1xuICAgIGJhY2tncm91bmQ6ICMyN0I1ODE7XG59XG5cbi5jbGFpbS1zdGF0ZS0taW5Qcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZDogI0ZGREYxQTtcbn1cblxuLmNsYWltLXN0YXRlLS12b2lkZWQsIC5jbGFpbS1zdGF0ZS0tY2xvc2VkIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTFFMkUzO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2xhaW0tc3RhdGUtLWhvbGQge1xuICAgIGJhY2tncm91bmQ6ICNGRjhFNjg7XG59XG5cbi50ZXh0LWNhcHN1bGUudGhpcmQtcGFydHkge1xuICAgIGJhY2tncm91bmQ6ICNmYmQ4Njc7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNsYWltcy10YWJsZS1hY3Rpb25zIG1kLXNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjdCNTgxO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi5jbGFpbXMtdGFibGUtYWN0aW9ucyAubWQtc2VsZWN0LXZhbHVlID4gc3Bhbjpub3QoLm1kLXNlbGVjdC1pY29uKSB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jbGFpbXMtdGFibGUtYWN0aW9ucyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNsYWltcy10YWJsZS1maWx0ZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmNsYWltcy10YWJsZS1maWx0ZXIgLmJ1dHRvbi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMyN0I1ODE7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjdCNTgxO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG5jbGFpbXMtdGFibGUtZGF0YSAucHJvZHVjdC1sb2dvLFxuY2xhaW1zLXRhYmxlLWRhdGEgLmFzc29jaWF0ZS1sb2dvLCAuY2xhaW1zLXRhYmxlLWRhdGEgLnByb2R1Y3QtbG9nbyxcbi5jbGFpbXMtdGFibGUtZGF0YSAuYXNzb2NpYXRlLWxvZ28ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuLmN1c3RvbWVyLXNvbHV0aW9ucy10YWJsZSAudGV4dC1jYXBzdWxlLmVzdGltYXRlZCB7XG4gICAgYmFja2dyb3VuZDogI0ZGREYxQTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmN1c3RvbWVyLXNvbHV0aW9ucy10YWJsZSAudGV4dC1jYXBzdWxlLmFjdGlvbmVkIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kOiAjNzU3NTc1O1xufVxuXG4uY3VzdG9tZXItc29sdXRpb25zLXRhYmxlIC50ZXh0LWNhcHN1bGUub3JkZXItY29uZmlybWVkIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xufVxuXG4uY3VzdG9tZXItc29sdXRpb25zLXRhYmxlIC50ZXh0LWNhcHN1bGUucmVhZHktZm9yLWFwcHJvdmFsIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY4RTY4O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uY3VzdG9tZXItc29sdXRpb25zLXRhYmxlIC50ZXh0LWNhcHN1bGUuYXBwcm92ZWQtZm9yLXBheW1lbnQge1xuICAgIGJhY2tncm91bmQ6ICMyN0I1ODE7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5jdXN0b21lci1zb2x1dGlvbnMtdGFibGUgLnRleHQtY2Fwc3VsZS5wYWlkLWNsb3NlZCB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZDogIzI3QjU4MTtcbn1cblxuLmN1c3RvbWVyLXNvbHV0aW9ucy10YWJsZSAudGV4dC1jYXBzdWxlLmludm9pY2Utbm90LWFjY2VwdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkY2ODdEO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uY3VzdG9tZXItc29sdXRpb25zLXRhYmxlIC50ZXh0LWNhcHN1bGUudm9pZGVkIHtcbiAgICBjb2xvcjogI0JDQkRCRDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkNCREJEO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi5jdXN0b21lci1zb2x1dGlvbnMtdGFibGUtYWN0aW9ucyBtZC1zZWxlY3Qge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbiAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uY3VzdG9tZXItc29sdXRpb25zLXRhYmxlLWFjdGlvbnMgLm1kLXNlbGVjdC12YWx1ZSA+IHNwYW46bm90KC5tZC1zZWxlY3QtaWNvbikge1xuICAgIGNvbG9yOiAjMjdCNTgxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY3VzdG9tZXItc29sdXRpb25zLXRhYmxlLWFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbWVyLXNvbHV0aW9ucy10b3RhbCAuZXhjZXNzX291dHN0YW5kaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICNGRjY4N0Q7XG59XG5cbmZvcm1bbmFtZT1cImVkaXRDdXN0b21lclNvbHV0aW9uRm9ybVwiXSAucmVhZG9ubHlfY3VycmVuY3kgbGFiZWwgaDMge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbn1cblxuZm9ybVtuYW1lPVwiZWRpdEN1c3RvbWVyU29sdXRpb25Gb3JtXCJdIGgxIC50ZXh0LWNhcHN1bGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuZm9ybVtuYW1lPVwiZWRpdEN1c3RvbWVyU29sdXRpb25Gb3JtXCJdIC5maWVsZCA+IC5maWVsZCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xufVxuXG4uY3VzdG9tZXItc29sdXRpb24tdmFsdWUtZmllbGRzZXQgaDMge1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG59XG5cbi5jdXN0b21lci1zb2x1dGlvbi12YWx1ZS1maWVsZHNldCBsYWJlbCBoMyB7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG59XG5cbi5jdXN0b21lci1zb2x1dGlvbi12YWx1ZS1maWVsZHNldCAuY3VzdG9tZXItc29sdXRpb24tb3BlcmFuZCB7XG4gICAgbWFyZ2luLXRvcDogMjlweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zZWN0aW9uX2V4cGVuc2VfYW1vdW50IC5mb3JtLWZpZWxkLFxuLnNlY3Rpb25fZXhwZW5zZV93aXRoX2RlZHVjdGlvbnMgLmZvcm0tZmllbGQsXG4uc2VjdGlvbl9zdXBwbGllcl9pbnZvaWNlIC5mb3JtLWZpZWxkLFxuLnNlY3Rpb25fb3ZlcnNlYXNfdHJhdmVsX2V4cGVuc2UgLmZvcm0tZmllbGQsXG4uc2VjdGlvbl90b3RhbF9sb3NzX2ludm9pY2UgLmZvcm0tZmllbGQsXG4uc2VjdGlvbl90b3RhbF9sb3NzX3RoaXJkX3BhcnR5X2ludm9pY2UgLmZvcm0tZmllbGQsXG4uc2VjdGlvbl9leGNlc3NfcGF5bWVudF9pbnZvaWNlIC5mb3JtLWZpZWxkLFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeSAuZm9ybS1maWVsZCxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmIC5mb3JtLWZpZWxkLFxuLnNlY3Rpb25fY3VzdG9tZXJfc2V0dGxlbWVudCAuZm9ybS1maWVsZCxcbi5zZWN0aW9uX3JlaW1idXJzZV9leGNlc3MgLmZvcm0tZmllbGQsXG4ua2V5X2FnZW50IC5mb3JtLWZpZWxkLFxuLmtleV9lc3RpbWF0ZV9hbW91bnQgLmZvcm0tZmllbGQsXG4ua2V5X291dHN0YW5kaW5nX3JlY292ZXJ5X3NlY3Rpb24gLmZvcm0tZmllbGQsXG4ua2V5X291dHN0YW5kaW5nX3RvdGFsX3NlY3Rpb24gLmZvcm0tZmllbGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnNlY3Rpb25fZXhwZW5zZV9hbW91bnQgLmZvcm0tZmllbGQgPiBoMyxcbi5zZWN0aW9uX2V4cGVuc2Vfd2l0aF9kZWR1Y3Rpb25zIC5mb3JtLWZpZWxkID4gaDMsXG4uc2VjdGlvbl9zdXBwbGllcl9pbnZvaWNlIC5mb3JtLWZpZWxkID4gaDMsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZm9ybS1maWVsZCA+IGgzLFxuLnNlY3Rpb25fdG90YWxfbG9zc19pbnZvaWNlIC5mb3JtLWZpZWxkID4gaDMsXG4uc2VjdGlvbl90b3RhbF9sb3NzX3RoaXJkX3BhcnR5X2ludm9pY2UgLmZvcm0tZmllbGQgPiBoMyxcbi5zZWN0aW9uX2V4Y2Vzc19wYXltZW50X2ludm9pY2UgLmZvcm0tZmllbGQgPiBoMyxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3ZlcnkgLmZvcm0tZmllbGQgPiBoMyxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmIC5mb3JtLWZpZWxkID4gaDMsXG4uc2VjdGlvbl9jdXN0b21lcl9zZXR0bGVtZW50IC5mb3JtLWZpZWxkID4gaDMsXG4uc2VjdGlvbl9yZWltYnVyc2VfZXhjZXNzIC5mb3JtLWZpZWxkID4gaDMsXG4ua2V5X2FnZW50IC5mb3JtLWZpZWxkID4gaDMsXG4ua2V5X2VzdGltYXRlX2Ftb3VudCAuZm9ybS1maWVsZCA+IGgzLFxuLmtleV9vdXRzdGFuZGluZ19yZWNvdmVyeV9zZWN0aW9uIC5mb3JtLWZpZWxkID4gaDMsXG4ua2V5X291dHN0YW5kaW5nX3RvdGFsX3NlY3Rpb24gLmZvcm0tZmllbGQgPiBoMyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLnNlY3Rpb25fZXhwZW5zZV9hbW91bnQgLmZvcm0tZmllbGQgPiBkaXYsXG4uc2VjdGlvbl9leHBlbnNlX3dpdGhfZGVkdWN0aW9ucyAuZm9ybS1maWVsZCA+IGRpdixcbi5zZWN0aW9uX3N1cHBsaWVyX2ludm9pY2UgLmZvcm0tZmllbGQgPiBkaXYsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZm9ybS1maWVsZCA+IGRpdixcbi5zZWN0aW9uX3RvdGFsX2xvc3NfaW52b2ljZSAuZm9ybS1maWVsZCA+IGRpdixcbi5zZWN0aW9uX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfaW52b2ljZSAuZm9ybS1maWVsZCA+IGRpdixcbi5zZWN0aW9uX2V4Y2Vzc19wYXltZW50X2ludm9pY2UgLmZvcm0tZmllbGQgPiBkaXYsXG4uc2VjdGlvbl9leHBlbnNlX3JlY292ZXJ5IC5mb3JtLWZpZWxkID4gZGl2LFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeV93cml0ZV9vZmYgLmZvcm0tZmllbGQgPiBkaXYsXG4uc2VjdGlvbl9jdXN0b21lcl9zZXR0bGVtZW50IC5mb3JtLWZpZWxkID4gZGl2LFxuLnNlY3Rpb25fcmVpbWJ1cnNlX2V4Y2VzcyAuZm9ybS1maWVsZCA+IGRpdixcbi5rZXlfYWdlbnQgLmZvcm0tZmllbGQgPiBkaXYsXG4ua2V5X2VzdGltYXRlX2Ftb3VudCAuZm9ybS1maWVsZCA+IGRpdixcbi5rZXlfb3V0c3RhbmRpbmdfcmVjb3Zlcnlfc2VjdGlvbiAuZm9ybS1maWVsZCA+IGRpdixcbi5rZXlfb3V0c3RhbmRpbmdfdG90YWxfc2VjdGlvbiAuZm9ybS1maWVsZCA+IGRpdiB7XG4gICAgd2lkdGg6IDI1MHB4O1xufVxuXG4uc2VjdGlvbl9leHBlbnNlX2Ftb3VudCAuZm9ybS1maWVsZCBsYWJlbCwgLnNlY3Rpb25fZXhwZW5zZV9hbW91bnQgLmZvcm0tZmllbGQgaW5wdXQsXG4uc2VjdGlvbl9leHBlbnNlX3dpdGhfZGVkdWN0aW9ucyAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX2V4cGVuc2Vfd2l0aF9kZWR1Y3Rpb25zIC5mb3JtLWZpZWxkIGlucHV0LFxuLnNlY3Rpb25fc3VwcGxpZXJfaW52b2ljZSAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX3N1cHBsaWVyX2ludm9pY2UgLmZvcm0tZmllbGQgaW5wdXQsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX292ZXJzZWFzX3RyYXZlbF9leHBlbnNlIC5mb3JtLWZpZWxkIGlucHV0LFxuLnNlY3Rpb25fdG90YWxfbG9zc19pbnZvaWNlIC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fdG90YWxfbG9zc19pbnZvaWNlIC5mb3JtLWZpZWxkIGlucHV0LFxuLnNlY3Rpb25fdG90YWxfbG9zc190aGlyZF9wYXJ0eV9pbnZvaWNlIC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fdG90YWxfbG9zc190aGlyZF9wYXJ0eV9pbnZvaWNlIC5mb3JtLWZpZWxkIGlucHV0LFxuLnNlY3Rpb25fZXhjZXNzX3BheW1lbnRfaW52b2ljZSAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX2V4Y2Vzc19wYXltZW50X2ludm9pY2UgLmZvcm0tZmllbGQgaW5wdXQsXG4uc2VjdGlvbl9leHBlbnNlX3JlY292ZXJ5IC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeSAuZm9ybS1maWVsZCBpbnB1dCxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmIC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeV93cml0ZV9vZmYgLmZvcm0tZmllbGQgaW5wdXQsXG4uc2VjdGlvbl9jdXN0b21lcl9zZXR0bGVtZW50IC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fY3VzdG9tZXJfc2V0dGxlbWVudCAuZm9ybS1maWVsZCBpbnB1dCxcbi5zZWN0aW9uX3JlaW1idXJzZV9leGNlc3MgLmZvcm0tZmllbGQgbGFiZWwsXG4uc2VjdGlvbl9yZWltYnVyc2VfZXhjZXNzIC5mb3JtLWZpZWxkIGlucHV0LFxuLmtleV9hZ2VudCAuZm9ybS1maWVsZCBsYWJlbCxcbi5rZXlfYWdlbnQgLmZvcm0tZmllbGQgaW5wdXQsXG4ua2V5X2VzdGltYXRlX2Ftb3VudCAuZm9ybS1maWVsZCBsYWJlbCxcbi5rZXlfZXN0aW1hdGVfYW1vdW50IC5mb3JtLWZpZWxkIGlucHV0LFxuLmtleV9vdXRzdGFuZGluZ19yZWNvdmVyeV9zZWN0aW9uIC5mb3JtLWZpZWxkIGxhYmVsLFxuLmtleV9vdXRzdGFuZGluZ19yZWNvdmVyeV9zZWN0aW9uIC5mb3JtLWZpZWxkIGlucHV0LFxuLmtleV9vdXRzdGFuZGluZ190b3RhbF9zZWN0aW9uIC5mb3JtLWZpZWxkIGxhYmVsLFxuLmtleV9vdXRzdGFuZGluZ190b3RhbF9zZWN0aW9uIC5mb3JtLWZpZWxkIGlucHV0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnNlY3Rpb25fZXhwZW5zZV9hbW91bnQgLmZvcm0tZmllbGQgbGFiZWwsXG4uc2VjdGlvbl9leHBlbnNlX3dpdGhfZGVkdWN0aW9ucyAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX3N1cHBsaWVyX2ludm9pY2UgLmZvcm0tZmllbGQgbGFiZWwsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfaW52b2ljZSAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfaW52b2ljZSAuZm9ybS1maWVsZCBsYWJlbCxcbi5zZWN0aW9uX2V4Y2Vzc19wYXltZW50X2ludm9pY2UgLmZvcm0tZmllbGQgbGFiZWwsXG4uc2VjdGlvbl9leHBlbnNlX3JlY292ZXJ5IC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeV93cml0ZV9vZmYgLmZvcm0tZmllbGQgbGFiZWwsXG4uc2VjdGlvbl9jdXN0b21lcl9zZXR0bGVtZW50IC5mb3JtLWZpZWxkIGxhYmVsLFxuLnNlY3Rpb25fcmVpbWJ1cnNlX2V4Y2VzcyAuZm9ybS1maWVsZCBsYWJlbCxcbi5rZXlfYWdlbnQgLmZvcm0tZmllbGQgbGFiZWwsXG4ua2V5X2VzdGltYXRlX2Ftb3VudCAuZm9ybS1maWVsZCBsYWJlbCxcbi5rZXlfb3V0c3RhbmRpbmdfcmVjb3Zlcnlfc2VjdGlvbiAuZm9ybS1maWVsZCBsYWJlbCxcbi5rZXlfb3V0c3RhbmRpbmdfdG90YWxfc2VjdGlvbiAuZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgcGFkZGluZy1yaWdodDogMjhweDtcbn1cblxuLnNlY3Rpb25fdG90YWxfbG9zc19pbnZvaWNlIC5mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4uc2VjdGlvbl9leHBlbnNlX2Ftb3VudCAuZXN0aW1hdGVfZ3N0X3ZhbHVlLCAuc2VjdGlvbl9leHBlbnNlX2Ftb3VudCAuYWN0dWFsX2dzdF92YWx1ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnNlY3Rpb25fZXhwZW5zZV93aXRoX2RlZHVjdGlvbnMgLmFjdHVhbF9leGNlc3NfZGVkdWN0aW9uLFxuLnNlY3Rpb25fZXhwZW5zZV93aXRoX2RlZHVjdGlvbnMgLmVzdGltYXRlX2V4Y2Vzc19kZWR1Y3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5zZWN0aW9uX2V4cGVuc2VfYW1vdW50IC5lc3RpbWF0ZV9wYXlhYmxlX2luY19nc3QsXG4uc2VjdGlvbl9leHBlbnNlX2Ftb3VudCAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCxcbi5zZWN0aW9uX3N1cHBsaWVyX2ludm9pY2UgLmVzdGltYXRlX3BheWFibGVfaW5jX2dzdCxcbi5zZWN0aW9uX3N1cHBsaWVyX2ludm9pY2UgLmFjdHVhbF9wYXlhYmxlX2luY19nc3QsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZXN0aW1hdGVfcGF5YWJsZV9pbmNfZ3N0LFxuLnNlY3Rpb25fb3ZlcnNlYXNfdHJhdmVsX2V4cGVuc2UgLmFjdHVhbF9wYXlhYmxlX2luY19nc3QsXG4uc2VjdGlvbl90b3RhbF9sb3NzX2ludm9pY2UgLmVzdGltYXRlX3BheWFibGVfaW5jX2dzdCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfaW52b2ljZSAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfaW52b2ljZSAuZXN0aW1hdGVfcGF5YWJsZV9pbmNfZ3N0LFxuLnNlY3Rpb25fdG90YWxfbG9zc190aGlyZF9wYXJ0eV9pbnZvaWNlIC5hY3R1YWxfcGF5YWJsZV9pbmNfZ3N0LFxuLnNlY3Rpb25fZXhjZXNzX3BheW1lbnRfaW52b2ljZSAuZXN0aW1hdGVfcGF5YWJsZV9pbmNfZ3N0LFxuLnNlY3Rpb25fZXhjZXNzX3BheW1lbnRfaW52b2ljZSAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmIC5lc3RpbWF0ZV9wYXlhYmxlX2luY19nc3QsXG4uc2VjdGlvbl9leHBlbnNlX3JlY292ZXJ5X3dyaXRlX29mZiAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzM7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnNlY3Rpb25fZXhwZW5zZV9hbW91bnQgLmVzdGltYXRlX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fZXhwZW5zZV9hbW91bnQgLmVzdGltYXRlX3BheWFibGVfZXhjX2dzdCxcbi5zZWN0aW9uX2V4cGVuc2VfYW1vdW50IC5hY3R1YWxfcGF5YWJsZV9nc3QsXG4uc2VjdGlvbl9leHBlbnNlX2Ftb3VudCAuYWN0dWFsX3BheWFibGVfZXhjX2dzdCxcbi5zZWN0aW9uX3N1cHBsaWVyX2ludm9pY2UgLmVzdGltYXRlX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fc3VwcGxpZXJfaW52b2ljZSAuZXN0aW1hdGVfcGF5YWJsZV9leGNfZ3N0LFxuLnNlY3Rpb25fc3VwcGxpZXJfaW52b2ljZSAuYWN0dWFsX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fc3VwcGxpZXJfaW52b2ljZSAuYWN0dWFsX3BheWFibGVfZXhjX2dzdCxcbi5zZWN0aW9uX292ZXJzZWFzX3RyYXZlbF9leHBlbnNlIC5lc3RpbWF0ZV9wYXlhYmxlX2dzdCxcbi5zZWN0aW9uX292ZXJzZWFzX3RyYXZlbF9leHBlbnNlIC5lc3RpbWF0ZV9wYXlhYmxlX2V4Y19nc3QsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuYWN0dWFsX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fb3ZlcnNlYXNfdHJhdmVsX2V4cGVuc2UgLmFjdHVhbF9wYXlhYmxlX2V4Y19nc3QsXG4uc2VjdGlvbl90b3RhbF9sb3NzX2ludm9pY2UgLmVzdGltYXRlX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fdG90YWxfbG9zc19pbnZvaWNlIC5lc3RpbWF0ZV9wYXlhYmxlX2V4Y19nc3QsXG4uc2VjdGlvbl90b3RhbF9sb3NzX2ludm9pY2UgLmFjdHVhbF9wYXlhYmxlX2dzdCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfaW52b2ljZSAuYWN0dWFsX3BheWFibGVfZXhjX2dzdCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfaW52b2ljZSAuZXN0aW1hdGVfcGF5YWJsZV9nc3QsXG4uc2VjdGlvbl90b3RhbF9sb3NzX3RoaXJkX3BhcnR5X2ludm9pY2UgLmVzdGltYXRlX3BheWFibGVfZXhjX2dzdCxcbi5zZWN0aW9uX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfaW52b2ljZSAuYWN0dWFsX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fdG90YWxfbG9zc190aGlyZF9wYXJ0eV9pbnZvaWNlIC5hY3R1YWxfcGF5YWJsZV9leGNfZ3N0LFxuLnNlY3Rpb25fZXhjZXNzX3BheW1lbnRfaW52b2ljZSAuZXN0aW1hdGVfcGF5YWJsZV9nc3QsXG4uc2VjdGlvbl9leGNlc3NfcGF5bWVudF9pbnZvaWNlIC5lc3RpbWF0ZV9wYXlhYmxlX2V4Y19nc3QsXG4uc2VjdGlvbl9leGNlc3NfcGF5bWVudF9pbnZvaWNlIC5hY3R1YWxfcGF5YWJsZV9nc3QsXG4uc2VjdGlvbl9leGNlc3NfcGF5bWVudF9pbnZvaWNlIC5hY3R1YWxfcGF5YWJsZV9leGNfZ3N0LFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeV93cml0ZV9vZmYgLmVzdGltYXRlX3BheWFibGVfZ3N0LFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeV93cml0ZV9vZmYgLmVzdGltYXRlX3BheWFibGVfZXhjX2dzdCxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmIC5hY3R1YWxfcGF5YWJsZV9nc3QsXG4uc2VjdGlvbl9leHBlbnNlX3JlY292ZXJ5X3dyaXRlX29mZiAuYWN0dWFsX3BheWFibGVfZXhjX2dzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmtleV9hY3R1YWxfc3VwcGxpZXJfYW1vdW50X2ZpZWxkcyA+IGRpdjpudGgtbGFzdC1jaGlsZCgxKSwgLmtleV9hY3R1YWxfc3VwcGxpZXJfYW1vdW50X2ZpZWxkcyA+IGRpdjpudGgtbGFzdC1jaGlsZCgyKSxcbi5rZXlfYWN0dWFsX3RvdGFsX2xvc3NfYW1vdW50X2ZpZWxkcyA+IGRpdjpudGgtbGFzdC1jaGlsZCgxKSxcbi5rZXlfYWN0dWFsX3RvdGFsX2xvc3NfYW1vdW50X2ZpZWxkcyA+IGRpdjpudGgtbGFzdC1jaGlsZCgyKSxcbi5rZXlfYWN0dWFsX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfYW1vdW50X2ZpZWxkcyA+IGRpdjpudGgtbGFzdC1jaGlsZCgxKSxcbi5rZXlfYWN0dWFsX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfYW1vdW50X2ZpZWxkcyA+IGRpdjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY3Rpb25fZXhjZXNzX3BheW1lbnRfaW52b2ljZSAuYWN0dWFsX3JlY292ZXJhYmxlX2dzdCxcbi5zZWN0aW9uX2V4Y2Vzc19wYXltZW50X2ludm9pY2UgLmFjdHVhbF9yZWNvdmVyYWJsZV9leGNfZ3N0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVhZG9ubHktY3VycmVuY3kgLmlucHV0LWN1cnJlbmN5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VjdGlvbl9yZWltYnVyc2VfZXhjZXNzIC5hY3R1YWxfaW52b2ljZV9nc3RfcmF0ZSAuZm9ybS1maWVsZC1oZWxwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlY3Rpb25fcmVpbWJ1cnNlX2V4Y2VzcyAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCAubWQtYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWN0aW9uX3JlaW1idXJzZV9leGNlc3MgLmFjdHVhbF9wYXlhYmxlX2luY19nc3QgLnJlYWRvbmx5LWN1cnJlbmN5IC5pbnB1dC1jdXJyZW5jeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uX291dHN0YW5kaW5nX3ByZW1pdW1fQVRMIC5hY3R1YWxfcGF5YWJsZV9nc3QgLmZvcm0tZmllbGQtaGVscCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZXN0aW1hdGVfcGF5YWJsZV9nc3QsXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSAuZXN0aW1hdGVfcGF5YWJsZV9leGNfZ3N0LFxuLnNlY3Rpb25fb3ZlcnNlYXNfdHJhdmVsX2V4cGVuc2UgLmFjdHVhbF9wYXlhYmxlX2dzdCxcbi5zZWN0aW9uX292ZXJzZWFzX3RyYXZlbF9leHBlbnNlIC5hY3R1YWxfcGF5YWJsZV9leGNfZ3N0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uc2VjdGlvbl9jb21wb3VuZF9zdWJ0cmFjdCAuYWN0dWFsX293aW5nIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VjdGlvbl9pbnZvaWNlX3NlbGVjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY3Rpb25faW52b2ljZV9zZWxlY3Rpb24gaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5rZXlfb3V0c3RhbmRpbmdfdG90YWxfc2VjdGlvbiBociB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmtleV9vdXRzdGFuZGluZ19yZWNvdmVyeV9zZWN0aW9uIC5hY3R1YWxfcGF5YWJsZV9pbmNfZ3N0LCAua2V5X291dHN0YW5kaW5nX3RvdGFsX3NlY3Rpb24gLmFjdHVhbF9wYXlhYmxlX2luY19nc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5rZXlfb3V0c3RhbmRpbmdfcmVjb3Zlcnlfc2VjdGlvbiBtZC1pbnB1dC1jb250YWluZXIgLmZpZWxkX2NvbXBvdW5kX3RvdGFsLCAua2V5X291dHN0YW5kaW5nX3RvdGFsX3NlY3Rpb24gbWQtaW5wdXQtY29udGFpbmVyIC5maWVsZF9jb21wb3VuZF90b3RhbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbn1cblxuLm91dHN0YW5kaW5nX3JlY292ZXJ5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzIxMjEyMTtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ub3V0c3RhbmRpbmdfcmVjb3ZlcnkgbWQtaW5wdXQtY29udGFpbmVyIGgzLCAub3V0c3RhbmRpbmdfdG90YWxfcGFpZCBtZC1pbnB1dC1jb250YWluZXIgaDMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5vdXRzdGFuZGluZ19yZWNvdmVyeSBociwgLm91dHN0YW5kaW5nX3RvdGFsX3BhaWQgaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5rZXlfaW52b2ljZV9kYXRlcyBociwgLmtleV9pbnZvaWNlX251bWJlciBociB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmV4cGVuc2UtaW52b2ljZS1maWVsZHNldCAuc2hhZG93LCBleHBlbnNlLXBheWVlIC5zaGFkb3cge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5leHBlbnNlLWludm9pY2UtZmllbGRzZXQgLnNoYWRvdy5kZXB0aC0xLCBleHBlbnNlLXBheWVlIC5zaGFkb3cuZGVwdGgtMSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmV4cGVuc2UtaW52b2ljZS1maWVsZHNldCBociwgZXhwZW5zZS1wYXllZSBociB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBheWVlLWxvb2t1cCB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5oaXJlLWNhci10eXBlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQkZDO1xufVxuXG4uYmxvY2suYm9yZGVyLmluZm8tYmxvY2sge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbn1cblxuLmJsb2NrLmJvcmRlci5pbmZvLWJsb2NrLndhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGNjg3RDtcbiAgICBjb2xvcjogI0ZGNjg3RDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOGViO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uZXhwZW5zZS1maWVsZDpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZBRkJGQztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tYXJrLWJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTc7XG59XG5cbi5vdmVydmlldy1maWVsZC1ib3JkZXItdG9wIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzc1NzU3NTtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLmZhY3RvcmluZy1zZWxlY3QgLmZpZWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxudWwuZXZlbnQtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnVsLmV2ZW50LWxpc3QgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5ldmVudC1uYXYgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5rZXlfc2VjdGlvbl9kX2Rpc2Nsb3N1cmVzX2ZpZWxkcyAuZm9ybS1maWVsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5rZXlfc2VjdGlvbl9kX2Rpc2Nsb3N1cmVzX2ZpZWxkcyAuZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbmZvcm1bbmFtZT1cImNsYWltRXhjZXNzRm9ybVwiXSBociB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuZm9ybVtuYW1lPVwiY2xhaW1FeGNlc3NGb3JtXCJdIGZvcm0tZmllbGRzZXQgKyBmb3JtLWZpZWxkc2V0IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuZm9ybVtuYW1lPVwiY2xhaW1FeGNlc3NGb3JtXCJdIC5maWVsZF9jb21wb3VuZF90b3RhbCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbmZvcm1bbmFtZT1cImNsYWltRXhjZXNzRm9ybVwiXSAuY29tcG91bmRfdG90YWwge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQkNCREJEO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbmZvcm1bbmFtZT1cImNsYWltRXhjZXNzRm9ybVwiXSAuY29tcG91bmRfdG90YWwgbWQtaW5wdXQtY29udGFpbmVyIGgzIHtcbiAgICBmb250LXNpemU6IDM0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbmZvcm1bbmFtZT1cImNsYWltRGVjaXNpb25Gb3JtXCJdIGgxIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5kZWNpc2lvbi13YXJuaW5ncyB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xufVxuXG4uZGVjaXNpb24td2FybmluZ3MgaDMge1xuICAgIG1hcmdpbjogMHB4IDAgMTBweDtcbn1cblxuLmRlY2lzaW9uLXdhcm5pbmdzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5kZWNpc2lvbi13YXJuaW5ncy53YXJuaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICNGRjY4N0Q7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThlYjtcbn1cblxuLmRlY2lzaW9uLXdhcm5pbmdzLmFsZXJ0IHtcbiAgICBib3JkZXItY29sb3I6ICNGRkRGMUE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjE5YTtcbn1cblxuLmRlY2lzaW9uLXdhcm5pbmdzLnNhZmUge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmRlY2lzaW9uLXdhcm5pbmdzLnVuY2xlYXIge1xuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xufVxuXG4uZGVjaXNpb24td2FybmluZ3MtcmVzdWx0cy5ibG9jayB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmRlY2lzaW9uLXdhcm5pbmdzLWhlYWRlciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5kZWNpc2lvbi13YXJuaW5ncy1oZWFkZXIgLmJsb2NrIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4udHdvLWNvbHVtbiB7XG4gICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgLW1vei1jb2x1bW4tY291bnQ6IDI7XG59XG5cbi5oZHNUb2dnbGUuaGRzVG9nZ2xlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW46IDEwcHggMDtcbn1cblxuYWN0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5hY3Rpb24tYnV0dG9ucyAuYmxvY2sge1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIGhlaWdodDogMTMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5hY3Rpb24tYnV0dG9ucyBpbWcge1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgbWF4LWhlaWdodDogODBweDtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbn1cblxuLmhpc3RvcnlfX2NvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMjUwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLmhpc3RvcnlfX2NvbnRhaW5lciBpbWcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmhpc3RvcnlfX2NvbnRhaW5lciAuY29udGVudCB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cblxuLmFkZHJlc3NfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIHBhZGRpbmc6IDIwcHggMzVweCAxMHB4IDIwcHg7XG59XG5cbi5hZGRyZXNzX19jb250ZW50IGltZy5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLmFkZHJlc3NfX2ltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuW3VpYi10eXBlYWhlYWQtcG9wdXBdIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDIycHggMCByZ2JhKDAsIDAsIDAsIDAuMjEpLCAwIC01cHggMjJweCAwIHJnYmEoMCwgMCwgMCwgMC4yMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDA7XG59XG5cblt1aWItdHlwZWFoZWFkLXBvcHVwXSAudWliLXR5cGVhaGVhZC1tYXRjaCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCQ0JEQkQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuW3VpYi10eXBlYWhlYWQtcG9wdXBdIC51aWItdHlwZWFoZWFkLW1hdGNoLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNjtcbn1cblxuW3VpYi10eXBlYWhlYWQtcG9wdXBdIC51aWItdHlwZWFoZWFkLW1hdGNoIGEge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYWRkcmVzc2lmeS1mb3JtIHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmF1dGgwLWxvZ2luLWxpbmstZGlhbG9nIHtcbiAgICB3aWR0aDogNjAwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmF1dGgwLWxvZ2luLWxpbmstZGlhbG9nIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmF1dGgwLWxvZ2luLWxpbmstZGlhbG9nIG1kLWRpYWxvZy1jb250ZW50IHtcbiAgICB3aWR0aDogODclO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hdXRoMC1sb2dpbi1saW5rLWRpYWxvZyBoMSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbn1cblxuLmF1dGgwLWxvZ2luLWxpbmstZGlhbG9nIG1kLWRpYWxvZy1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuYnJlYWRjcnVtYnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYnJlYWRjcnVtYi1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cblxuLmJyZWFkY3J1bWItY29udGFpbmVyIHVsLmJyZWFkY3J1bWIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLmJyZWFkY3J1bWItY29udGFpbmVyIHVsLmJyZWFkY3J1bWIgbGkge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbn1cblxuYnViYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJ1YmJsZS1iZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgICAgYmFja2dyb3VuZDogIzIxMjEyMTtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgICB9XG59XG5cbi5idWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yNXB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgd2lkdGg6IDMzMHB4O1xuICAgIHBhZGRpbmc6IDE3cHggMTdweDtcbiAgICB6LWluZGV4OiAxMTEwO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYnViYmxlIHtcbiAgICAgICAgdG9wOiAtODBweDtcbiAgICAgICAgbGVmdDogMjU1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5idWJibGUge1xuICAgICAgICB3aWR0aDogOTV2dztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi5idWJibGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgI0ZGRkZGRjtcbiAgICBsZWZ0OiAtMTBweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5idWJibGU6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAxMTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJ1YmJsZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmJ1YmJsZSAuYnViYmxlLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogN3B4O1xuICAgIHRvcDogMTRweDtcbiAgICB6LWluZGV4OiAxMTEwO1xufVxuXG4uYnViYmxlIC5idWJibGUtY2xvc2Ugc3ZnIHtcbiAgICBmaWxsOiAjMjdCNTgxO1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYnViYmxlIC5idWJibGUtY2xvc2Ugc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmJ1YmJsZSAuYnViYmxlLWNsb3NlIHtcbiAgICAgICAgdG9wOiAtMjNweDtcbiAgICAgICAgcmlnaHQ6IDNweDtcbiAgICB9XG59XG5cbi5leHBlbnNlLWludm9pY2UtZmllbGRzZXQgYnViYmxlIC5ibG9jayB7XG4gICAgcGFkZGluZzogMHB4IDIwcHg7XG59XG5cbi5jYXJkLXBheW1lbnRfX3BhZC1jYXJkLWljb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uY2FyZC1wYXltZW50X19wYXltZW50T3B0aW9uIHtcbiAgICBwYWRkaW5nOiAyNXB4IDIwcHggMTVweDtcbn1cblxuLmNhcmQtcGF5bWVudF9fcGF5bWVudE9wdGlvbi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbn1cblxuLmNhcmQtcGF5bWVudF9fcGF5bWVudE9wdGlvbi5zZWxlY3RlZCAucmFkaW8tYnV0dG9uLmFjdGl2ZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI0ZGRkZGRjtcbn1cblxuLmNhcmQtcGF5bWVudF9fcGF5bWVudE9wdGlvbi5zZWxlY3RlZCAucmFkaW8tYnV0dG9uLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xufVxuXG4uY2FyZC1wYXltZW50X19wYXltZW50T3B0aW9uLm5ldy1jYXJkIHtcbiAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG59XG5cbi5jYXJkLXBheW1lbnRfX3NhdmVkLWNhcmQge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG4uY2FyZC1wYXltZW50X19zYXZlZC1jYXJkIC50ZXh0LXN1cCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uY2FyZC1wYXltZW50X19zYXZlZC1jYXJkIGltZyB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTVweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG59XG5cbi5jYXJkLXBheW1lbnRfX3NhdmVkLWNhcmQgLmNhcmQtbnVtYmVyIHtcbiAgICBtYXJnaW46IC02cHggMCAwIDEwcHg7XG59XG5cbi5zdHJpcGUtYmFkZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWF4LWhlaWdodDogODBweDtcbn1cblxuLmNsYWltLXN0YXR1cyB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0JDQkRCRDtcbn1cblxuLmNsYWltLXN0YXR1cy5EIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzU3NTc1O1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uY2xhaW0tc3RhdHVzLkQ6Zm9jdXMgLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5jbGFpbS1zdGF0dXMuRCAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uY2xhaW0tc3RhdHVzLkgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjhFNjg7XG59XG5cbi5jbGFpbS1zdGF0dXMuRiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbn1cblxuLmNsYWltLXN0YXR1cy5MIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZERjFBO1xufVxuXG4uY2xhaW0tc3RhdHVzLlEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5jbGFpbS1zdGF0dXMuUTpmb2N1cyAubWQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmNsYWltLXN0YXR1cy5RIC5tZC1zZWxlY3QtaWNvbiB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbm1kLXNlbGVjdC5jbGFpbS1zdGF0dXMuUVtkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NTc1NzU7XG59XG5cbi5jb3VudGVyLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jb3VudGVyLXJvdyAuY291bnRlci1jb2x1bW4ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLmNvdW50ZXItcm93IC5jb3VudGVyLWNvbHVtbiBidXR0b24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uY291bnRlci1yb3cgLmNvdW50ZXItY29sdW1uIGJ1dHRvbiBpbWcueHNtYWxsIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG59XG5cbi5jb3VudGVyLXJvdyAuY291bnRlci1jb2x1bW4gYnV0dG9uIGltZy5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuY3VzdG9tZXItbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuY3VzdG9tZXItbmF2Om5vdChbaXMtY3VzdG9tZXItdmlldz1cInRydWVcIl0pIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbmN1c3RvbWVyLW5hdiAuYnV0dG9uLnRleHQtdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmN1c3RvbWVyLW5hdltpcy1jdXN0b21lci12aWV3PVwidHJ1ZVwiXSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuY3VzdG9tZXItbmF2IC5ibG9jay53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG5jdXN0b21lci1uYXYgLnZ1bG5lcmFibGUgbWQtaWNvbiwgY3VzdG9tZXItbmF2IC52dWxuZXJhYmxlIC5zdWItdGl0bGUge1xuICAgIGNvbG9yOiAjRkY2ODdEO1xufVxuXG5jdXN0b21lci1uYXYgLm92ZXJkdWUtYW1vdW50IC5kdWUge1xuICAgIGNvbG9yOiAjRkY2ODdEO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuY3VzdG9tZXItbmF2IC5vdmVyZHVlLWFtb3VudCAuc2V0dGxlZCB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG4gICAgZm9udC1zaXplOiAyNHB4O1xufVxuXG5jdXN0b21lci1uYXYgLmJnLWFsZXJ0IGltZyB7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbmN1c3RvbWVyLW5hdiAucHJvZHVjdC1ibG9jayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5jdXN0b21lci1uYXYgLnF1b3RlLWNyZWF0ZS1idXR0b24ge1xuICAgIG1heC13aWR0aDogNTUwcHg7XG59XG5cbi5jdXN0b21lci1uYXZfX2lkQ2hlY2sge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogOTAwcHg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTQ1MHB4O1xuICAgIHotaW5kZXg6IC0xO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdXN0b21lci1uYXZfX2lkQ2hlY2suZmFkZUluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG4gICAgei1pbmRleDogMTEwMDtcbn1cblxuLmN1c3RvbWVyLW5hdl9faWRDaGVjay5mYWRlT3V0IHtcbiAgICBhbmltYXRpb246IHNob3dGYWRlT3V0O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGxpbmVhcjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuM3M7XG59XG5cbi5jdXN0b21lci1uYXZfX2lkQ2hlY2sgLmJsb2NrIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xufVxuXG5Aa2V5ZnJhbWVzIHNob3dGYWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIHotaW5kZXg6IDExMDA7XG4gICAgfVxuICAgIDk5JSB7XG4gICAgICAgIHotaW5kZXg6IDExMDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG59XG5cbi5jdXN0b21lci1uYXZfX25ldy1xdW90ZS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4yO1xufVxuXG4ucGF5bWVudC1zdWNjZXNzIHtcbiAgICBib3JkZXI6IDFweCAjMjdCNTgxIHNvbGlkO1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi5wYXltZW50LXdhcm5pbmcge1xuICAgIGJvcmRlcjogMXB4ICNGRjY4N0Qgc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZThlYjtcbn1cblxuLmRyb3AtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDUwcHg7XG59XG5cbi5kcm9wLWJveC5kcmFnb3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNEREMEUxO1xufVxuXG4uZHJvcC1ib3gtdGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3AtYm94LXRhYmxlIG1kLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbn1cblxuLmRyb3AtYm94LXRhYmxlLmxvYWRpbmcgbWQtdGFibGUtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG5cbi5kcm9wLWJveC10YWJsZSBtZC1wcm9ncmVzcy1jaXJjdWxhciB7XG4gICAgdG9wOiAyMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmVtYWlsLW1vZGFsIC5jbG9zZS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zNXB4O1xuICAgIHJpZ2h0OiA1cHg7XG59XG5cbi5mZWVkYmFjayB0aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICM3NTc1NzU7XG59XG5cbmZlZWRiYWNrLWZvcm0ge1xuICAgIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5mZWVkYmFjay1mb3JtIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZmVlZGJhY2stZm9ybS5yZXZlYWwtbW9kYWwgPiBkaXYsIC5mZWVkYmFjay1mb3JtLnJldmVhbCA+IGRpdiB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mZWVkYmFjay1mb3JtIC5ub3Rlc19fbm90ZS1lZGl0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5mZWVkYmFjay1mb3JtIHNlbGVjdC5mZWVkYmFjay1zdGF0dXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYXBwLWZvb3RlciAuYmxvY2suY29udGFpbmVyLmlzLWJyb2tlciB7XG4gICAgY29sb3I6ICM3NTc1NzU7XG59XG5cbi5hcHAtZm9vdGVyIC5ibG9jay5jb250YWluZXIuaXMtYnJva2VyIC5ibG9jayB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JDQkRCRDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5hcHAtZm9vdGVyIC5ibG9jay5jb250YWluZXIuaXMtYnJva2VyIGEucGhvbmUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmFwcC1mb290ZXIgLmJsb2NrLmNvbnRhaW5lci5pcy1icm9rZXIgYTpub3QoLnBob25lKSB7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFwcC1mb290ZXIgLmJsb2NrLmNvbnRhaW5lci5pcy1icm9rZXIgdWwgbGkgYTpub3QoLnBob25lKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYXBwLWZvb3RlciAuYmxvY2suY29udGFpbmVyLmlzLWJyb2tlciAucG93ZXJlZC1ieSB7XG4gICAgd2lkdGg6IDE1M3B4O1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmFwcC1mb290ZXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uYXBwLWZvb3RlciBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmdvY2FyZGxlc3MtZm9ybV9fY29uc2VudCB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xufVxuXG4uZ29jYXJkbGVzcy1maWVsZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JDQkRCRDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogLjg3NXJlbTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5nb2NhcmRsZXNzLWZpZWxkOjpwbGFjZWhvbGRlciB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI0JDQkRCRDtcbn1cblxuLmdvY2FyZGxlc3MtZmllbGQgLklucHV0RWxlbWVudCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuZGl2LmdvY2FyZGxlc3MtZmllbGQgLmhvbGRlciB7XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pcy1lcnJvciAuZ29jYXJkbGVzcy1maWVsZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkY2ODdEO1xufVxuXG4uaW5saW5lLWVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmlubGluZS1lZGl0IC5pbmxpbmUtZWRpdC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLmlubGluZS1lZGl0IC5pbmxpbmUtZWRpdC1pbnB1dCBtZC1wcm9ncmVzcy1jaXJjdWxhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIHRvcDogMTJweDtcbn1cblxuLmlubGluZS1lZGl0IC5pbmxpbmUtZWRpdC1idXR0b25zIC5idXR0b24ge1xuICAgIG1pbi13aWR0aDogMzBweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5pbmxpbmUtZWRpdCAuaW5saW5lLWVkaXQtYnV0dG9ucyAuaW5saW5lLWVkaXQtc2F2ZSBtZC1pY29uIHtcbiAgICBjb2xvcjogIzI3QjU4MTtcbn1cblxuLm1hZ2ljLWxpbmstZGlhbG9nIHtcbiAgICB3aWR0aDogNjAwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLm1hZ2ljLWxpbmstZGlhbG9nIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLm1hZ2ljLWxpbmstZGlhbG9nIG1kLWRpYWxvZy1jb250ZW50IHtcbiAgICB3aWR0aDogODclO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tYWdpYy1saW5rLWRpYWxvZyBoMSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbn1cblxuLm1hZ2ljLWxpbmstZGlhbG9nIG1kLWRpYWxvZy1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm11bHRpLXNlbGVjdCBzZWxlY3Qgb3B0aW9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4ubmF2YmFyLXNpZGVNZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJBMjg3QjtcbiAgICB3aWR0aDogNTVweDtcbn1cblxuLm5hdmJhci1zaWRlTWVudSBtZC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLm5hdmJhci1zaWRlTWVudSAubG9nbyB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5uYXZiYXItc2lkZU1lbnUgLm1kLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ubmF2YmFyLXNpZGVNZW51IC5tZC1idXR0b24gbWQtaWNvbi53aGl0ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG4ubmF2YmFyLXNpZGVNZW51IC5tZC1idXR0b24gbWQtaWNvbi53aGl0ZSBzdmcgY2lyY2xlIHtcbiAgICBmaWxsOiAjRkZGRkZGO1xufVxuXG4ubmF2YmFyLXNpZGVNZW51IC5tZC1idXR0b24gbWQtaWNvbi53aGl0ZSBzdmcgcGF0aCB7XG4gICAgZmlsbDogIzJBMjg3Qjtcbn1cblxuLm5hdmJhci1zaWRlTWVudSAubWQtYnV0dG9uIG1kLWljb24uYWN0aXZlLCAubmF2YmFyLXNpZGVNZW51IC5tZC1idXR0b246aG92ZXIgPiBtZC1pY29uIHtcbiAgICBjb2xvcjogIzI3QjU4MTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ubmF2YmFyLXNpZGVNZW51IC5tZC1idXR0b24gbWQtaWNvbi5hY3RpdmUgc3ZnIGNpcmNsZSwgLm5hdmJhci1zaWRlTWVudSAubWQtYnV0dG9uOmhvdmVyID4gbWQtaWNvbiBzdmcgY2lyY2xlIHtcbiAgICBmaWxsOiAjMjdCNTgxO1xufVxuXG4ubmF2YmFyLXNpZGVNZW51IC5tZC1idXR0b24gbWQtaWNvbi5hY3RpdmUgc3ZnIHBhdGgsIC5uYXZiYXItc2lkZU1lbnUgLm1kLWJ1dHRvbjpob3ZlciA+IG1kLWljb24gc3ZnIHBhdGgge1xuICAgIGZpbGw6ICMyQTI4N0I7XG59XG5cbi5uYXZiYXItc2lkZU1lbnUgbWQtbWVudS5wcm9maWxlIHtcbiAgICBib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG4ubWQtb3Blbi1tZW51LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ubWQtb3Blbi1tZW51LWNvbnRhaW5lciBtZC1tZW51LWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ubmF2YmFyLXNpZGVNZW51X19saW5rcyA+IC5tZC1idXR0b24ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5uYXZiYXItc2lkZU1lbnVfX2xpbmtzLmFjdGl2ZSBtZC1pY29uIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG5cbi5ub3Rlc19fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNUY2O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLm5vdGVzX19jb250YWluZXIgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTVlbSAwLjM1ZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5ub3Rlc19faW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLm5vdGVzX19tb2RhbC1hZGQtbm90ZSB7XG4gICAgbWluLXdpZHRoOiA2NzVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAubm90ZXNfX21vZGFsLWFkZC1ub3RlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLm5vdGVzX19tb2RhbC1hZGQtbm90ZSBtZC1kaWFsb2ctY29udGVudCB7XG4gICAgd2lkdGg6IDg3JTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5ub3Rlc19fbW9kYWwtYWRkLW5vdGUgbWQtZGlhbG9nLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubm90ZXNfX25vdGUtZWRpdG9yIHtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgICBoZWlnaHQ6IDI5MHB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uY2tlX25vdGlmaWNhdGlvbnNfYXJlYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBhZ2luYXRvciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5wYWdpbmF0b3IgLm1kLXByaW1hcnkge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nOiA5cHggMDtcbn1cblxuLnBhZ2luYXRvciAubWQtcHJpbWFyeTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyN0I1ODE7XG59XG5cbi5wYWdpbmF0b3IgLm1kLXByaW1hcnkgbWQtaWNvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG59XG5cbi5wYWdpbmF0b3Igc2VsZWN0LCAucGFnaW5hdG9yIG9wdGlvbiB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyN0I1ODE7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnBhZ2luYXRvciBsYWJlbCBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMi4zZW07XG59XG5cbi5wZXJzb25fX2NvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRjRGNUY2O1xufVxuXG4udGV4dC1jYXBzdWxlLnBvbGljeS1ob2xkZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuLnBvbGljeS1zdGF0dXMge1xuICAgIHBhZGRpbmc6IDZweCAzNXB4O1xufVxuXG4ucG9saWN5LXN0YXR1cyBzcGFuIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNztcbn1cblxuLnBvbGljeS1zdGF0dXMuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xufVxuXG4ucG9saWN5LXN0YXR1cy5pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNjg3RDtcbn1cblxuLnN0cmlwZS1mb3JtX19jb25zZW50IHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG59XG5cbi5zdHJpcGUtZmllbGQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUUyRTM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgzMywgMzMsIDMzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG5kaXYuc3RyaXBlLWZpZWxkIC5ob2xkZXIge1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaXMtZXJyb3IgLnN0cmlwZS1maWVsZCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkY2ODdEO1xufVxuXG4udG9vbHRpcC1zaWRlYmFyIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudG9vbHRpcC1zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IDMxMHB4O1xuICAgIH1cbn1cblxuLnRvb2x0aXAtc2lkZWJhci1tb2RhbCB7XG4gICAgei1pbmRleDogMTAwNjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHJpZ2h0OiAtMzEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0LCBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbn1cblxuLmZhZGUuaW4gLnRvb2x0aXAtc2lkZWJhci1tb2RhbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICByaWdodDogMDtcbn1cblxuLnRvb2x0aXAtc2lkZWJhci1tb2RhbCAubWVzc2FnZSB7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAudG9vbHRpcC1zaWRlYmFyLW1vZGFsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICAgfVxufVxuXG4udG9vbHRpcC1zaWRlYmFyLWNsb3NlIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4udG9vbHRpcC1zaWRlYmFyLWNsb3NlIGEge1xuICAgIGZpbGw6ICMyN0I1ODE7XG59XG5cbi5yZXZlYWwtbW9kYWwudG9vbHRpcC1zaWRlYmFyLmluIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwO1xufVxuXG4ucmV2ZWFsLW1vZGFsLnRvb2x0aXAtc2lkZWJhci1jbG9zZS5pbiB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzMDBtcztcbn1cblxuLnRvb2x0aXAtc2lkZWJhci1iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbnZpZXctYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG52aWV3LWJsb2NrIGg0LnN1Yi10aXRsZSB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbnZpZXctYmxvY2sgaDQgbWQtaWNvbi5tYXRlcmlhbC1pY29ucyB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbnZpZXctYmxvY2sgLmxhYmVsLWljb24ge1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xufVxuXG4udGhpcmQtcGFydHktdGFnIHtcbiAgICBtYXJnaW46IC0zNXB4IC0yNXB4IDMwcHggLTI1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGREYxQTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG59XG5cbi50aGlyZC1wYXJ0eS10YWcgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbnZ1bG5lcmFiaWxpdHktZm9ybSB7XG4gICAgcGFkZGluZzogMzBweDtcbn1cblxuLnZ1bG5lcmFiaWxpdHktZm9ybSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnZ1bG5lcmFiaWxpdHktZm9ybS5yZXZlYWwtbW9kYWwgPiBkaXYsIC52dWxuZXJhYmlsaXR5LWZvcm0ucmV2ZWFsID4gZGl2IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnZ1bG5lcmFiaWxpdHktZm9ybSAuZWRpdGluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTJFMztcbn1cblxuLnBvbGljeS1saXN0X19yZXN1bHRzIHNwYW5bY2xhc3MqPVwicG9saWN5LXN0YXRlLS1cIl0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4ucG9saWN5LWxpc3RfX3Jlc3VsdHMgLnBvbGljeS1zdGF0ZS0taW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5wb2xpY3ktbGlzdF9fcmVzdWx0cyAucG9saWN5LXN0YXRlLS1jYW5jZWxsZWQge1xuICAgIGJhY2tncm91bmQ6ICMyMTIxMjE7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5wb2xpY3ktbGlzdF9fcmVzdWx0cyAucG9saWN5LXN0YXRlLS1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICMyN0I1ODE7XG59XG5cbi5wb2xpY3ktbGlzdF9fcmVzdWx0cyAucG9saWN5LXN0YXRlLS1maW5pc2hlZCB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzU3NTc1O1xuICAgIGNvbG9yOiAjNzU3NTc1O1xufVxuXG4ucG9saWN5LWxpc3RfX3Jlc3VsdHMgdGFibGUubWQtdGFibGU6bm90KC5tZC1yb3ctc2VsZWN0KSB0ZC5tZC1jZWxsLnBvbGljeV90eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ucG9saWN5LWxpc3RfX3Jlc3VsdHMgLnByb2R1Y3QtbG9nbyxcbi5wb2xpY3ktbGlzdF9fcmVzdWx0cyAuYXNzb2NpYXRlLWxvZ28ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMjBweDtcbn1cblxuLnBvbGljeS12aWV3IC5zZWN0aW9uLS1jbGFpbXMgdGgge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGNvbG9yOiAjNzU3NTc1O1xufVxuXG4ucG9saWN5LXZpZXcgLnNlY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFMkUzO1xufVxuXG4ucG9saWN5LXZpZXcgLnByb2R1Y3QtdmlhLWJsb2NrcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNjc7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4ucG9saWN5LXZpZXcgLnByb2R1Y3QtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnBvbGljeS12aWV3IC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnBvbGljeS12aWV3IC5idXBhLW5tb250aHNmcmVlLXN0YXR1cyB7XG4gICAgcGFkZGluZzogNnB4IDM1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RCMzkwNztcbn1cblxuLnBvbGljeS12aWV3IC5idXBhLW5tb250aHNmcmVlLXN0YXR1cyBzcGFuIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNztcbn1cblxuLnBvbGljeS12aWV3LWNvbnRlbnQgdmlldy1ibG9jayxcbi5wb2xpY3ktdmlldy1jb250ZW50IHBvbGljeS1jb3Zlcixcbi5wb2xpY3ktdmlldy1jb250ZW50IHBvbGljeS1tZXRhLWRhdGEsXG4ucG9saWN5LXZpZXctY29udGVudCBwb2xpY3ktY2FyLFxuLnBvbGljeS12aWV3LWNvbnRlbnQgcG9saWN5LW9kb21ldGVyLFxuLnBvbGljeS12aWV3LWNvbnRlbnQgcG9saWN5LXBlb3BsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5xdW90ZS1lZGl0LWNvbnRhaW5lciAuZmllbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbn1cblxuLnF1b3RlLWVkaXQtY29udGFpbmVyIC5xdW90ZS1maWVsZDpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZCRkM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4ucXVvdGUtZWRpdC1jb250YWluZXIgLnF1b3RlLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5xdW90ZS1lZGl0LWNvbnRhaW5lciAucXVvdGUtZmllbGQtcm93IHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucXVvdGUtZWRpdC1jb250YWluZXIgLnF1b3RlLWZpZWxkLXJvdyBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ucXVvdGUtZWRpdC1jb250YWluZXIgLnF1b3RlLWZpZWxkLXJvdyBsYWJlbCArIGRpdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnF1b3RlLWVkaXQtY29udGFpbmVyIC5xdW90ZS1maWVsZC1yb3cuYXBwZW5kZWQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ucXVvdGUtZWRpdC1jb250YWluZXIgLndvcmRpbmctZW5kb3JzZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAzNTBweDtcbn1cblxuLnF1b3RlLWVkaXQtY29udGFpbmVyIC5idXR0b24tZ3JvdXAudGV4dC1zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuLmV4Y2x1ZGluZy1tb2RpZmljYXRpb25zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXItd2FpdmVycy1jb25maXJtYXRpb25zIC5xdW90ZS1maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmluYWwtcmV2aWV3LXdhcm5pbmdzIHtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi5maW5hbC1yZXZpZXctd2FybmluZ3MgdWwgbGksIC5pbnZhbGlkLXF1b3RlLWl0ZW1zIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZpbmFsLXJldmlldy13YXJuaW5ncyB1bCBsaSBzcGFuLCAuaW52YWxpZC1xdW90ZS1pdGVtcyB1bCBsaSBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbi5maW5hbC1yZXZpZXctd2FybmluZ3MgdWwgbGkgaW1nLCAuaW52YWxpZC1xdW90ZS1pdGVtcyB1bCBsaSBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xufVxuXG4uZmluYWwtcmV2aWV3LXByaWNlcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y0RjVGNjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5taWdyYXRpb24taWRDaGVjayB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiA5MDBweDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDUwcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1pZ3JhdGlvbi1pZENoZWNrLnNob3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDExMDA7XG59XG5cbi5taWdyYXRpb24taWRDaGVjayAuYmxvY2sge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG5cbi5xdW90ZS1saXN0X19yZXN1bHRzIHNwYW5bY2xhc3MqPVwicXVvdGUtc3RhdGUtLVwiXSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5xdW90ZS1saXN0X19yZXN1bHRzIC5xdW90ZS1zdGF0ZS0taW4tcHJvZ3Jlc3Mge1xuICAgIGJhY2tncm91bmQ6ICNGRkRGMUE7XG59XG5cbi5xdW90ZS1saXN0X19yZXN1bHRzIC5xdW90ZS1zdGF0ZS0tcHVyY2hhc2VkIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4ucXVvdGUtbGlzdF9fcmVzdWx0cyAucXVvdGUtc3RhdGUtLWV4cGlyZWQge1xuICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5xdW90ZS1saXN0X19yZXN1bHRzIC5xdW90ZS1zdGF0ZS0tZGVjbGluZWQge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzc1NzU3NTtcbiAgICBjb2xvcjogIzc1NzU3NTtcbn1cblxuLnF1b3RlLWxpc3RfX3Jlc3VsdHMgLnByb2R1Y3QtbG9nbyxcbi5xdW90ZS1saXN0X19yZXN1bHRzIC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uY3VzdG9tZXItbGlzdC1zZWxlY3QtcHJvZHVjdCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbn1cblxuLnF1b3RlLXN1Y2Nlc3MtdmlldyAuc2VsZWN0LXByb2R1Y3Qge1xuICAgIG1heC13aWR0aDogMTYwcHg7XG59XG5cbi5xdW90ZS1jb25maXJtX19hbm5vdW5jZSAuYmxvY2suaW5mby1hbGVydCB7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI0ZGREYxQTtcbn1cblxuLnF1b3RlLWNvbmZpcm1fX2Fubm91bmNlIC5pY29uLnF1b3RlcyB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDtcbn1cblxuLm51bWJlci1jaXJjbGUtYmxhY2sge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyMTIxO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uY2F0YXN0cm9waGUgbWQtc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmRyb3AtYm94IHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDUwcHg7XG59XG5cbi5kcm9wLWJveC5kcmFnb3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNEREMEUxO1xufVxuXG4uZHJvcC1ib3gtdGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmRyb3AtYm94LXRhYmxlIG1kLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cztcbn1cblxuLmRyb3AtYm94LXRhYmxlLmxvYWRpbmcgbWQtdGFibGUtY29udGFpbmVyIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG5cbi5kcm9wLWJveC10YWJsZSBtZC1wcm9ncmVzcy1jaXJjdWxhciB7XG4gICAgdG9wOiAyMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmNsYWltLWRvY3VtZW50cy1hY3Rpb25zIHtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgYm94LXNpemluZzogaW5pdGlhbDtcbn1cblxuLmNsYWltLWRvY3VtZW50IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jbGFpbS1kb2N1bWVudC5pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5cbi5maXhlZC1oZWlnaHQge1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICBwYWRkaW5nOiAxZW0gMmVtIDFlbSAxZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UxRTJFMztcbn1cblxuLmZpeGVkLWhlaWdodCBoNCB7XG4gICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwO1xufVxuXG4uZml4ZWQtaGVpZ2h0IG1kLWNoZWNrYm94IHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG59XG5cbi5jbGFpbS1lZGl0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDE3NzY7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHotaW5kZXg6IDU7XG59XG5cbi5jbGFpbS1lZGl0IGgzIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmNsYWltLWVkaXQgbWQtaWNvbiB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5jbGFpbS1lZGl0IGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkZGRjtcbn1cblxuY2xhaW0tbWV0YS1kYXRhIC5ibG9jayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc3ViLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuY2xhaW0tbmF2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG59XG5cbmNsYWltLW5hdiBtZC1zZWxlY3QuY2xhaW0tc3RhdHVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuY2xhaW0tbmF2IC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHggMjBweCAyMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMjVweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuY2xhaW0tbmF2IC5uYXYtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMyQTI4N0I7XG59XG5cbmNsYWltLW5hdiAubmF2LWl0ZW0gYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5jbGFpbS1uYXYgLm5hdi1pdGVtIC5pcy1jb21wbGV0ZSAuaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbmNsYWltLW5hdiAubmF2LWl0ZW0gLnNsYSAuaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICByaWdodDogNDBweDtcbn1cblxuY2xhaW0tbmF2IC5uYXYtaXRlbSAuc2xhIC5pY29uLnRhc2sge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogI0ZGNjg3RDtcbn1cblxuY2xhaW0tbmF2IC5uYXYtaXRlbSAuc2xhIC5pY29uLnRhc2suY29tcGxldGUge1xuICAgIGNvbG9yOiAjMjdCNTgxO1xufVxuXG5jbGFpbS1uYXYgLm5hdi1pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbn1cblxuY2xhaW0tbmF2IC5uYXYtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0UxRTJFMztcbn1cblxuY2xhaW0tbmF2IC5wcm9kdWN0LWJsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE2NztcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUUyRTM7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG5jbGFpbS1uYXYgLnByb2R1Y3QtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuY2xhaW0tbmF2IC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuY2xhaW0tcGhvdG9zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiBDb21wZW5zYXRlIGZvciBleGNlc3MgbWFyZ2luIG9uIG91dGVyIGdhbGxlcnkgZmxleCBpdGVtcyAqL1xuICAgIG1hcmdpbjogLTFyZW0gLTFyZW07XG59XG5cbmNsYWltLXBob3RvcyAuY2xhaW0tcGhvdG8ge1xuICAgIC8qIE1pbmltdW0gd2lkdGggb2YgNnJlbSBhbmQgZ3JvdyB0byBmaXQgYXZhaWxhYmxlIHNwYWNlICovXG4gICAgZmxleDogMSAwIDZyZW07XG4gICAgLyogTWFyZ2luIHZhbHVlIHNob3VsZCBiZSBoYWxmIG9mIGdyaWQtZ2FwIHZhbHVlIGFzIG1hcmdpbnMgb24gZmxleCBpdGVtcyBkb24ndCBjb2xsYXBzZSAqL1xuICAgIG1hcmdpbjogMXJlbSAwIDAgMXJlbTtcbiAgICBib3gtc2hhZG93OiAwLjNyZW0gMC40cmVtIDAuNHJlbSByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xufVxuXG5jbGFpbS1waG90b3MgLmNsYWltLXBob3RvIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyBlYXNlLW91dDtcbn1cblxuLmNsYWltLXByb2dyZXNzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jbGFpbS1wcm9ncmVzczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjQkNCREJEO1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5jbGFpbS1wcm9ncmVzcyAuY29sdW1ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2xhaW0tcHJvZ3Jlc3MgLmNvbHVtbnM6Zmlyc3QtY2hpbGQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jbGFpbS1wcm9ncmVzcyAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNsYWltLXByb2dyZXNzX19jYXBzdWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkNGQztcbiAgICB6LWluZGV4OiA1O1xufVxuXG4uY2xhaW0tcHJvZ3Jlc3NfX2NhcHN1bGU6bm90KC5zZWNvbmRhcnkpIHtcbiAgICBjb2xvcjogI0JDQkRCRDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkNCREJEO1xufVxuXG4uY2xhaW0tcHJvZ3Jlc3NfX2NhcHN1bGUgYnV0dG9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2xhaW0tcHJvZ3Jlc3NfX2NhcHN1bGUgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG5zcGFuW2NsYXNzKj1cImNsYWltLXNsYS0tXCJdIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLmNsYWltLXNsYS0td2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNjg3RDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmNsYWltLXNsYS0tYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkRGMUE7XG59XG5cbi5jbGFpbS1zbGEtLXNvb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDRUU3NDA7XG59XG5cbi5jbGFpbS1zbGEtLWZpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG59XG5cbi5leHBlbnNlUGF5ZWVGaWVsZHNldCAucm93IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5leHBlbnNlLXBheW1lbnRzIC5tZC10YWJsZSAubWQtZm9vdCAubWQtY2VsbCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyMTIxMjE7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmV4cGVuc2UtcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmV4cGVuc2UtcHJvZ3Jlc3M6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAlO1xuICAgIGhlaWdodDogODAlO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICNCQ0JEQkQ7XG4gICAgei1pbmRleDogMDtcbn1cblxuLmV4cGVuc2UtcHJvZ3Jlc3MgLnJvdyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5leHBlbnNlLXByb2dyZXNzIGg0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZXhwZW5zZS1wcm9ncmVzcyBoNCBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uZXhwZW5zZS1wcm9ncmVzcyBoNC5ub3Qge1xuICAgIGNvbG9yOiAjQkNCREJEO1xufVxuXG4uZXhwZW5zZS1wcm9ncmVzcyBoNC5ub3QgaW1nLm5vdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5leHBlbnNlLXByb2dyZXNzIGg0LmJhZCBpbWcuYmFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5leHBlbnNlLXByb2dyZXNzIGg0Lm9rIGltZy5vayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5leHBlbnNlLXByb2dyZXNzIGg0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cbi8qXG5tZC1zZWxlY3Quc3RhdHVzIHtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxufVxuXG5cbm1kLXNlbGVjdC5zdGF0dXNbZGlzYWJsZWRdIHtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAubWQtc2VsZWN0LXZhbHVlLCAmOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Mik7XG4gIH1cblxuICAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Mik7XG4gIH1cbiAgXG59XG4qL1xuLmN1c3RvbWVyLW5ldyAuZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jdXN0b21lci1uZXcgLmZpZWxkOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmN1c3RvbWVyLWVkaXQgLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uY3VzdG9tZXItZWRpdCAuZmllbGQ6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZmVlZGJhY2stc3RhdHVzIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkNCREJEO1xufVxuXG4uZmVlZGJhY2stc3RhdHVzLnN0YXRlLUEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjE7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5mZWVkYmFjay1zdGF0dXMuc3RhdGUtQTpmb2N1cyAubWQtc2VsZWN0LXZhbHVlLCAuZmVlZGJhY2stc3RhdHVzLnN0YXRlLUEgLm1kLXNlbGVjdC1pY29uIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmZlZWRiYWNrLXN0YXR1cy5zdGF0ZS1NIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZERjFBO1xufVxuXG4uZmVlZGJhY2stc3RhdHVzLnN0YXRlLUkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjk5MDA7XG59XG5cbi5mZWVkYmFjay1zdGF0dXMuc3RhdGUtRSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0REMjIyMjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmZlZWRiYWNrLXN0YXR1cy5zdGF0ZS1FOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUsIC5mZWVkYmFjay1zdGF0dXMuc3RhdGUtRSAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uZmVlZGJhY2stc3RhdHVzLnN0YXRlLUYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG59XG5cbi5mZWVkYmFjay1zdGF0dXMuc3RhdGUtWCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc1NzU3NTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLmZlZWRiYWNrLXN0YXR1cy5zdGF0ZS1YOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUsIC5mZWVkYmFjay1zdGF0dXMuc3RhdGUtWCAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5tZC1zZWxlY3QuZmVlZGJhY2stc3RhdHVzW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTJFMztcbn1cblxubWQtc2VsZWN0LmZlZWRiYWNrLXN0YXR1c1tkaXNhYmxlZF0gLm1kLXNlbGVjdC12YWx1ZSwgbWQtc2VsZWN0LmZlZWRiYWNrLXN0YXR1c1tkaXNhYmxlZF06Zm9jdXMgLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbm1kLXNlbGVjdC5mZWVkYmFjay1zdGF0dXNbZGlzYWJsZWRdIC5tZC1zZWxlY3QtaWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbmZpZWxkLXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5maWVsZC1zdW1tYXJ5IC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuZmllbGQtc3VtbWFyeSBtZC10YWJsZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmllbGQge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5maWVsZDpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQUZCRkM7XG59XG5cbi5maWVsZC1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbmZvcm1bbmFtZT1cImV2ZW50RGV0YWlsc0Zvcm1cIl0gLmZpZWxkLWVtcHR5IGlucHV0LCBmb3JtW25hbWU9XCJldmVudERldGFpbHNGb3JtXCJdIC5maWVsZC1lbXB0eSB0ZXh0YXJlYSwgZm9ybVtuYW1lPVwiZXZlbnREZXRhaWxzRm9ybVwiXSAuZmllbGQtZW1wdHkgbWQtZGF0ZXBpY2tlciwgZm9ybVtuYW1lPVwiZXZlbnREZXRhaWxzRm9ybVwiXSAuZmllbGQtZW1wdHkgbWQtc2VsZWN0LCBmb3JtW25hbWU9XCJldmVudERldGFpbHNGb3JtXCJdIC5maWVsZC1lbXB0eSBtZC1jaGVja2JveCAubWQtY29udGFpbmVyIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQ4MTtcbn1cblxuZm9ybVtuYW1lPVwiZXZlbnREZXRhaWxzRm9ybVwiXS5pcy1icm9rZXIgLmZpZWxkLWVtcHR5IGlucHV0LCBmb3JtW25hbWU9XCJldmVudERldGFpbHNGb3JtXCJdLmlzLWJyb2tlciAuZmllbGQtZW1wdHkgdGV4dGFyZWEsIGZvcm1bbmFtZT1cImV2ZW50RGV0YWlsc0Zvcm1cIl0uaXMtYnJva2VyIC5maWVsZC1lbXB0eSBtZC1kYXRlcGlja2VyLCBmb3JtW25hbWU9XCJldmVudERldGFpbHNGb3JtXCJdLmlzLWJyb2tlciAuZmllbGQtZW1wdHkgbWQtc2VsZWN0LCBmb3JtW25hbWU9XCJldmVudERldGFpbHNGb3JtXCJdLmlzLWJyb2tlciAuZmllbGQtZW1wdHkgbWQtY2hlY2tib3ggLm1kLWNvbnRhaW5lciBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5maWVsZHNldCAuY29sbGFwc2FibGUtdGl0bGUgaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jb2xsYXBzYWJsZS1mb3JtLWZpZWxkc2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb2xsYXBzYWJsZS1mb3JtLWZpZWxkc2V0IGgyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjBweDtcbn1cblxuI2V4cGVuc2Vfbm90ZXMge1xuICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xufVxuXG5mb3JtLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuZm9ybS1maWVsZCAuZm9ybS1maWVsZCAuZm9ybS1maWVsZC1jb250cm9sIG1kLWlucHV0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5mb3JtLWZpZWxkIC5mb3JtLWZpZWxkIC5mb3JtLWZpZWxkLWNvbnRyb2wgbWQtaW5wdXQtY29udGFpbmVyID4gbGFiZWwge1xuICAgIG1hcmdpbjogMDtcbn1cblxuZm9ybS1maWVsZCAuaGlzdG9yeS10ZXh0IHAge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cblxuZm9ybS1maWVsZCAucGVyY2VudGFnZSBtZC1pbnB1dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuZm9ybS1maWVsZCAucGVyY2VudGFnZSBtZC1pbnB1dC1jb250YWluZXIgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xufVxuXG5mb3JtLWZpZWxkIGgzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmZvcm0tZmllbGQgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5mb3JtLWZpZWxkIC5mb3JtLWZpZWxkLWhlbHAgaDMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuZm9ybS1maWVsZCAucmVhZG9ubHlfY3VycmVuY3kgbWQtaW5wdXQtY29udGFpbmVyIGxhYmVsLCBmb3JtLWZpZWxkIC5yZWFkb25seV9wZXJjZW50YWdlIG1kLWlucHV0LWNvbnRhaW5lciBsYWJlbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmRlY2lzaW9uIC5kZWNpc2lvbiAudGlsZV9jaG9pY2VfcmFkaW8sXG4udGFzayAudGFzayAudGlsZV9jaG9pY2VfcmFkaW8ge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZpZWxkX2xvY2F0aW9uX2F1cyBuZy1mb3JtLFxuLmZpZWxkX2xvY2F0aW9uX2dsb2JhbCBuZy1mb3JtLFxuLmZpZWxkX2ZyZWVfdGV4dF9sb25nIG5nLWZvcm0sXG4uZmllbGRfZGFtYWdlX3Bob3RvIG5nLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5maWVsZF9sb2NhdGlvbl9hdXMgbmctZm9ybSAuZm9ybS1maWVsZC1jb250cm9sLFxuLmZpZWxkX2xvY2F0aW9uX2dsb2JhbCBuZy1mb3JtIC5mb3JtLWZpZWxkLWNvbnRyb2wsXG4uZmllbGRfZnJlZV90ZXh0X2xvbmcgbmctZm9ybSAuZm9ybS1maWVsZC1jb250cm9sLFxuLmZpZWxkX2RhbWFnZV9waG90byBuZy1mb3JtIC5mb3JtLWZpZWxkLWNvbnRyb2wge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5maWVsZF90aWxlX2Nob2ljZV9yYWRpbyBsYWJlbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5maWVsZF90aWxlX2Nob2ljZV9yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbn1cblxuLmZpZWxkX3RpbGVfY2hvaWNlX3JhZGlvIC5sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5maWVsZF9jdXJyZW5jeSAuZm9ybS1maWVsZC1jb250cm9sIGgzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmZpZWxkX2RvYiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLmZpZWxkX2RvYiBpbnB1dCB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uZmllbGRfZGF0ZSBtZC1kYXRlcGlja2VyIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5maWVsZF9kYXRlX3RpbWUgLmxheW91dC1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uZmllbGRfZGF0ZV90aW1lIC5sYXlvdXQtcm93IG1kLWRhdGVwaWNrZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmZpZWxkX2RhdGVfdGltZSAubGF5b3V0LXJvdyA+IGRpdiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uZmllbGRfZGF0ZV90aW1lIC5sYXlvdXQtcm93IG1kLWhvdXJzLW1pbnV0ZXMge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uZmllbGRfZGF0ZV90aW1lIC5sYXlvdXQtcm93IG1kLXNlbGVjdCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5meF9yYXRlIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xufVxuXG4uY3VycmVuY3ktbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5lc3RpbWF0ZS1zZWN0aW9uIC5jdXJyZW5jeS1sYWJlbC5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5lc3RpbWF0ZS1zZWN0aW9uIC5jdXJyZW5jeS1pbnB1dC5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxucG9saWN5LW1ldGEtZGF0YSBoMiB7XG4gICAgcGFkZGluZzogNHB4IDA7XG59XG5cbnBvbGljeS1tZXRhLWRhdGEgaDUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnBvbGljeS1wYXltZW50IGltZyB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgbWFyZ2luOiAtMnB4IDEwcHggMDtcbn1cblxuLnBvbGljeS1wYXltZW50IC5idXR0b24uaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmR1cGxpY2F0ZS1xdW90ZS1tb2RhbCAuY2xvc2UtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzVweDtcbiAgICByaWdodDogNXB4O1xufVxuXG4ucHJpY2UtbG9hZGVyIG1kLXByb2dyZXNzLWNpcmN1bGFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLnByaWNlLWxvYWRlciAucHJpY2Uge1xuICAgIHRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAzMDBtcztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4ucHJpY2UtbG9hZGVyLmxvYWRpbmctcHJpY2UgbWQtcHJvZ3Jlc3MtY2lyY3VsYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJpY2UtbG9hZGVyLmxvYWRpbmctcHJpY2UgLnByaWNlLCAucHJpY2UtbG9hZGVyLmxvYWRpbmctcHJpY2UgLnRleHQtbnVtYmVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbn1cblxuLnF1b3RlLXBheW1lbnQgLmltZ19fY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtOTNweDtcbn1cblxucXVvdGUtcHJvZ3Jlc3Mge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucXVvdGUtcHJvZ3Jlc3Mge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFMkUzO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5xdW90ZS1wcm9ncmVzcyB7XG4gICAgICAgIG1pbi13aWR0aDogNzAwcHg7XG4gICAgfVxufVxuXG4ucXVvdGUtcHJvZ3Jlc3MgLnF1b3RlLXByb2dyZXNzLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnF1b3RlLXByb2dyZXNzIC5xdW90ZS1wcm9ncmVzcy1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB9XG59XG5cbi5xdW90ZS1wcm9ncmVzcyAucXVvdGUtcHJvZ3Jlc3MtYnV0dG9uIGltZy5zdmcuaWNvbiB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjI7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5xdW90ZS1wcm9ncmVzcyAucXVvdGUtcHJvZ3Jlc3MtYnV0dG9uIGltZy5zdmcuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5xdW90ZS1wcm9ncmVzcyAucXVvdGUtcHJvZ3Jlc3MtYnV0dG9uIGltZy5zdmcuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG59XG5cbi5xdW90ZS1wcm9ncmVzcyAucXVvdGUtcHJvZ3Jlc3MtYnV0dG9uIG1kLWljb24ge1xuICAgIGNvbG9yOiAjQkNCREJEO1xufVxuXG4ucXVvdGUtcHJvZ3Jlc3MgLnF1b3RlLXByb2dyZXNzLWJ1dHRvbiBoMyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjQkNCREJEO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuXG4ucXVvdGUtcHJvZ3Jlc3MgLnF1b3RlLXByb2dyZXNzLWJ1dHRvbi5pcy1jb21wbGV0ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucXVvdGUtcHJvZ3Jlc3MgLnF1b3RlLXByb2dyZXNzLWJ1dHRvbi5pcy1jb21wbGV0ZSBpbWcuc3ZnLmljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ucXVvdGUtcHJvZ3Jlc3MgLnF1b3RlLXByb2dyZXNzLWJ1dHRvbi5pcy1jb21wbGV0ZSBtZC1pY29uIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLnF1b3RlLXByb2dyZXNzIC5xdW90ZS1wcm9ncmVzcy1idXR0b24uaXMtY29tcGxldGUgaDMge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnF1b3RlLXByb2dyZXNzIC5xdW90ZS1wcm9ncmVzcy1idXR0b24uaXMtYWN0aXZlIHtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgIzI3QjU4MTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAucXVvdGUtcHJvZ3Jlc3MgLnF1b3RlLXByb2dyZXNzLWJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5xdW90ZS1wcm9ncmVzcyAucXVvdGUtcHJvZ3Jlc3MtYnV0dG9uLmlzLWFjdGl2ZSBoMyB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbi5wcm9tb2NvZGUtaW5wdXQgaW5wdXQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ucHJvbW9jb2RlLWlucHV0IGlucHV0OmZvY3VzLm5nLW5vdC1lbXB0eSwgLnByb21vY29kZS1pbnB1dCBpbnB1dC5uZy10b3VjaGVkLm5nLW5vdC1lbXB0eSB7XG4gICAgdGV4dC1pbmRlbnQ6IDMwcHg7XG59XG5cbi5wcm9tb2NvZGUtaW5wdXQgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5wcm9tb2NvZGUtaW5wdXQgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAtMzVweCAwIDAgMTVweDtcbn1cblxuLndvcmRpbmctZW5kb3JzZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiA5OSU7XG4gICAgbWluLXdpZHRoOiAzNTBweDtcbn1cblxuLndvcmRpbmctZW5kb3JzZW1lbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci10b3A6IDE1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDE1cHggc29saWQgI0ZGRkZGRjtcbiAgICBsZWZ0OiAtMTVweDtcbiAgICB0b3A6IDE1cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC53b3JkaW5nLWVuZG9yc2VtZW50OmJlZm9yZSB7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLndvcmRpbmctZW5kb3JzZW1lbnQ6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi53b3JkaW5nLWVuZG9yc2VtZW50LmNvbnNlY3V0aXZlLXRvcCB7XG4gICAgdG9wOiAtMTdweDtcbn1cblxuLndvcmRpbmctZW5kb3JzZW1lbnQuY29uc2VjdXRpdmUtdG9wLnB1cmNoYXNlZC0xNC1kYXlzIHtcbiAgICB0b3A6IC02NXB4O1xufVxuXG4ud29yZGluZy1lbmRvcnNlbWVudC5jb25zZWN1dGl2ZS10b3AucHVyY2hhc2VkLTE0LWRheXM6YmVmb3JlIHtcbiAgICB0b3A6IDY1cHg7XG59XG5cbi53b3JkaW5nLWVuZG9yc2VtZW50LmNvbnNlY3V0aXZlLWJvdHRvbSB7XG4gICAgdG9wOiAzMnB4O1xufVxuXG4ud29yZGluZy1lbmRvcnNlbWVudC5kaXNjbG9zdXJlIHtcbiAgICB0b3A6IDU1cHg7XG59XG5cbi53b3JkaW5nLWVuZG9yc2VtZW50LnBvbGljeS12aWV3IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4ud29yZGluZy1lbmRvcnNlbWVudC1lZGl0b3Ige1xuICAgIHdpZHRoOiA4MDBweDtcbiAgICBoZWlnaHQ6IDI5MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQ0JEQkQ7XG4gICAgcmVzaXplOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi53b3JkaW5nLWVuZG9yc2VtZW50LWNvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ud29yZGluZy1lbmRvcnNlbWVudC1hY3Rpb24ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAudG9wLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnNsaWNrLXByZXYsIC5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5zbGljay1uZXh0IHtcbiAgICB0b3A6IDQwcHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC50b3AtZGVjay1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcGFkZGluZzogMjZweCAyMHB4O1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucGFja2FnZS1kZXRhaWxzIHtcbiAgICBoZWlnaHQ6IDE4MHB4O1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucGFja2FnZS1kZXRhaWxzIC5rbXMtZGVzYyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucGF5bWVudC1wbGFuLW9mZmVyIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIGhyIHtcbiAgICBib3JkZXItdG9wOiAjRjRGNUY2O1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAuc2xpY2stcHJldiwgLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnNsaWNrLW5leHQge1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB0b3A6IDUwJTtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzI3QjU4MTtcbiAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAuaXMtYWN0aXZlIC5wYWNrYWdlLWRldGFpbHMtYmxvY2sge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgaW1nLmljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnByaWNlIHtcbiAgICBjb2xvcjogIzJBMjg3Qjtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnByaWNlIC50ZXh0LW51bWJlciB7XG4gICAgY29sb3I6ICMyQTI4N0I7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5wcmljZSAucHJpY2UtY29taW5nLXNvb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucHJpY2UgbWQtcHJvZ3Jlc3MtY2lyY3VsYXIge1xuICAgIG1hcmdpbi10b3A6IDIycHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5wcmljZS51bmxpbWl0ZWQtY292ZXIge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5wcmljZS51bmxpbWl0ZWQtY292ZXIgLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnByaWNlLnVubGltaXRlZC1jb3ZlciAuaWNvbiBwYXRoIHtcbiAgICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5wcmljZS51bmxpbWl0ZWQtY292ZXIgc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnByaWNlLmxpbWl0ZWQtY292ZXIge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucHJpY2UudW5saW1pdGVkLWNvdmVyLCAuY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucHJpY2UubGltaXRlZC1jb3ZlciB7XG4gICAgYmFja2dyb3VuZDogI0Y0RjVGNjtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBoZWlnaHQ6IDUycHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC51bmRlcndyaXRlci1sb2dvIHtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnBhY2thZ2UtZGVzY3JpcHRpb24gc3BhbiB7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAuZGlzYWJsZWQgLnBhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgIGJhY2tncm91bmQ6ICNGNUY2Rjg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5kaXNhYmxlZCAuYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICNGNUY2Rjg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5kaXNhYmxlZCBidXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNFMUUyRTM7XG59XG5cbi5jYXItY29tcGFyZSAuYmFzZS1jb3Zlci1jb250YWluZXIgLmZlYXR1cmVzLmJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzOTBweDtcbn1cblxuLmNhci1jb21wYXJlIC5iYXNlLWNvdmVyLWNvbnRhaW5lci5kaXNhYmxlZCAuYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICNGNUY2Rjg7XG59XG5cbi5jYXItY29tcGFyZSAuYmFzZS1jb3Zlci1jb250YWluZXIuZGlzYWJsZWQgYnV0dG9uIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNhci1jb21wYXJlIHNlbGVjdCB7XG4gICAgY29sb3I6ICMyQTI4N0I7XG4gICAgd2lkdGg6IDE2MHB4O1xufVxuXG4uY2FyLWNvbXBhcmUgLnByaWNlIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEyMHB4O1xufVxuXG4uY2FyLWNvbXBhcmUgaDQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNhci1jb21wYXJlIC5zdWItaGVhZGluZ3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uY2FyLWNvbXBhcmUgLnN1Yi1oZWFkaW5ncyAuc3ViLWhlYWRpbmcuc3ViLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41NzI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzJBMjg3QjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi10b3A6IDYycHg7XG59XG5cbi5jYXItY29tcGFyZSAuc3ViLWhlYWRpbmdzIC5zdWItaGVhZGluZy5zdWItaGVhZGluZzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNhci1jb21wYXJlIC5zdWItaGVhZGluZ3MgLnN1Yi1oZWFkaW5nLnN1Yi1oZWFkaW5nLmttcy1oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiA0MzBweDtcbn1cblxuLmNhci1jb21wYXJlIHNwYW4uaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogIzJBMjg3Qjtcbn1cblxuLmNhci1jb21wYXJlIHNlbGVjdC5pcy1lcnJvciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGNjg3RDtcbiAgICBjb2xvcjogIzc1NzU3NTtcbn1cblxuLmNhci1jb21wYXJlIC5ibG9jay5ib3JkZXIuZmVhdHVyZS1jb21wYXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNUY2O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNhci1jb21wYXJlIC5ibG9jay5ib3JkZXIuZmVhdHVyZS1jb21wYXJlIHNwYW4ge1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uY2FyLWNvbXBhcmUgLmJsb2NrLmJvcmRlci5mZWF0dXJlLWNvbXBhcmUub3B0aW9uYWwge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGOTkwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uY2FyLWNvbXBhcmUgLmJsb2NrLmJvcmRlci5mZWF0dXJlLWNvbXBhcmUuc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uY2FyLWNvbXBhcmUgLmJsb2NrLmJvcmRlci5mZWF0dXJlLWNvbXBhcmUgLmRpc2FibGVkIC5wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNkY4O1xufVxuXG4uY2FyLWNvbXBhcmUgLmJsb2NrLmJvcmRlci5mZWF0dXJlLWNvbXBhcmUgLmRpc2FibGVkIC5ibG9jayB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjZGODtcbn1cblxuLmNhci1jb21wYXJlIC5ibG9jay5ib3JkZXIuZmVhdHVyZS1jb21wYXJlIC5kaXNhYmxlZCBidXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY2FyLWNvbXBhcmUgLmRpc2FibGVkIC5ibG9jay5ib3JkZXIuZmVhdHVyZS1jb21wYXJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjVGNkY4O1xufVxuXG4uY2FyLWNvbXBhcmUgaW1nLmNoZWNrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogMjtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2sge1xuICAgIHBhZGRpbmc6IDE1cHggMTBweCAxNXB4IDI1cHg7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDMxcHggMCByZ2JhKDAsIDAsIDAsIDAuMDcpLCAwIC0xMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnBhY2thZ2UtZGV0YWlscy1zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAuc3VtLWluc3VyZWQtdHlwZSB7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDRweDtcbn1cblxuLmNhci1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnN1bS1pbnN1cmVkLXR5cGUgLnRleHQtY2Fwc3VsZSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGNvbG9yOiAjMkEyODdCO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCArIC5wYWNrYWdlcy1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5wYWNrYWdlLWRldGFpbHMsXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucGFja2FnZS1kZXRhaWxzLWFjdGlvbixcbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5wYWNrYWdlLWljb24sXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucGFja2FnZS11bmRlcndyaXRlcixcbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucHJpY2Uge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucHJpY2UgLnRleHQtbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5wcmljZS1jb21pbmctc29vbiB7XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7XG59XG5cbi5jYXItY29tcGFyZSAucGFja2FnZS1kZXRhaWxzLXN0aWNreSxcbi5jYXItY29tcGFyZSAucGFja2FnZXMtcGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXItY29tcGFyZSAuc3VtLWluc3VyZWQtdHlwZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICByaWdodDogMTZweDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uY2FyLWNvbXBhcmUgLnN1bS1pbnN1cmVkLXR5cGUgLnRleHQtY2Fwc3VsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMkEyODdCO1xufVxuXG4uY2FyLWNvbXBhcmUgLnBhY2thZ2UtZGV0YWlscyBoMyB7XG4gICAgaGVpZ2h0OiAyZW07XG59XG5cbi5maXhlZC1jb21taXNzaW9uIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4ucGFja2FnZS1zZXR0aW5ncy5ibG9jay5ib3JkZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0UxRTJFMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFGQkZDO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xufVxuXG4ucGFja2FnZS1zZXR0aW5ncy5ibG9jay5ib3JkZXIgLm1hcmtldC12YWx1ZS1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xufVxuXG4ucGFja2FnZS1zZXR0aW5ncy5ibG9jay5ib3JkZXIgLm1hcmtldC12YWx1ZS1ibG9jazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXB4O1xuICAgIGxlZnQ6IC01cHg7XG4gICAgcmlnaHQ6IC01cHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTJFMztcbn1cblxuLmJ1cGEtcGF5ZC1zY3JpcHQgbWQtaWNvbiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5jYXItZmluYWwtcmV2aWV3IHVsIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jYXItZmluYWwtcmV2aWV3IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2FyLWZpbmFsLXJldmlldyBsaSBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uY2FyLWZpbmFsLXJldmlldyBsaSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmNhci1wcmljZXMtZm9ybSAudW5saW1pdGVkLWNvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjRGNUY2O1xufVxuXG4uY2FyLXByaWNlcy1mb3JtIC51bmxpbWl0ZWQtY292ZXIgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jYXItcHJpY2VzLWZvcm0gLnVubGltaXRlZC1jb3ZlciBzdmcge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogNDBweDtcbn1cblxuLmNhci1wcmljZXMtZm9ybSAudW5saW1pdGVkLWNvdmVyIHBhdGgge1xuICAgIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLmNhci1wcmljZXMtZm9ybSAudW5saW1pdGVkLWNvdmVyIHNwYW4ge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5jYXItcHJpY2VzLWZvcm0gLnByb2R1Y3RzLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2FyLXByaWNlcy1mb3JtIC51bmxpbWl0ZWQta21zLXNlbGVjdCAuZmllbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY1RjYgIWltcG9ydGFudDtcbn1cblxuLmNhci1wcmljZXMtZm9ybSAudW5saW1pdGVkLWttcy1zZWxlY3QgLmZpZWxkX19mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNhci1wcmljZXMtY292ZXJhZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXItcHJpY2VzLWNvdmVyYWdlcy5pcy1hY3RpdmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyN0I1ODE7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY2FyLXByaWNlcy1jb3ZlcmFnZXMuaXMtYWN0aXZlIC5mYWRlLXdoZW4taW5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5jYXItcHJpY2VzLWNvdmVyYWdlcy5pcy1hY3RpdmUgLnNlbGVjdC1wcmljZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMyMTIxMjE7XG59XG5cbi5jYXItcHJpY2VzLWNvdmVyYWdlcyAucHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY2FyLXByaWNlcy1jb3ZlcmFnZXMgdG9vbHRpcC1zaWRlYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTE7XG59XG5cbi5jYXItcHJpY2VzLWV4dHJhcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHRvcDtcbn1cblxuLmNhci1wcmljZXMtZXh0cmFzIC5jYXItcHJpY2VzLWV4dHJhIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi5jYXItcHJpY2VzLWV4dHJhcyAuY2FyLXByaWNlcy1leHRyYSBsYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBsaW5lLWhlaWdodDogMS43ZW07XG59XG5cbi5jYXItcHJpY2VzLWV4dHJhcyAuY2FyLXByaWNlcy1leHRyYSBsYWJlbCA+IGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uY2FyLXByaWNlcy1leHRyYXMgLmNhci1wcmljZXMtZXh0cmEgbWQtY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLmNhci1wcmljZXMtZXh0cmFzIC5jYXItcHJpY2VzLWV4dHJhLmlzLWJyb2tlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jYXItcHJpY2VzLWV4dHJhcyAuY2FyLXByaWNlcy1leHRyYS5pcy1icm9rZXIgLmJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXItcHJpY2VzLWV4dHJhcyAuY2FyLXByaWNlcy1leHRyYS5pcy1icm9rZXIgLmJsb2NrLnNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMjdCNTgxO1xufVxuXG4uY2FyLXByaWNlcy1leHRyYXMgLmNhci1wcmljZXMtZXh0cmEuaXMtYnJva2VyIC5ibG9jayAuaGVscC1saW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xufVxuXG4uY2FyLXByaWNlcy1leHRyYXMgLmNhci1wcmljZXMtZXh0cmEuaXMtYnJva2VyIC5ibG9jayAucHJpY2Uge1xuICAgIGNvbG9yOiAjMkEyODdCO1xufVxuXG4uY2FyLXByaWNlcy1leHRyYXMgLmNhci1wcmljZXMtZXh0cmEuaXMtYnJva2VyIC5ibG9jayAucHJpY2UgLnRleHQtbnVtYmVyIHtcbiAgICBjb2xvcjogIzJBMjg3Qjtcbn1cblxuLmNhci1wcmljZXMtZXh0cmFzIC5jYXItcHJpY2VzLWV4dHJhLmlzLWJyb2tlciAuYmxvY2sgLmJ1dHRvbi5zZWxlY3RlZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGNvbG9yOiAjMjdCNTgxO1xufVxuXG4uY2FyLXByaWNlcy1leHRyYXMgLmNhci1wcmljZXMtZXh0cmEuaXMtYnJva2VyIC5ibG9jay5mdXR1cmUtZXh0cmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY1RjY7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNFMUUyRTM7XG59XG5cbi5jYXItcHJpY2VzLWV4dHJhcyAuY2FyLXByaWNlLWV4dHJhLWFtb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmZpeGVkLWttcy1zYXZpbmdzIHtcbiAgICBtYXJnaW4tdG9wOiAtNTBweDtcbn1cblxuLmNhci1xdW90ZS1zdW1tYXJ5IHVsIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jYXItcXVvdGUtc3VtbWFyeSBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmNhci1xdW90ZS1zdW1tYXJ5IGxpIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNTAlO1xufVxuXG4uY2FyLXF1b3RlLXN1bW1hcnkgaDQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCQ0JEQkQ7XG59XG5cbi5jYXItcXVvdGUtc3VtbWFyeSBoNCBhIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmNhci1xdW90ZS1zdW1tYXJ5IC50b3AtZGVjay1ibG9ja3MgLmJsb2NrOm50aC1jaGlsZCgxKSB7XG4gICAgcGFkZGluZzogMjBweCAzMHB4O1xufVxuXG4uY2FyLXF1b3RlLXN1bW1hcnkgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpLnF1b3RlLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDQwcHggMzBweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXItcXVvdGUtc3VtbWFyeSAudG9wLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMikucXVvdGUtZGV0YWlscyAudW5hdmFpbGFibGUge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogI0JDQkRCRDtcbn1cblxuLmNhci1xdW90ZS1zdW1tYXJ5IC50b3AtZGVjay1ibG9ja3MgLmJsb2NrOm50aC1jaGlsZCgyKS5uby1wcmljZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5jYXItcXVvdGUtc3VtbWFyeSAucHJpY2UtYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDMwcHg7XG59XG5cbi5jYXItcXVvdGUtc3VtbWFyeSAucHJpY2UtYmxvY2sgLnByaWNlLWFtb3VudCB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jYXItcXVvdGUtc3VtbWFyeSAucHJpY2UtYmxvY2sgLnByaWNlLWZyZXF1ZW5jeSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmxhYmVsLnNhZmV0eS1xdWVzdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNhcmxvb2t1cC1saXN0X19pdGVtIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNhcmxvb2t1cC1saXN0X19pdGVtLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uY2FyLXdhaXZlcnMtY29uZmlybWF0aW9ucyAucXVvdGUtZmllbGQge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbn1cblxuLmNhci13YWl2ZXJzLWNvbmZpcm1hdGlvbnMgbGFiZWwgKyBkaXYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4uZWRpdC1jYXItcXVvdGUgLmFkZHJlc3NpZnktZm9ybSB7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uZWRpdC1jYXItcXVvdGUgLnByb2R1Y3QtdmlhLWJsb2NrcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNjc7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRTFFMkUzO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuXG4uZWRpdC1jYXItcXVvdGUgLnByb2R1Y3QtdmlhLWJsb2NrcyAuYXNzb2NpYXRlLWxvZ28ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZWRpdC1jYXItcXVvdGUgLmFzc29jaWF0ZS1sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uZWRpdC1jYXItcXVvdGUgLmhpZGRlbi1kaWFnbm9zdGljLXJldmVhbGVyIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgY29sb3I6ICNGRkZDRkM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkNGQztcbn1cblxuLmFkZC1wb2xpY3ktaG9sZGVycyAucG9saWN5LWhvbGRlcl9fZm9ybSB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNGNEY1RjY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5hZGQtcG9saWN5LWhvbGRlcnMgLnBvbGljeS1ob2xkZXJfX2Zvcm0gLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZWRpdC1ob21lLXF1b3RlIC5wcm9kdWN0LXZpYS1ibG9ja3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTY3O1xuICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0UxRTJFMztcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cblxuLmVkaXQtaG9tZS1xdW90ZSAucHJvZHVjdC12aWEtYmxvY2tzIC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ob21lLWNsYWltLWhpc3RvcnkgLmZpZWxkX19mZWVkYmFjayAuaXMtZXJyb3Ige1xuICAgIGNvbG9yOiAjRkY2ODdEO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmhvbWUtY2xhaW0taGlzdG9yeSBkaXYucXVvdGUtZmllbGQtcm93IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbi5ob21lLWNsYWltLWhpc3RvcnkgZGl2LnF1b3RlLWZpZWxkLXJvdyBsYWJlbCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5ob21lLWNsYWltLWhpc3RvcnkgZGl2LnF1b3RlLWZpZWxkLXJvdyAuZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAudG9wLWRlY2stYmxvY2tzIC5ibG9jazpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLmhvbWUtY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC50b3AtZGVjay1ibG9ja3MgLmJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnNsaWNrLXByZXYsIC5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAuc2xpY2stbmV4dCB7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIHRvcDogNTAlO1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIHBhZGRpbmc6IDI2cHggMjBweDtcbn1cblxuLmhvbWUtY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIGhyIHtcbiAgICBib3JkZXItdG9wOiAjRjRGNUY2O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzI3QjU4MTtcbiAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLmlzLWFjdGl2ZSAucGFja2FnZS1kZXRhaWxzLWJsb2NrIHtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciBpbWcuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnByaWNlIHtcbiAgICBjb2xvcjogIzJBMjg3QjtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnByaWNlIC50ZXh0LW51bWJlciB7XG4gICAgY29sb3I6ICMyQTI4N0I7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAucHJpY2UgLnByaWNlLWNvbWluZy1zb29uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogNzVweDtcbn1cblxuLmhvbWUtY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5wcmljZSBtZC1wcm9ncmVzcy1jaXJjdWxhciB7XG4gICAgbWFyZ2luLXRvcDogMjJweDtcbn1cblxuLmhvbWUtY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyIC5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lciAudW5kZXJ3cml0ZXItbG9nbyB7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIgLnBhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgIGhlaWdodDogMTgwcHg7XG59XG5cbi5ob21lLWNvbXBhcmUgLmJhc2UtY292ZXItY29udGFpbmVyIC5mZWF0dXJlcy5ibG9jayB7XG4gICAgbWluLWhlaWdodDogMzkwcHg7XG59XG5cbi5ob21lLWNvbXBhcmUgc2VsZWN0IHtcbiAgICBjb2xvcjogIzJBMjg3QjtcbiAgICB3aWR0aDogMTYwcHg7XG59XG5cbi5ob21lLWNvbXBhcmUgaDQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmhvbWUtY29tcGFyZSAuc3ViLWhlYWRpbmdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmhvbWUtY29tcGFyZSAuc3ViLWhlYWRpbmdzIC5zdWItaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3MjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMkEyODdCO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLXRvcDogNjJweDtcbn1cblxuLmhvbWUtY29tcGFyZSAuc3ViLWhlYWRpbmdzIC5zdWItaGVhZGluZzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmhvbWUtY29tcGFyZSAuc3ViLWhlYWRpbmdzIC5rbXMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogNDMwcHg7XG59XG5cbi5ob21lLWNvbXBhcmUgc3Bhbi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAjMkEyODdCO1xufVxuXG4uaG9tZS1jb21wYXJlIC5ibG9jay5ib3JkZXIuZmVhdHVyZS1jb21wYXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNUY2O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmhvbWUtY29tcGFyZSAuYmxvY2suYm9yZGVyLmZlYXR1cmUtY29tcGFyZSBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLmhvbWUtY29tcGFyZSAuYmxvY2suYm9yZGVyLmZlYXR1cmUtY29tcGFyZS5vcHRpb25hbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkY5OTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbi5ob21lLWNvbXBhcmUgLmJsb2NrLmJvcmRlci5mZWF0dXJlLWNvbXBhcmUuc2VsZWN0ZWQge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uaG9tZS1jb21wYXJlIGltZy5jaGVjayB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDBweDtcbiAgICB6LWluZGV4OiAyO1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnNsaWNrLXByZXYsIC5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAuc2xpY2stbmV4dCB7XG4gICAgdG9wOiA0MHB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyNXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSwgMCAtMTBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gICAgbWluLWhlaWdodDogMTEwcHg7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucGFja2FnZS1kZXRhaWxzLXN0aWNreSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCArIC5wYWNrYWdlcy1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucGFja2FnZS1kZXRhaWxzLFxuLmhvbWUtY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5wYWNrYWdlLWRldGFpbHMtYmxvY2sgLm1hdGVyaWFsLWljb25zLFxuLmhvbWUtY29tcGFyZSAucGFja2FnZXMtY29udGFpbmVyLmlzLWZpeGVkIC5wYWNrYWdlLWljb24sXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnBhY2thZ2UtdW5kZXJ3cml0ZXIsXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnBhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCAucHJpY2Uge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnByaWNlIC50ZXh0LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQgLnByaWNlLWNvbWluZy1zb29uIHtcbiAgICBsaW5lLWhlaWdodDogNDJweDtcbn1cblxuLmhvbWUtY29tcGFyZSAucGFja2FnZS1kZXRhaWxzLXN0aWNreSxcbi5ob21lLWNvbXBhcmUgLnBhY2thZ2VzLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlLWljb24ge1xuICAgIGNvbG9yOiAjMDAwO1xufVxuXG4uaG9tZS1jb21wYXJlIC5wYWNrYWdlLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiAyNDBweDtcbn1cblxuLmhvbWUtY29tcGFyZSAucGFja2FnZS1kZXRhaWxzIGgzIHtcbiAgICBmbGV4LWdyb3c6IDE7XG59XG5cbmhvbWUtY292ZXIgLmhvbWUtY292ZXItYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuaG9tZS1jb3ZlciAuaG9tZS1wcmljZXMtY292ZXJhZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuaG9tZS1jb3ZlciAuaXMtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICMyN0I1ODE7XG59XG5cbi5ob21lLWR3ZWxsaW5nIC5hZGRyZXNzaWZ5LWZvcm0ge1xuICAgIGZsZXgtZ3JvdzogMTtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5ob21lLWR3ZWxsaW5nIC5jYXJkLWxpc3QuaGFzLWZlZWRiYWNrIC5maWVsZF9fZmVlZGJhY2tXcmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtbGlzdC5pcy1lcnJvciAuY2FyZC1pdGVtLmhvbGxvdyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjRkY2ODdEO1xufVxuXG4uaG9tZS1kd2VsbGluZyAuY2FyZC1saXN0LmlzLWVycm9yIC5jYXJkLWl0ZW0uaG9sbG93OjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvc3Zncy9pY29ucy9jYW5jZWwuc3ZnKTtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0UxRTJFMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IDQ3JTtcbiAgICBtYXJnaW46IDAgMyUgMyUgMDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAzJSAwO1xuICAgIH1cbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbS5tYXJrZXRpbmcge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzJweCAyNHB4IDI0cHg7XG59XG5cbi5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0ubWFya2V0aW5nOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbSAuYnV0dG9uLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0gLmJ1dHRvbi10ZXh0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbS5hY3RpdmU6bm90KC5kaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbS5hY3RpdmU6bm90KC5kaXNhYmxlZCksIC5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0uaG9sbG93Om5vdCguZGlzYWJsZWQpIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbS5hY3RpdmU6bm90KC5kaXNhYmxlZCkgLnRleHQtc21hbGwsIC5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0uaG9sbG93Om5vdCguZGlzYWJsZWQpIC50ZXh0LXNtYWxsIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbS5hY3RpdmU6bm90KC5kaXNhYmxlZCk6OmFmdGVyLCAuaG9tZS1kd2VsbGluZyAuY2FyZC1pdGVtLmhvbGxvdzpub3QoLmRpc2FibGVkKTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMjNweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMHB4O1xuICAgIHJpZ2h0OiA1JTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9zdmdzL2dyZWVuLXRpY2stbmV3LnN2Zyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmNhcmQtaXRlbTpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjEyMTIxO1xufVxuXG4uaG9tZS1kd2VsbGluZyAuY2FyZC1pdGVtLnRocmVlLWNvbHVtbiB7XG4gICAgd2lkdGg6IDMwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuaG9tZS1kd2VsbGluZyAuY2FyZC1pdGVtLnRocmVlLWNvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0uZm91ci1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMjIlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuaG9tZS1kd2VsbGluZyAuY2FyZC1pdGVtLmZvdXItY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uaG9tZS1kd2VsbGluZyAuY2FyZC1pdGVtLmZpdmUtY29sdW1uIHtcbiAgICB3aWR0aDogMTclO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0uZml2ZS1jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMyU7XG4gICAgfVxufVxuXG4uaG9tZS1kd2VsbGluZyAuY2FyZC1pdGVtLnRpY2stY29ybmVyOjphZnRlciB7XG4gICAgdG9wOiAxMCU7XG59XG5cbi5ob21lLWR3ZWxsaW5nIC5jYXJkLWl0ZW0uZGlzYWJsZWQge1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmhvbWUtZHdlbGxpbmcgLmN1cnJlbmN5LWlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lLWR3ZWxsaW5nIC5jdXJyZW5jeS1pbnB1dDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb250ZW50OiBcIiRcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuN2VtO1xufVxuXG4uaG9tZS1kd2VsbGluZyBbbmFtZT1cImFkZHJlc3NpZnlGb3JtXCJdID4gZGl2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5ob21lLWZpbmFsLXJldmlldyB1bCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uaG9tZS1maW5hbC1yZXZpZXcgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5ob21lLWZpbmFsLXJldmlldyBsaSBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uaG9tZS1maW5hbC1yZXZpZXcgbGkgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmhvbWUtcG9pbGljeS1ob2xkZXJzIC5wb2ludHMtdGFibGUgdGFibGUge1xuICAgIG1pbi13aWR0aDogMjUwcHg7XG59XG5cbi5ob21lLXBvaWxpY3ktaG9sZGVycyAucG9pbnRzLXRhYmxlIHRkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuLmhvbWUtcHJpY2VzLWV4dHJhcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHRvcDtcbn1cblxuLmhvbWUtcHJpY2VzLWV4dHJhcyAuaG9tZS1wcmljZXMtZXh0cmEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmhvbWUtcHJpY2VzLWV4dHJhcyAuaG9tZS1wcmljZXMtZXh0cmEgbGFiZWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xufVxuXG4uaG9tZS1wcmljZXMtZXh0cmFzIC5ob21lLXByaWNlcy1leHRyYSBsYWJlbCA+IGRpdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaG9tZS1wcmljZXMtZXh0cmFzIC5ob21lLXByaWNlcy1leHRyYSBtZC1jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uaG9tZS1wcmljZXMtZXh0cmFzIC5ob21lLXByaWNlcy1leHRyYS5pcy1icm9rZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaG9tZS1wcmljZXMtZXh0cmFzIC5ob21lLXByaWNlcy1leHRyYS5pcy1icm9rZXIgLmJsb2NrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lLXByaWNlcy1leHRyYXMgLmhvbWUtcHJpY2VzLWV4dHJhLmlzLWJyb2tlciAuYmxvY2suc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyN0I1ODE7XG59XG5cbi5ob21lLXByaWNlcy1leHRyYXMgLmhvbWUtcHJpY2VzLWV4dHJhLmlzLWJyb2tlciAuYmxvY2sgLmhlbHAtbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbn1cblxuLmhvbWUtcHJpY2VzLWV4dHJhcyAuaG9tZS1wcmljZXMtZXh0cmEuaXMtYnJva2VyIC5ibG9jayAucHJpY2Uge1xuICAgIGNvbG9yOiAjMkEyODdCO1xufVxuXG4uaG9tZS1wcmljZXMtZXh0cmFzIC5ob21lLXByaWNlcy1leHRyYS5pcy1icm9rZXIgLmJsb2NrIC5wcmljZSAudGV4dC1udW1iZXIge1xuICAgIGNvbG9yOiAjMkEyODdCO1xufVxuXG4uaG9tZS1wcmljZXMtZXh0cmFzIC5ob21lLXByaWNlcy1leHRyYS5pcy1icm9rZXIgLmJsb2NrIC5idXR0b24uc2VsZWN0ZWQge1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBjb2xvcjogIzI3QjU4MTtcbn1cblxuLmhvbWUtcHJpY2VzLWV4dHJhcyAuaG9tZS1wcmljZXMtZXh0cmEuaXMtYnJva2VyIC5ibG9jay5mdXR1cmUtZXh0cmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY1RjY7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNFMUUyRTM7XG59XG5cbi5ob21lLXByaWNlcy1leHRyYXMgLmhvbWUtcHJpY2UtZXh0cmEtYW1vdW50IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uaG9tZS1xdW90ZS1zdW1tYXJ5IHVsIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgbGkgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaG9tZS1xdW90ZS1zdW1tYXJ5IGxpIHNwYW4ge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgaDQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCQ0JEQkQ7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgaDQgYSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpLnF1b3RlLWRldGFpbHMge1xuICAgIHBhZGRpbmc6IDQwcHggMzBweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpLnF1b3RlLWRldGFpbHMgLnVuYXZhaWxhYmxlIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICNCQ0JEQkQ7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgLnRvcC1kZWNrLWJsb2NrcyAuYmxvY2s6bnRoLWNoaWxkKDIpLm5vLXByaWNlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLmhvbWUtcXVvdGUtc3VtbWFyeSAucHJpY2UtYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDMwcHg7XG59XG5cbi5ob21lLXF1b3RlLXN1bW1hcnkgLnByaWNlLWJsb2NrIC5wcmljZS1hbW91bnQge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4uaG9tZS1xdW90ZS1zdW1tYXJ5IC5wcmljZS1ibG9jayAucHJpY2UtZnJlcXVlbmN5IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmhvbWUtcXVvdGUtc3VtbWFyeSAuYnJva2VyLXN1bW1hcnktdGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5ob21lLWJyb2tlci1wcmljZS1sb2FkZXIge1xuICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xufVxuXG4uaG9tZS12YWx1YWJsZXMgLmJvcmRlci1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFMkUzO1xufVxuXG4uaG9tZS12YWx1YWJsZXMgLnZhbHVhYmxlLWl0ZW0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLmhvbWUtdmFsdWFibGVzIC52YWx1YWJsZS1pdGVtIGltZyB7XG4gICAgbWFyZ2luOiBpbml0aWFsO1xufVxuXG4uaG9tZS12YWx1YWJsZXMgLnZhbHVhYmxlLWl0ZW06aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI0UxRTJFMztcbn1cblxuLmhvbWUtdmFsdWFibGVzIC52YWx1YWJsZS1pdGVtIC50b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDVweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuaG9tZS12YWx1YWJsZXMgLnZhbHVhYmxlLWl0ZW0ge1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMTIxMjE7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAuaG9tZS12YWx1YWJsZXMgLnZhbHVhYmxlLWl0ZW06aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMTIxMjE7XG4gICAgfVxuICAgIC5ob21lLXZhbHVhYmxlcyAudmFsdWFibGUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICB9XG4gICAgLmhvbWUtdmFsdWFibGVzIC52YWx1YWJsZS1pdGVtIGltZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gICAgLmhvbWUtdmFsdWFibGVzIC52YWx1YWJsZS1pdGVtIC50b29sdGlwIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG4gICAgLmhvbWUtdmFsdWFibGVzIC52YWx1YWJsZS1pdGVtIGg0IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuLmhvbWUtdmFsdWFibGVzIC52YWx1YWJsZS10b3RhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5ob21lLXZhbHVhYmxlcyAudmFsdWFibGUtdG90YWwgPiBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi5ob21lLXZhbHVhYmxlcyAudmFsdWFibGUtdG90YWwgLnZhbHVhYmxlLWFtb3VudCB7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uaG9tZS12YWx1YWJsZXMgLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udmFsdWFibGUtY3VycmVuY3ktdmFsdWUgbGFiZWwgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xufVxuXG4udmFsdWFibGUtY3VycmVuY3ktdmFsdWUgbGFiZWwgKyBkaXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiRcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTE1cHg7XG4gICAgbWFyZ2luLXRvcDogLTFlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5ob21lLXZhbHVhYmxlcy1saXN0IHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaG9tZS12YWx1YWJsZXMtbGlzdCB0YWJsZSB0ZCwgaG9tZS12YWx1YWJsZXMtbGlzdCB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5ob21lLXZhbHVhYmxlcy1saXN0IHRhYmxlIHRkIC5idXR0b24sIGhvbWUtdmFsdWFibGVzLWxpc3QgdGFibGUgdGggLmJ1dHRvbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmhvbWUtdmFsdWFibGVzLWxpc3QgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTFFMkUzO1xufVxuXG5ob21lLXZhbHVhYmxlcy1saXN0IHRoIHtcbiAgICBjb2xvcjogIzc1NzU3NTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmNjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5ob21lLXZhbHVhYmxlcy1saXN0IHRib2R5IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG59XG5cbmhvbWUtdmFsdWFibGVzLWxpc3QgLmhvbWUtdmFsdWFibGVzLWxpc3Qge1xuICAgIG1hcmdpbjogMCAtMzBweDtcbiAgICBwYWRkaW5nOiA2cHggMzBweDtcbn1cblxuaG9tZS12YWx1YWJsZXMtbGlzdCAuaG9tZS12YWx1YWJsZXMtbGlzdDpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQ6ICNGNEY1RjY7XG59XG5cbmhvbWUtdmFsdWFibGVzLWxpc3QgLmhvbWUtdmFsdWFibGVzLWxpc3QgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgbWFyZ2luOiAwIDIwcHggMCAwO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmhvbWUtdGVybXMtY29uZmlybWF0aW9uIGxhYmVsICsgZGl2IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLnJvdy5yb3cucm93LnJvdyAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGJ1dHRvbi5idXR0b25bbmFtZT1cIm5vdF9pbnN1cmVkX3JlYXNvblwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5idXBhLW1lbWJlci1udW1iZXItZmllbGQsIC5idXBhLW1lbWJlci1lbXBsb3llZS1maWVsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDtcbn1cblxuLmJ1cGEtbWVtYmVyLW51bWJlci1maWVsZCAucXVvdGUtZmllbGQtcm93LCAuYnVwYS1tZW1iZXItZW1wbG95ZWUtZmllbGQgLnF1b3RlLWZpZWxkLXJvdyB7XG4gICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcbn1cblxuLmJ1cGEtbWVtYmVyLW51bWJlci1maWVsZCAucXVvdGUtZmllbGQtcm93IGxhYmVsLCAuYnVwYS1tZW1iZXItZW1wbG95ZWUtZmllbGQgLnF1b3RlLWZpZWxkLXJvdyBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbn1cblxuLmJ1cGEtbWVtYmVyLW51bWJlci1maWVsZCAucXVvdGUtZmllbGQtcm93IGJ1dHRvbiwgLmJ1cGEtbWVtYmVyLWVtcGxveWVlLWZpZWxkIC5xdW90ZS1maWVsZC1yb3cgYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5idXBhLW1lbWJlci1udW1iZXItZmllbGQgLnF1b3RlLWZpZWxkLXJvdyBsYWJlbCArIGRpdiwgLmJ1cGEtbWVtYmVyLWVtcGxveWVlLWZpZWxkIC5xdW90ZS1maWVsZC1yb3cgbGFiZWwgKyBkaXYge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uaG9tZS15b3VyLXF1b3RlIC5wb2xpY3ktaG9sZGVyLWdlbmRlciAuZmllbGQsIC5ob21lLXlvdXItcXVvdGUgLnBvbGljeS1ob2xkZXItZG9iIC5maWVsZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmhvbWUteW91ci1xdW90ZSAucG9saWN5LWhvbGRlcl9fZm9ybSAucXVvdGUtZmllbGQge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhvbWUteW91ci1xdW90ZSAuYnVwYS1ob21lLWNvdmVyLXNlbGVjdCBzZWxlY3Qge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTEwJSA1MCU7XG59XG5cbi5ob21lLWRpc2Nsb3N1cmVzIGxhYmVsICsgZGl2IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5ob21lLWRpc2Nsb3N1cmVzIC5zZWxlY3QtYm94IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uaG9tZS1kaXNjbG9zdXJlcyAuc2VsZWN0LWJveCBsYWJlbCArIGRpdiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbi5ob21lLWRpc2Nsb3N1cmVzIC5jbGFpbXMtY291bnQge1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uaG9tZS1kaXNjbG9zdXJlcyAucG9pbnRzLXRhYmxlIHRhYmxlIHtcbiAgICBtaW4td2lkdGg6IDI1MHB4O1xufVxuXG4uaG9tZS1kaXNjbG9zdXJlcyAucG9pbnRzLXRhYmxlIHRkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMnB4IDVweDtcbn1cblxuLypcbi8vLy8vLy8vLy8vL1xuLy8gVkVORE9SIC8vXG4vLy8vLy8vLy8vLy9cbiovXG4ucGF5bWVudC1mb3JtLXdyYXAgLmJyYWludHJlZS1mb3JtIC5icmFpbnRyZWUtZmllbGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMTIxMjE7XG4gICAgaGVpZ2h0OiAzLjU2MnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ucGF5bWVudC1mb3JtLXdyYXAgLmJyYWludHJlZS1mb3JtIGlmcmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xufVxuXG4ucGF5bWVudC1mb3JtLXdyYXAgLmJyYWludHJlZS1mb3JtIC5icmFpbnRyZWUtaG9zdGVkLWZpZWxkcy1pbnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICNGRjY4N0Q7XG59XG5cbi5wYXltZW50LWZvcm0td3JhcCAuYnJhaW50cmVlLWZvcm0tZXJyb3IgLmJyYWludHJlZS1maWVsZCxcbi5wYXltZW50LWZvcm0td3JhcCAuYnJhaW50cmVlLWZvcm0tbG9hZGluZyAuYnJhaW50cmVlLWZpZWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjEyMTIxICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5wYXltZW50LWZvcm0td3JhcCAuYnJhaW50cmVlLWZvcm0tbG9hZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGF5bWVudC1mb3JtLXdyYXAgLmJyYWludHJlZS1mb3JtLWxvYWRpbmcgLmJyYWludHJlZS1mb3JtLWxvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTUwcHg7XG4gICAgei1pbmRleDogMTA7XG59XG5cbi5wYXltZW50LWZvcm0td3JhcCAuYnJhaW50cmVlLWZvcm0tbG9hZGluZyBidXR0b24sIC5wYXltZW50LWZvcm0td3JhcCAuYnJhaW50cmVlLWZvcm0tbG9hZGluZyAuYmxvY2sge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNDtcbn1cblxuLmJyYWludHJlZS1ob3N0ZWQtZmllbGRzLWZvY3VzZWQgaWZyYW1lIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjEyMTIxICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4uYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtaW52YWxpZCBpZnJhbWUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkRGMUEgIWltcG9ydGFudDtcbn1cblxuLmJyYWludHJlZS1ob3N0ZWQtZmllbGRzLWludmFsaWQgaWZyYW1lIGlucHV0IHtcbiAgICBjb2xvcjogI0ZGREYxQSAhaW1wb3J0YW50O1xufVxuXG4uZXhpc3RpbmctY2FyZC1kZXRhaWxzIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qISBhbmd1bGFyanMtc2xpZGVyIC0gdjYuMy4wIC1cbiAoYykgUmFmYWwgWmFqYWMgPHJ6YWphY0BnbWFpbC5jb20+LCBWYWxlbnRpbiBIZXJ2aWV1IDx2YWxlbnRpbkBoZXJ2aWV1Lm1lPiwgSnVzc2kgU2Fhcml2aXJ0YSA8anVzYXNpQGdtYWlsLmNvbT4sIEFuZ2VsaW4gU2lyYnUgPGFuZ2VsaW4uc2lyYnVAZ21haWwuY29tPiAtXG4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXItc2xpZGVyL2FuZ3VsYXJqcy1zbGlkZXIgLVxuIDIwMTctMDgtMTEgKi9cbi5yenNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDExMDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbjogMjJweCAwIDE1cHggMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5yenNsaWRlci53aXRoLWxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnJ6c2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnJ6c2xpZGVyW2Rpc2FibGVkXSAucnotcG9pbnRlciB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kOiAjMjdCNTgxO1xufVxuXG4ucnpzbGlkZXJbZGlzYWJsZWRdIC5yei1kcmFnZ2FibGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5yenNsaWRlcltkaXNhYmxlZF0gLnJ6LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzhiOTFhMjtcbn1cblxuLnJ6c2xpZGVyW2Rpc2FibGVkXSAucnotdGljayB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnJ6c2xpZGVyW2Rpc2FibGVkXSAucnotdGljay5yei1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogIzhiOTFhMjtcbn1cblxuLnJ6c2xpZGVyIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXItd3JhcHBlciB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzJweDtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucnpzbGlkZXIgLnJ6LWRyYWdnYWJsZSB7XG4gICAgY3Vyc29yOiBtb3ZlO1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJhciB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJhci13cmFwcGVyLnJ6LXRyYW5zcGFyZW50IC5yei1iYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJhci13cmFwcGVyLnJ6LWxlZnQtb3V0LXNlbGVjdGlvbiAucnotYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGYwMDJkO1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJhci13cmFwcGVyLnJ6LXJpZ2h0LW91dC1zZWxlY3Rpb24gLnJ6LWJhciB7XG4gICAgYmFja2dyb3VuZDogIzAzYTY4ODtcbn1cblxuLnJ6c2xpZGVyIC5yei1zZWxlY3Rpb24ge1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZDogIzI3QjU4MTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5yenNsaWRlciAucnotcG9pbnRlciB7XG4gICAgdG9wOiAtMTRweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzI3QjU4MTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4ucnpzbGlkZXIgLnJ6LXBvaW50ZXIucnotYWN0aXZlIHtcbiAgICB6LWluZGV4OiA0O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXBvaW50ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi5yenNsaWRlciAucnotcG9pbnRlcjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJ1YmJsZSB7XG4gICAgYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmc6IDFweCAzcHg7XG4gICAgY29sb3I6ICM1NTYzN2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJ1YmJsZS5yei1saW1pdCB7XG4gICAgY29sb3I6ICM1NTYzN2Q7XG59XG5cbi5yenNsaWRlciAucnotdGlja3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXRpY2tzLXZhbHVlcy11bmRlciAucnotdGljay12YWx1ZSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogLTMycHg7XG4gICAgZm9udC1zaXplOiAwLjY4OHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNzU3NTc1O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXRpY2sge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLnJ6c2xpZGVyIC5yei10aWNrOmZpcnN0LWNoaWxkIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxuICAgIC5yenNsaWRlciAucnotdGljazpudGgtY2hpbGQoZXZlbik6bm90KDpsYXN0LWNoaWxkKSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5yenNsaWRlciAucnotdGljay5yei1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogIzI3QjU4MTtcbn1cblxuLnJ6c2xpZGVyIC5yei10aWNrLXZhbHVlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzBweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuXG4ucnpzbGlkZXIgLnJ6LXRpY2stbGVnZW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA3cHg7XG4gICAgbWF4LXdpZHRoOiA1MHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LWJhc2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LWJhci13cmFwcGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwIDAgMTZweDtcbiAgICBtYXJnaW46IDAgMCAwIC0xNnB4O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LWJhciB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotcG9pbnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAtMTRweCAhaW1wb3J0YW50O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LWJ1YmJsZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2tzIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTNweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei10aWNrIHtcbiAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotdGljay12YWx1ZSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IDI0cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjglKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjglKTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei10aWNrLWxlZ2VuZCB7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAyNHB4O1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI4JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI4JSk7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotdGlja3MtdmFsdWVzLXVuZGVyIC5yei10aWNrLXZhbHVlIHtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbn1cblxuLnNsaWRlci12YWx1ZXMtaGlkZGVuIC5yenNsaWRlciAucnotdGljay12YWx1ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxudGFncy1pbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbnRhZ3MtaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZmllbGRfX2ljb24gKyB0YWdzLWlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZmllbGRfX2ljb24gKyB0YWdzLWlucHV0W3R5cGU9J3RleHQnXSAudGFncyB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG50YWdzLWlucHV0ICosIHRhZ3MtaW5wdXQgKjpiZWZvcmUsIHRhZ3MtaW5wdXQgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbnRhZ3MtaW5wdXQgLmhvc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxudGFncy1pbnB1dCAuaG9zdDphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbnRhZ3MtaW5wdXQgLnRhZ3Mge1xuICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbnRhZ3MtaW5wdXQgLnRhZ3MuZm9jdXNlZCB7XG4gICAgb3V0bGluZTogMDtcbn1cblxudGFncy1pbnB1dCAudGFnLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG50YWdzLWlucHV0IC50YWctaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgZm9udC1zaXplOiAwLjgxMnJlbTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogIzIxMjEyMTtcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxudGFncy1pbnB1dCAudGFnLWl0ZW0gc3BhbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1heC13aWR0aDogMTgwcHggIWltcG9ydGFudDtcbn1cblxudGFncy1pbnB1dCAudGFnLWl0ZW0uc2VsZWN0ZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xufVxuXG50YWdzLWlucHV0IC50YWctaXRlbSAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yMTlyZW07XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbnRhZ3MtaW5wdXQgLnRhZy1pdGVtIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbnRhZ3MtaW5wdXQgLnRhZ3MgLmlucHV0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxudGFncy1pbnB1dCAudGFncyAuaW5wdXQuaW52YWxpZC10YWcge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xufVxuXG50YWdzLWlucHV0IC50YWdzIC5pbnB1dDo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG50YWdzLWlucHV0W2Rpc2FibGVkXSAuaG9zdDpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbn1cblxudGFncy1pbnB1dFtkaXNhYmxlZF0gLnRhZ3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG50YWdzLWlucHV0W2Rpc2FibGVkXSAudGFnLWl0ZW0ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBiYWNrZ3JvdW5kOiAjMjEyMTIxO1xufVxuXG50YWdzLWlucHV0W2Rpc2FibGVkXSAudGFnLWl0ZW0gLnJlbW92ZS1idXR0b24ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbn1cblxudGFncy1pbnB1dFtkaXNhYmxlZF0gLnRhZy1pdGVtIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbnRhZ3MtaW5wdXRbZGlzYWJsZWRdIC50YWdzIC5pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbnRhZ3MtaW5wdXQgLmF1dG9jb21wbGV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxudGFncy1pbnB1dCAuYXV0b2NvbXBsZXRlIC5zdWdnZXN0aW9uLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxudGFncy1pbnB1dCAuYXV0b2NvbXBsZXRlIC5zdWdnZXN0aW9uLWl0ZW0ge1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxudGFncy1pbnB1dCAuYXV0b2NvbXBsZXRlIC5zdWdnZXN0aW9uLWl0ZW0uc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG59XG5cbnRhZ3MtaW5wdXQgLmF1dG9jb21wbGV0ZSAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xufVxuXG50YWdzLWlucHV0IC5hdXRvY29tcGxldGUgLnN1Z2dlc3Rpb24taXRlbSBlbSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG50aS10YWctaXRlbSBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPW5nLXRhZ3MtaW5wdXQuY3NzLm1hcCAqL1xuLnVpYi1kYXRlcGlja2VyLXBvcHVwLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgLTEwcHggMzFweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4udWliLWRhdGVwaWNrZXIge1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi51aWItZGF0ZXBpY2tlciAudWliLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICMyN0I1ODEgIWltcG9ydGFudDtcbn1cblxuLnVpYi1kYXRlcGlja2VyIHRoLCAudWliLWRhdGVwaWNrZXIgdGQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjRkZGRkZGO1xufVxuXG4udWliLWRhdGVwaWNrZXIgdGggZW0sIC51aWItZGF0ZXBpY2tlciB0ZCBlbSB7XG4gICAgY29sb3I6ICNCQ0JEQkQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi51aWItZGF0ZXBpY2tlciB0aCBidXR0b24sIC51aWItZGF0ZXBpY2tlciB0ZCBidXR0b24ge1xuICAgIHBhZGRpbmc6IDE1cHggNnB4O1xufVxuXG4udWliLWRhdGVwaWNrZXIgdGggYnV0dG9uLnB1bGwtcmlnaHQgaSwgLnVpYi1kYXRlcGlja2VyIHRkIGJ1dHRvbi5wdWxsLXJpZ2h0IGkge1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLnVpYi1kYXRlcGlja2VyIHRoZWFkIHRyOm50aC1jaGlsZCgxKSB0aCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG59XG5cbi51aWItZGF0ZXBpY2tlciB0aGVhZCB0cjpudGgtY2hpbGQoMikgdGgge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpYi1kYXRlcGlja2VyIGJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnVpYi1kYXRlcGlja2VyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICNCQ0JEQkQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4udWliLWRhdGVwaWNrZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbi51aWItZGF0ZXBpY2tlciAuZ2x5cGhpY29uOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4udWliLWRhdGVwaWNrZXIgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdmdzL3JlZGVzaWduL2NvbW1vbi9sZWZ0LWFycm93LWNpcmNsZS5zdmcpO1xufVxuXG4udWliLWRhdGVwaWNrZXIgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvc3Zncy9yZWRlc2lnbi9jb21tb24vcmlnaHQtYXJyb3ctY2lyY2xlLnN2Zyk7XG59XG5cbi50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLnVpYi1kYXRlcGlja2VyLXBvcHVwLFxuLnVpYi1kYXlwaWNrZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi51aWItZGF0ZXBpY2tlci1wb3B1cCB0Ym9keSB0ciBidXR0b246aG92ZXIsXG4udWliLWRheXBpY2tlciB0Ym9keSB0ciBidXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODEgIWltcG9ydGFudDtcbn1cblxuLnVpYi1kYXRlcGlja2VyLXBvcHVwIHRib2R5IHRyIGJ1dHRvbjpob3ZlcltkaXNhYmxlZF0sXG4udWliLWRheXBpY2tlciB0Ym9keSB0ciBidXR0b246aG92ZXJbZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGNvbG9yOiAjRTFFMkUzO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLnVpYi1kYXRlcGlja2VyLXBvcHVwIHRib2R5IHRyIGJ1dHRvbjpob3Zlci5hY3RpdmUsXG4udWliLWRheXBpY2tlciB0Ym9keSB0ciBidXR0b246aG92ZXIuYWN0aXZlIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxICFpbXBvcnRhbnQ7XG59XG5cbi51aWItZGF0ZXBpY2tlci1wb3B1cCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSBidXR0b24sXG4udWliLWRheXBpY2tlciB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2Y0ZjQ7XG59XG5cbi51aWItZGF0ZXBpY2tlci1wb3B1cCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSBidXR0b25bZGlzYWJsZWRdLFxuLnVpYi1kYXlwaWNrZXIgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTJFMztcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi51aWItZGF0ZXBpY2tlci1wb3B1cCB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSBidXR0b24uYWN0aXZlLFxuLnVpYi1kYXlwaWNrZXIgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MSAhaW1wb3J0YW50O1xufVxuXG4udWliLWRhdGVwaWNrZXItcG9wdXAgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgYnV0dG9uIC50ZXh0LW11dGVkLFxuLnVpYi1kYXlwaWNrZXIgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgYnV0dG9uIC50ZXh0LW11dGVkIHtcbiAgICBjb2xvcjogI0UxRTJFMztcbn1cblxuLnVpYi1kYXRlcGlja2VyLXBvcHVwIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIGJ1dHRvbjpob3Zlcixcbi51aWItZGF5cGlja2VyIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MSAhaW1wb3J0YW50O1xufVxuXG4udWliLWRhdGVwaWNrZXItcG9wdXAgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgYnV0dG9uOmhvdmVyW2Rpc2FibGVkXSxcbi51aWItZGF5cGlja2VyIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIGJ1dHRvbjpob3ZlcltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNFMUUyRTM7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4udWliLWRheSBidXR0b24sXG4udWliLW1vbnRoIGJ1dHRvbixcbi51aWIteWVhciBidXR0b24ge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi51aWItbW9udGhwaWNrZXIsXG4udWliLWRheXBpY2tlcixcbi51aWItbGVmdCxcbi51aWItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udWliLXBvc2l0aW9uLW1lYXN1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogLTk5OTlweCAhaW1wb3J0YW50O1xufVxuXG4udWliLXBvc2l0aW9uLXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IC05OTk5cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLnVpYi1wb3NpdGlvbi1ib2R5LXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgICBvdmVyZmxvdzogc2Nyb2xsICFpbXBvcnRhbnQ7XG59XG5cbi51aWItZGF0ZXBpY2tlci1jdXJyZW50LFxuLnVpYi1jbG9zZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xufVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnVpYi1kYXRlcGlja2VyLWN1cnJlbnQsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXVxuLnVpYi1jbG9zZSB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLnVpYi1kYXRlcGlja2VyLWN1cnJlbnQ6aG92ZXIsIC51aWItZGF0ZXBpY2tlci1jdXJyZW50OmZvY3VzLFxuLnVpYi1jbG9zZTpob3Zlcixcbi51aWItY2xvc2U6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTlhNmU7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi51aWItY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBhbmd1bGFyLXRvb2x0aXBzXG4gKiAxLjEuMTBcbiAqXG4gKiBBbmd1bGFyLmpzIHRvb2x0aXBzIG1vZHVsZS5cbiAqIGh0dHA6Ly83MjBrYi5naXRodWIuaW8vYW5ndWxhci10b29sdGlwc1xuICpcbiAqIE1JVCBsaWNlbnNlXG4gKiBXZWQgSmFuIDI1IDIwMTdcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGUtdG9vbHRpcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIG9wYWNpdHk6IC45O1xuICAgIH1cbiAgICA5MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIGFuaW1hdGUtdG9vbHRpcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIG9wYWNpdHk6IC45O1xuICAgIH1cbiAgICA5MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQC1tcy1rZXlmcmFtZXMgYW5pbWF0ZS10b29sdGlwIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbiAgICA2MCUge1xuICAgICAgICBvcGFjaXR5OiAuODtcbiAgICB9XG4gICAgNzAlIHtcbiAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgfVxuICAgIDkwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtdG9vbHRpcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIG9wYWNpdHk6IC45O1xuICAgIH1cbiAgICA5MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLl9leHJhZGljYXRlZC10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA5OTk7XG59XG5cbnRvb2x0aXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbnRvb2x0aXAuX211bHRpbGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbnRvb2x0aXAuX3Nsb3cuX3JlYWR5IHRpcCB7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlLXRvb2x0aXAgMC42NXM7XG59XG5cbnRvb2x0aXAuX2Zhc3QuX3JlYWR5IHRpcCB7XG4gICAgYW5pbWF0aW9uOiBhbmltYXRlLXRvb2x0aXAgMC4xNXM7XG59XG5cbnRvb2x0aXAuX3N0ZWFkeS5fcmVhZHkgdGlwIHtcbiAgICBhbmltYXRpb246IGFuaW1hdGUtdG9vbHRpcCAwLjM1cztcbn1cblxudG9vbHRpcCB0aXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdpbGwtY2hhbmdlOiB0b3AsIGxlZnQsIGJvdHRvbSwgcmlnaHQ7XG59XG5cbnRvb2x0aXAgdGlwLl9oaWRkZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxudG9vbHRpcC5hY3RpdmU6bm90KC5fZm9yY2UtaGlkZGVuKSB0aXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogOTk5O1xufVxuXG50b29sdGlwIHRpcC10aXAge1xuICAgIGZvbnQtc2l6ZTogMC45NWVtO1xufVxuXG50b29sdGlwIHRpcC10aXAuX2xhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xufVxuXG50b29sdGlwIHRpcC10aXAuX3NtYWxsIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xufVxuXG50b29sdGlwLl90b3AgdGlwIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiAtOXB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxudG9vbHRpcC5fdG9wIHRpcCB0aXAtYXJyb3cge1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHdpZHRoOiAwO1xufVxuXG50b29sdGlwLl9ib3R0b20gdGlwIHtcbiAgICByaWdodDogNTAlO1xuICAgIHRvcDogMTAwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoOXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVZKDlweCk7XG59XG5cbnRvb2x0aXAuX2JvdHRvbSB0aXAgdGlwLWFycm93IHtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbn1cblxudG9vbHRpcC5fcmlnaHQgdGlwIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDlweCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOXB4KSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG50b29sdGlwLl9yaWdodCB0aXAgdGlwLWFycm93IHtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAwO1xufVxuXG50b29sdGlwLl9sZWZ0IHRpcCB7XG4gICAgbGVmdDogLTlweDtcbiAgICB0b3A6IDUwJTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbnRvb2x0aXAuX2xlZnQgdGlwIHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDA7XG59XG5cbnRpcC10aXAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBsZWZ0OiA4JTtcbiAgICBtYXJnaW4tdG9wOiAtNyU7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwJTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbi5zbGljay1uZXh0OmhvdmVyLFxuLnNsaWNrLW5leHQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbi5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbi5zbGljay1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQsXG4uc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbn1cblxuLnNsaWNrLXByZXY6YmVmb3JlLFxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtNSU7XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdmdzL2Fycm93LXByZXYuc3ZnKTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDYwcHg7XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTUlO1xufVxuXG4uc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvc3Zncy9hcnJvdy1uZXh0LnN2Zyk7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiA2MHB4O1xufVxuXG5zbGljay5oaWRlLXNsaWRlLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5zbGljay5oaWRlLXNsaWRlLWNvbnRyb2xzIC5zbGljay1wcmV2LCBzbGljay5oaWRlLXNsaWRlLWNvbnRyb2xzIC5zbGljay1uZXh0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5zbGljay1kb3RzIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG9wYWNpdHk6IDAuNzU7XG59XG5cbi8qXG4vLy8vLy8vLy8vLy8vXG4vLyBIRUxQRVJTIC8vXG4vLy8vLy8vLy8vLy8vXG4qL1xuLypcbi8vLy8vLy8vLy8vLy8vL1xuLy8gRlVOQ1RJT05TIC8vXG4vLy8vLy8vLy8vLy8vLy9cbiovXG4vKlxuTUFQIEhFTFBFUiBGVU5DVElPTlNcbiovXG4vKlxuLy8vLy8vLy8vLy8vXG4vLyBDT0xPUlMgLy9cbi8vLy8vLy8vLy8vL1xuKi9cbi8qXG5URVhUIENPTE9SXG4qL1xuLnRleHQtcHJpbWFyeSB7XG4gICAgY29sb3I6ICMyQTI4N0I7XG59XG5cbi50ZXh0LXNlY29uZGFyeSB7XG4gICAgY29sb3I6ICMyN0I1ODE7XG59XG5cbi50ZXh0LXdhcm5pbmcge1xuICAgIGNvbG9yOiAjRkY2ODdEO1xufVxuXG4udGV4dC13aGl0ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi50ZXh0LWJsYWNrIHtcbiAgICBjb2xvcjogIzIxMjEyMTtcbn1cblxuLnRleHQtZGFya0dyYXkge1xuICAgIGNvbG9yOiAjNzU3NTc1O1xufVxuXG4vKlxuQkFDS0dST1VORCBDT0xPUlxuKi9cbi5iZy1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjdCNTgxO1xufVxuXG4udGV4dC1wcmltYXJ5IHtcbiAgICBjb2xvcjogIzI3QjU4MTtcbn1cblxuLmJnLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI3QjU4MTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogIzI3QjU4MTtcbn1cblxuLmJnLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyN0I1ODE7XG59XG5cbi50ZXh0LXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAjMjdCNTgxO1xufVxuXG4uYmctd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNjg3RDtcbn1cblxuLnRleHQtd2FybmluZyB7XG4gICAgY29sb3I6ICNGRjY4N0Q7XG59XG5cbi5iZy1hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGREYxQTtcbn1cblxuLnRleHQtYWxlcnQge1xuICAgIGNvbG9yOiAjRkZERjFBO1xufVxuXG4uYmctb3B0aW9uYWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjk5MDA7XG59XG5cbi50ZXh0LW9wdGlvbmFsIHtcbiAgICBjb2xvcjogI0ZGOTkwMDtcbn1cblxuLmJnLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4udGV4dC13aGl0ZSB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5iZy1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkNCREJEO1xufVxuXG4udGV4dC1ncmF5IHtcbiAgICBjb2xvcjogI0JDQkRCRDtcbn1cblxuLmJnLWxpZ2h0R3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTJFMztcbn1cblxuLnRleHQtbGlnaHRHcmF5IHtcbiAgICBjb2xvcjogI0UxRTJFMztcbn1cblxuLmJnLWxpZ2h0ZXJHcmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjRGNUY2O1xufVxuXG4udGV4dC1saWdodGVyR3JheSB7XG4gICAgY29sb3I6ICNGNEY1RjY7XG59XG5cbi5iZy1tZWRpdW1HcmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkNCREJEO1xufVxuXG4udGV4dC1tZWRpdW1HcmF5IHtcbiAgICBjb2xvcjogI0JDQkRCRDtcbn1cblxuLmJnLWRhcmtHcmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzU3NTc1O1xufVxuXG4udGV4dC1kYXJrR3JheSB7XG4gICAgY29sb3I6ICM3NTc1NzU7XG59XG5cbi5iZy1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjEyMTtcbn1cblxuLnRleHQtYmxhY2sge1xuICAgIGNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYmctc25vdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkNGQztcbn1cblxuLnRleHQtc25vdyB7XG4gICAgY29sb3I6ICNGRkZDRkM7XG59XG5cbi8qXG4vLy8vLy8vLy8vLy8vXG4vLyBTUEFDSU5HIC8vXG4vLy8vLy8vLy8vLy8vXG4qL1xuLnNwYWNpbmctbGVmdC14eHNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1sZWZ0LXh4c21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4uc3BhY2luZy1yaWdodC14eHNtYWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnNwYWNpbmctaW5uZXItcmlnaHQteHhzbWFsbCB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uc3BhY2luZy10b3AteHhzbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uc3BhY2luZy1pbm5lci10b3AteHhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuLnNwYWNpbmctYm90dG9tLXh4c21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnNwYWNpbmctaW5uZXItYm90dG9tLXh4c21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG59XG5cbi5zcGFjaW5nLWxlZnQteHNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItbGVmdC14c21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbn1cblxuLnNwYWNpbmctcmlnaHQteHNtYWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLXJpZ2h0LXhzbWFsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnNwYWNpbmctdG9wLXhzbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdG9wLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5zcGFjaW5nLWJvdHRvbS14c21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWJvdHRvbS14c21hbGwge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4uc3BhY2luZy1sZWZ0LXNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItbGVmdC1zbWFsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uc3BhY2luZy1yaWdodC1zbWFsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1yaWdodC1zbWFsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLnNwYWNpbmctdG9wLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci10b3Atc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uc3BhY2luZy1ib3R0b20tc21hbGwge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWJvdHRvbS1zbWFsbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5zcGFjaW5nLWxlZnQtbWVkaXVtIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItbGVmdC1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLnNwYWNpbmctcmlnaHQtbWVkaXVtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLXJpZ2h0LW1lZGl1bSB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbn1cblxuLnNwYWNpbmctdG9wLW1lZGl1bSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdG9wLW1lZGl1bSB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG59XG5cbi5zcGFjaW5nLWJvdHRvbS1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWJvdHRvbS1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4uc3BhY2luZy1sZWZ0LWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItbGVmdC1sYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xufVxuXG4uc3BhY2luZy1yaWdodC1sYXJnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1yaWdodC1sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbn1cblxuLnNwYWNpbmctdG9wLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci10b3AtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG4uc3BhY2luZy1ib3R0b20tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWJvdHRvbS1sYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59XG5cbi5zcGFjaW5nLWxlZnQteGxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItbGVmdC14bGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbn1cblxuLnNwYWNpbmctcmlnaHQteGxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLXJpZ2h0LXhsYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuLnNwYWNpbmctdG9wLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdG9wLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG59XG5cbi5zcGFjaW5nLWJvdHRvbS14bGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWJvdHRvbS14bGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xufVxuXG4uc3BhY2luZy1sZWZ0LXh4bGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItbGVmdC14eGxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xufVxuXG4uc3BhY2luZy1yaWdodC14eGxhcmdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1yaWdodC14eGxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbn1cblxuLnNwYWNpbmctdG9wLXh4bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci10b3AteHhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xufVxuXG4uc3BhY2luZy1ib3R0b20teHhsYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWJvdHRvbS14eGxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG59XG5cbi5zcGFjaW5nLWhvcml6b250YWwteHhzbWFsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuLnNwYWNpbmctaW5uZXItaG9yaXpvbnRhbC14eHNtYWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG59XG5cbi5zcGFjaW5nLWhvcml6b250YWwteHNtYWxsIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWhvcml6b250YWwteHNtYWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnNwYWNpbmctaG9yaXpvbnRhbC1zbWFsbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1ob3Jpem9udGFsLXNtYWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLnNwYWNpbmctaG9yaXpvbnRhbC1tZWRpdW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItaG9yaXpvbnRhbC1tZWRpdW0ge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG4uc3BhY2luZy1ob3Jpem9udGFsLWxhcmdlIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWhvcml6b250YWwtbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xufVxuXG4uc3BhY2luZy1ob3Jpem9udGFsLXhsYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1ob3Jpem9udGFsLXhsYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG59XG5cbi5zcGFjaW5nLWhvcml6b250YWwteHhsYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWhvcml6b250YWwteHhsYXJnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbn1cblxuLnNwYWNpbmctdmVydGljYWwteHhzbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdmVydGljYWwteHhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4uc3BhY2luZy12ZXJ0aWNhbC14c21hbGwge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdmVydGljYWwteHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cblxuLnNwYWNpbmctdmVydGljYWwtc21hbGwge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdmVydGljYWwtc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4uc3BhY2luZy12ZXJ0aWNhbC1tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdmVydGljYWwtbWVkaXVtIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLnNwYWNpbmctdmVydGljYWwtbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdmVydGljYWwtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xufVxuXG4uc3BhY2luZy12ZXJ0aWNhbC14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItdmVydGljYWwteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbn1cblxuLnNwYWNpbmctdmVydGljYWwteHhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLXZlcnRpY2FsLXh4bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG59XG5cbi5zcGFjaW5nLWFsbC14eHNtYWxsIHtcbiAgICBtYXJnaW46IDVweDtcbn1cblxuLnNwYWNpbmctaW5uZXItYWxsLXh4c21hbGwge1xuICAgIHBhZGRpbmc6IDVweDtcbn1cblxuLnNwYWNpbmctYWxsLXhzbWFsbCB7XG4gICAgbWFyZ2luOiAxMHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1hbGwteHNtYWxsIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uc3BhY2luZy1hbGwtc21hbGwge1xuICAgIG1hcmdpbjogMjBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItYWxsLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uc3BhY2luZy1hbGwtbWVkaXVtIHtcbiAgICBtYXJnaW46IDQwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWFsbC1tZWRpdW0ge1xuICAgIHBhZGRpbmc6IDQwcHg7XG59XG5cbi5zcGFjaW5nLWFsbC1sYXJnZSB7XG4gICAgbWFyZ2luOiA2MHB4O1xufVxuXG4uc3BhY2luZy1pbm5lci1hbGwtbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDYwcHg7XG59XG5cbi5zcGFjaW5nLWFsbC14bGFyZ2Uge1xuICAgIG1hcmdpbjogODBweDtcbn1cblxuLnNwYWNpbmctaW5uZXItYWxsLXhsYXJnZSB7XG4gICAgcGFkZGluZzogODBweDtcbn1cblxuLnNwYWNpbmctYWxsLXh4bGFyZ2Uge1xuICAgIG1hcmdpbjogMTAwcHg7XG59XG5cbi5zcGFjaW5nLWlubmVyLWFsbC14eGxhcmdlIHtcbiAgICBwYWRkaW5nOiAxMDBweDtcbn1cblxuLnBhZGRpbmctbm9uZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLW5vbmUge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy10b3Atbm9uZSB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctcmlnaHQtbm9uZSB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFkZGluZy1ib3R0b20tbm9uZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnBhZGRpbmctbGVmdC1ub25lIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi10b3Atbm9uZSB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLXJpZ2h0LW5vbmUge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFyZ2luLWJvdHRvbS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXJnaW4tbGVmdC1ub25lIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4vKlxuLy8vLy8vLy8vLy8vLy8vL1xuLy8gVklTSUJJTElUWSAvL1xuLy8vLy8vLy8vLy8vLy8vL1xuKi9cbi5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbnNob3cgYW5kIGhpZGUgKGJyZWFrcG9pbnRzKVxuKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2hvdy1mb3Itc21hbGwtZG93biB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2hvdy1mb3ItbWVkaXVtLWRvd24ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5zaG93LWZvci1tZWRpdW0tdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5zaG93LWZvci1sYXJnZS11cCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5oaWRlLWZvci1zbWFsbC1kb3duIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuaGlkZS1mb3ItbWVkaXVtLXVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuaGlkZS1mb3ItbWVkaXVtLWRvd24ge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhpZGUtZm9yLWxhcmdlLXVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLypcbkxhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuKi9cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qXG4vLy8vLy8vLy8vLy8vL1xuLy8gRkxFWEdSSUQgLy9cbi8vLy8vLy8vLy8vLy8vXG4qL1xuLypcbmZsZXhib3ggaGVscGVyc1xuKi9cbi5jb2xsYXBzZS1zbWFsbC11cCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnNocmluay1zbWFsbC11cCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uYWxpZ24tbGVmdC1zbWFsbC11cCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tcmlnaHQtc21hbGwtdXAge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXItc21hbGwtdXAge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmFsaWduLXRvcC1zbWFsbC11cCB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uYWxpZ24tbWlkZGxlLXNtYWxsLXVwIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1ib3R0b20tc21hbGwtdXAge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1zdHJldGNoLXNtYWxsLXVwIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdHJldGNoO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5jb2xsYXBzZS1zbWFsbC1kb3duIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5zaHJpbmstc21hbGwtZG93biB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hbGlnbi1sZWZ0LXNtYWxsLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hbGlnbi1yaWdodC1zbWFsbC1kb3duIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmFsaWduLWNlbnRlci1zbWFsbC1kb3duIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYWxpZ24tdG9wLXNtYWxsLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hbGlnbi1taWRkbGUtc21hbGwtZG93biB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmFsaWduLWJvdHRvbS1zbWFsbC1kb3duIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmFsaWduLXN0cmV0Y2gtc21hbGwtZG93biB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5jb2xsYXBzZS1zbWFsbC1vbmx5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5zaHJpbmstc21hbGwtb25seSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hbGlnbi1sZWZ0LXNtYWxsLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hbGlnbi1yaWdodC1zbWFsbC1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmFsaWduLWNlbnRlci1zbWFsbC1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuYWxpZ24tdG9wLXNtYWxsLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hbGlnbi1taWRkbGUtc21hbGwtb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmFsaWduLWJvdHRvbS1zbWFsbC1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmFsaWduLXN0cmV0Y2gtc21hbGwtb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbGxhcHNlLW1lZGl1bS11cCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaHJpbmstbWVkaXVtLXVwIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWxpZ24tbGVmdC1tZWRpdW0tdXAge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFsaWduLXJpZ2h0LW1lZGl1bS11cCB7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFsaWduLWNlbnRlci1tZWRpdW0tdXAge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFsaWduLXRvcC1tZWRpdW0tdXAge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFsaWduLW1pZGRsZS1tZWRpdW0tdXAge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFsaWduLWJvdHRvbS1tZWRpdW0tdXAge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hbGlnbi1zdHJldGNoLW1lZGl1bS11cCB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5jb2xsYXBzZS1tZWRpdW0tZG93biB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuc2hyaW5rLW1lZGl1bS1kb3duIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmFsaWduLWxlZnQtbWVkaXVtLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hbGlnbi1yaWdodC1tZWRpdW0tZG93biB7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hbGlnbi1jZW50ZXItbWVkaXVtLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hbGlnbi10b3AtbWVkaXVtLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hbGlnbi1taWRkbGUtbWVkaXVtLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hbGlnbi1ib3R0b20tbWVkaXVtLWRvd24ge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYWxpZ24tc3RyZXRjaC1tZWRpdW0tZG93biB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuY29sbGFwc2UtbWVkaXVtLW9ubHkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5zaHJpbmstbWVkaXVtLW9ubHkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmFsaWduLWxlZnQtbWVkaXVtLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYWxpZ24tcmlnaHQtbWVkaXVtLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmFsaWduLWNlbnRlci1tZWRpdW0tb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hbGlnbi10b3AtbWVkaXVtLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYWxpZ24tbWlkZGxlLW1lZGl1bS1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzOGVtKSB7XG4gICAgLmFsaWduLWJvdHRvbS1tZWRpdW0tb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYWxpZ24tc3RyZXRjaC1tZWRpdW0tb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbGxhcHNlLWxhcmdlLXVwIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNocmluay1sYXJnZS11cCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFsaWduLWxlZnQtbGFyZ2UtdXAge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFsaWduLXJpZ2h0LWxhcmdlLXVwIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWxpZ24tY2VudGVyLWxhcmdlLXVwIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hbGlnbi10b3AtbGFyZ2UtdXAge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFsaWduLW1pZGRsZS1sYXJnZS11cCB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWxpZ24tYm90dG9tLWxhcmdlLXVwIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWxpZ24tc3RyZXRjaC1sYXJnZS11cCB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBzdHJldGNoO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG4uY29sbGFwc2UtbGFyZ2UtZG93biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnNocmluay1sYXJnZS1kb3duIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5hbGlnbi1sZWZ0LWxhcmdlLWRvd24ge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLXJpZ2h0LWxhcmdlLWRvd24ge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5hbGlnbi1jZW50ZXItbGFyZ2UtZG93biB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWxpZ24tdG9wLWxhcmdlLWRvd24ge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLmFsaWduLW1pZGRsZS1sYXJnZS1kb3duIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hbGlnbi1ib3R0b20tbGFyZ2UtZG93biB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmFsaWduLXN0cmV0Y2gtbGFyZ2UtZG93biB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0cmV0Y2g7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAtbXMtZmxleC1hbGlnbjogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb2xsYXBzZS1sYXJnZS1vbmx5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNocmluay1sYXJnZS1vbmx5IHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWxpZ24tbGVmdC1sYXJnZS1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hbGlnbi1yaWdodC1sYXJnZS1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xuICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWxpZ24tY2VudGVyLWxhcmdlLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFsaWduLXRvcC1sYXJnZS1vbmx5IHtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hbGlnbi1taWRkbGUtbGFyZ2Utb25seSB7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWxpZ24tYm90dG9tLWxhcmdlLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgICAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hbGlnbi1zdHJldGNoLWxhcmdlLW9ubHkge1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RyZXRjaDtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cbn1cblxuLypcbmZ1bGwgd2lkdGggcm93c1xuICovXG4ucm93LmZ1bGwtd2lkdGgge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuLypcbiAgSG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgY29udGFpbmVyXG4qL1xuLmhvcml6b250YWwtb3ZlcmZsb3cge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi5ob3Jpem9udGFsLW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zbGltLWNvbHVtbiB7XG4gICAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgfVxufVxuXG4ucm93LmVxdWFsLWhlaWdodCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzOHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzOHJlbTtcbn1cblxuLnJvdy5lcXVhbC1oZWlnaHQgLmNvbHVtbnMuY29sdW1ucy1zcGFjZXIge1xuICAgIG1heC13aWR0aDogMDtcbn1cblxuLnJvdy5lcXVhbC1oZWlnaHQgLmNvbHVtbnMuY29sdW1ucy1zcGFjZXIubWVkaXVtLWRvd24tdmVydGljYWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5yb3cuZXF1YWwtaGVpZ2h0IC5jb2x1bW5zLmNvbHVtbnMtc3BhY2VyLm1lZGl1bS1kb3duLXZlcnRpY2FsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTM4cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC45MzhyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hYnNvbHV0ZS1jZW50ZXItc21hbGwtZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45MzhlbSkge1xuICAgIC5hYnNvbHV0ZS1jZW50ZXItc21hbGwtb25seSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFic29sdXRlLWNlbnRlci1tZWRpdW0tdXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuYWJzb2x1dGUtY2VudGVyLW1lZGl1bS1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5hYnNvbHV0ZS1jZW50ZXItbWVkaXVtLW9ubHkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hYnNvbHV0ZS1jZW50ZXItbGFyZ2UtdXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hYnNvbHV0ZS1jZW50ZXItbGFyZ2Utb25seSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxufVxuXG4vKlxuLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFBPU0lUSU9OSU5HIC8vXG4vLy8vLy8vLy8vLy8vLy8vL1xuKi9cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucG9zaXRpb24tYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLypcbi8vLy8vLy8vLy8vLy8vL1xuLy8gS0VZRlJBTUVTIC8vXG4vLy8vLy8vLy8vLy8vLy9cbiovXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTM1JTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5PdXQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMjMlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMzMlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgOTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG4gICAgNDAlLCA0MyUge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yNXB4LCAwKTtcbiAgICB9XG4gICAgOTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gICAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB9XG4gICAgNjAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgfVxuICAgIDc1JSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgfVxuICAgIDkwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG4gICAgMTAlLCAyMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIH1cbiAgICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgfVxuICAgIDQwJSwgNjAlLCA4MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB9XG59XG5cbi8qXG4vLy8vLy8vLy8vLy8vLy8vXG4vLyBBTklNQVRJT05TIC8vXG4vLy8vLy8vLy8vLy8vLy8vXG4qL1xuLnRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb246IDFzO1xufVxuXG4uYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG59XG5cbi5hbmltYXRlZC5mYXN0IHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG4uYW5pbWF0ZWQuc2xvdyB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA5MDBtcztcbn1cblxuLnVuYW5pbWF0ZWQge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmJvdW5jZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG4uYm91bmNlLWluLXVwIHtcbiAgICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuLmZhZGUtaW4ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbi5mYWRlLW91dCB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbi5mYWRlLWluLXVwIHtcbiAgICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbi50YWRhIHtcbiAgICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLnJvdGF0ZS0xODAge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5zbGlkZS1kb3duIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgLyogSWYgYmxvY2sgaXMgYmlnZ2VyIHVzZSBhbm90aGVyIGNsYXNzIHRvIGNoYW5nZSBtYXgtaGVpZ2h0ICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbn1cblxuLnNsaWRlLXVwIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xufVxuXG4vKlxuLy8vLy8vLy8vL1xuLy8gTUlTQyAvL1xuLy8vLy8vLy8vL1xuKi9cbi8qXG56LWluZGV4XG4qL1xuLnotLmRlcHRoLTEge1xuICAgIHotaW5kZXg6IDExMDA7XG59XG5cbi56LS5kZXB0aC0yIHtcbiAgICB6LWluZGV4OiAxMjAwO1xufVxuXG4uei0uZGVwdGgtMyB7XG4gICAgei1pbmRleDogMTMwMDtcbn1cblxuLnotLmRlcHRoLTQge1xuICAgIHotaW5kZXg6IDE0MDA7XG59XG5cbi56LS5kZXB0aC01IHtcbiAgICB6LWluZGV4OiAxNTAwO1xufVxuXG4uei0uZGVwdGgtNiB7XG4gICAgei1pbmRleDogMTYwMDtcbn1cblxuLnotLmRlcHRoLTcge1xuICAgIHotaW5kZXg6IDE3MDA7XG59XG5cbi56LS5kZXB0aC04IHtcbiAgICB6LWluZGV4OiAxODAwO1xufVxuXG4uei0uZGVwdGgtOSB7XG4gICAgei1pbmRleDogMTkwMDtcbn1cblxuLypcbnNoYWRvd3NcbiovXG4uc2hhZG93IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbn1cblxuLnNoYWRvdy5kZXB0aC0xIHtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgLTEwcHggMzFweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xufVxuXG4uc2hhZG93LmRlcHRoLTIge1xuICAgIGJveC1zaGFkb3c6IDAgMTRweCAyMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIxKSwgMCAtNXB4IDIycHggMCByZ2JhKDAsIDAsIDAsIDAuMjEpO1xufVxuXG4uc2hhZG93LmRlcHRoLTMge1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCAzMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSwgMCAyMHB4IDMxcHggcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cblxuLnNoYWRvdy1ob3Zlci1kZXB0aC0xOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgLTEwcHggMzFweCByZ2JhKDAsIDAsIDAsIDAuMDQpICFpbXBvcnRhbnQ7XG59XG5cbi5zaGFkb3ctaG92ZXItZGVwdGgtMjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDIycHggMCByZ2JhKDAsIDAsIDAsIDAuMjEpLCAwIC01cHggMjJweCAwIHJnYmEoMCwgMCwgMCwgMC4yMSkgIWltcG9ydGFudDtcbn1cblxuLnNoYWRvdy1ob3Zlci1kZXB0aC0zOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDIwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgMjBweCAzMXB4IHJnYmEoMCwgMCwgMCwgMC4wNCkgIWltcG9ydGFudDtcbn1cblxuLypcbmZhZGVkXG4tIGZvciB1c2Ugd2hlbiBmZWF0dXJlcyBhcmUgc3RpbGwgaW4gZGV2ZWxvcG1lbXRcbi0gZmFkZXMgb3V0IGFuIGVsZW1lbnQgYW5kIHByZXZlbnRzIGFueSBjbGljayBmdW5jdGlvbmFsaXR5XG4qL1xuLmZhZGVkIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZhZGVkIGEsXG4uZmFkZWQgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgY29sb3I6ICMyMTIxMjE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uZmFkZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi8qXG5ib3JkZXJzXG4qL1xuLmJvcmRlciB7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNGNEY1RjY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG5cbi5ib3JkZXIuZGlzYWJsZWQge1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xufVxuXG4uYm9yZGVyLnByaW1hcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbn1cblxuLmJvcmRlci5zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogIzI3QjU4MTtcbn1cblxuLmJvcmRlci53YXJuaW5nIHtcbiAgICBib3JkZXItY29sb3I6ICNGRjY4N0Q7XG59XG5cbi5ib3JkZXIud2hpdGUge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLmJvcmRlci5ibGFjayB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjEyMTIxO1xufVxuXG4uYm9yZGVyLmxpZ2h0ZXJHcmF5IHtcbiAgICBib3JkZXItY29sb3I6ICNGNEY1RjY7XG59XG5cbi5ib3JkZXIubGlnaHRHcmF5IHtcbiAgICBib3JkZXItY29sb3I6ICNFMUUyRTM7XG59XG5cbi5ib3JkZXIubWVkaXVtR3JheSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQkNCREJEO1xufVxuXG4uYm9yZGVyLmRhcmtHcmF5IHtcbiAgICBib3JkZXItY29sb3I6ICM3NTc1NzU7XG59XG5cbi5ib3JkZXIucmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5ib3JkZXIucmFkaXVzLXRvcC1sZWZ0IHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG59XG5cbi5ib3JkZXIucmFkaXVzLXRvcC1yaWdodCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbn1cblxuLmJvcmRlci5yYWRpdXMtYm90dG9tLWxlZnQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDtcbn1cblxuLmJvcmRlci5yYWRpdXMtYm90dG9tLXJpZ2h0IHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xufVxuXG4ucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYm9yZGVyLW5hIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLypcbkxpbmsgb3ZlcmxheVxuVXNlZCB3aGVuIGl0J3MgbmVjZXNzYXJ5IHRvIGF2b2lkIG5lc3RpbmcgZWxlbWVudHMgd2l0aGluIGFuIDxBPiB0YWdcblxuLmxpbmstb3ZlcmxheVxuICBhLmxpbmstb3ZlcmxheV9fYW5jaG9yXG4gIC8vIC4uIGZpcnN0IGNoaWxkIGVsZW1lbnRcbiAgLy8gLi4gc2Vjb25kIGNoaWxkIGVsZW1lbnRcbiAgLy8gLi4gZXRjXG5cbiovXG4ubGluay1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5saW5rLW92ZXJsYXlfX2FuY2hvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xufVxuXG4vKlxuaW1hZ2VzXG4qL1xuaW1nLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5zdmcuaGVpZ2h0LWF1dG8ge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG5zdmcud2lkdGgtYXV0byB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmNlbnRlcmVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzOGVtKSB7XG4gICAgLmNlbnRlcmVkLXNtYWxsLWRvd24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM4ZW0pIHtcbiAgICAuY2VudGVyZWQtc21hbGwtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNlbnRlcmVkLW1lZGl1bS11cCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45MzhlbSkge1xuICAgIC5jZW50ZXJlZC1tZWRpdW0tZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM4ZW0pIHtcbiAgICAuY2VudGVyZWQtbWVkaXVtLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jZW50ZXJlZC1sYXJnZS11cCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNlbnRlcmVkLWxhcmdlLW9ubHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbn1cblxuLnBhc3N3b3JkLWhpbnQsIC5wYXNzd29yZC1oaW50LS1zdWNjZXNzIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbn1cblxuLnBhc3N3b3JkLWhpbnQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHRvcDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvc3Zncy9pY29ucy9jbG9zZS1yZWQuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4ucGFzc3dvcmQtaGludC0tc3VjY2Vzczo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgdG9wOiA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9zdmdzL2NoZWNrLW1hcmsuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xufVxuXG5zcGFuLnRleHQtbnVtYmVyIHN1cCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gICAgdG9wOiAwO1xufVxuXG4udG9vbHRpcC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50b29sdGlwLXdyYXBwZXIgLnRvb2x0aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNXB4O1xufVxuXG4uZ29vZ2xlLXJldmlld3MtaWNvbiB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLypcbiAgRmxpcCBpbWFnZXMgb3IgaWNvbnNcbiovXG4uZmxpcC12ZXJ0aWNhbCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xufVxuXG4uZmxpcC1ob3Jpem9udGFsIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG59XG5cbi8qXG4vLy8vLy8vLy8vLy8vLy9cbi8vIEtFWUZSQU1FUyAvL1xuLy8vLy8vLy8vLy8vLy8vXG4qL1xuQGtleWZyYW1lcyByb3RhdGUge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICBmb250LXNpemU6IDEzNSU7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluT3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDIzJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDMzJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDkwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuICAgIDQwJSwgNDMlIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIH1cbiAgICA3MCUge1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjVweCwgMCk7XG4gICAgfVxuICAgIDkwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAgIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgfVxuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgfVxuICAgIDYwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIH1cbiAgICA3NSUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIH1cbiAgICA5MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxuICAgIDEwJSwgMjAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB9XG4gICAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIH1cbiAgICA0MCUsIDYwJSwgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgfVxufVxuXG4uZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xufVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cbiIsIi8qXG4vLy8vLy8vLy8vLy8vL1xuLy8gU0VUVElOR1MgLy9cbi8vLy8vLy8vLy8vLy8vXG4qL1xuXG4vLyAgSHVkZGxlIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE1ldGVyXG4vLyAgMjQuIE9mZi1jYW52YXNcbi8vICAyNS4gT3JiaXRcbi8vICAyNi4gUGFnaW5hdGlvblxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcbi8vICAyOC4gUmV2ZWFsXG4vLyAgMjkuIFNsaWRlclxuLy8gIDMwLiBTd2l0Y2hcbi8vICAzMS4gVGFibGVcbi8vICAzMi4gVGFic1xuLy8gIDMzLiBUaHVtYm5haWxcbi8vICAzNC4gVGl0bGUgQmFyXG4vLyAgMzUuIFRvb2x0aXBcbi8vICAzNi4gVG9wIEJhclxuLy8gIDM3LiBBbmltYXRpb25cbi8vICAzOC4gTW9kYWxcbi8vICAzOS4gU2lkZWJhclxuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG5cbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzI3QjU4MSxcbiAgc2Vjb25kYXJ5OiAjMjdCNTgxLFxuICB0ZXJ0aWFyeTogIzJBMjg3QixcbiAgc3VjY2VzczogIzI3QjU4MSxcbiAgd2FybmluZzogI0ZGNjg3RCxcbiAgYWxlcnQ6ICNGRkRGMUEsXG4gIG9wdGlvbmFsOiAjRkY5OTAwLFxuICByZWFkeTogI0ZGOEU2OCxcbiAgc3RhdHVzOiAjQURFNEU1LFxuICBzdGF0dXNMaWdodDogI0RERUJGN1xuKTtcblxuJHdoaXRlOiAjRkZGRkZGO1xuJGxpZ2h0ZXItZ3JheTogI0Y0RjVGNjtcbiRsaWdodC1ncmF5OiAjRTFFMkUzO1xuJG1lZGl1bS1ncmF5OiAjQkNCREJEO1xuJGRhcmstZ3JheTogIzc1NzU3NTtcbiRibGFjazogIzIxMjEyMTtcbiRzbm93OiAjRkZGQ0ZDO1xuJHplYnJhOiAjRkFGQkZDO1xuJGxvZ2luLWJnOiAjRERFQkY3O1xuXG4kYmFja2dyb3VuZC13YXJuaW5nOiBsaWdodGVuKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksIDI1JSk7XG4kYmFja2dyb3VuZC1hbGVydDogbGlnaHRlbihtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSwgMjUlKTtcbiRiYWNrZ3JvdW5kLXByaW1hcnk6IGxpZ2h0ZW4obWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSwgNjUlKTtcbiRiYWNrZ3JvdW5kLWdyYXk6IGxpZ2h0ZW4oJGRhcmstZ3JheSwgNDAlKTtcblxuJGFsaWdubWVudHM6IChsZWZ0LCBjZW50ZXIsIHJpZ2h0LCBqdXN0aWZ5LCBtaWRkbGUpO1xuJGRpcmVjdGlvbnM6ICh1cCwgZG93biwgb25seSk7XG4kZm9udC1zaXplczogKCdoZWFkbGluZScsICdoMScsICdoMicsICdoMycsICdoNCcsICdzdWItaGVhZGxpbmUnLCAnc3ViLXRpdGxlJywgJ3RleHQteHNtYWxsJywgJ3RleHQtc21hbGwnLCAndGV4dC1tZWRpdW0nLCAndGV4dC1sYXJnZScsICd0ZXh0LW51bWJlcicsICd0ZXh0LXByaWNlJywgJ2xpc3QtdGljaycpO1xuXG4kc3BhY2luZ3M6IChcbiAgeHhzbWFsbDogNXB4LFxuICB4c21hbGw6IDEwcHgsXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDQwcHgsXG4gIGxhcmdlOiA2MHB4LFxuICB4bGFyZ2U6IDgwcHgsXG4gIHh4bGFyZ2U6IDEwMHB4LFxuKTtcblxuJGJveC1zaGFkb3dzOiAoXG4gIGRlcHRoLTE6ICgwIDEwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgLTEwcHggMzFweCByZ2JhKDAsMCwwLDAuMDQpKSxcbiAgZGVwdGgtMjogKDAgMTRweCAyMnB4IDAgcmdiYSgwLDAsMCwwLjIxKSwgMCAtNXB4IDIycHggMCByZ2JhKDAsMCwwLDAuMjEpKSxcbiAgZGVwdGgtMzogKDAgMjBweCAzMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSwgMCAyMHB4IDMxcHggcmdiYSgwLDAsMCwwLjA0KSlcbik7XG5cbiR6LWluZGV4ZXM6IChcbiAgZGVwdGgtMTogMTEwMCxcbiAgZGVwdGgtMjogMTIwMCxcbiAgZGVwdGgtMzogMTMwMCxcbiAgZGVwdGgtNDogMTQwMCxcbiAgZGVwdGgtNTogMTUwMCxcbiAgZGVwdGgtNjogMTYwMCxcbiAgZGVwdGgtNzogMTcwMCxcbiAgZGVwdGgtODogMTgwMCxcbiAgZGVwdGgtOTogMTkwMFxuKTtcblxuJGxpbmUtaGVpZ2h0czogKFxuICB4eHNtYWxsOiAwLjUsXG4gIHhzbWFsbDogMC44LFxuICBzbWFsbDogMSxcbiAgbWVkaXVtOiAxLjQ1LFxuICBsYXJnZTogMS42LFxuICB4bGFyZ2U6IDEuOSxcbiAgeHhsYXJnZTogM1xuKTtcblxuLy8gZWxlbWVudCBkZXB0aHNcbiR6LWluZGV4LWVsZW1lbnRzOiAoXG4gIGFwcC1uYXZiYXI6IG1hcC1nZXQoJHotaW5kZXhlcywgZGVwdGgtMSksXG4gIGFwcC1uYXZiYXItbW9iaWxlLXBhbmVsOiBtYXAtZ2V0KCR6LWluZGV4ZXMsIGRlcHRoLTIpXG4pO1xuXG5cbiRib2R5LWJhY2tncm91bmQ6ICRzbm93O1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuJGdsb2JhbC13ZWlnaHQtbGlnaHQ6IDMwMDtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtdGhpbjogNTAwO1xuJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IDcwMDtcbiRnbG9iYWwtd2VpZ2h0LXhib2xkOiA4MDA7XG5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXJhZGl1czogNHB4O1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuKTtcblxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4LFxuKTtcbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbik7XG4kaGVhZGVyLWNvbG9yOiAkYmxhY2s7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkc3BhY2luZ3MsIHNtYWxsKSk7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMjlweDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLCAkYm9keS1mb250LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAwcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGJsYWNrO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjUuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNi4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTEwMDtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC42OSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gMzcuIEFuaW1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuJGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4kYW5pbWF0aW9uLXRpbWluZzogY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSk7XG5cbi8vIDM4LiBNb2RhbFxuLy8gLS0tLS0tLS0tXG4kcmV2ZWFsLW1vZGFsLXNpemVzOiAoXG4gIHNtYWxsOiA0NjBweCxcbiAgbWVkaXVtOiA3NTBweCxcbiAgbGFyZ2U6IDEwNDBweCxcbik7XG5cbi8vIDM5LiBTaWRlYmFyXG4vLyAtLS0tLS0tLS0tLVxuJHNpZGViYXItd2lkdGg6IDU1cHg7XG4kc2lkZWJhci1wYWRkaW5nOiA2NXB4O1xuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuNC4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIFNldHRpbmdzXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxuXG4gIEBpZiAkcHJvdG90eXBlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vXG4vLyBCQVNFIC8vXG4vLy8vLy8vLy8vXG4qL1xuXG4vKlxuZm91bmRhdGlvbiBiYXNlICgmIG5vcm1hbGl6ZSlcbiovXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb250cyc7XG5AaW1wb3J0ICdmb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2xpc3RzJztcbkBpbXBvcnQgJ2xheW91dCc7XG5AaW1wb3J0ICd0YWJsZXMnO1xuIiwiLy8gSGVscGVyIGZ1bmN0aW9uIGZvciB0aGUgbm9ybWFsaXplKCkgbWl4aW4uXG5AZnVuY3Rpb24gX25vcm1hbGl6ZS1pbmNsdWRlKCRzZWN0aW9uLCAkZXhjbHVkZTogbnVsbCkge1xuICAvLyBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGVzIG5lZWRlZCBieSB0aGlzIGZ1bmN0aW9uLlxuICBAaWYgbm90IGdsb2JhbF92YXJpYWJsZV9leGlzdHMoX25vcm1hbGl6ZS1pbmNsdWRlKSB7XG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogKCkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiAoKSAhZ2xvYmFsO1xuICB9XG4gIC8vIFNpbmNlIHdlIGFyZSBnaXZlbiAyIHBhcmFtZXRlcnMsIHNldCB0aGUgZ2xvYmFsIHZhcmlhYmxlcy5cbiAgQGlmICRleGNsdWRlICE9IG51bGwge1xuICAgICRpbmNsdWRlOiAkc2VjdGlvbjtcbiAgICAvLyBTYXNzIGRvZXNuJ3QgaGF2ZSBzdGF0aWMgdmFyaWFibGVzLCBzbyB0aGUgd29yay1hcm91bmQgaXMgdG8gc3R1ZmYgdGhlc2VcbiAgICAvLyB2YWx1ZXMgaW50byBnbG9iYWwgdmFyaWFibGVzIHNvIHdlIGNhbiBhY2Nlc3MgdGhlbSBpbiBmdXR1cmUgY2FsbHMuXG4gICAgJF9ub3JtYWxpemUtaW5jbHVkZTogaWYodHlwZS1vZigkaW5jbHVkZSkgPT0gJ2xpc3QnLCAkaW5jbHVkZSwgKCRpbmNsdWRlKSkgIWdsb2JhbDtcbiAgICAkX25vcm1hbGl6ZS1leGNsdWRlOiBpZih0eXBlLW9mKCRleGNsdWRlKSA9PSAnbGlzdCcsICRleGNsdWRlLCAoJGV4Y2x1ZGUpKSAhZ2xvYmFsO1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICRzZWN0aW9uIGlzIGluIHRoZSAkaW5jbHVkZSBsaXN0LlxuICBAaWYgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgJHNlY3Rpb24pIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgLy8gSWYgJGluY2x1ZGUgaXMgc2V0IHRvIChhbGwpLCBtYWtlIHN1cmUgJHNlY3Rpb24gaXMgbm90IGluICRleGNsdWRlLlxuICBAZWxzZSBpZiBub3QgaW5kZXgoJF9ub3JtYWxpemUtZXhjbHVkZSwgJHNlY3Rpb24pIGFuZCBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCBhbGwpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZSgkaW5jbHVkZTogKGFsbCksICRleGNsdWRlOiAoKSkge1xuICAvLyBJbml0aWFsaXplIHRoZSBoZWxwZXIgZnVuY3Rpb24gYnkgcGFzc2luZyBpdCB0aGlzIG1peGluJ3MgcGFyYW1ldGVycy5cbiAgJGluaXQ6IF9ub3JtYWxpemUtaW5jbHVkZSgkaW5jbHVkZSwgJGV4Y2x1ZGUpO1xuXG4gIC8vIElmIHdlJ3ZlIGN1c3RvbWl6ZWQgYW55IGZvbnQgdmFyaWFibGVzLCB3ZSdsbCBuZWVkIGV4dHJhIHByb3BlcnRpZXMuXG4gIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweFxuICAgIG9yICRiYXNlLWxpbmUtaGVpZ2h0ICE9IDI0cHhcbiAgICBvciAkYmFzZS11bml0ICE9ICdlbSdcbiAgICBvciAkaDEtZm9udC1zaXplICE9IDIgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDItZm9udC1zaXplICE9IDEuNSAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDMtZm9udC1zaXplICE9IDEuMTcgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDQtZm9udC1zaXplICE9IDEgICAgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDUtZm9udC1zaXplICE9IDAuODMgKiAkYmFzZS1mb250LXNpemVcbiAgICBvciAkaDYtZm9udC1zaXplICE9IDAuNjcgKiAkYmFzZS1mb250LXNpemUge1xuICAgICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZG9jdW1lbnQpIHtcbiAgICAvKiBEb2N1bWVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAgICAgKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gICAgICovXG5cbiAgICBodG1sIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLy8gQ29ycmVjdCBvbGQgYnJvd3NlciBidWcgdGhhdCBwcmV2ZW50ZWQgYWNjZXNzaWJsZSByZXNpemluZyBvZiB0ZXh0XG4gICAgICAgIC8vIHdoZW4gcm9vdCBmb250LXNpemUgaXMgc2V0IHdpdGggcHggb3IgZW0uXG4gICAgICAgIGZvbnQtc2l6ZTogKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpICogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgICAgIH1cbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNlY3Rpb25zKSB7XG4gICAgLyogU2VjdGlvbnNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBib2R5IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGFydGljbGUsXG4gICAgYXNpZGUsXG4gICAgZm9vdGVyLFxuICAgIGhlYWRlcixcbiAgICBuYXYsXG4gICAgc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zLiAqL1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgxLWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMC42N2VtIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgyLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg0LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg1LWZvbnQtc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIGg2IHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCwgJGg2LWZvbnQtc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShncm91cGluZykge1xuICAgIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cblxuICAgICAgZGwsXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICovXG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG5cbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGZpZ2NhcHRpb24sXG4gICAgZmlndXJlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAgICAgKi9cblxuICAgIGZpZ3VyZSB7XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDFlbSAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuXG4gICAgaHIge1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICAgIGhlaWdodDogMDsgLyogMSAqL1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIG1haW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgIC8qKlxuICAgICAgICogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAqL1xuXG4gICAgICBwLFxuICAgICAgcHJlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgcHJlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGxpbmtzKSB7XG4gICAgLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAgICAgKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGE6YWN0aXZlLFxuICAgIGE6aG92ZXIge1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHRleHQpIHtcbiAgICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuXG4gICAgZGZuIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1YixcbiAgICBzdXAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICBzdWIge1xuICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICB0b3A6IC0wLjVlbTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGVtYmVkZGVkKSB7XG4gICAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGF1ZGlvLFxuICAgIHZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICAgICAqL1xuXG4gICAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgc3ZnOm5vdCg6cm9vdCkge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGZvcm1zKSB7XG4gICAgLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgbWFyZ2luOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBidXR0b24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7IC8qIDEgKi9cbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cblxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi9cblxuICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuXG4gICAgaW5wdXQge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuXG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi9cblxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgICAgbWFyZ2luOiAwIDJweDtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplKCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vIFxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiAoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpKSAvICgkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgY2xpcC1wYXRoOiBub25lO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiXG4vKlxuLy8vLy8vLy8vLy8vXG4vLyBHTE9CQUwgLy9cbi8vLy8vLy8vLy8vL1xuKi9cblxuLypcbmdsb2JhbCB0YWdzXG4qL1xuXG5odG1sLCBib2R5IHtcbiAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbn1cblxuYSB7XG4gIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG5cbiAgdHJhbnNpdGlvbjogYWxsICRhbmltYXRpb24tZHVyYXRpb24gJGFuaW1hdGlvbi10aW1pbmc7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBvcGFjaXR5LCBib3gtc2hhZG93O1xuXG4gICYuYnV0dG9uLCAmLnRleHQtbGFyZ2UsICYucm93LCAmLnVuc3R5bGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLnVuc3R5bGVkIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbmJ1dHRvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAkYW5pbWF0aW9uLWR1cmF0aW9uICRhbmltYXRpb24tdGltaW5nO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eSwgYm94LXNoYWRvdztcbn1cblxuc3VwIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICB0b3A6IDA7XG4gIGZvbnQtc2l6ZTogMC41ZW07XG59XG5cbi5ociB7XG4gIGJvcmRlci10b3A6ICRoci1ib3JkZXI7XG59XG5cbi8vICBwcmljZSBsb2FkaW5nIHNwaW5uZXJcbi5wcmljZS1sb2FkaW5nIC5wbGVhc2Utd2FpdCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBsZWFzZS13YWl0IHtcbiAgei1pbmRleDogLTE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOTUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UtaW4tb3V0O1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMTAwcHg7XG4gIH1cbn1cblxuLypcbmhpZGUgc3ZnIGRlZmluaXRpb24gY29udGFpbmVyXG4qL1xuXG4uc3ZnLWRlZnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vL1xuLy8gRk9OVFMgLy9cbi8vLy8vLy8vLy8vXG4qL1xuXG5cbi8qXG5GT05UIElDT05TXG4qL1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdodWRkbGUnO1xuICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9odWRkbGUvaHVkZGxlLmVvdD83NTE5OTA0NScpO1xuICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9odWRkbGUvaHVkZGxlLmVvdD83NTE5OTA0NSNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICB1cmwoJy9hc3NldHMvZm9udHMvaHVkZGxlL2h1ZGRsZS53b2ZmMj83NTE5OTA0NScpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJy9hc3NldHMvZm9udHMvaHVkZGxlL2h1ZGRsZS53b2ZmPzc1MTk5MDQ1JykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCcvYXNzZXRzL2ZvbnRzL2h1ZGRsZS9odWRkbGUudHRmPzc1MTk5MDQ1JykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnL2Fzc2V0cy9mb250cy9odWRkbGUvaHVkZGxlLnN2Zz83NTE5OTA0NSNodWRkbGUnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vIC8vIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC5cbi8vIC8vIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjApIHtcbi8vICAgQGZvbnQtZmFjZSB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICdodWRkbGUnO1xuLy8gICAgIHNyYzogdXJsKCcuLi9mb250L2h1ZGRsZS5zdmc/NzUxOTkwNDUjaHVkZGxlJykgZm9ybWF0KCdzdmcnKTtcbi8vICAgfVxuLy8gfVxuXG4laHVkZGxlLWljb24tYmFzZSB7XG4gIGZvbnQtZmFtaWx5OiAnaHVkZGxlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBzcGVhazogbm9uZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLy8gZm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzXG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAvLyBmaXggYnV0dG9ucyBoZWlnaHQsIGZvciB0d2l0dGVyIGJvb3RzdHJhcFxuICBsaW5lLWhlaWdodDogMWVtO1xuXG4gIC8vIGFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljXG4gIG1hcmdpbi1sZWZ0OiAuMmVtO1xuXG4gIC8vIGZvbnQgc21vb3RoaW5nXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl06YmVmb3JlLCBbY2xhc3MqPVwiIGljb24tXCJdOmJlZm9yZSB7XG4gIEBleHRlbmQgJWh1ZGRsZS1pY29uLWJhc2U7XG59XG5cbi5pY29uLXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9IC8qICfuoIAnICovXG4uaWNvbi1jYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9IC8qICfuoIEnICovXG4uaWNvbi1jaGF0OmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9IC8qICfuoIInICovXG4uaWNvbi1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDMnOyB9IC8qICfuoIMnICovXG4uaWNvbi1vay1jaXJjbGVkMjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA0JzsgfSAvKiAn7qCEJyAqL1xuLmljb24tY2FuY2VsLWNpcmNsZWQyOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDUnOyB9IC8qICfuoIUnICovXG4uaWNvbi1vay1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDYnOyB9IC8qICfuoIYnICovXG4uaWNvbi1jYW5jZWwtY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAnXFxlODA3JzsgfSAvKiAn7qCHJyAqL1xuLmljb24tcGx1cy1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDgnOyB9IC8qICfuoIgnICovXG4uaWNvbi1taW51cy1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDknOyB9IC8qICfuoIknICovXG4uaWNvbi1lcnJvcjpiZWZvcmUgeyBjb250ZW50OiAnXFxlODBhJzsgfSAvKiAn7qCKJyAqL1xuLmljb24tbWFpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogJ1xcZjBlMCc7IH0gLyogJ++DoCcgKi9cbi5pY29uLWRvYy10ZXh0LWludjpiZWZvcmUgeyBjb250ZW50OiAnXFxmMTVjJzsgfSAvKiAn74WcJyAqL1xuLmljb24tYXR0ZW50aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MGInOyB9IC8qICfuoIsnICovXG4iLCIvKlxuLy8vLy8vLy8vLy9cbi8vIEZPUk1TIC8vXG4vLy8vLy8vLy8vL1xuKi9cblxuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuXG4lZmllbGQtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLmZpZWxkX19pY29uICsgc2VsZWN0LFxuLmZpZWxkX19pY29uICsgdGV4dGFyZWEge1xuICBAZXh0ZW5kICVmaWVsZC1pY29uO1xufVxuXG5AZWFjaCAkaW5wdXQgaW4gKHRleHQtaW5wdXRzKCkpIHtcbiAgLmZpZWxkX19pY29uICsgI3skaW5wdXR9IHtcbiAgICBAZXh0ZW5kICVmaWVsZC1pY29uO1xuICB9XG59XG5cbi5maWVsZF9faWNvbi0tcmlnaHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cblxuI3t0ZXh0LWlucHV0cygpfSwgdGV4dGFyZWEsIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBoZWlnaHQ6IDIuNnJlbTtcbiAgcGFkZGluZzogLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICB9XG5cbiAgLmlzLWVycm9yICYge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgfVxuXG4gICYubmctaW52YWxpZDpub3QoLm5nLXByaXN0aW5lKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICB9XG59XG5cbiN7dGV4dC1pbnB1dHMoKX0sIHRleHRhcmVhLCBzZWxlY3Qge1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgfVxufVxuXG4je3RleHQtaW5wdXRzKCl9LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgJltyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxudGV4dGFyZWEsIHRleHRhcmVhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xufVxuXG4uZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuICAucXVvdGUtcGFnZXMgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICB9XG4gIC5zdWJmb3JtICYge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgfVxufVxuXG5sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHNwYWNpbmdzLCB4eHNtYWxsKTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xufVxuXG4uZmllbGQtc3VidGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIGxpbmUtaGVpZ2h0OiAxLjg1O1xufVxuXG4uZmllbGRfX2ljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjNweDtcbiAgbGVmdDogMTBweDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgei1pbmRleDogMTtcbn1cblxuLmZpZWxkX19pY29uLS1icmFpbnRyZWUge1xuICB0b3A6IC0zMnB4O1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cblxuLy8gRGlzYWJsZWQgSW5wdXRzXG4uZGlzYWJsZWQsXG5bZGlzYWJsZWRdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5maWVsZF9fZmVlZGJhY2tXcmFwIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0O1xuICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAuZmllbGRfX2ljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDdweDtcbiAgICBsZWZ0OiA3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAuZmllbGQtLXNlbGVjdCAmIHtcbiAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZDpub3QoLmhhcy1mZWVkYmFjaykgLmZpZWxkX19mZWVkYmFja1dyYXAge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gRmVlZGJhY2tcblxuLmZpZWxkX19mZWVkYmFjayB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTJweDtcbiAgei1pbmRleDogOTtcbiAgcGFkZGluZzogMC4zcmVtIDA7XG5cbiAgLmlzLWVycm9yICYge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLmZpZWxkX19lcnJvciB7XG4gICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICB9XG59XG5cbnNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL3N2Z3MvaWNvbi1hcnJvdy1kb3duLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTBweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vLyBkcmFnIGFuZCBkcm9wIGlucHV0XG4uZHJhZy1uLWRyb3AtdXBsb2FkLWJveCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIC5kcmFnLW4tZHJvcC11cGxvYWQtaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2RyYWctbi1kcm9wLnBuZykgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuXG4gICYuZHJhZ292ZXIge1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICB9XG59XG5cbi8vIGNvbXBhY3QgZm9ybSBzdHlsZXNcbi5mb3JtLWNvbXBhY3Qge1xuICAje3RleHQtaW5wdXRzKCl9LCBzZWxlY3Qge1xuICAgIGhlaWdodDogMi40cmVtO1xuICAgIHBhZGRpbmc6IDAgbWFwLWdldCgkc3BhY2luZ3MsIHhzbWFsbCk7XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogN3JlbTtcbiAgfVxuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc3BhY2luZ3MsIHh4c21hbGwpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICAmLnNoYWRvdyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgICAmLmJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHNwYWNpbmdzLCB4c21hbGwpO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzcGFjaW5ncywgeHhzbWFsbCk7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG4gIG1kLXNlbGVjdCB7XG4gICAgcGFkZGluZzogNHB4O1xuICB9XG4gIG1kLWlucHV0LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc3BhY2luZ3MsIHhzbWFsbCk7XG4gIH1cbiAgW2NsYXNzKj1cImZpZWxkX1wiXSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICB9XG4gIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5maWVsZF9kb2Ige1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgaHIge1xuICAgIG1hcmdpbjogbWFwLWdldCgkc3BhY2luZ3MsIHh4c21hbGwpIDAgbWFwLWdldCgkc3BhY2luZ3MsIHNtYWxsKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tZC10YWJsZSAubWQtYm9keSA+IC5tZC1yb3csIC5tZC10YWJsZSAubWQtaGVhZCA+IC5tZC1yb3cge1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIHRoLCB0ZCB7XG4gICAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLm1kLWRhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbiAgLmZpZWxkX2RhdGVfdGltZSAubGF5b3V0LXJvdyBtZC1zZWxlY3Qge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgfVxuICAubWQtYnV0dG9uLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuLmV4cGFuZGVkLWZpZWxkIHtcbiAgLmZpZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZpZWxkLS10ZWwge1xuICBpbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiA5M3B4O1xuICB9XG59XG5cbi5jb3VudHJ5LWNvZGUtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiA5M3B4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDQycHg7XG59XG5cbi5jb3VudHJ5LWNvZGUtd3JhcHBlci1kaWFsY29kZSB7XG4gIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIG1hcmdpbi10b3A6IDFweDtcbiAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgb3Blbi1ibHVlKTtcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcblxuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtbGlnaHRlbiBbMTAlXSAtIExpZ2h0bmVzcyBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtbGlnaHRlbjogMTAlXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJGJhY2tncm91bmQsICR3aGl0ZSwgJGJhY2tncm91bmQtbGlnaHRlbik7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vLy8vLy9cbi8vIFRZUE9HUkFQSFkgLy9cbi8vLy8vLy8vLy8vLy8vLy9cbiovXG5cbi8qXG5DVVNUT00gRk9OVFNcbiovXG5cbiVoZWFkZXItc3R5bGVzIHtcbiAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gIG1hcmdpbjogMCAwICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgaCN7JGl9LCAuaCN7JGl9IHtcbiAgICBAZXh0ZW5kICVoZWFkZXItc3R5bGVzO1xuICB9XG59XG5cbmgxLCAuaDEge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG5oMiwgLmgyIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cblxuaDMsIC5oMyB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1zZW1pYm9sZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xNztcbn1cblxuaDQsIC5oNCB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMxO1xufVxuXG4uaGVhZGxpbmUge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgY29sb3I6ICRibGFjaztcbiAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKC0yLjIpO1xuICBsaW5lLWhlaWdodDogMS4wNTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBmb250LXNpemU6IDU1cHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xuICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgfVxufVxuXG4uc3ViLWhlYWRsaW5lIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygtMC43Nyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0O1xufVxuXG4uc3ViLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoLTAuNTMpO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udGV4dC14c21hbGwge1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE2Nztcbn1cblxuLnRleHQtc21hbGwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU3Mjtcbn1cblxuLy8gTkI6XG4vLyBPbmx5IHVzZSB0aGlzIGNsYXNzIHRvIG92ZXJ3cml0ZSBpbmhlcml0ZWQgcGFyZW50IHN0eWxlcy5cbi8vIFRoZXNlIHN0eWxlcyBhcmUgYWxyZWFkeSBvbiB0aGUgYm9keSBhbmQgYWN0cyBhcyB0aGUgYmFzZSBmb3IgYWxsIHR5cG9ncmFwaHlcbi50ZXh0LW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG59XG5cbi50ZXh0LWxhcmdlIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICBmb250LXNpemU6IDIzcHg7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGxldHRlci1zcGFjaW5nOiByZW0tY2FsYygtMC43KTtcbiAgbGluZS1oZWlnaHQ6IDEuNDM7XG59XG5cbi50ZXh0LW51bWJlciB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBjb2xvcjogJGJsYWNrO1xuICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoLTEuOTIpO1xuICBmb250LXNpemU6IDM0cHg7XG5cbiAgJi54eHNtYWxsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbiAgJi54c21hbGwge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgfVxuICAmLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKC0xKTtcbiAgfVxuICAmLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gIH1cbiAgLy8gcHJlcGVuZHMgc3VwZXJzY3JpcHQgZG9sbGFyXG4gICYucHJpY2Uge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICckJztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgIGZvbnQtc2l6ZTogLjVlbTtcbiAgICB9XG4gICAgZW0ge1xuICAgICAgZm9udC1zaXplOiAwLjRlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG4gICAgfVxuICB9XG4gIC50ZXh0LXNtYWxsIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qXG5URVhUIEhFTFBFUlNcbiovXG4udGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4udGV4dC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50ZXh0LXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udGV4dC11bmRlcmxpbmUtbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi50ZXh0LWxvd2VyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLnRleHQtdXBwZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGV4dC1jYXBpdGFsaXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG59XG5cbi50ZXh0LWNhcHMge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLnRleHQtb3ZlcmZsb3cge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRleHQtbm8td3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udGV4dC13cmFwLW5vcm1hbCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbn1cbi50ZXh0LXN1cGVyIHtcbiAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xufVxuLnRleHQtc3ViIHtcbiAgdmVydGljYWwtYWxpZ246IHN1Yjtcbn1cbi50ZXh0LXN0cmlrZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuLnRleHQtdGVydGlhcnkge1xuICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG59XG5cbiRmb250LXdlaWdodHM6IChcbiAgJ2xpZ2h0JzogJGdsb2JhbC13ZWlnaHQtbGlnaHQsXG4gICdub3JtYWwnOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwsXG4gICd0aGluJzogJGdsb2JhbC13ZWlnaHQtdGhpbixcbiAgJ3NlbWlib2xkJzogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQsXG4gICdib2xkJzogJGdsb2JhbC13ZWlnaHQtYm9sZCxcbiAgJ3hib2xkJzogJGdsb2JhbC13ZWlnaHQtYm9sZFxuKTtcblxuLy8gZm9udCB3ZWlnaHRzXG5AZWFjaCAkbmFtZSwgJHZhbHVlIGluICRmb250LXdlaWdodHMge1xuICAudGV4dC0jeyRuYW1lfSB7XG4gICAgZm9udC13ZWlnaHQ6ICR2YWx1ZTtcbiAgfVxufVxuXG4vKlxuVEVYVCBBTElHTk1FTlRcbiovXG5cbi8vIGxvb3BzIHRocm91Z2ggZ2xvYmFsIGFsaWdubWVudHMsIGJyZWFrcG9pbnRzIGFuZFxuLy8gZGlyZWN0aW9ucyB0byBjcmVhdGUgZWFjaCB0ZXh0IGFsaWdubWVudCBjbGFzc1xuQGVhY2ggJGFsaWdubWVudCBpbiAkYWxpZ25tZW50cyB7XG4gIC50ZXh0LSN7JGFsaWdubWVudH0ge1xuICAgIHRleHQtYWxpZ246ICRhbGlnbm1lbnQ7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkZGlyZWN0aW9ucyB7XG4gICAgICAvLyBza2lwIGlmIChzbWFsbCB1cCkgb3IgKGxhcmdlIGRvd24pXG4gICAgICBAaWYgbm90ICgkYnJlYWtwb2ludCA9PSAnc21hbGwnIGFuZCAkZGlyZWN0aW9uID09ICd1cCcpIGFuZCBub3QgKCRicmVha3BvaW50ID09ICdsYXJnZScgYW5kICRkaXJlY3Rpb24gPT0gJ2Rvd24nKSB7XG4gICAgICAgIC50ZXh0LSN7JGFsaWdubWVudH0tI3skYnJlYWtwb2ludH0tI3skZGlyZWN0aW9ufSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCAkZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ25tZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxuVEVYVCBDT0xPUlxuKi9cblxuLy8gbG9vcCB0aHJvdWdoIGVhY2ggZm9udCBzaXplIGFuZCBvdmVycmlkZSBkZWZhdWx0IGNvbG9yIHdpdGhcbi8vIHdoaXRlIGlmIGluc2lkZSBhIGRpdiB3aXRoIHRoZSBgLmRhcmtgIGNsYXNzXG4uZGFyayB7XG4gIEBlYWNoICRmb250LXNpemUgaW4gJGZvbnQtc2l6ZXMge1xuICAgIC4jeyRmb250LXNpemV9IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG4gIHAsXG4gIHAgYSxcbiAgZGl2LFxuICBzcGFuLFxuICBsYWJlbCxcbiAgbGkge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuJHRleHQtY29sb3JzOiAoXG4gIHByaW1hcnk6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSksXG4gIHNlY29uZGFyeTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLFxuICBhbGVydDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCksXG4gIHN1Y2Nlc3M6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcyksXG4gIGRhcmstZ3JheTogJGRhcmstZ3JheSxcbiAgbWVkaXVtLWdyYXk6ICRtZWRpdW0tZ3JheVxuKTtcblxuQGVhY2ggJGtleSwgJHZhbHVlIGluICR0ZXh0LWNvbG9ycyB7XG4gIC50ZXh0LSN7JGtleX0ge1xuICAgIGNvbG9yOiAkdmFsdWU7XG4gIH1cbn1cblxuLypcblRFWFQgTUlTQ1xuKi9cblxuLypcblRFWFQgQ0FQU1VMRVxuKi9cblxuJHRleHQtY2Fwc3VsZS1jb2xvcnM6IChcbiAgZGVmYXVsdDogJG1lZGl1bS1ncmF5LFxuICBwcmltYXJ5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpLFxuICBzZWNvbmRhcnk6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSxcbiAgd2FybmluZzogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSxcbiAgYWxlcnQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpLFxuICBzdGF0dXM6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3RhdHVzTGlnaHQpLFxuKTtcblxuJHRleHQtY2Fwc3VsZS1zaXplczogKFxuICBzbWFsbDogMTFweCxcbiAgZGVmYXVsdDogMTZweCxcbiAgbGFyZ2U6IDIwcHgsXG4pO1xuXG4udGV4dC1jYXBzdWxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogJGJsYWNrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCR0ZXh0LWNhcHN1bGUtc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICogNDtcbiAgcGFkZGluZzogKG1hcC1nZXQoJHRleHQtY2Fwc3VsZS1zaXplcywgZGVmYXVsdCkvNCkgKG1hcC1nZXQoJHRleHQtY2Fwc3VsZS1zaXplcywgZGVmYXVsdCkqMS4yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGV4dC1jYXBzdWxlLWNvbG9ycywgZGVmYXVsdCk7XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJHRleHQtY2Fwc3VsZS1jb2xvcnMsIGRlZmF1bHQpIHtcbiAgICAmLiN7JGtleX0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgIH1cbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkdGV4dC1jYXBzdWxlLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgJi4jeyRrZXl9IHtcbiAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgcGFkZGluZzogKCR2YWx1ZSAvIDMpICgkdmFsdWUgKiAxLjIpO1xuICAgIH1cbiAgfVxufVxuXG4uYnVwYS1vZmZlci1jYXBzdWxlIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAqIDQ7XG4gIHBhZGRpbmc6IChtYXAtZ2V0KCR0ZXh0LWNhcHN1bGUtc2l6ZXMsIGRlZmF1bHQpLzQpIChtYXAtZ2V0KCR0ZXh0LWNhcHN1bGUtc2l6ZXMsIGRlZmF1bHQpKjEuMik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjM5MDc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4vKlxuTElORSBIRUlHSFRTXG4qL1xuXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGxpbmUtaGVpZ2h0cyB7XG4gIC5saW5lLWhlaWdodC0jeyRrZXl9IHtcbiAgICBsaW5lLWhlaWdodDogJHZhbHVlO1xuICB9XG59XG5cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qXG5UQUJMRVNcbiovXG5cbnRhYmxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnByZSB7XG4gIGZvbnQtc2l6ZTogMTAuNXB4O1xuICBsaW5lLWhlaWdodDogMTAuNXB4O1xuICAmLmZpeGVkIHtcbiAgICBtYXgtaGVpZ2h0OiAyMGVtO1xuICAgIG1heC13aWR0aDogNjBlbTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogI2VlZTtcbiAgfVxuICAmLnRhbGwge1xuICAgIG1heC1oZWlnaHQ6IDYwZW07XG4gIH1cbn1cblxucHJlLmZpeGVkOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWF4LXdpZHRoOiA3cHg7XG4gIG1heC1oZWlnaHQ6IDdweDtcbn1cblxucHJlLmZpeGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjUpO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgfVxuICAkLXpmLXNpemU6IG50aCgkdmFsdWUsIDEpICFnbG9iYWw7IC8vIGdldCB0aGUgZmlyc3QgdmFsdWUgdG8gYWNjb3VudCBmb3IgYG9ubHlgIGFuZCBgZG93bmAga2V5d29yZHNcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkb2xkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgLy8gUmVzdG9yZSB0aGUgb2xkIGJyZWFrcG9pbnQgc2l6ZVxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICQtemYtc2l6ZTogbnVsbCAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGxhc3QgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRrZXkpIHtcbiAgJGxpc3Q6ICgpO1xuICAkZm91bmRfa2V5OiBmYWxzZTtcblxuICBAZWFjaCAkbmFtZSBpbiAkLXpmLWJyZWFrcG9pbnRzLWtleXMge1xuICAgIEBpZiAoJG5hbWUgPT0gJGtleSkge1xuICAgICAgJGZvdW5kX2tleTogdHJ1ZTtcbiAgICB9XG4gICAgQGlmIG5vdCAkZm91bmRfa2V5IHtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRuYW1lKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbmcgLSBhIG5hbWVkIG9yIG5vbi1uYW1lZCBicmVha3BvaW5nLlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgJGxhc3Q6ICQtemYtemVyby1icmVha3BvaW50O1xuICAkZm91bmQ6IGZhbHNlO1xuXG4gICR2YWx1ZTogdW5pdGxlc3MtY2FsYygkYnJlYWtwb2ludCwgMXB4KTtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgIEBpZiB1bml0bGVzcy1jYWxjKCR2YWwpID4gJHZhbHVlIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRsYXN0OiAka2V5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJGxhc3Q7XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0IHJlZ2FyZGxlc3Mgb2YgYCR2YWx1ZWAuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgbWFwIGFuZCBkb2VzICpub3QqIGhhdmUgdGhlIGJyZWFrcG9pbnQsIHRoZSB2YWx1ZSBtYXRjaGluZyB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBpbiB0aGUgY29uZmlnIG1hcCBpcyByZXR1cm5lZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIFJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIElmIHRoZSBnaXZlbiBtYXAgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdFxuICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkbWFwO1xuICB9XG5cblxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkdmFsdWU6IC16Zi1jbG9zZXN0LW5hbWVkLWJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiXG4vKlxuLy8vLy8vLy8vLy9cbi8vIExJU1RTIC8vXG4vLy8vLy8vLy8vL1xuKi9cblxudWwge31cbmxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4lbGlzdC11bnN0eWxlZCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubGlzdC1pbmxpbmUge1xuICBAZXh0ZW5kICVsaXN0LXVuc3R5bGVkO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5AZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gJGRpcmVjdGlvbnMge1xuICAgIC8vIHNraXAgaWYgKHNtYWxsIHVwKSBvciAobGFyZ2UgZG93bilcbiAgICBAaWYgbm90ICgkYnJlYWtwb2ludCA9PSAnc21hbGwnIGFuZCAkZGlyZWN0aW9uID09ICd1cCcpIGFuZCBub3QgKCRicmVha3BvaW50ID09ICdsYXJnZScgYW5kICRkaXJlY3Rpb24gPT0gJ2Rvd24nKSB7XG4gICAgICAubGlzdC1pbmxpbmUtI3skYnJlYWtwb2ludH0tI3skZGlyZWN0aW9ufSB7XG4gICAgICAgIEBleHRlbmQgJWxpc3QtdW5zdHlsZWQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQgJGRpcmVjdGlvbikge1xuXG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5saXN0LXVuc3R5bGVkIHtcbiAgQGV4dGVuZCAlbGlzdC11bnN0eWxlZDtcbn1cblxuLmxpc3QtZGlzYyB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxuLmxpc3QtdGljayB7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuODE7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBsaSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTM2cHg7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL3N2Z3MvdGljay5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAmLm9wdGlvbmFsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyBcXDI1Q0YnO1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxlZnQ6IC0zM3B4O1xuICAgICAgICB0b3A6IC0yNXB4O1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zbWFsbCB7XG4gICAgbGkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWVkaXVtIHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGxlZnQ6IC0zMXB4O1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGxlZnQ6IC0zNXB4O1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIC8vIGxlZnQ6IC0zNnB4O1xuICAgICAgICAvLyB0b3A6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL3N2Z3MvY2hlY2stc3VjY2Vzcy5zdmcnKTtcbiAgICAgICAgLy8gaGVpZ2h0OiAyMHB4O1xuICAgICAgICAvLyB3aWR0aDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3QtY2lyY2xlLXRpY2sge1xuICBsaSB7XG4gICAgcGFkZGluZzogMTBweCA0MHB4IDEwcHggMHB4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvc3Zncy9yZWRlc2lnbi9jb21tb24vY2hlY2std2l0aC1jaXJjbGUuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmRhcmsgJiB7XG4gICAgbGkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvc3Zncy9yZWRlc2lnbi9jb21tb24vY2hlY2std2l0aC1jaXJjbGUtd2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmJhbm5lci1mZWF0dXJlLWxpc3QubGlzdC1jaXJjbGUtdGljayB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAzMHB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy9cbi8vIExBWU9VVCAvL1xuLy8vLy8vLy8vLy8vXG4qL1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuXG4uY29sdW1uLmNvbGxhcHNlLWxlZnQsXG4uY29sdW1ucy5jb2xsYXBzZS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG5ib2R5IHtcbiAgcGFkZGluZy1sZWZ0OiAkc2lkZWJhci13aWR0aCAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICBodG1sLCBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLmFwcC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuYXBwLW1haW4sXG4gIC5hcHAtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cbiAgLmFwcC1tYWluIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLmFwcC1tYWluX19pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgfVxufVxuXG4uZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zZWFyY2gtcGFuZWwuc2VhcmNoLXBhbmVsLnNlYXJjaC1wYW5lbCB7XG4gIG1heC13aWR0aDogbm9uZTtcblxuICBpbnB1dCB7XG4gICAgaGVpZ2h0OiAyLjhyZW07XG4gIH1cbiAgLnNlYXJjaC1idXR0b24ge1xuICAgIGhlaWdodDogMi44cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBGbGV4Ym94IFV0aWxpdGllc1xuLy8vL1xuLy9cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciB0aGUgY291bnQgb2Ygc291cmNlIG9yZGVyaW5nYFxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50OiA2ICFkZWZhdWx0O1xuXG4vLy8gUXVpY2tseSBkaXNhYmxlL2VuYWJsZSBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBWYW5pbGxhIEZsZXggSGVscGVycy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlICFkZWZhdWx0O1xuXG5AbWl4aW4gZmxleC1oZWxwZXJzIHtcbiAgLmZsZXgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAuZmxleC1kaXItI3skZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWdyb3cge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgICAgICAgICAgLiN7JHNpemV9LWZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbigkcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2xlZnQnLCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwubWVudSA+IGxpID4gYSB7IFxuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2VudHJhbCBhbGlnbm1lbnQgb2YgY29udGVudFxuICAuYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogY2VudGVyLCAkeTogbWlkZGxlKTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZhbmlsbGEgRmxleGJveCBIZWxwZXJzXG4gIEBpbmNsdWRlIGZsZXgtaGVscGVycztcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiYXNlOiB0cnVlLFxuICAkd3JhcDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuICAkd3JhcDogaWYoJHdyYXAsIHdyYXAsIG5vd3JhcCk7XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyAkd3JhcDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMsICRiYXNlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENhbGN1bGF0ZXMgdGhlIGBmbGV4YCBwcm9wZXJ0eSBmb3IgYSBmbGV4IGdyaWQgY29sdW1uLiBJdCBhY2NlcHRzIGFsbCBvZiB0aGUgc2FtZSB2YWx1ZXMgYXMgdGhlIGJhc2ljIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgYWxvbmcgd2l0aCB0d28gZXh0cmFzOlxuLy8vICAgLSBgZXhwYW5kYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBleHBhbmQpIHtcbiAgJGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG5cbiAgQGlmICRjb2x1bW5zID09IHNocmluayB7XG4gICAgJGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIEBlbHNlIGlmICRjb2x1bW5zICE9IGV4cGFuZCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtleHBhbmRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzIHdpZHRoLiBTZWUgdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXJgIG1peGluLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBleHBhbmQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIEBpbmNsdWRlIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zKTtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IGV4cGFuZCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgd2lkdGggZmxleCBncmlkIGNvbHVtbi5cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGZsZXgtZ3JpZC1zaXplKCRjb2x1bW5zOiBudWxsKSB7XG4gICRjb2x1bW5zOiAkY29sdW1ucyBvciBleHBhbmQ7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBleHBhbmQgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWdyaWQge1xuICAvLyBSb3dcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdztcblxuICAgIC8vIE5lc3RpbmcgYmVoYXZpb3JcbiAgICAmIC5yb3cge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVuZG8gbmVnYXRpdmUgbWFyZ2luc1xuICAgIC8vIEZyb20gY29sbGFwc2VkIGNoaWxkXG4gICAgJi5pcy1jb2xsYXBzZS1jaGlsZCxcbiAgICAmLmNvbGxhcHNlID4gLmNvbHVtbiA+IC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAucm93IC5jb2x1bW4ucm93LnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2l6aW5nIChzaHJpbmspXG4gIC5zaHJpbmsge1xuICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLmNvbHVtbi1ibG9jayB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIEBleHRlbmQgLmNvbHVtbjsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBwbGFjZWhvbGRlci1pbi1leHRlbmRcblxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJGd1dHRlciBbYXV0b11cbi8vLyAgIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBndXR0ZXIgdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkZ3V0dGVycyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkZ3V0dGVycyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLWd1dHRlcihcbiAgJGd1dHRlcjogYXV0byxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkZ3V0dGVyLCAkZ3V0dGVycykge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoMCk7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZ3JpZC1jb2x1bW4tZ3V0dGVyKCkuIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbC1ndXR0ZXIoKS4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIlxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRhYmxlIHRkLFxudGFibGUgdGgge1xuICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5ncywgeHhzbWFsbCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRhYmxlIHRoIHtcbiAgY29sb3I6ICRibGFjaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjVmNjtcbn1cblxuLnJlc3VsdHMtdGFibGUge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cbiAgLmJyZWFkY3J1bWItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgYnJlYWRjcnVtYnMge1xuICAgIC5yb3cge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgICAuY29sdW1uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG5cbnRhYmxlIC5sYXN0LXRhYmxlcm93e1xuICB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgfVxufVxuIiwiXG4vKlxuLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ09NUE9ORU5UUyAvL1xuLy8vLy8vLy8vLy8vLy8vL1xuKi9cblxuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdjaGVja2JveGVzJztcbkBpbXBvcnQgJ3JhZGlvLWJ1dHRvbnMnO1xuQGltcG9ydCAnYmxvY2tzJztcbkBpbXBvcnQgJ2ljb25zJztcbkBpbXBvcnQgJ292ZXJsYXknO1xuQGltcG9ydCAnc2lkZWJhcic7XG5AaW1wb3J0ICdtZXNzYWdlcyc7XG5AaW1wb3J0ICdiYW5uZXJzJztcbkBpbXBvcnQgJ2xvYWRlcnMnO1xuIiwiXG4vKlxuLy8vLy8vLy8vLy8vL1xuLy8gQlVUVE9OUyAvL1xuLy8vLy8vLy8vLy8vL1xuKi9cblxuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5cbiRidXR0b24tcGFsZXR0ZTogKFxuICBub3JtYWw6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSksXG4gIGFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLFxuICBob3ZlcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCksXG4gIHRlcnRpYXJ5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KSxcbiAgYWxlcnQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpLFxuICBwcmVzc2VkOiBkYXJrZW4obWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAxMCUpLFxuICBkaXNhYmxlZDogJGxpZ2h0LWdyYXksXG4gIHdhcm5pbmc6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksXG4gIHdhcm5pbmctaG92ZXI6IGRhcmtlbihtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpLCA1JSksXG4gIHdhcm5pbmctcHJlc3NlZDogZGFya2VuKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksIDEwJSksXG4pO1xuXG4kYnV0dG9uLXNpemVzOiAoXG4gIHh4c21hbGw6IDEycHgsXG4gIHhzbWFsbDogMTJweCxcbiAgc21hbGw6IDE0cHgsXG4gIGRlZmF1bHQ6IDE2cHgsXG4gIGxhcmdlOiAxOXB4LFxuKTtcblxuJGJ1dHRvbi1pY29uLXNwYWNpbmdzOiAoXG4gIHh4c21hbGw6IDFweCxcbiAgeHNtYWxsOiAycHgsXG4gIHNtYWxsOiA0cHgsXG4gIGRlZmF1bHQ6IDZweCxcbiAgbGFyZ2U6IDhweCxcbik7XG5cbiRidXR0b24tcGFkZGluZy1tYXA6IChcbiAgeHhzbWFsbDogMTBweCAxMHB4LFxuICB4c21hbGw6IDEwcHggMTJweCxcbiAgc21hbGw6IDEwcHggMjVweCxcbiAgZGVmYXVsdDogMTRweCAyNXB4LFxuICBsYXJnZTogMTZweCAyNXB4LFxuKTtcblxuLmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGJ1dHRvbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgcGFkZGluZzogbWFwLWdldCgkYnV0dG9uLXBhZGRpbmctbWFwLCBkZWZhdWx0KTtcblxuICB0cmFuc2l0aW9uOiBhbGwgJGFuaW1hdGlvbi1kdXJhdGlvbiAkYW5pbWF0aW9uLXRpbWluZztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHksIGJveC1zaGFkb3c7XG5cbiAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAmLiN7JHNpemV9IHtcbiAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgcGFkZGluZzogbWFwLWdldCgkYnV0dG9uLXBhZGRpbmctbWFwLCAkc2l6ZSk7XG5cbiAgICAgIG1kLWljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJGJ1dHRvbi1pY29uLXNwYWNpbmdzLCAkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgICYuYnV0dG9uLW5vd3JhcCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJ1dHRvbi1wYWRkaW5nLW1hcCwgJHNpemUpIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5yZXNwb25zaXZlIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsICRicmVha3BvaW50KTtcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkYnV0dG9uLXBhZGRpbmctbWFwLCAkYnJlYWtwb2ludCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5leHBhbmRlZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxuXG4gICYuZGVidWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgfVxuXG4gICYuZGRlYnVnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzBweDtcbiAgICByaWdodDogLTMwcHg7XG4gICAgei1pbmRleDogOTk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG4gIC5maWVsZHNldC13cmFwcGVyICYuZGVidWcge1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgfVxuICAuZmllbGRzZXQtd3JhcHBlciAmLmRkZWJ1ZyB7XG4gICAgcmlnaHQ6IC00MHB4O1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gJGRpcmVjdGlvbnMge1xuICAgICAgLy8gc2tpcCBpZiAoc21hbGwgdXApIG9yIChsYXJnZSBkb3duKVxuICAgICAgQGlmIG5vdCAoJGJyZWFrcG9pbnQgPT0gJ3NtYWxsJyBhbmQgJGRpcmVjdGlvbiA9PSAndXAnKSBhbmQgbm90ICgkYnJlYWtwb2ludCA9PSAnbGFyZ2UnIGFuZCAkZGlyZWN0aW9uID09ICdkb3duJykge1xuICAgICAgICAmLmV4cGFuZGVkLSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQgJGRpcmVjdGlvbikge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmNhcHN1bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgKiA0O1xuICAgIHBhZGRpbmc6IG1hcC1nZXQoJHNwYWNpbmdzLCB4eHNtYWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgaG92ZXIpO1xuICB9XG59XG5cbi8qXG5yZW1vdmluZyB1bmRlcmxpbmUgZnJvbSBsaW5rIGJ1dHRvbnNcbiovXG5hLmJ1dHRvbiB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vKlxucHJpbWFyeSBidXR0b25zXG4qL1xuXG4uYnV0dG9uLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgbm9ybWFsKTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBtZC1pY29uIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCBhY3RpdmUpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCBob3Zlcik7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGhvdmVyKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHByZXNzZWQpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGRpc2FibGVkKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbi5idXR0b24ud2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgd2FybmluZy1ob3Zlcik7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCB3YXJuaW5nLXByZXNzZWQpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cblxuLypcbnNlY29uZGFyeSBidXR0b25zXG4qL1xuXG4uYnV0dG9uLnNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCBub3JtYWwpO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgbm9ybWFsKTtcblxuICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIG5vcm1hbCk7XG4gIG1kLWljb24ge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgbm9ybWFsKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGhvdmVyKTtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgbWQtaWNvbiB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHByZXNzZWQpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgcHJlc3NlZCk7XG5cbiAgICBtZC1pY29uIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRidXR0b24tcGFsZXR0ZSwgcHJlc3NlZCk7XG4gICAgfVxuICB9XG5cbiAgJi53YXJuaW5nIHtcbiAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGRpc2FibGVkKTtcbiAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGRpc2FibGVkKTtcblxuICAgIG1kLWljb24ge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCBkaXNhYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgLmRhcmsgJiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIG1kLWljb24ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLypcbnRlcnRpYXJ5IGJ1dHRvbnNcbiovXG5cbi5idXR0b24udGVydGlhcnkge1xuICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogMnB4O1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAvLyBtZC1pY29uIHtcbiAgICAvLyAgIGNvbG9yOiAkYmxhY2s7XG4gICAgLy8gfVxuICB9XG5cbiAgJi53YXJuaW5nIHtcbiAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgbWQtaWNvbiB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYubm8tdHJhbnNmb3JtIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5kYXJrICYge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBoZWlnaHQ6IDMuNTYycmVtO1xuICBwYWRkaW5nOiAuODc1cmVtO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGFjdGl2ZSk7XG4gICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkYnV0dG9uLXBhbGV0dGUsIGFjdGl2ZSk7XG4gIH1cbiAgJi5hY3RpdmUua25vY2tvdXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ1dHRvbi1wYWxldHRlLCBhbGVydCk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkO1xuICB9XG59XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpmaXJzdC1jaGlsZCArIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG59XG5cbi5idXR0b24tZ3JvdXAuc3F1YXJlIC5idXR0b24ge1xuICB3aWR0aDogMy41NjJyZW07XG59XG5cbi5idXR0b24tZ3JvdXAuc2VwZXJhdGUgLmJ1dHRvbiB7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAqIDI7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRzcGFjaW5nOiAkYnV0dG9uZ3JvdXAtc3BhY2luZ1xuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgICYsXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkKCRjb2xvciwgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsZWFyIHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBjbGVhciB7XG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcblxuICAgICAgICAgICAgJiwgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAmLFxuICAgICAgICAgICAgICAmLmRpc2FibGVkLFxuICAgICAgICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cbiAgYS5idXR0b24ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJcbiRjaGVja2JveC1ib3JkZXItYmc6ICRibGFjaztcbiRjaGVja2JveC1hY3RpdmUtYmc6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRjaGVja2JveC1pbmFjdGl2ZS1iZzogJHdoaXRlO1xuJGNoZWNrYm94LWNoZWNrLWNvbG9yOiAkYmxhY2s7XG4kY2hlY2tib3gtdGV4dC1jb2xvcjogJGJsYWNrO1xuXG4uY2hlY2tib3gge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogbWFwLWdldCgkc3BhY2luZ3MsIHNtYWxsKTtcbiAgaGVpZ2h0OiBtYXAtZ2V0KCRzcGFjaW5ncywgc21hbGwpO1xuICBmb250LXNpemU6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAkYW5pbWF0aW9uLXRpbWluZyAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICBib3JkZXI6IDJweCBzb2xpZCAkY2hlY2tib3gtYm9yZGVyLWJnO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAvIDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1pbmFjdGl2ZS1iZztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDUlO1xuICAgIGhlaWdodDogODAlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY2hlY2tib3gtY2hlY2stY29sb3I7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGNoZWNrYm94LWNoZWNrLWNvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjMpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAyNSU7XG4gICAgdG9wOiAtMiU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGFuaW1hdGlvbi10aW1pbmcgJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoZWNrYm94LWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRjaGVja2JveC1hY3RpdmUtYmc7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDBkZWcpIHNjYWxlKDEpO1xuICAgIH1cbiAgfVxufVxuXG4uY2hlY2tib3hfX2xhYmVsIHtcbiAgLmNoZWNrYm94IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHNwYWNpbmdzLCB4c21hbGwpO1xuICB9XG59XG5cbi5jaGVja2JveF9fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogJGNoZWNrYm94LXRleHQtY29sb3I7XG59XG5cbi5jaGVja2JveF9fdGV4dC0tbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWxpZ2h0O1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbn1cblxuLmNoZWNrYm94IHtcbiAgJi5tZWRpdW0ge1xuICAgIHdpZHRoOiBtYXAtZ2V0KCRzcGFjaW5ncywgbWVkaXVtKTtcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJHNwYWNpbmdzLCBtZWRpdW0pO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogM3B4O1xuICAgIH1cbiAgfVxufVxuIiwiXG4vKlxuLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUkFESU8gQlVUVE9OUyAvL1xuLy8vLy8vLy8vLy8vLy8vLy8vL1xuKi9cblxuJHJhZGlvLWRpbTogMjBweDtcbiRyYWRpby1kaW0tYWN0aXZlOiAkcmFkaW8tZGltIC8gMjtcblxuJHJhZGlvLWJvcmRlci13aWR0aDogMnB4O1xuJHJhZGlvLWJvcmRlci1jb2xvcjogJGJsYWNrO1xuJHJhZGlvLWJvcmRlci1jb2xvci1mb2N1czogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHJhZGlvLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiRyYWRpby1hbmltYXRlOiB0cnVlO1xuJHJhZGlvLXRleHQtY29sb3I6ICRibGFjaztcblxuLnJhZGlvLWJ1dHRvbiB7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiAkcmFkaW8tZGltO1xuICBoZWlnaHQ6ICRyYWRpby1kaW07XG4gIGZvbnQtc2l6ZTogMDtcbiAgYm9yZGVyOiAkcmFkaW8tYm9yZGVyLXdpZHRoIHNvbGlkICRyYWRpby1ib3JkZXItY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAkYW5pbWF0aW9uLXRpbWluZyAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHJhZGlvLWJvcmRlci1jb2xvci1mb2N1cztcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHJhZGlvLWRpbS1hY3RpdmU7XG4gICAgaGVpZ2h0OiAkcmFkaW8tZGltLWFjdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWJhY2tncm91bmQtY29sb3I7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtKCRyYWRpby1kaW0tYWN0aXZlIC8gMik7XG4gICAgbWFyZ2luLWxlZnQ6IC0oJHJhZGlvLWRpbS1hY3RpdmUgLyAyKTtcblxuICAgIC5kYXJrICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIEBpZiAoJHJhZGlvLWFuaW1hdGUgPT0gdHJ1ZSkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkYW5pbWF0aW9uLXRpbWluZyAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICRyYWRpby1ib3JkZXItY29sb3ItZm9jdXM7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgQGlmICgkcmFkaW8tYW5pbWF0ZSA9PSB0cnVlKSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLmRhcmsgLnJhZGlvLWJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cbiAgfVxufVxuXG5cbi5yYWRpby1idXR0b24td3JhcCB7XG4gIGxpbmUtaGVpZ2h0OiAkcmFkaW8tZGltICogMS4yNTtcbiAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHNwYWNpbmdzLCBzbWFsbCkgLyA0O1xuICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjaW5ncywgc21hbGwpIC8gNDtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc3BhY2luZ3MsIHNtYWxsKSAvIDQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHNwYWNpbmdzLCBzbWFsbCk7XG4gIH1cblxuICAucmFkaW8tYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHNwYWNpbmdzLCBzbWFsbCk7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICB9XG5cbiAgJi5hY3RpdmUge1xuXG4gIH1cblxuICAmLmZpbGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnR3by1saW5lIHtcbiAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgfVxufVxuXG4ucmFkaW8tYnV0dG9uX19sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgLmJ1dHRvbi5yYWRpbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRzcGFjaW5ncywgc21hbGwpO1xuICB9XG59XG5cbi5yYWRpby1idXR0b25fX3RleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICRjaGVja2JveC10ZXh0LWNvbG9yO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufSIsIlxuLypcbi8vLy8vLy8vLy8vL1xuLy8gQkxPQ0tTIC8vXG4vLy8vLy8vLy8vLy9cbiovXG5cbiRibG9jay1wYWxldHRlOiAoXG4gIGRlZmF1bHQ6ICR3aGl0ZSxcbiAgZ3JheTogJGxpZ2h0LWdyYXksXG4gIGxpZ2h0LWdyYXk6ICRsaWdodGVyLWdyYXksXG4gIHN1Y2Nlc3M6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcyksXG4gIHdhcm5pbmc6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksXG4gIG9wdGlvbmFsOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG9wdGlvbmFsKSxcbiAgYWxlcnQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpLFxuKTtcblxuQG1peGluIGh1ZGRsZS1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJsb2NrLXBhbGV0dGUsIGRlZmF1bHQpO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4O1xuICB9XG59XG5cbi5ibG9jayB7XG4gIEBpbmNsdWRlIGh1ZGRsZS1ibG9jaztcbn1cblxuLy8gYmxvY2sgY29sb3JzXG5AZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRibG9jay1wYWxldHRlLCBkZWZhdWx0KSB7XG4gIC5ibG9jay4jeyRsYWJlbH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZTtcbiAgfVxufVxuXG4vLyBibG9jayBzcGFjaW5nXG5AZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiAkc3BhY2luZ3Mge1xuICAuYmxvY2suI3skbGFiZWx9IHtcbiAgICBwYWRkaW5nOiAoJHZhbHVlICogMS4zKSAkdmFsdWU7XG4gIH1cbiAgLmJsb2NrLiN7JGxhYmVsfS5zcXVhcmVwYWQge1xuICAgIHBhZGRpbmc6ICgkdmFsdWUgKiAxKSAkdmFsdWU7XG4gIH1cbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQsICRweCBpbiAkYnJlYWtwb2ludHMge1xuICBAZWFjaCAkZGlyZWN0aW9uIGluICRkaXJlY3Rpb25zIHtcbiAgICBAZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiAkc3BhY2luZ3Mge1xuICAgICAgLy8gc2tpcCBpZiAoc21hbGwgdXApIG9yIChsYXJnZSBkb3duKVxuICAgICAgQGlmIG5vdCAoJGJyZWFrcG9pbnQgPT0gJ3NtYWxsJyBhbmQgJGRpcmVjdGlvbiA9PSAndXAnKSBhbmQgbm90ICgkYnJlYWtwb2ludCA9PSAnbGFyZ2UnIGFuZCAkZGlyZWN0aW9uID09ICdkb3duJykge1xuICAgICAgICAuYmxvY2suI3skbGFiZWx9LSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQgJGRpcmVjdGlvbikge1xuICAgICAgICAgICAgcGFkZGluZzogKCR2YWx1ZSAqIDEuMykgJHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmxvY2suI3skbGFiZWx9LSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0uc3F1YXJlcGFkIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50ICRkaXJlY3Rpb24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkdmFsdWUgKiAxKSAkdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0b3AtZGVjay1ibG9ja3Mge1xuICAuYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuICAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5ncywgbWVkaXVtKSBtYXAtZ2V0KCRzcGFjaW5ncywgc21hbGwpIG1hcC1nZXQoJHNwYWNpbmdzLCBtZWRpdW0pO1xuICB9XG5cbiAgLnRleHQtc21hbGwgKiB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AbWl4aW4gc2lkZS1kZWNrLWJsb2NrcyB7XG4gIC5ibG9jazpudGgtY2hpbGQoMSkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIC5ibG9jazpudGgtY2hpbGQoMikge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi50b3AtZGVjay1ibG9ja3Mge1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaW5jbHVkZSB0b3AtZGVjay1ibG9ja3M7XG59XG5cbi5zaWRlLWRlY2stYmxvY2tzIHtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGluY2x1ZGUgc2lkZS1kZWNrLWJsb2Nrcztcbn1cblxuLnRvcHNpZGUtZGVjay1ibG9ja3Mge1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBzaWRlLWRlY2stYmxvY2tzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgQGluY2x1ZGUgdG9wLWRlY2stYmxvY2tzO1xuICB9XG59XG5cbi8vIGVkZ2UgY2FzZSBzdHlsaW5nIGFjcm9zcyBzaXRlXG4uYmxvY2suYm9yZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cblxuLypcbkh1ZGRsZXMgYmFubmVyIHdpdGggaW1hZ2UgYmFja2dyb3VuZFxuKi9cbi5ibG9jay5odWRkbGUtYmFubmVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgY2VudGVyL2NvdmVyIG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vXG4vLyBJQ09OUyAvL1xuLy8vLy8vLy8vLy9cbiovXG5cbiRpY29uLXNpemVzOiAoXG4gIHh4c21hbGw6IChcbiAgICB3aWR0aDogMTVweCxcbiAgICBoZWlnaHQ6IDE1cHgsXG4gICksXG4gIHhzbWFsbDogKFxuICAgIHdpZHRoOiAyMHB4LFxuICAgIGhlaWdodDogMjBweCxcbiAgKSxcbiAgc21hbGxlcjogKFxuICAgIHdpZHRoOiAzMHB4LFxuICAgIGhlaWdodDogMzBweCxcbiAgKSxcbiAgc21hbGw6IChcbiAgICB3aWR0aDogNDBweCxcbiAgICBoZWlnaHQ6IDQwcHgsXG4gICksXG4gIG1lZGl1bTogKFxuICAgIHdpZHRoOiA2MHB4LFxuICAgIGhlaWdodDogNjBweCxcbiAgKSxcbiAgbGFyZ2U6IChcbiAgICB3aWR0aDogMTAwcHgsXG4gICAgaGVpZ2h0OiAxMDBweCxcbiAgKSxcbiAgeGxhcmdlOiAoXG4gICAgd2lkdGg6IDE2MHB4LFxuICAgIGhlaWdodDogMTYwcHgsXG4gICksXG4gIHh4bGFyZ2U6IChcbiAgICB3aWR0aDogMzAwcHgsXG4gICAgaGVpZ2h0OiAzMDBweCxcbiAgKSxcbiAgZmlsbDogKFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIGhlaWdodDogMTAwJSxcbiAgKSxcbik7XG5cbi8vIGxvb3AgYW5kIGNyZWF0ZSBpY29uIHNpemUgY2xhc3Nlc1xuQGVhY2ggJGxhYmVsLCAkbWFwIGluICRpY29uLXNpemVzIHtcbiAgLmljb24ge1xuICAgICYuI3skbGFiZWx9IHtcbiAgICAgIHdpZHRoOiBtYXAtZ2V0KCRtYXAsIHdpZHRoKTtcbiAgICAgIGhlaWdodDogbWFwLWdldCgkbWFwLCBoZWlnaHQpO1xuICAgIH1cblxuICAgICYuI3skbGFiZWx9LXdpZHRoIHtcbiAgICAgIHdpZHRoOiBtYXAtZ2V0KCRtYXAsIHdpZHRoKTtcbiAgICB9XG5cbiAgICAmLiN7JGxhYmVsfS1oZWlnaHQge1xuICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtYXAsIGhlaWdodCk7XG4gICAgfVxuICB9XG59XG5cbiRpY29uLWNvbG9yczogKFxuICBwcmltYXJ5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpLFxuICBzZWNvbmRhcnk6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSxcbiAgYmxhY2s6ICRibGFjayxcbiAgd2hpdGU6ICR3aGl0ZSxcbik7XG5cbi8vIGxvb3AgYW5kIGNyZWF0ZSBpY29uIGZpbGwgY2xhc3Nlc1xuQGVhY2ggJGxhYmVsLCAkdmFsdWUgaW4gJGljb24tY29sb3JzIHtcbiAgLmljb24ge1xuICAgICYuI3skbGFiZWx9IHtcbiAgICAgIGZpbGw6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmljb24sIC5pY29uLWluZm8ge1xuICBhICYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuJHN0cm9rZS13aWR0aHM6IChcbiAgMTogMC4xLFxuICAyOiAwLjIsXG4gIDM6IDAuMyxcbiAgNDogMC40LFxuICA1OiAwLjUsXG4gIDY6IDAuNixcbiAgNzogMC43LFxuICA4OiAwLjgsXG4gIDk6IDAuOSxcbiAgMTA6IDEuMCxcbik7XG5cbnN2ZyB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3Ryb2tlLXdpZHRocyB7XG4gICAgJi5zdHJva2UtI3ska2V5fSB7XG4gICAgICBzdHJva2U6ICRibGFjaztcbiAgICAgIHN0cm9rZS13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vLy9cbi8vIE9WRVJMQVkgLy9cbi8vLy8vLy8vLy8vLy9cbiovXG5cbmJvZHkubW9kYWwtb3BlbiB7fVxuXG4vLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuaHRtbC5tb2RhbC1vcGVuLFxuaHRtbC5tb2RhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ucmV2ZWFsLW1vZGFsLWJnIHtcbiAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXhlcywgZGVwdGgtMik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbiRyZXZlYWwtbW9kYWwtcGFsZXR0ZTogKFxuICB3aGl0ZTogcmdiYSgkd2hpdGUsIDAuOTApLFxuICBibGFjazogcmdiYSgkYmxhY2ssIDAuNjkpLFxuKTtcblxuLnJldmVhbC1tb2RhbCB7XG4gIC8vIEBleHRlbmQgLnJldmVhbDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXhlcywgZGVwdGgtMyk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIEBlYWNoICRsYWJlbCwgJHZhbHVlIGluICRyZXZlYWwtbW9kYWwtcGFsZXR0ZSB7XG4gICAgJi4jeyRsYWJlbH0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIHJlcXVpcmVzICduZy5kZXZpY2VEZXRlY3RvcidcbiAgLmRldmljZS1pcGhvbmUgJiB7XG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XG5cbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2IHtcbiAgICBwYWRkaW5nOiA0MHB4IDEwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgcGFkZGluZzogODBweCA0MHB4O1xuICAgIH1cbiAgfVxufVxuXG4kcmV2ZWFsLW1vZGFsLWNvbnRlbnQtcGFsZXR0ZTogKFxuICB3aGl0ZTogJHdoaXRlLFxuICBsaWdodEdyYXk6ICRsaWdodC1ncmF5LFxuKTtcblxuLnJldmVhbC1tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJveC1zaGFkb3dzLCBkZXB0aC0zKTtcbiAgei1pbmRleDogbWFwLWdldCgkei1pbmRleGVzLCBkZXB0aC00KTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIG91dGxpbmU6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgLmRldmljZS1pcGhvbmUgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG1hcmdpbjogMCBhdXRvIGF1dG8gMDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cblxuICBAZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiAkcmV2ZWFsLW1vZGFsLWNvbnRlbnQtcGFsZXR0ZSB7XG4gICAgJi4jeyRsYWJlbH0ge1xuICAgICAgYmFja2dyb3VuZDogJHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRsYWJlbCwgJHZhbHVlIGluICRyZXZlYWwtbW9kYWwtc2l6ZXMge1xuICAgICYuI3skbGFiZWx9IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgd2lkdGg6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgQGlmICRsYWJlbCA9PSAnc21hbGwnIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICB3aWR0aDogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXZlYWwtbW9kYWwtY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBoZWlnaHQ6IDE4cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogMjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IC0yNXB4O1xuICB9XG5cbiAgc3ZnIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gIH1cbn1cblxuLy8gYW5pbWF0aW9uXG4vL1xuXG4ucmV2ZWFsLW1vZGFsLWJnLmZhZGUsXG4ucmV2ZWFsLW1vZGFsLmZhZGUge1xuICBvcGFjaXR5OiAwO1xufVxuLnJldmVhbC1tb2RhbC1iZy5mYWRlLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbi5yZXZlYWwtbW9kYWwuZmFkZS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLWRlbGF5OiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xufVxuLnJldmVhbC1tb2RhbC1iZy5mYWRlLmluLFxuLnJldmVhbC1tb2RhbC5mYWRlLmluIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG5cbi8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiXG4uc2lkZWJhci1zbGlkZS1vdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcblxuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0byBhdXRvIDA7XG4gIHdpZHRoOiAzMTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGJveC1zaGFkb3c6IDFweCAycHggMTJweCAwIHJnYmEoMCwwLDAsMC4xMyk7XG5cbiAgLy8gSGlkZSBzY3JvbGxiYXIgZm9yIHRoZSBxdW90ZSBzaWRlYmFyIG1vZGFsXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vL1xuLy8gQ0FMTE9VVFMgLy9cbi8vLy8vLy8vLy8vLy8vXG5cbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcblxuLmNhbGxvdXQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXI6IG5vbmU7XG5cbiAgJi5zbGltIHtcbiAgICBwYWRkaW5nOiAwLjNlbTtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgcCwgLnRleHQtbWVkaXVtLCAudGV4dC1zbWFsbCB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgQGVhY2ggJGZvbnQtc2l6ZSBpbiAoaGVhZGxpbmUsIGgxLCBoMiwgaDMsIGg0LCBzdWItaGVhZGxpbmUsIHN1Yi10aXRsZSkge1xuICAgICAgLiN7JGZvbnQtc2l6ZX0ge1xuICAgICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICBAZWFjaCAkZm9udC1zaXplIGluICRmb250LXNpemVzIHtcbiAgICAgIC4jeyRmb250LXNpemV9IHtcbiAgICAgICAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgLmNhbGxvdXQuI3skbGFiZWx9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWU7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy8vXG4vLyBCQU5ORVJTIC8vXG4vLy8vLy8vLy8vLy8vXG4qL1xuXG4uYmFubmVyc19faW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnVsLmJhbm5lci1mZWF0dXJlLWxpc3Qge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy9cbi8vIExPQURFUlMgLy9cbi8vLy8vLy8vLy8vL1xuKi9cblxuLnByaWNlLWJveC1sb2FkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG5cbiAgc3ZnIHtcbiAgICBzdHJva2U6ICRibGFjaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy8vL1xuLy8gTUFURVJJQUwgLy9cbi8vLy8vLy8vLy8vLy8vXG4qL1xuXG5AaW1wb3J0ICdjb3JlJztcbkBpbXBvcnQgJ2lucHV0JztcbkBpbXBvcnQgJ2ljb25zJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnZGF0YS10YWJsZSc7XG5AaW1wb3J0ICd0aW1lLXBpY2tlcic7XG5AaW1wb3J0ICdvdmVycmlkZXMnO1xuIiwiLyohXG4gKiBBbmd1bGFySlMgTWF0ZXJpYWwgRGVzaWduXG4gKiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9tYXRlcmlhbFxuICogQGxpY2Vuc2UgTUlUXG4gKiB2MS4xLjZcbiAqXG4gKiBOQjogRG8gbm90IGRlbGV0ZS5cbiAqIFRoaXMgaXMgaW5jbHVkZWQgdG8gaGVscCBzdHlsZSBzb21lIG9mIHRoZSBtYXRlcmlhbCBjb21wb25lbnRzXG4gKiBhbmQgaW5jbHVkZXMgaGVscGVycyBzdWNoIGFzIHRoZSByaXBwbGUgZWZmZWN0IG9uIGJ1dHRvbnMuXG4gKi9cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogT3ZlcnJpZGUgbWF0ZXJpYWwgaGVyZSBiZWNhdXNlIHdlIGRvbid0IHdhbnQgdGhlIGJhY2tncm91bmQgY29sb3Igc2V0IGJ5dCBtYXRlcmlhbCB0aGVtZXMgKi9cbiAgYmFja2dyb3VuZDogJHNub3cgIWltcG9ydGFudDsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cblt0YWJpbmRleD0nLTEnXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmluc2V0IHtcbiAgcGFkZGluZzogMTBweDsgfVxuXG5hLm1kLW5vLXN0eWxlLFxuYnV0dG9uLm1kLW5vLXN0eWxlIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuc2VsZWN0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5pbnB1dCB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl1bZGlzYWJsZWRdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdW2Rpc2FibGVkXSxcbiAgYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbnRleHRhcmVhIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi5tZC12aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLm1kLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubWQtc2hhZG93LWJvdHRvbS16LTEge1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi5tZC1zaGFkb3ctYm90dG9tLXotMiB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4ubWQtc2hhZG93LWFuaW1hdGVkLm1kLXNoYWRvdyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjI4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cblxuLypcbiAqIEEgY29udGFpbmVyIGluc2lkZSBvZiBhIHJpcHBsaW5nIGVsZW1lbnQgKGVnIGEgYnV0dG9uKSxcbiAqIHdoaWNoIGNvbnRhaW5zIGFsbCBvZiB0aGUgaW5kaXZpZHVhbCByaXBwbGVzXG4gKi9cbi5tZC1yaXBwbGUtY29udGFpbmVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjU1cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNTVzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpOyB9XG5cbi5tZC1yaXBwbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBvcGFjaXR5OiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLm1kLXJpcHBsZS5tZC1yaXBwbGUtcGxhY2VkIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG1hcmdpbiAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBib3JkZXIgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgd2lkdGggMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgaGVpZ2h0IDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIG9wYWNpdHkgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgLXdlYmtpdC10cmFuc2Zvcm0gMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgYm9yZGVyIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIHdpZHRoIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIGhlaWdodCAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBvcGFjaXR5IDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIC13ZWJraXQtdHJhbnNmb3JtIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIGJvcmRlciAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCB3aWR0aCAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBoZWlnaHQgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgb3BhY2l0eSAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCB0cmFuc2Zvcm0gMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSwgYm9yZGVyIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIHdpZHRoIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIGhlaWdodCAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCBvcGFjaXR5IDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSksIHRyYW5zZm9ybSAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpLCAtd2Via2l0LXRyYW5zZm9ybSAwLjlzIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpOyB9XG4gIC5tZC1yaXBwbGUubWQtcmlwcGxlLXNjYWxlZCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEpOyB9XG4gIC5tZC1yaXBwbGUubWQtcmlwcGxlLWFjdGl2ZSwgLm1kLXJpcHBsZS5tZC1yaXBwbGUtZnVsbCwgLm1kLXJpcHBsZS5tZC1yaXBwbGUtdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMC4yMDsgfVxuICAubWQtcmlwcGxlLm1kLXJpcHBsZS1yZW1vdmUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBtZC1yZW1vdmUtcmlwcGxlIDAuOXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gICAgICAgICAgICBhbmltYXRpb246IG1kLXJlbW92ZS1yaXBwbGUgMC45cyBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbWQtcmVtb3ZlLXJpcHBsZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuMTU7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbWQtcmVtb3ZlLXJpcHBsZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAuMTU7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5tZC1wYWRkaW5nIHtcbiAgcGFkZGluZzogOHB4OyB9XG5cbi5tZC1tYXJnaW4ge1xuICBtYXJnaW46IDhweDsgfVxuXG4ubWQtc2Nyb2xsLW1hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDUwOyB9XG4gIC5tZC1zY3JvbGwtbWFzayA+IC5tZC1zY3JvbGwtbWFzay1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogNjU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5tZC1uby1tb21lbnR1bSB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5tZC1uby1mbGlja2VyIHtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMHB4KTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgLm1kLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDE2cHg7IH0gfVxuXG5odG1sW2Rpcj1ydGxdLCBodG1sW2Rpcj1sdHJdLCBib2R5W2Rpcj1ydGxdLCBib2R5W2Rpcj1sdHJdIHtcbiAgdW5pY29kZS1iaWRpOiBlbWJlZDsgfVxuXG5iZG9bZGlyPXJ0bF0ge1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgdW5pY29kZS1iaWRpOiBiaWRpLW92ZXJyaWRlOyB9XG5cbmJkb1tkaXI9bHRyXSB7XG4gIGRpcmVjdGlvbjogbHRyO1xuICB1bmljb2RlLWJpZGk6IGJpZGktb3ZlcnJpZGU7IH1cblxuaHRtbCwgYm9keSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxubWQtc3dpdGNoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICYubWQtZGVmYXVsdC10aGVtZS5tZC1jaGVja2VkIC5tZC1iYXIsXG4gICYubWQtY2hlY2tlZCAubWQtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcyksIDQwJSk7XG4gIH1cbiAgJi5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLXRodW1iLFxuICAmLm1kLWNoZWNrZWQgLm1kLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuICB9XG4gICYubWQtZGVmYXVsdC10aGVtZS5tZC1jaGVja2VkIC5tZC1pbmstcmlwcGxlLFxuICAmLm1kLWNoZWNrZWQgLm1kLWluay1yaXBwbGUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuICB9XG59XG4iLCJcbm1kLWlucHV0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuICBsYWJlbCB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gICYubWQtaW5wdXQtaW52YWxpZCAubWQtaW5wdXQtbWVzc2FnZXMtYW5pbWF0aW9uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAubWQtaW5wdXQtbWVzc2FnZXMtYW5pbWF0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGFuaW1hdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dDtcblxuICAgID4gZGl2IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNlZTogaHR0cDovL2dvb2dsZS5naXRodWIuaW8vbWF0ZXJpYWwtZGVzaWduLWljb25zLyAqL1xuXG4kaWNvblNpemVzOiAoMTIsIDE4LCAyNCwgMzAsIDM2LCA0OCwgNjQsIDkyKTtcblxuLyogUnVsZXMgZm9yIHNpemluZyB0aGUgaWNvbi4gKi9cbkBlYWNoICRpY29uU2l6ZSBpbiAkaWNvblNpemVzIHtcbiAgLm1hdGVyaWFsLWljb25zLm1kLSN7JGljb25TaXplfSB7XG4gICAgZm9udC1zaXplOiAkaWNvblNpemUgKyBweDtcbiAgICBoZWlnaHQ6ICRpY29uU2l6ZSArIHB4O1xuICAgIHdpZHRoOiAkaWNvblNpemUgKyBweDtcbiAgICBtaW4taGVpZ2h0OiAkaWNvblNpemUgKyBweDtcbiAgICBtaW4td2lkdGg6ICRpY29uU2l6ZSArIHB4O1xuICB9XG59XG5cbm1kLWljb24ubWQtZGVmYXVsdC10aGVtZSwgbWQtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi8qIFJ1bGVzIGZvciB1c2luZyBpY29ucyBhcyBibGFjayBvbiBhIGxpZ2h0IGJhY2tncm91bmQuICovXG4ubWF0ZXJpYWwtaWNvbnMubWQtZGFyayB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpOyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQtZGFyay5tZC1pbmFjdGl2ZSB7IGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpOyB9XG5cbi8qIFJ1bGVzIGZvciB1c2luZyBpY29ucyBhcyB3aGl0ZSBvbiBhIGRhcmsgYmFja2dyb3VuZC4gKi9cbi5tYXRlcmlhbC1pY29ucy5tZC1saWdodCB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XG4ubWF0ZXJpYWwtaWNvbnMubWQtbGlnaHQubWQtaW5hY3RpdmUgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOyB9XG4iLCJcbi5tZC1idXR0b24ge1xuXG4gICYuYnV0dG9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblxuICAgICYuc2Vjb25kYXJ5LFxuICAgICYudGVydGlhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5tZC1uby1ob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwibWQtYmFja2Ryb3AubWQtZWRpdC1kaWFsb2ctYmFja2Ryb3Age1xuICB6LWluZGV4OiA4MDtcbn1cbm1kLWVkaXQtZGlhbG9nIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA4MTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1jb250ZW50IHtcbiAgcGFkZGluZzogMTZweCAyNHB4IDA7XG59XG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1jb250ZW50IC5tZC10aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1jb250ZW50IG1kLWlucHV0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxubWQtZWRpdC1kaWFsb2cgPiAubWQtY29udGVudCBtZC1pbnB1dC1jb250YWluZXIgaW5wdXQge1xuICBmbG9hdDogbm9uZTtcbn1cbm1kLWVkaXQtZGlhbG9nID4gLm1kLWNvbnRlbnQgbWQtaW5wdXQtY29udGFpbmVyIC5tZC1lcnJvcnMtc3BhY2VyIHtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cbm1kLWVkaXQtZGlhbG9nID4gLm1kLWNvbnRlbnQgbWQtaW5wdXQtY29udGFpbmVyIC5tZC1lcnJvcnMtc3BhY2VyIC5tZC1jaGFyLWNvdW50ZXIge1xuICBwYWRkaW5nOiA1cHggMnB4IDVweCAwO1xufVxubWQtZWRpdC1kaWFsb2cgPiAubWQtY29udGVudCBtZC1pbnB1dC1jb250YWluZXIgW25nLW1lc3NhZ2VdIHtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDJweDtcbn1cbm1kLWVkaXQtZGlhbG9nID4gLm1kLWFjdGlvbnMge1xuICBtYXJnaW46IDAgMTZweCA4cHg7XG59XG5tZC1lZGl0LWRpYWxvZyA+IC5tZC1hY3Rpb25zIC5tZC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbn1cbm1kLWVkaXQtZGlhbG9nID4gLm1kLWFjdGlvbnMgLm1kLWJ1dHRvbiArIC5tZC1idXR0b24ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuLm1kLXRhYmxlLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAyNHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xuICBib3JkZXItdG9wOiAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKSBzb2xpZDtcbn1cbi5tZC10YWJsZS1wYWdpbmF0aW9uIG1kLXNlbGVjdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1pbi13aWR0aDogNjRweDtcbn1cbi5tZC10YWJsZS1wYWdpbmF0aW9uIG1kLXNlbGVjdDpub3QoW2Rpc2FibGVkXSk6Zm9jdXMgLm1kLXNlbGVjdC12YWx1ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuLm1kLXRhYmxlLXBhZ2luYXRpb24gbWQtc2VsZWN0IC5tZC1zZWxlY3QtdmFsdWUge1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi5tZC10YWJsZS1wYWdpbmF0aW9uIG1kLXNlbGVjdCAubWQtc2VsZWN0LXZhbHVlIHNwYW4ubWQtc2VsZWN0LWljb24ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IC02cHggIWltcG9ydGFudDtcbn1cbi5tZC10YWJsZS1wYWdpbmF0aW9uIG1kLXNlbGVjdCAubWQtc2VsZWN0LXZhbHVlIHNwYW4ubWQtc2VsZWN0LWljb246YWZ0ZXIge1xuICB0b3A6IGluaXRpYWw7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDAuNSkgc2NhbGVYKDEpO1xufVxuLm1kLXRhYmxlLXBhZ2luYXRpb24gPiAqIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiA1NnB4O1xufVxuLm1kLXRhYmxlLXBhZ2luYXRpb24gPiAuYnV0dG9uczpub3QoOmZpcnN0LWNoaWxkKSxcbi5tZC10YWJsZS1wYWdpbmF0aW9uID4gLmxpbWl0LXNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAzMnB4O1xufVxuLm1kLXRhYmxlLXBhZ2luYXRpb24gPiAuYnV0dG9ucyB7XG4gIG1hcmdpbi1yaWdodDogLTE2cHg7XG59XG4ubWQtdGFibGUtcGFnaW5hdGlvbiA+IC5idXR0b25zID4gLm1kLWJ1dHRvbi5tZC1pY29uLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbn1cbi5tZC10YWJsZS1wYWdpbmF0aW9uID4gLmJ1dHRvbnMgPiAubGFiZWwgKyAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5tZC1zZWxlY3QubWQtdGFibGUtc2VsZWN0IHtcbiAgbWFyZ2luOiAwO1xufVxubWQtc2VsZWN0Lm1kLXRhYmxlLXNlbGVjdCA+IC5tZC1zZWxlY3QtdmFsdWUge1xuICBwYWRkaW5nOiAwO1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbm1kLXNlbGVjdC5tZC10YWJsZS1zZWxlY3QgPiAubWQtc2VsZWN0LXZhbHVlID4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxubWQtc2VsZWN0Lm1kLXRhYmxlLXNlbGVjdCA+IC5tZC1zZWxlY3QtdmFsdWUgPiBzcGFuID4gLm1kLXRleHQge1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIHRyYW5zZm9ybTogaW5oZXJpdDtcbn1cbm1kLXNlbGVjdC5tZC10YWJsZS1zZWxlY3QgPiAubWQtc2VsZWN0LXZhbHVlID4gc3Bhbi5tZC1zZWxlY3QtaWNvbiB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwO1xufVxubWQtc2VsZWN0Lm1kLXRhYmxlLXNlbGVjdCA+IC5tZC1zZWxlY3QtdmFsdWUgPiBzcGFuLm1kLXNlbGVjdC1pY29uOmFmdGVyIHtcbiAgdG9wOiBpbml0aWFsO1xufVxuLm1kLXNlbGVjdC1tZW51LWNvbnRhaW5lci5tZC10YWJsZS1zZWxlY3QsXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXBhZ2luYXRpb24tc2VsZWN0IHtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIubWQtdGFibGUtc2VsZWN0IG1kLXNlbGVjdC1tZW51LFxuLm1kLXNlbGVjdC1tZW51LWNvbnRhaW5lci5tZC1wYWdpbmF0aW9uLXNlbGVjdCBtZC1zZWxlY3QtbWVudSxcbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIubWQtdGFibGUtc2VsZWN0IG1kLWNvbnRlbnQsXG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXBhZ2luYXRpb24tc2VsZWN0IG1kLWNvbnRlbnQge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLm1kLXNlbGVjdC1tZW51LWNvbnRhaW5lci5tZC10YWJsZS1zZWxlY3QgbWQtY29udGVudCxcbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIubWQtcGFnaW5hdGlvbi1zZWxlY3QgbWQtY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG59XG4ubWQtc2VsZWN0LW1lbnUtY29udGFpbmVyLm1kLXRhYmxlLXNlbGVjdCAubWQtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIubWQtcGFnaW5hdGlvbi1zZWxlY3QgLm1kLXRleHQge1xuICBmb250LXNpemU6IDEycHg7XG59XG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIge1xuICBib3gtc2hhZG93OiBub25lO1xufVxubWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyLm1kLWRlZmF1bHQtdGhlbWU6bm90KC5tZC1tZW51LXRvb2xiYXIpLm1kLWRlZmF1bHQsXG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXI6bm90KC5tZC1tZW51LXRvb2xiYXIpLm1kLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbm1kLXRvb2xiYXIubWQtdGFibGUtdG9vbGJhci5tZC1kZWZhdWx0LXRoZW1lOm5vdCgubWQtbWVudS10b29sYmFyKS5tZC1kZWZhdWx0IC5tZC1idXR0b24sXG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXI6bm90KC5tZC1tZW51LXRvb2xiYXIpLm1kLWRlZmF1bHQgLm1kLWJ1dHRvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkgYW5kIChtaW4td2lkdGg6IDApIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICBtZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMge1xuICAgIGhlaWdodDogNjRweDtcbiAgICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICB9XG59XG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMge1xuICBwYWRkaW5nOiAwIDI0cHg7XG59XG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMgbWQtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxubWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyIC5tZC10b29sYmFyLXRvb2xzID4gLm1kLWJ1dHRvbi5tZC1pY29uLWJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbn1cbm1kLXRvb2xiYXIubWQtdGFibGUtdG9vbGJhciAubWQtdG9vbGJhci10b29scyA+IC5tZC1idXR0b24ubWQtaWNvbi1idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTEycHg7XG59XG5tZC10b29sYmFyLm1kLXRhYmxlLXRvb2xiYXIgLm1kLXRvb2xiYXItdG9vbHMgPiAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IC0xMnB4O1xufVxubWQtY2FyZCA+IG1kLXRvb2xiYXIubWQtdGFibGUtdG9vbGJhcjpmaXJzdC1jaGlsZCxcbm1kLWNhcmQgPiBtZC10YWJsZS1jb250YWluZXI6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAycHg7XG59XG5tZC1jYXJkID4gbWQtdG9vbGJhci5tZC10YWJsZS10b29sYmFyOmxhc3QtY2hpbGQsXG5tZC1jYXJkID4gbWQtdGFibGUtY29udGFpbmVyOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAycHg7XG59XG5tZC10YWJsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG50YWJsZS5tZC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbnRhYmxlLm1kLXRhYmxlIHRoZWFkLm1kLWhlYWQgPiB0ci5tZC1yb3cge1xuICBoZWlnaHQ6IDU2cHg7XG59XG50YWJsZS5tZC10YWJsZSB0Ym9keS5tZC1ib2R5ID4gdHIubWQtcm93LFxudGFibGUubWQtdGFibGUgdGZvb3QubWQtZm9vdCA+IHRyLm1kLXJvdyB7XG4gIGhlaWdodDogNDhweDtcbn1cbnRhYmxlLm1kLXRhYmxlIHRoZWFkLm1kLWhlYWQgKyAubWQtdGFibGUtcHJvZ3Jlc3MgbWQtcHJvZ3Jlc3MtbGluZWFyIHtcbiAgdG9wOiAtM3B4O1xufVxudGFibGUubWQtdGFibGUgLm1kLXRhYmxlLXByb2dyZXNzIHRoIHtcbiAgcGFkZGluZzogMDtcbn1cbnRhYmxlLm1kLXRhYmxlIC5tZC10YWJsZS1wcm9ncmVzcyB0aCBtZC1wcm9ncmVzcy1saW5lYXIge1xuICBoZWlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XG59XG50YWJsZS5tZC10YWJsZSAubWQtdGFibGUtcHJvZ3Jlc3MgdGggbWQtcHJvZ3Jlc3MtbGluZWFyLm5nLWhpZGUge1xuICBvcGFjaXR5OiAwO1xufVxudGFibGUubWQtdGFibGUgLm1kLXRhYmxlLXByb2dyZXNzIHRoIG1kLXByb2dyZXNzLWxpbmVhciA+IC5tZC1jb250YWluZXIge1xuICBoZWlnaHQ6IDNweDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxudGFibGUubWQtdGFibGUgLm1kLXRhYmxlLXByb2dyZXNzIHRoIG1kLXByb2dyZXNzLWxpbmVhciA+IC5tZC1jb250YWluZXIgPiAubWQtYmFyIHtcbiAgaGVpZ2h0OiAzcHg7XG59XG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4ge1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbi5tZC1zb3J0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWljb24ge1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiBtZC1pY29uLm1kLXNvcnQtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjI1cywgb3BhY2l0eSAwLjI1cztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzLCBvcGFjaXR5IDAuMjVzO1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWljb24ubWQtc29ydC1pY29uLm1kLWFzYyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWljb24ubWQtc29ydC1pY29uLm1kLWRlc2Mge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWljb246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWljb246bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLm1kLWFjdGl2ZSxcbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbi5tZC1hY3RpdmUgbWQtaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uOmhvdmVyIG1kLWljb24ubWQtc29ydC1pY29uLFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uLm1kLWFjdGl2ZSBtZC1pY29uLm1kLXNvcnQtaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG50YWJsZS5tZC10YWJsZSB0ci5tZC1yb3dbbmdcXDpyZXBlYXRdLm5nLWxlYXZlLFxudGFibGUubWQtdGFibGUgdHIubWQtcm93W25nLXJlcGVhdF0ubmctbGVhdmUsXG50YWJsZS5tZC10YWJsZSB0ci5tZC1yb3dbeC1uZy1yZXBlYXRdLm5nLWxlYXZlLFxudGFibGUubWQtdGFibGUgdHIubWQtcm93W2RhdGEtbmctcmVwZWF0XS5uZy1sZWF2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRib2R5Lm1kLWJvZHkgPiB0ci5tZC1yb3cge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRib2R5Lm1kLWJvZHkgPiB0ci5tZC1yb3c6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZSAhaW1wb3J0YW50O1xufVxudGFibGUubWQtdGFibGUubWQtcm93LXNlbGVjdCB0Ym9keS5tZC1ib2R5ID4gdHIubWQtcm93Lm1kLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbnRhYmxlLm1kLXRhYmxlLm1kLXJvdy1zZWxlY3QgdGQubWQtY2VsbDpmaXJzdC1jaGlsZCxcbnRhYmxlLm1kLXRhYmxlLm1kLXJvdy1zZWxlY3QgdGgubWQtY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAwIDI0cHg7XG59XG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRkLm1kLWNlbGw6bnRoLWNoaWxkKDIpLFxudGFibGUubWQtdGFibGUubWQtcm93LXNlbGVjdCB0aC5tZC1jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgcGFkZGluZzogMCAyNHB4O1xufVxudGFibGUubWQtdGFibGUubWQtcm93LXNlbGVjdCB0ZC5tZC1jZWxsOm50aC1jaGlsZChuKzMpOm50aC1sYXN0LWNoaWxkKG4rMiksXG50YWJsZS5tZC10YWJsZS5tZC1yb3ctc2VsZWN0IHRoLm1kLWNvbHVtbjpudGgtY2hpbGQobiszKTpudGgtbGFzdC1jaGlsZChuKzIpIHtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDtcbn1cbnRhYmxlLm1kLXRhYmxlOm5vdCgubWQtcm93LXNlbGVjdCkgdGQubWQtY2VsbDpmaXJzdC1jaGlsZCxcbnRhYmxlLm1kLXRhYmxlOm5vdCgubWQtcm93LXNlbGVjdCkgdGgubWQtY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZzogMCAxMnB4O1xufVxudGFibGUubWQtdGFibGU6bm90KC5tZC1yb3ctc2VsZWN0KSB0ZC5tZC1jZWxsOm50aC1jaGlsZChuKzIpOm50aC1sYXN0LWNoaWxkKG4rMiksXG50YWJsZS5tZC10YWJsZTpub3QoLm1kLXJvdy1zZWxlY3QpIHRoLm1kLWNvbHVtbjpudGgtY2hpbGQobisyKTpudGgtbGFzdC1jaGlsZChuKzIpIHtcbiAgcGFkZGluZzogMCA1cHggMCAwO1xufVxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbCxcbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsID4gKixcbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbDpsYXN0LWNoaWxkLFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nOiAwIDEycHggMCAwO1xufVxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1jbGlja2FibGUsXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4ubWQtY2xpY2thYmxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1jbGlja2FibGU6Zm9jdXMsXG50YWJsZS5tZC10YWJsZSB0aC5tZC1jb2x1bW4ubWQtY2xpY2thYmxlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwubWQtbnVtZXJpYyxcbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbi5tZC1udW1lcmljIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsIG1kLWNoZWNrYm94LFxudGFibGUubWQtdGFibGUgdGgubWQtY29sdW1uIG1kLWNoZWNrYm94IHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMjBweDtcbn1cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBib3JkZXItdG9wOiAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKSBzb2xpZDtcbn1cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwubWQtbnVtZXJpYyBtZC1zZWxlY3Qge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxudGFibGUubWQtdGFibGUgdGQubWQtY2VsbC5tZC1udW1lcmljIG1kLXNlbGVjdCAubWQtc2VsZWN0LXZhbHVlIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsLm1kLXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG50YWJsZS5tZC10YWJsZSB0ZC5tZC1jZWxsIG1kLXNlbGVjdCA+IC5tZC1zZWxlY3QtdmFsdWUgPiBzcGFuLm1kLXNlbGVjdC1pY29uIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIHdpZHRoOiAxOHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwgbWQtc2VsZWN0ID4gLm1kLXNlbGVjdC12YWx1ZSA+IHNwYW4ubWQtc2VsZWN0LWljb246YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgwLjQpIHNjYWxlWCgwLjgpO1xufVxudGFibGUubWQtdGFibGUge1xuICB0aC5tZC1jb2x1bW4sXG4gIHRkLm1kLWNlbGwge1xuICAgICYuZW1haWwsXG4gICAgJi5wb2xpY3lfbnVtYmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG4iLCJuZy1mb3JtW25hbWU9dGltZUZvcm1dIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbm5nLWZvcm1bbmFtZT10aW1lRm9ybV0+KiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbm5nLWZvcm1bbmFtZT10aW1lRm9ybV0gaW5wdXQsXG5uZy1mb3JtW25hbWU9dGltZUZvcm1dIG1kLWlucHV0LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcbn1cbm5nLWZvcm1bbmFtZT10aW1lRm9ybV0gbWQtaW5wdXQtY29udGFpbmVyIC5tZC1lcnJvcnMtc3BhY2VyIHtcbiAgbWluLWhlaWdodDogMDtcbn1cbm5nLWZvcm1bbmFtZT10aW1lRm9ybV0gZGl2LnRpbWUtZXJyb3ItbWVzc2FnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbn1cbm1kLWhvdXJzLW1pbnV0ZXMge1xuICB3aWR0aDogNjBweDtcbn1cbm1kLW1lcmlkaWVtIHtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbn1cbm1kLW1lcmlkaWVtIC5tZC1zZWxlY3QtdmFsdWUge1xuICBwYWRkaW5nOiAycHg7XG4gIG1pbi1oZWlnaHQ6IDI1cHg7XG59XG5tZC1tZXJpZGllbSAubWQtc2VsZWN0LXZhbHVlLm1kLXNlbGVjdC1wbGFjZWhvbGRlciB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxubWQtbWVyaWRpZW0gLm1kLXNlbGVjdC12YWx1ZSAubWQtc2VsZWN0LWljb24ge1xuICB3aWR0aDogMTVweDtcbn1cbi50aW1lLWNvbG9uIHtcbiAgdG9wOiAyM3B4O1xuICBwYWRkaW5nOiAwIDRweDtcbn1cbi5tZC11cC1hcnJvdywgLm1kLWRvd24tYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMDtcbiAgdG9wOiAxNHB4O1xuICByaWdodDogMnB4O1xuICBjb2xvcjogcmdiYSgwLDAsMCwwLjM4KTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgIC8qIENocm9tZSBhbGwgLyBTYWZhcmkgYWxsICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAvKiBGaXJlZm94IGFsbCAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgLyogSUUgMTArICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAgICAgICAgICAvKiBMaWtlbHkgZnV0dXJlICovXG59XG4ubWQtdXAtYXJyb3c6Zm9jdXMsLm1kLWRvd24tYXJyb3c6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuLm1kLXVwLWFycm93OmhvdmVyLC5tZC1kb3duLWFycm93OmhvdmVyIHtcbiAgY29sb3I6IGJsYWNrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubWQtdXAtYXJyb3c6YWZ0ZXIsIC5tZC1kb3duLWFycm93OmFmdGVye1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0cmFuc2Zvcm06IHNjYWxlWSguNSkgc2NhbGVYKDEpO1xufVxuLm1kLXVwLWFycm93OmFmdGVye1xuICBjb250ZW50OiAnXFwyNUIyJztcbiAgdG9wOiAtNnB4O1xufVxuLm1kLWRvd24tYXJyb3c6YWZ0ZXJ7XG4gIGNvbnRlbnQ6ICdcXDI1QkMnO1xuICB0b3A6IDNweDtcbn1cbi5tZC1kYXRlcGlja2VyLWlucHV0LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4ubWRwLWFuaW1hdGUtbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDFweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDFweCk7XG59XG4ubWRwLWFuaW1hdGUtbmV4dC1yZW1vdmUge1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAwLCAxcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAlLCAwLCAxcHgpO1xufVxuLm1kcC1hbmltYXRlLW5leHQtcmVtb3ZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMXB4KTtcbn1cbi5tZHAtYW5pbWF0ZS1wcmV2IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDFweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAxcHgpO1xufVxuLm1kcC1hbmltYXRlLXByZXYtcmVtb3ZlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDFweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAxcHgpO1xufVxuLm1kcC1hbmltYXRlLXByZXYtcmVtb3ZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAxcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMXB4KTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBtZHAtYW5pbWF0aW9uLWJvdW5jZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBtZHAtYW5pbWF0aW9uLWJvdW5jZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLm1kcC1hbmltYXRpb24tem9vbS5uZy1lbnRlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzUsIDAsIDAuMjUsIDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbWRwLWFuaW1hdGlvbi1ib3VuY2U7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1kcC1hbmltYXRpb24tYm91bmNlO1xufVxuLm1kcC1kYXRlcGlja2VyIHtcbiAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgbWluLXdpZHRoOiAyMzRweDtcbn1cbi5tZHAtZGF0ZXBpY2tlciAqIHtcbiAgb3V0bGluZTogMDtcbn1cbi5tZHAtZGF0ZXBpY2tlciAubWQtYWN0aW9ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwcHggNXB4O1xufVxuLm1kcC1jYWxlbmRhci13ZWVrLWRheXMge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5tZHAtY2FsZW5kYXItd2Vlay1kYXlzID4gKiB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICBtaW4td2lkdGg6IDBweDtcbiAgbWluLWhlaWdodDogMHB4O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1kcC1jYWxlbmRhci1kYXlzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4ubWRwLWNhbGVuZGFyLWRheXMgLm1kLWJ1dHRvbixcbi5tZHAtY2FsZW5kYXItZGF5cyAubWRwLWRheS1wbGFjZWhvbGRlciB7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4ubWRwLWNhbGVuZGFyLWRheXMgLm1kLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDEycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBtaW4td2lkdGg6IDBweDtcbiAgbWluLWhlaWdodDogMHB4O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLm1kcC1jYWxlbmRhci1kYXlzIC5tZC1idXR0b25bZGlzYWJsZWRdOm5vdCgubWQtYWNjZW50KSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4ubWRwLWNhbGVuZGFyLW1vbnRoeWVhciB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG59XG4ubWRwLWRhdGVwaWNrZXItZGF0ZSxcbi5tZHAtZGF0ZXBpY2tlci1kYXksXG4ubWRwLWRhdGVwaWNrZXItZG93LFxuLm1kcC1kYXRlcGlja2VyLW1vbnRoIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5tZHAtZGF0ZXBpY2tlci1kYXRlOm5vdCguYWN0aXZlKSxcbi5tZHAtZGF0ZXBpY2tlci1kYXk6bm90KC5hY3RpdmUpLFxuLm1kcC1kYXRlcGlja2VyLWRvdzpub3QoLmFjdGl2ZSksXG4ubWRwLWRhdGVwaWNrZXItbW9udGg6bm90KC5hY3RpdmUpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1kcC1kYXRlcGlja2VyLWRhdGUuYWN0aXZlLFxuLm1kcC1kYXRlcGlja2VyLWRheS5hY3RpdmUsXG4ubWRwLWRhdGVwaWNrZXItZG93LmFjdGl2ZSxcbi5tZHAtZGF0ZXBpY2tlci1tb250aC5hY3RpdmUsXG4ubWRwLWRhdGVwaWNrZXItZGF0ZTpob3Zlcixcbi5tZHAtZGF0ZXBpY2tlci1kYXk6aG92ZXIsXG4ubWRwLWRhdGVwaWNrZXItZG93OmhvdmVyLFxuLm1kcC1kYXRlcGlja2VyLW1vbnRoOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5tZHAtZGF0ZXBpY2tlci15ZWFyIHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIG9wYWNpdHk6IDAuNjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLm1kcC1kYXRlcGlja2VyLXllYXI6bm90KC5hY3RpdmUpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLm1kcC1kYXRlcGlja2VyLXllYXIuYWN0aXZlLFxuLm1kcC1kYXRlcGlja2VyLXllYXI6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLm1kcC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyIHtcbiAgaGVpZ2h0OiAyMzJweDtcbn1cbi5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciAucmVwZWF0ZWQteWVhciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciAucmVwZWF0ZWQteWVhciAubWQtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjByZW07XG4gIGxpbmUtaGVpZ2h0OiA0MnB4O1xufVxuLm1kcC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyIC5yZXBlYXRlZC15ZWFyIC5tZC1idXR0b24uY3VycmVudCB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogNDJweDtcbn1cbi5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciAubWQtdmlydHVhbC1yZXBlYXQtY29udGFpbmVyLFxuLm1kcC1kYXRlcGlja2VyLXNlbGVjdC15ZWFyIC5tZC12aXJ0dWFsLXJlcGVhdC1vZmZzZXR0ZXIsXG4ubWRwLWRhdGVwaWNrZXItc2VsZWN0LXllYXIgLm1kLXZpcnR1YWwtcmVwZWF0LXNjcm9sbGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbm1kcC1kYXRlLXBpY2tlciA+IG1kLWlucHV0LWNvbnRhaW5lci5tZC1oYXMtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cbm1kcC1kYXRlLXBpY2tlciAubWQtYnV0dG9uLm1kLWljb24tYnV0dG9uIHtcbiAgbWFyZ2luOiAxOHB4IDAgMCAwO1xufVxuLm1kcC1kYXRlcGlja2VyOm5vdCgucG9ydHJhaXQpIC5tZHAtZGF0ZXBpY2tlci1zZWxlY3QteWVhciB7XG4gIHdpZHRoOiAzMDlweDtcbn1cbi5tZHAtZGF0ZXBpY2tlcjpub3QoLnBvcnRyYWl0KSAubWRwLWNhbGVuZGFyIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAyOTRweDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4ubWRwLWRhdGVwaWNrZXI6bm90KC5wb3J0cmFpdCkgLm1kcC1kYXRlcGlja2VyLWRhdGUtd3JhcHBlciB7XG4gIHdpZHRoOiAxNTBweDtcbn1cbi5tZHAtZGF0ZXBpY2tlcjpub3QoLnBvcnRyYWl0KSAubWRwLWRhdGVwaWNrZXItZG93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1kcC1kYXRlcGlja2VyOm5vdCgucG9ydHJhaXQpIC5tZHAtY2FsZW5kYXItd2Vlay1kYXlzID4gKixcbi5tZHAtZGF0ZXBpY2tlcjpub3QoLnBvcnRyYWl0KSAubWRwLWNhbGVuZGFyLWRheXMgPiAqIHtcbiAgd2lkdGg6IDQycHg7XG59XG4ubWRwLWRhdGVwaWNrZXIgLm1kcC1kYXRlcGlja2VyLWRhdGUtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDE2cHggMzVweCAxNnB4IDE2cHg7XG59XG4ubWRwLWRhdGVwaWNrZXIgbWQtZGlhbG9nLWNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwcHg7XG59XG4ubWRwLWRhdGVwaWNrZXIgbWQtZGlhbG9nLWNvbnRlbnQgLm1kcC1jYWxlbmRhciB7XG4gIHdpZHRoOiAyOTRweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IHtcbiAgbWF4LXdpZHRoOiAyMzRweDtcbn1cbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWRwLWNhbGVuZGFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbn1cbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWRwLWRhdGVwaWNrZXItc2VsZWN0LXllYXIge1xuICBoZWlnaHQ6IDI1MnB4O1xufVxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IG1kLWRpYWxvZy1jb250ZW50ID4gKiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IC5tZHAtY2FsZW5kYXItd2Vlay1kYXlzLFxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IC5tZHAtY2FsZW5kYXItZGF5cyxcbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWQtYWN0aW9ucyB7XG4gIHBhZGRpbmc6IDAgNXB4O1xufVxuLm1kcC1kYXRlcGlja2VyLnBvcnRyYWl0IC5tZC1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbi5tZHAtZGF0ZXBpY2tlci5wb3J0cmFpdCAubWRwLWNhbGVuZGFyLXdlZWstZGF5cyA+ICosXG4ubWRwLWRhdGVwaWNrZXIucG9ydHJhaXQgLm1kcC1jYWxlbmRhci1kYXlzID4gKiB7XG4gIHdpZHRoOiAzMnB4O1xufVxubWRwLWNhbGVuZGFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubWRwLWNhbGVuZGFyLXdlZWstZGF5cyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1kcC1jYWxlbmRhci13ZWVrLWRheXMgPiAqIHtcbiAgbWFyZ2luOiAwO1xufVxuLm1kcC1jYWxlbmRhci1kYXlzIC5tZC1idXR0b24sXG4ubWRwLWNhbGVuZGFyLWRheXMgLm1kcC1kYXktcGxhY2Vob2xkZXIge1xuICBtYXJnaW46IDA7XG59XG4ubWRwLWNsb2NrIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMjRweDtcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcbn1cbi5tZHAtY2xvY2sgLm1kLWJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5tZHAtY2xvY2sgLm1kcC1jbG9jay1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1kcC1jbG9jayAubWRwLXBvaW50ZXIge1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgei1pbmRleDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubWRwLWNsb2NrIC5tZHAtY2xvY2stY2VudGVyIHtcbiAgbWluLWhlaWdodDogMHB4O1xuICBoZWlnaHQ6IDZweDtcbiAgd2lkdGg6IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLm1kcC1jbG9jayAubWQtYnV0dG9uLm1kcC1jbG9jay1zZWxlY3RlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm90dG9tOiAtOHB4O1xuICBsZWZ0OiAwcHg7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4ubWRwLXRpbWVwaWNrZXIgLm1kcC1jbG9jay1zd2l0Y2gtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgd2lkdGg6IDMwOXB4O1xufVxuLm1kcC10aW1lcGlja2VyIC5tZHAtdGltZXBpY2tlci10aW1lIHtcbiAgcGFkZGluZzogMTVweDtcbn1cbi5tZHAtdGltZXBpY2tlciAubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbn1cbi5tZHAtdGltZXBpY2tlcjpub3QoLnBvcnRyYWl0KSAubWRwLXRpbWVwaWNrZXItdGltZSB7XG4gIHdpZHRoOiAxNjBweDtcbn1cbi5tZHAtdGltZXBpY2tlci5wb3J0cmFpdCAubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG5tZHAtdGltZS1waWNrZXIgbWQtaW5wdXQtY29udGFpbmVyLm1kLWhhcy1pY29uIHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxubWRwLXRpbWUtcGlja2VyIC5tZC1idXR0b24ubWQtaWNvbi1idXR0b24ge1xuICBtYXJnaW46IDE4cHggMCAwIDA7XG59XG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSA+IHNwYW4sXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtYW1wbSA+IHNwYW4ge1xuICBvdXRsaW5lOiAwO1xuICBvcGFjaXR5OiAwLjY7XG59XG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtdGltZSA+IHNwYW46bm90KC5hY3RpdmUpLFxuLm1kcC10aW1lcGlja2VyLXNlbGVjdGVkLWFtcG0gPiBzcGFuOm5vdCguYWN0aXZlKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5tZHAtdGltZXBpY2tlci1zZWxlY3RlZC10aW1lID4gc3Bhbi5hY3RpdmUsXG4ubWRwLXRpbWVwaWNrZXItc2VsZWN0ZWQtYW1wbSA+IHNwYW4uYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5tZHAtY2xvY2stZGVnMCB7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDUwJTtcbn1cbi5tZHAtY2xvY2stZGVnMTUge1xuICB0b3A6IDEuNzAzNzA4NjklO1xuICBsZWZ0OiA2Mi45NDA5NTIyNiU7XG59XG4ubWRwLWNsb2NrLWRlZzMwIHtcbiAgdG9wOiA2LjY5ODcyOTgxJTtcbiAgbGVmdDogNzUlO1xufVxuLm1kcC1jbG9jay1kZWc0NSB7XG4gIHRvcDogMTQuNjQ0NjYwOTQlO1xuICBsZWZ0OiA4NS4zNTUzMzkwNSU7XG59XG4ubWRwLWNsb2NrLWRlZzYwIHtcbiAgdG9wOiAyNSU7XG4gIGxlZnQ6IDkzLjMwMTI3MDE5JTtcbn1cbi5tZHAtY2xvY2stZGVnNzUge1xuICB0b3A6IDM3LjA1OTA0Nzc0JTtcbiAgbGVmdDogOTguMjk2MjkxMzElO1xufVxuLm1kcC1jbG9jay1kZWc5MCB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAxMDAlO1xufVxuLm1kcC1jbG9jay1kZWcxMDUge1xuICB0b3A6IDYyLjk0MDk1MjI2JTtcbiAgbGVmdDogOTguMjk2MjkxMzElO1xufVxuLm1kcC1jbG9jay1kZWcxMjAge1xuICB0b3A6IDc1JTtcbiAgbGVmdDogOTMuMzAxMjcwMTklO1xufVxuLm1kcC1jbG9jay1kZWcxMzUge1xuICB0b3A6IDg1LjM1NTMzOTA2JTtcbiAgbGVmdDogODUuMzU1MzM5MDYlO1xufVxuLm1kcC1jbG9jay1kZWcxNTAge1xuICB0b3A6IDkzLjMwMTI3MDE5JTtcbiAgbGVmdDogNzUlO1xufVxuLm1kcC1jbG9jay1kZWcxNjUge1xuICB0b3A6IDk4LjI5NjI5MTMxJTtcbiAgbGVmdDogNjIuOTQwOTUyMjYlO1xufVxuLm1kcC1jbG9jay1kZWcxODAge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbn1cbi5tZHAtY2xvY2stZGVnMTk1IHtcbiAgdG9wOiA5OC4yOTYyOTEzMSU7XG4gIGxlZnQ6IDM3LjA1OTA0Nzc0JTtcbn1cbi5tZHAtY2xvY2stZGVnMjEwIHtcbiAgdG9wOiA5My4zMDEyNzAxOSU7XG4gIGxlZnQ6IDI1JTtcbn1cbi5tZHAtY2xvY2stZGVnMjI1IHtcbiAgdG9wOiA4NS4zNTUzMzkwNiU7XG4gIGxlZnQ6IDE0LjY0NDY2MDk0JTtcbn1cbi5tZHAtY2xvY2stZGVnMjQwIHtcbiAgdG9wOiA3NSU7XG4gIGxlZnQ6IDYuNjk4NzI5ODElO1xufVxuLm1kcC1jbG9jay1kZWcyNTUge1xuICB0b3A6IDYyLjk0MDk1MjI2JTtcbiAgbGVmdDogMS43MDM3MDg2ODYlO1xufVxuLm1kcC1jbG9jay1kZWcyNzAge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMCU7XG59XG4ubWRwLWNsb2NrLWRlZzI4NSB7XG4gIHRvcDogMzcuMDU5MDQ3NzQlO1xuICBsZWZ0OiAxLjcwMzcwODY4NiU7XG59XG4ubWRwLWNsb2NrLWRlZzMwMCB7XG4gIHRvcDogMjUlO1xuICBsZWZ0OiA2LjY5ODcyOTgxJTtcbn1cbi5tZHAtY2xvY2stZGVnMzE1IHtcbiAgdG9wOiAxNC42NDQ2NjA5NCU7XG4gIGxlZnQ6IDE0LjY0NDY2MDk0JTtcbn1cbi5tZHAtY2xvY2stZGVnMzMwIHtcbiAgdG9wOiA2LjY5ODcyOTgxJTtcbiAgbGVmdDogMjUlO1xufVxuLm1kcC1jbG9jay1kZWczNDUge1xuICB0b3A6IDEuNzAzNzA4Njg2JTtcbiAgbGVmdDogMzcuMDU5MDQ3NzQlO1xufVxuLm1kcC1jbG9jay1kZWczNjAge1xuICB0b3A6IDAlO1xuICBsZWZ0OiA1MCU7XG59XG4iLCIubWQtYnV0dG9uIHtcbiAgbWluLXdpZHRoOiA3NXB4O1xufVxuXG5tZC1kaWFsb2cge1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cblxubWQtZGlhbG9nLmFsbG93LW92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLm1kLWJ1dHRvbi5jbG9zZS1kaWFsb2cge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00MHB4O1xuICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgIH07XG4gIH1cbn1cblxubWQtY29udGVudC5tZC1kZWZhdWx0LXRoZW1lLCBtZC1jb250ZW50IHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG5cbm1kLWRpYWxvZy1hY3Rpb25zIHtcbiAgYm9yZGVyLXRvcC1zdHlsZTogbm9uZSAhaW1wb3J0YW50OyAvL1RvIHByZXZlbnQgYSBob3Jpem9udGFsIGxpbmUgb3ZlciBhY3Rpb24gYnV0dG9ucy4gTm90IHdvcmtpbmcgd2l0aG91dCAhaW1wb3J0YW50XG59XG5cbm1kLXNlbGVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgcGFkZGluZzogOXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbjogaW5oZXJpdDtcblxuICAubWQtc2VsZWN0LXZhbHVlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB9XG59XG5cbm1kLXJhZGlvLWJ1dHRvbiB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxubWQtY2FsZW5kYXIge1xuICB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgdGQsIHRoIHtcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4ubWQtZGF0ZXBpY2tlci1jYWxlbmRhci1wYW5lIHtcbiAgei1pbmRleDogMTQwMDtcbn1cblxuXG5tZC1zaWRlbmF2LCBtZC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxubWQtdG9hc3Qge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHBhZGRpbmc6IDA7XG59XG5cbm1kLXRvYXN0IHtcbiAgLm1kLXRvYXN0LWNvbnRlbnQgc3BhbiB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi5zdWNjZXNzIHtcbiAgICAubWQtdG9hc3QtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpXG4gICAgfVxuICB9XG4gICYud2FybmluZyB7XG4gICAgLm1kLXRvYXN0LWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKVxuICAgIH1cbiAgfVxuICAmLmFsZXJ0IHtcbiAgICAubWQtdG9hc3QtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KVxuICAgIH1cbiAgfVxufVxuXG5tZC1kYXRlcGlja2VyIHtcbiAgLm1kLWJ1dHRvbi5tZC1pY29uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogLTdweDtcbiAgICBtYXJnaW4tbGVmdDogLTdweDtcbiAgfVxuICAubWQtZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXIge1xuICAgIHRvcDogLTNweDtcbiAgfVxufVxuXG4uX21kLWRhdGVwaWNrZXItZmxvYXRpbmctbGFiZWwge1xuICBtZC1kYXRlcGlja2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLm1kLWRhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgLm1kLWRhdGVwaWNrZXItdHJpYW5nbGUtYnV0dG9uIHtcbiAgICAgIHRvcDogNXB4O1xuICAgIH1cbiAgICAubWQtZGF0ZXBpY2tlci1leHBhbmQtdHJpYW5nbGUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvc3Zncy9pY29uLWFycm93LWRvd24uc3ZnKTtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgfVxuICB9XG4gIC5tZC1pbnB1dCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuICA+IG1kLWRhdGVwaWNrZXIgLm1kLWRhdGVwaWNrZXItYnV0dG9uIHtcbiAgICB0b3A6IDZweDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgbWFyZ2luOiAtMTJweCAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLm1kLWRhdGVwaWNrZXItb3Blbi5tZC1pbnB1dC1oYXMtdmFsdWUgPiBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5tZC1jaGVja2JveC5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLWljb24sXG5tZC1jaGVja2JveC5tZC1jaGVja2VkIC5tZC1pY29uLFxuLm1kLWNoZWNrYm94LWVuYWJsZWQubWQtZGVmYXVsdC10aGVtZVtzZWxlY3RlZF0gLm1kLWljb24sXG4ubWQtY2hlY2tib3gtZW5hYmxlZFtzZWxlY3RlZF0gLm1kLWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xufVxuXG5tZC1zZWxlY3QtbWVudS5tZC1kZWZhdWx0LXRoZW1lIG1kLWNvbnRlbnQgbWQtb3B0aW9uW3NlbGVjdGVkXSxcbm1kLXNlbGVjdC1tZW51Lm1kLWRlZmF1bHQtdGhlbWUgbWQtY29udGVudCBtZC1vcHRpb25bc2VsZWN0ZWRdOmZvY3VzLFxubWQtc2VsZWN0LW1lbnUgbWQtY29udGVudCBtZC1vcHRpb25bc2VsZWN0ZWRdLFxubWQtc2VsZWN0LW1lbnUgbWQtY29udGVudCBtZC1vcHRpb25bc2VsZWN0ZWRdOmZvY3VzIHtcbiAgY29sb3I6ICRibGFjaztcbn1cblxuLm1kLWNoZWNrYm94LWVuYWJsZWQubWQtZGVmYXVsdC10aGVtZVtzZWxlY3RlZF0gLm1kLWljb246YWZ0ZXIsXG4ubWQtY2hlY2tib3gtZW5hYmxlZFtzZWxlY3RlZF0gLm1kLWljb246YWZ0ZXIsXG5tZC1jaGVja2JveC5tZC1jaGVja2VkIC5tZC1pY29uOmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG59XG5cblxubWQtcmFkaW8tZ3JvdXAubWQtZGVmYXVsdC10aGVtZSAubWQtY2hlY2tlZCAubWQtaW5rLXJpcHBsZSxcbm1kLXJhZGlvLWdyb3VwIC5tZC1jaGVja2VkIC5tZC1pbmstcmlwcGxlLFxubWQtcmFkaW8tYnV0dG9uLm1kLWRlZmF1bHQtdGhlbWUubWQtY2hlY2tlZCAubWQtaW5rLXJpcHBsZSxcbm1kLXJhZGlvLWJ1dHRvbi5tZC1jaGVja2VkIC5tZC1pbmstcmlwcGxlIHtcbiAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG59XG5cbm1kLXJhZGlvLWJ1dHRvbi5tZC1kZWZhdWx0LXRoZW1lLm1kLWNoZWNrZWQgLm1kLW9mZixcbm1kLXJhZGlvLWJ1dHRvbi5tZC1jaGVja2VkIC5tZC1vZmYge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbn1cblxubWQtcmFkaW8tYnV0dG9uLm1kLWRlZmF1bHQtdGhlbWUgLm1kLW9uLFxubWQtcmFkaW8tYnV0dG9uIC5tZC1vbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbn1cblxubWQtcmFkaW8tZ3JvdXAubWQtZGVmYXVsdC10aGVtZS5tZC1mb2N1c2VkOm5vdCg6ZW1wdHkpIC5tZC1jaGVja2VkIC5tZC1jb250YWluZXI6YmVmb3JlLFxubWQtcmFkaW8tZ3JvdXAubWQtZm9jdXNlZDpub3QoOmVtcHR5KSAubWQtY2hlY2tlZCAubWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeTtcbn1cblxubWQtcHJvZ3Jlc3MtY2lyY3VsYXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRBQkxFIE9WRVJSSURFUy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vL1xudGFibGUubWQtdGFibGUgdGJvZHkubWQtYm9keSA+IHRyLm1kLXJvdyB7XG4gIGhlaWdodDogNjBweDtcbn1cbnRhYmxlLm1kLXRhYmxlIHRoLm1kLWNvbHVtbiB7XG4gIGNvbG9yOiAkZGFyay1ncmF5O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbnRhYmxlLm1kLXRhYmxlIHRkLm1kLWNlbGwge1xuICBmb250LXNpemU6IDE0cHg7XG59XG50YWJsZS5tZC10YWJsZSAubWQtcm93Om5vdChbZGlzYWJsZWRdKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICB0ZC5tZC1jZWxsIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxudGFibGUubWQtdGFibGUgLm1kLXJvdyB0ZC5tZC1jZWxsLmRpc2FibGVkLFxudGFibGUubWQtdGFibGUgLm1kLXJvdyB0ZC5tZC1jZWxsW2Rpc2FibGVkXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpIHNvbGlkO1xuICBib3JkZXItdG9wOiAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKSBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cblxuXG5cbm1kLXNlbGVjdC5tZC1kZWZhdWx0LXRoZW1lW2Rpc2FibGVkXSAubWQtc2VsZWN0LXZhbHVlLCBtZC1zZWxlY3RbZGlzYWJsZWRdIC5tZC1zZWxlY3QtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyBjb2xvcjogcmdiYSgwLDAsMCwwLjM4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IFxufVxuW2Rpc2FibGVkXSBtZC1pbnB1dC1jb250YWluZXIubWQtZGVmYXVsdC10aGVtZSAubWQtaW5wdXQsIFtkaXNhYmxlZF0gbWQtaW5wdXQtY29udGFpbmVyIC5tZC1pbnB1dCwgbWQtaW5wdXQtY29udGFpbmVyLm1kLWRlZmF1bHQtdGhlbWUgLm1kLWlucHV0W2Rpc2FibGVkXSwgbWQtaW5wdXQtY29udGFpbmVyIC5tZC1pbnB1dFtkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbn1cblxubWQtc2lkZW5hdi5tZC1sb2NrZWQtb3Blbi5tZC1jbG9zZWQubWQtc2lkZW5hdi1sZWZ0IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuXG5tZC1zd2l0Y2gubWQtZGVmYXVsdC10aGVtZS5tZC1jaGVja2VkIC5tZC1pbmstcmlwcGxlLFxubWQtc3dpdGNoLm1kLWNoZWNrZWQgLm1kLWluay1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN0YXR1cyk7XG59XG5tZC1zd2l0Y2gubWQtZGVmYXVsdC10aGVtZS5tZC1jaGVja2VkIC5tZC1iYXIsXG5tZC1zd2l0Y2gubWQtY2hlY2tlZCAubWQtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdGF0dXMpO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi5tZC1zZWxlY3QtbWVudS1jb250YWluZXIge1xuICB6LWluZGV4OiAyMDAwO1xufSIsIi5jbGFpbS1zaWRlYmFyIHtcbiAgbWQtbGlzdC1pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1pbmRlbnQ6IDMycHggIWltcG9ydGFudDtcbiAgfVxuICAubWQtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU4LDE1OCwxNTgsMC4yKTtcbiAgICB9XG4gIH1cbn1cblxuLmNsYWltLWRyb3Bkb3duIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi5jbGFpbS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwIDAgMCAxNXB4O1xufVxuXG4uY2xhaW0tdGhpcmQtcGFydHktdGFnLWNpcmNsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiAgbWluLXdpZHRoOiA0NXB4O1xuICBtaW4taGVpZ2h0OiA0NXB4O1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuICBzcGFuIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICB9XG4gICYudGFnLXNtYWxsIHtcbiAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgbWluLWhlaWdodDogMjVweDtcbiAgfVxufVxuXG4ubWFuYWdlLWNsYWltLWxpbmsge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uY2xhaW1fX3Jlc29sdmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJveC1zaGFkb3dzLCBkZXB0aC0yKTtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuLmNsYWltX19yZXNvbHZlcl93ZWxsLWRvbmUge1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuXG5tZC1kaWFsb2ctY29udGVudC5zbWFsbCB7XG4gIHdpZHRoOiA2NDBweDtcbn1cbm1kLWRpYWxvZy1jb250ZW50LnhzbWFsbCB7XG4gIHdpZHRoOiAzNTBweDtcbn1cblxuLmNhcmQtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uY2FyZC1pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgd2lkdGg6IDMxJTtcbiAgbWFyZ2luOiAwIDElIDElIDA7XG5cbiAgaDMge1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSwgJi5ob2xsb3cge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAnc3VjY2VzcycpO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAudGV4dC1zbWFsbCB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogbWFwLWdldCgkYm94LXNoYWRvd3MsICdkZXB0aC0xJyk7XG4gIH1cbn1cblxuLmNsYWltLXJlY2VpcHQge1xuICAucmVjZWlwdC10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLnJlY2VpcHQtY3V0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgICBib3R0b206IDYzJTtcbiAgICB9XG4gIH1cbiAgLnJlY2VpcHQtYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAucmVjZWlwdC1kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiAxMjAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAkbGlnaHQtZ3JheTtcbiAgICB9XG4gIH1cbn1cblxuLmNsYWltLXZpZXcgaWZyYW1lIHtcbiAgYm9yZGVyOiBub25lO1xufVxuIiwiLmN1c3RvbWVyLXZpZXcge1xuICBwYWRkaW5nLWxlZnQ6ICRzaWRlYmFyLXBhZGRpbmc7XG59XG4iLCIuZGFzaGJvYXJkLWNvbnRhaW5lcixcbi5icm9rZXItY29udGFpbmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uZGFzaGJvYXJkLXBhZ2Uge1xuICB3aWR0aDogODglO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5kYXNoYm9hcmQtbGlua3Mge1xuICBmbGV4LWdyb3c6IDE7XG4gIC5jb250ZW50cy5xdW90ZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaGVhZGVyLmJ1cGEtaGVhZGVyIHtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4uYnJva2VyLWNvbnRhaW5lciB7XG4gIC50b3AtZGVjay1ibG9ja3Mge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5ncywgc21hbGwpO1xuXG4gICAgICAuaWNvbi1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hbGlnbi1sZWZ0LWNvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogMjNweDtcbiAgfVxuICAuaW5jcmVtZW50IHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiAgfVxuICAuZGVjcmVtZW50IHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgfVxuICAuYmctdHJhbnNwYXJlbnQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5hY3Rpdml0eS1kZXRhaWxzIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAuYWN0aXZpdHktY2Fyb3VzZWwge1xuICAgICAgLnNsaWNrLWFycm93OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICB9XG5cbiAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogLTE4JTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICB9XG5cbiAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC0yNSU7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWN0aW9uLWhpc3Rvcnkge1xuICAgIGhlaWdodDogMjkwcHg7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgfVxuICBoMy50aWxlLWhlYWRpbmdzIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cbiAgLmZpbHRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAuZG93bndhcmQtYXJyb3cge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRvcDogLTVweDtcbiAgICB9XG4gIH1cbiAgYS5kaXNhYmxlZCwgYVtkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICB9XG59XG4iLCIubG9naW4tcGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA0JTtcbiAgbWFyZ2luLWxlZnQ6IC0kc2lkZWJhci13aWR0aDtcblxuICBmb3JtIHtcbiAgICBtaW4taGVpZ2h0OiAyNjBweDtcbiAgfVxuXG4gIGltZy5sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0JTtcbiAgfVxuXG4gICNzc28tbWVzc2FnZSB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmb250LXNpemU6IHgtc21hbGw7XG4gIH1cblxuICAubG9nby10ZXh0IHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNCQ0JEQkQ7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICB9XG5cbiAgLmxvZ2luLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNzY0cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgLmxvZ2luLWZvcm0tYmxvY2sge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIC5ibG9jay5ib3JkZXIge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ2luLWltYWdlLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIC5ibG9jayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxvZ2luLWJnO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZGlzY2xvc3VyZSB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgICBpbWcucG93ZXJlZC1ieSB7XG4gICAgICB3aWR0aDogMTUycHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCJcbi5vZG9tZXRlci1yZWFkaW5nLXBhbmVsIHt9XG4ub2RvbWV0ZXItcmVhZGluZy1wYW5lbF9faW5wdXQge1xuICBoZWlnaHQ6IDIuODYycmVtO1xuICBwYWRkaW5nOiAwLjQ3NXJlbTtcbn1cblxuLnBvbGljeV9fbW9kYWwtY3JlYXRlLWNsYWltIHtcbiAgd2lkdGg6IDgwMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH07XG5cbiAgbWQtZGlhbG9nLWNvbnRlbnQge1xuICAgIHdpZHRoOiA4NyU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgaDEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICB9O1xuICB9XG5cbiAgbWQtZGlhbG9nLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5wb2xpY3lfX2NsYWltLWxvc3MtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnBvbGljeV9fY2xhaW0tZXhwbGFpbiB7XG4gIGhlaWdodDogMjIwcHg7XG4gIHJlc2l6ZTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbiIsIlxuLnNwYWNpbmdzLWhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc3BhY2luZ3MtdGFibGUge1xuICBkaXNwbGF5OiBncmlkO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRibGFjaztcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG59XG5cbi5zcGFjaW5ncy10YWJsZS1jZWxsLXQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsYWNrO1xufVxuXG4uc3BhY2luZ3MtdGFibGUtY2VsbC1yIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsYWNrO1xufVxuXG4uc3BhY2luZ3MtdGFibGUtY2VsbC1iIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibGFjaztcbn1cblxuLnNwYWNpbmdzLXRhYmxlLWNlbGwtbCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJsYWNrO1xufVxuXG4uc3R5bGVzLWljb25zIHtcbiAgLnN0eWxlcy1pY29uIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuICAuY29sdW1uczpudGgtY2hpbGQoM24pIHtcbiAgICAuc3R5bGVzLWljb24ge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uczpudGgtY2hpbGQoM24rMSkge1xuICAgIC5zdHlsZXMtaWNvbiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW5zOm50aC1jaGlsZCgzbisyKSB7XG4gICAgLnN0eWxlcy1pY29uIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5hY2NvdW50LWxpc3QtdGFibGUge1xuICAudGV4dC1jYXBzdWxlIHtcbiAgICAmLmRyYWZ0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgIH1cbiAgICAmLmNvbXBsZXRlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gICAgJi5hcHByb3ZlZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgfVxuICAgICYuZGVjbGluZWQge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIuYWNjb3VudC1jb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCJzcGFuW2NsYXNzKj1cImNsYWltLXN0YXRlLS1cIl0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi5jbGFpbS1zdGF0ZS0tZHJhZnQge1xuICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG4uY2xhaW0tc3RhdGUtLXJlc29sdmVkLCAuY2xhaW0tc3RhdGUtLWZpbmFsaXNlZCB7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG59XG5cbi5jbGFpbS1zdGF0ZS0taW5Qcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xufVxuXG4uY2xhaW0tc3RhdGUtLXZvaWRlZCwgLmNsYWltLXN0YXRlLS1jbG9zZWQge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgY29sb3I6ICRibGFjaztcbn1cblxuLmNsYWltLXN0YXRlLS1ob2xkIHtcbiAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCByZWFkeSk7XG59XG5cbi50ZXh0LWNhcHN1bGUudGhpcmQtcGFydHkge1xuICBiYWNrZ3JvdW5kOiAjZmJkODY3O1xuICBwYWRkaW5nOiA3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNsYWltcy10YWJsZS1hY3Rpb25zIHtcbiAgbWQtc2VsZWN0IHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuXG4gIC5tZC1zZWxlY3QtdmFsdWUgPiBzcGFuOm5vdCgubWQtc2VsZWN0LWljb24pIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG59XG5cbi5jbGFpbXMtdGFibGUtZmlsdGVyIHtcbiAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAuYnV0dG9uLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cblxuY2xhaW1zLXRhYmxlLWRhdGEsIC5jbGFpbXMtdGFibGUtZGF0YSB7XG4gIC5wcm9kdWN0LWxvZ28sXG4gIC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyMHB4O1xuICB9XG59XG4iLCIuY3VzdG9tZXItc29sdXRpb25zLXRhYmxlIHtcbiAgLnRleHQtY2Fwc3VsZSB7XG4gICAgJi5lc3RpbWF0ZWQge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICAmLmFjdGlvbmVkIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgIH1cbiAgICAmLm9yZGVyLWNvbmZpcm1lZCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIH1cbiAgICAmLnJlYWR5LWZvci1hcHByb3ZhbCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHJlYWR5KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICYuYXBwcm92ZWQtZm9yLXBheW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICYucGFpZC1jbG9zZWQge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgfVxuICAgICYuaW52b2ljZS1ub3QtYWNjZXB0ZWQge1xuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICAgICYudm9pZGVkIHtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5jdXN0b21lci1zb2x1dGlvbnMtdGFibGUtYWN0aW9ucyB7XG4gIG1kLXNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAubWQtc2VsZWN0LXZhbHVlID4gc3Bhbjpub3QoLm1kLXNlbGVjdC1pY29uKSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5jdXN0b21lci1zb2x1dGlvbnMtdG90YWwge1xuICAuZXhjZXNzX291dHN0YW5kaW5nIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4gIH1cbn1cbiIsImZvcm1bbmFtZT1cImVkaXRDdXN0b21lclNvbHV0aW9uRm9ybVwiXSB7XG4gIC5yZWFkb25seV9jdXJyZW5jeSB7XG4gICAgbGFiZWwge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGgxIHtcbiAgICAudGV4dC1jYXBzdWxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB9XG4gIH1cbiAgLmZpZWxkID4gLmZpZWxkIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cbn1cblxuLmN1c3RvbWVyLXNvbHV0aW9uLXZhbHVlLWZpZWxkc2V0IHtcbiAgaDMge1xuICAgIG1hcmdpbjogMjBweCAwIDA7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbWVyLXNvbHV0aW9uLW9wZXJhbmQge1xuICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5zZWN0aW9uX2V4cGVuc2VfYW1vdW50LFxuLnNlY3Rpb25fZXhwZW5zZV93aXRoX2RlZHVjdGlvbnMsXG4uc2VjdGlvbl9zdXBwbGllcl9pbnZvaWNlLFxuLnNlY3Rpb25fb3ZlcnNlYXNfdHJhdmVsX2V4cGVuc2UsXG4uc2VjdGlvbl90b3RhbF9sb3NzX2ludm9pY2UsXG4uc2VjdGlvbl90b3RhbF9sb3NzX3RoaXJkX3BhcnR5X2ludm9pY2UsXG4uc2VjdGlvbl9leGNlc3NfcGF5bWVudF9pbnZvaWNlLFxuLnNlY3Rpb25fZXhwZW5zZV9yZWNvdmVyeSxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmLFxuLnNlY3Rpb25fY3VzdG9tZXJfc2V0dGxlbWVudCxcbi5zZWN0aW9uX3JlaW1idXJzZV9leGNlc3MsXG4ua2V5X2FnZW50LFxuLmtleV9lc3RpbWF0ZV9hbW91bnQsXG4ua2V5X291dHN0YW5kaW5nX3JlY292ZXJ5X3NlY3Rpb24sXG4ua2V5X291dHN0YW5kaW5nX3RvdGFsX3NlY3Rpb24ge1xuICAuZm9ybS1maWVsZFxuICB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgPiBoMyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgPiBkaXYge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgIH1cbiAgICBsYWJlbCwgaW5wdXQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gICAgfVxuICB9XG59XG5cbi5zZWN0aW9uX3RvdGFsX2xvc3NfaW52b2ljZSAuZm9ybS1maWVsZCBsYWJlbCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi5zZWN0aW9uX2V4cGVuc2VfYW1vdW50IHtcbiAgLmVzdGltYXRlX2dzdF92YWx1ZSwgLmFjdHVhbF9nc3RfdmFsdWUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLnNlY3Rpb25fZXhwZW5zZV93aXRoX2RlZHVjdGlvbnMge1xuICAuYWN0dWFsX2V4Y2Vzc19kZWR1Y3Rpb24sXG4gIC5lc3RpbWF0ZV9leGNlc3NfZGVkdWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5zZWN0aW9uX2V4cGVuc2VfYW1vdW50LFxuLnNlY3Rpb25fc3VwcGxpZXJfaW52b2ljZSxcbi5zZWN0aW9uX292ZXJzZWFzX3RyYXZlbF9leHBlbnNlLFxuLnNlY3Rpb25fdG90YWxfbG9zc19pbnZvaWNlLFxuLnNlY3Rpb25fdG90YWxfbG9zc190aGlyZF9wYXJ0eV9pbnZvaWNlLFxuLnNlY3Rpb25fZXhjZXNzX3BheW1lbnRfaW52b2ljZSxcbi5zZWN0aW9uX2V4cGVuc2VfcmVjb3Zlcnlfd3JpdGVfb2ZmXG4ge1xuICAuZXN0aW1hdGVfcGF5YWJsZV9pbmNfZ3N0LFxuICAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzM7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuXG4gIC5lc3RpbWF0ZV9wYXlhYmxlX2dzdCxcbiAgLmVzdGltYXRlX3BheWFibGVfZXhjX2dzdCxcbiAgLmFjdHVhbF9wYXlhYmxlX2dzdCxcbiAgLmFjdHVhbF9wYXlhYmxlX2V4Y19nc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmtleV9hY3R1YWxfc3VwcGxpZXJfYW1vdW50X2ZpZWxkcyxcbi5rZXlfYWN0dWFsX3RvdGFsX2xvc3NfYW1vdW50X2ZpZWxkcyxcbi5rZXlfYWN0dWFsX3RvdGFsX2xvc3NfdGhpcmRfcGFydHlfYW1vdW50X2ZpZWxkcyB7XG4gID4gZGl2Om50aC1sYXN0LWNoaWxkKDEpLCA+IGRpdjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2VjdGlvbl9leGNlc3NfcGF5bWVudF9pbnZvaWNlIHtcbiAgLmFjdHVhbF9yZWNvdmVyYWJsZV9nc3QsXG4gIC5hY3R1YWxfcmVjb3ZlcmFibGVfZXhjX2dzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy0gVE9ETzogU3RhcnQ6IFJlbW92ZSB0aGlzIGhhY2sgYWZ0ZXIgaW1wbGVtZW50YXRpb24gb2YgZWFjaCBmaWVsZCBiZWluZyBlZGl0YWJsZS9yZWFkb25seS4gRGV0YWlscyBvbiBjb21wb25lbnQgZG9jdW1lbnRhdGlvblxuLnJlYWRvbmx5LWN1cnJlbmN5IC5pbnB1dC1jdXJyZW5jeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2VjdGlvbl9yZWltYnVyc2VfZXhjZXNzIHtcbiAgLmFjdHVhbF9pbnZvaWNlX2dzdF9yYXRlIHtcbiAgICAuZm9ybS1maWVsZC1oZWxwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAuYWN0dWFsX3BheWFibGVfaW5jX2dzdCB7XG4gICAgLm1kLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5yZWFkb25seS1jdXJyZW5jeSAuaW5wdXQtY3VycmVuY3kge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4uc2VjdGlvbl9vdXRzdGFuZGluZ19wcmVtaXVtX0FUTCB7XG4gIC5hY3R1YWxfcGF5YWJsZV9nc3Qge1xuICAgIC5mb3JtLWZpZWxkLWhlbHAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuLy8tIFRPRE86IEVuZFxuXG4uc2VjdGlvbl9vdmVyc2Vhc190cmF2ZWxfZXhwZW5zZSB7XG4gIC5lc3RpbWF0ZV9wYXlhYmxlX2dzdCxcbiAgLmVzdGltYXRlX3BheWFibGVfZXhjX2dzdCxcbiAgLmFjdHVhbF9wYXlhYmxlX2dzdCxcbiAgLmFjdHVhbF9wYXlhYmxlX2V4Y19nc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLnNlY3Rpb25fY29tcG91bmRfc3VidHJhY3Qge1xuICAuYWN0dWFsX293aW5nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zZWN0aW9uX2ludm9pY2Vfc2VsZWN0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBociB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ua2V5X291dHN0YW5kaW5nX3RvdGFsX3NlY3Rpb24ge1xuICBociB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ua2V5X291dHN0YW5kaW5nX3JlY292ZXJ5X3NlY3Rpb24sIC5rZXlfb3V0c3RhbmRpbmdfdG90YWxfc2VjdGlvbiB7XG5cbiAgLmFjdHVhbF9wYXlhYmxlX2luY19nc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBtZC1pbnB1dC1jb250YWluZXIgLmZpZWxkX2NvbXBvdW5kX3RvdGFsIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi5vdXRzdGFuZGluZ19yZWNvdmVyeSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYmxhY2s7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ub3V0c3RhbmRpbmdfcmVjb3ZlcnksIC5vdXRzdGFuZGluZ190b3RhbF9wYWlkIHtcbiAgbWQtaW5wdXQtY29udGFpbmVyIGgzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmtleV9pbnZvaWNlX2RhdGVzLCAua2V5X2ludm9pY2VfbnVtYmVyIHtcbiAgaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmV4cGVuc2UtaW52b2ljZS1maWVsZHNldCwgZXhwZW5zZS1wYXllZSB7XG4gIC5zaGFkb3cge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAmLmRlcHRoLTEge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbiAgaHIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBheWVlLWxvb2t1cCB7XG4gIHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uaGlyZS1jYXItdHlwZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR6ZWJyYTtcbn1cblxuLmJsb2NrLmJvcmRlci5pbmZvLWJsb2NrIHtcbiAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuXG4gICYud2FybmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXdhcm5pbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB9XG59XG5cbi5leHBlbnNlLWZpZWxkOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHplYnJhO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cblxuLm1hcmstYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xNztcbn1cblxuLm92ZXJ2aWV3LWZpZWxkLWJvcmRlci10b3Age1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi5mYWN0b3Jpbmctc2VsZWN0IC5maWVsZHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuIiwidWwuZXZlbnQtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuLmV2ZW50LW5hdiBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5rZXlfc2VjdGlvbl9kX2Rpc2Nsb3N1cmVzX2ZpZWxkcyB7XG4gIC5mb3JtLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsImZvcm1bbmFtZT1cImNsYWltRXhjZXNzRm9ybVwiXSB7XG4gIGhyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgZm9ybS1maWVsZHNldCArIGZvcm0tZmllbGRzZXQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLmZpZWxkX2NvbXBvdW5kX3RvdGFsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5jb21wb3VuZF90b3RhbCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgbWQtaW5wdXQtY29udGFpbmVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiZm9ybVtuYW1lPVwiY2xhaW1EZWNpc2lvbkZvcm1cIl0ge1xuICBoMSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5kZWNpc2lvbi13YXJuaW5ncyB7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBib3JkZXI6MXB4IHNvbGlkO1xuICBoMyB7XG4gICAgbWFyZ2luOiAwcHggMCAxMHB4O1xuICB9XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAmLndhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC13YXJuaW5nO1xuICB9XG4gICYuYWxlcnQge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtYWxlcnQ7XG4gIH1cbiAgJi5zYWZlIHtcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeTtcbiAgfVxuICAmLnVuY2xlYXIge1xuICAgIGJvcmRlci1jb2xvcjogJGRhcmstZ3JheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ncmF5O1xuICB9XG59XG5cbi5kZWNpc2lvbi13YXJuaW5ncy1yZXN1bHRzIHtcbiAgJi5ibG9jayB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuXG4uZGVjaXNpb24td2FybmluZ3MtaGVhZGVyIHtcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgLmJsb2NrIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi50d28tY29sdW1uIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gIC1tb3otY29sdW1uLWNvdW50OiAyO1xufVxuXG4uaGRzVG9nZ2xlLmhkc1RvZ2dsZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuIiwiXG5hY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5ibG9jayB7XG4gICAgcGFkZGluZzogMCAwIDE1cHggMDtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDgwcHg7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gIH1cbn1cbiIsIi5oaXN0b3J5X19jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG5cbiAgaW1nIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbiAgLmNvbnRlbnQge1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogMC4zZW07XG4gIH1cbn0iLCIuYWRkcmVzc19fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgcGFkZGluZzogMjBweCAzNXB4IDEwcHggMjBweDtcblxuICBpbWcuaWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLmFkZHJlc3NfX2ltYWdlIHtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG59XG4iLCJcblt1aWItdHlwZWFoZWFkLXBvcHVwXSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJveC1zaGFkb3dzLCBkZXB0aC0yKTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwO1xuXG4gIC51aWItdHlwZWFoZWFkLW1hdGNoIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmFkZHJlc3NpZnktZm9ybSB7XG4gIHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLmF1dGgwLWxvZ2luLWxpbmstZGlhbG9nIHtcbiAgd2lkdGg6IDYwMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH07XG5cbiAgbWQtZGlhbG9nLWNvbnRlbnQge1xuICAgIHdpZHRoOiA4NyU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgaDEge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICB9O1xuICB9XG5cbiAgbWQtZGlhbG9nLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59IiwiYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJyZWFkY3J1bWItY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IG1hcC1nZXQoJHNwYWNpbmdzLCB4eHNtYWxsKTtcbiAgcGFkZGluZy1ib3R0b206IG1hcC1nZXQoJHNwYWNpbmdzLCB4eHNtYWxsKTtcblxuICB1bC5icmVhZGNydW1iIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG59XG4iLCJidWJibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idWJibGUtYmcge1xuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgfVxuICB9XG59XG5cbi5idWJibGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTI1cHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHdpZHRoOiAzMzBweDtcbiAgcGFkZGluZzogMTdweCAxN3B4O1xuICB6LWluZGV4OiAxMTEwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICB0b3A6IC04MHB4O1xuICAgIGxlZnQ6IDI1NXB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHdpZHRoOiA5NXZ3O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB3aWR0aDowO1xuICAgICAgaGVpZ2h0OjA7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OjEwcHggc29saWQgJHdoaXRlO1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHRvcDogIDExMHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gIH1cblxuICAuYnViYmxlLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogN3B4O1xuICAgIHRvcDogMTRweDtcbiAgICB6LWluZGV4OiAxMTEwO1xuICAgIHN2ZyB7XG4gICAgICBmaWxsOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB0b3A6IC0yM3B4O1xuICAgICAgcmlnaHQ6IDNweDtcbiAgICB9XG4gIH1cbn1cblxuLmV4cGVuc2UtaW52b2ljZS1maWVsZHNldCBidWJibGUgLmJsb2NrICB7XG4gIHBhZGRpbmc6IDBweCAyMHB4O1xufVxuIiwiLmNhcmQtcGF5bWVudF9fcGFkLWNhcmQtaWNvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uY2FyZC1wYXltZW50X19wYXltZW50T3B0aW9uIHtcbiAgcGFkZGluZzogMjVweCAyMHB4IDE1cHg7XG4gICYuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgIC5yYWRpby1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubmV3LWNhcmQge1xuICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgfVxufVxuXG4uY2FyZC1wYXltZW50X19zYXZlZC1jYXJkIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG5cbiAgLnRleHQtc3VwIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG5cbiAgLmNhcmQtbnVtYmVyIHtcbiAgICBtYXJnaW46IC02cHggMCAwIDEwcHg7XG4gIH1cbn1cblxuLnN0cmlwZS1iYWRnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICBtYXgtaGVpZ2h0OiA4MHB4O1xufSIsIi5jbGFpbS1zdGF0dXMge1xuICBjb2xvcjogJGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbiAgJi5EIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAmOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAubWQtc2VsZWN0LWljb24ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLkgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcmVhZHkpO1xuICB9XG5cbiAgJi5GIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gIH1cblxuICAmLkwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuICB9XG5cbiAgJi5RIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6Zm9jdXMgLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC5tZC1zZWxlY3QtaWNvbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5tZC1zZWxlY3QuY2xhaW0tc3RhdHVzLlFbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbn0iLCIuY291bnRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgLmNvdW50ZXItY29sdW1uIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgJi54c21hbGwge1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuY3VzdG9tZXItbmF2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRzcGFjaW5ncywgeHNtYWxsKTtcblxuICAmOm5vdChbaXMtY3VzdG9tZXItdmlldz1cInRydWVcIl0pIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuYnV0dG9uLnRleHQtdXBwZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmW2lzLWN1c3RvbWVyLXZpZXc9XCJ0cnVlXCJdIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgLmJsb2NrLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIH1cblxuICAudnVsbmVyYWJsZSB7XG4gICAgbWQtaWNvbiwgLnN1Yi10aXRsZSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgICB9XG4gIH1cblxuICAub3ZlcmR1ZS1hbW91bnQge1xuICAgIC5kdWUge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuICAgIC5zZXR0bGVkIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5iZy1hbGVydCBpbWcge1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICB9XG5cbiAgLnByb2R1Y3QtYmxvY2sge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5xdW90ZS1jcmVhdGUtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICB9XG59XG5cbi5jdXN0b21lci1uYXZfX2lkQ2hlY2sge1xuICBjb2xvcjogJGJsYWNrO1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDkwMHB4O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00NTBweDtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICYuZmFkZUluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleGVzLCBkZXB0aC0xKTtcbiAgfVxuXG4gICYuZmFkZU91dCB7XG4gICAgYW5pbWF0aW9uOiBzaG93RmFkZU91dDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB9XG5cbiAgLmJsb2NrIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hvd0ZhZGVPdXQge1xuICAwJSB7IHotaW5kZXg6IG1hcC1nZXQoJHotaW5kZXhlcywgZGVwdGgtMSk7IH1cbiAgOTklIHsgei1pbmRleDogbWFwLWdldCgkei1pbmRleGVzLCBkZXB0aC0xKTsgfVxuICAxMDAlIHsgei1pbmRleDogLTE7IH1cbn1cblxuLmN1c3RvbWVyLW5hdl9fbmV3LXF1b3RlLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4yO1xufVxuXG4ucGF5bWVudC1zdWNjZXNzIHtcbiAgYm9yZGVyOiAxcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSBzb2xpZDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xufVxuXG4ucGF5bWVudC13YXJuaW5nIHtcbiAgYm9yZGVyOiAxcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSBzb2xpZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtd2FybmluZztcbn1cbiIsIlxuLmRyb3AtYm94IHtcbiAgYmFja2dyb3VuZDogI0Y4RjhGODtcbiAgYm9yZGVyOiAxcHggc29saWQgI0RERDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA1MHB4O1xuXG4gICYuZHJhZ292ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzRERDBFMTtcbiAgfVxufVxuXG4uZHJvcC1ib3gtdGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbWQtdGFibGUtY29udGFpbmVyIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzO1xuICB9XG5cbiAgJi5sb2FkaW5nIG1kLXRhYmxlLWNvbnRhaW5lciAge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIG1kLXByb2dyZXNzLWNpcmN1bGFyIHtcbiAgICB0b3A6IDIwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbn1cbiIsIi5lbWFpbC1tb2RhbCB7XG4gIC5jbG9zZS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zNXB4O1xuICAgIHJpZ2h0OiA1cHg7XG4gIH1cbn1cbiIsIi5mZWVkYmFjayB7XG4gIHRoIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICM3NTc1NzU7XG4gIH1cbn1cblxuZmVlZGJhY2stZm9ybSB7XG4gIC8vIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC8vIGRpc3BsYXk6IGZsZXg7XG4gIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8vIC8vIGJhY2tncm91bmQ6ICNGQUZCRkM7XG4gIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbi5mZWVkYmFjay1mb3JtIHtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgJi5yZXZlYWwtbW9kYWwgPiBkaXYsICYucmV2ZWFsID4gZGl2IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5ub3Rlc19fbm90ZS1lZGl0b3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbiAgLy8gc2VsZWN0IHtcbiAgLy8gICBtaW4td2lkdGg6IDE4MHB4O1xuICAvLyB9XG5cbiAgc2VsZWN0LmZlZWRiYWNrLXN0YXR1cyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDJweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxufSIsIi5hcHAtZm9vdGVyIHtcbiAgLmJsb2NrLmNvbnRhaW5lciB7XG4gICAgJi5pcy1icm9rZXIge1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAuYmxvY2sge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgICAgYS5waG9uZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICAgIGE6bm90KC5waG9uZSkge1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgICB1bCBsaSBhOm5vdCgucGhvbmUpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgLnBvd2VyZWQtYnkge1xuICAgICAgICB3aWR0aDogMTUzcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIuZ29jYXJkbGVzcy1mb3JtX19jb25zZW50IHtcbiAgcGFkZGluZzogMCAxNXB4O1xufVxuICBcbi5nb2NhcmRsZXNzLWZpZWxkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgcGFkZGluZzogLjg3NXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gIH1cblxuICAuSW5wdXRFbGVtZW50IHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBvcGVuLWJsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cbiAgXG5kaXYuZ29jYXJkbGVzcy1maWVsZCAuaG9sZGVyIHtcbiAgaGVpZ2h0OiAxLjJyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuICBcbi5pcy1lcnJvciAuZ29jYXJkbGVzcy1maWVsZCB7XG4gIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTs7XG59XG4gICIsIlxuLmlubGluZS1lZGl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC5pbmxpbmUtZWRpdC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgIG1kLXByb2dyZXNzLWNpcmN1bGFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgdG9wOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5pbmxpbmUtZWRpdC1idXR0b25zIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogMzBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmlubGluZS1lZGl0LXNhdmUge1xuICAgICAgbWQtaWNvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFnaWMtbGluay1kaWFsb2cge1xuICB3aWR0aDogNjAwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgfTtcblxuICBtZC1kaWFsb2ctY29udGVudCB7XG4gICAgd2lkdGg6IDg3JTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICBoMSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH07XG4gIH1cblxuICBtZC1kaWFsb2ctYWN0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi5tdWx0aS1zZWxlY3Qge1xuICBzZWxlY3Qgb3B0aW9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIubmF2YmFyLXNpZGVNZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgd2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xuXG4gIG1kLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5sb2dvIHtcbiAgICBtYXJnaW46IG1hcC1nZXQoJHNwYWNpbmdzLCB4c21hbGwpO1xuICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHNwYWNpbmdzLCBtZWRpdW0pO1xuICB9XG5cbiAgLm1kLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbWQtaWNvbi53aGl0ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgb3BhY2l0eTogMC42O1xuXG4gICAgICBzdmcge1xuICAgICAgICBjaXJjbGUge1xuICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBtZC1pY29uLmFjdGl2ZSwgJjpob3ZlciA+IG1kLWljb24ge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBzdmcge1xuICAgICAgICBjaXJjbGUge1xuICAgICAgICAgIGZpbGw6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgICAgIH1cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBtZC1tZW51LnByb2ZpbGUge1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIH1cbn1cblxuLm1kLW9wZW4tbWVudS1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBtZC1tZW51LWl0ZW0ge1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5uYXZiYXItc2lkZU1lbnVfX2xpbmtzIHtcbiAgPiAubWQtYnV0dG9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuICAmLmFjdGl2ZSB7XG4gICAgbWQtaWNvbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbiAgfVxufVxuIiwiLm5vdGVzX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcblxuICAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xNWVtIDAuMzVlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4ubm90ZXNfX2ltYWdlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5ub3Rlc19fbW9kYWwtYWRkLW5vdGUge1xuICBtaW4td2lkdGg6IDY3NXB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gIH07XG5cbiAgbWQtZGlhbG9nLWNvbnRlbnQge1xuICAgIHdpZHRoOiA4NyU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgbWQtZGlhbG9nLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5ub3Rlc19fbm90ZS1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDk5JTtcbiAgaGVpZ2h0OiAyOTBweDtcbiAgcmVzaXplOiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uY2tlX25vdGlmaWNhdGlvbnNfYXJlYSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIucGFnaW5hdG9yIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLm1kLXByaW1hcnkge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIG1pbi1oZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDlweCAwO1xuXG4gICAgJjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICBtZC1pY29uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCwgb3B0aW9uIHtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgbGFiZWwgc3BhbiB7XG4gICAgbGluZS1oZWlnaHQ6IDIuM2VtO1xuICB9XG59XG4iLCIucGVyc29uX19jb250ZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG59XG5cbi50ZXh0LWNhcHN1bGUge1xuICAmLnBvbGljeS1ob2xkZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgfVxufVxuIiwiXG4kcG9saWN5LXN0YXR1cy1jb2xvcnM6IChcbiAgYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpLFxuICBpbmFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKVxuKTtcblxuLnBvbGljeS1zdGF0dXMge1xuICBwYWRkaW5nOiA2cHggMzVweDtcbiAgc3BhbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE3O1xuICB9XG5cbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRwb2xpY3ktc3RhdHVzLWNvbG9ycyB7XG4gICAgJi4jeyRrZXl9IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zdHJpcGUtZm9ybV9fY29uc2VudCB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbn1cblxuLnN0cmlwZS1maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMzMsIDMzLCAzMywgMC4xKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cbmRpdi5zdHJpcGUtZmllbGQgLmhvbGRlciB7XG4gIGhlaWdodDogMS4ycmVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmlzLWVycm9yIC5zdHJpcGUtZmllbGQge1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTs7XG59IiwiXG4udG9vbHRpcC1zaWRlYmFyIHtcbiAgb3V0bGluZTogMDtcbiAgbGVmdDogYXV0bztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIHdpZHRoOiAzMTBweDtcbiAgfVxufVxuXG4udG9vbHRpcC1zaWRlYmFyLW1vZGFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgb3BhY2l0eTogMDtcbiAgLy8gYW5jaG9yIHRoZSB0b29sdGlwIHNpZGViYXIgb2ZmIHNjcmVlbiBmb3IgZGVza3RvcFxuICByaWdodDogLTMxMHB4O1xuXG4gIC8vIGFuaW1hdGUgdGhlIHRvb2x0aXAgc2lkZWJhciBtb2RhbCBvcGVuaW5nIGFuZCBjbG9zaW5nXG4gIHRyYW5zaXRpb246IGFsbCAkYW5pbWF0aW9uLWR1cmF0aW9uICRhbmltYXRpb24tdGltaW5nO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodCwgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuXG4gIC5mYWRlLmluICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAubWVzc2FnZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIC8vIG1vYmlsZVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgLy8gYW5pbWF0ZSBvbmx5IHRoZSBvcGFjaXR5IGZvciBtb2libGVcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG59XG5cbi50b29sdGlwLXNpZGViYXItY2xvc2Uge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICBhIHtcbiAgICBmaWxsOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICB9XG59XG5cbi5yZXZlYWwtbW9kYWwudG9vbHRpcC1zaWRlYmFyLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xuICBhbmltYXRpb24tZGVsYXk6IDA7XG59XG5cbi5yZXZlYWwtbW9kYWwudG9vbHRpcC1zaWRlYmFyLWNsb3NlLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbn1cblxuLnRvb2x0aXAtc2lkZWJhci1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuIiwidmlldy1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGg0IHtcbiAgICAmLnN1Yi10aXRsZSB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICBtZC1pY29uLm1hdGVyaWFsLWljb25zIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgLmxhYmVsLWljb24ge1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICB9XG59XG5cbi50aGlyZC1wYXJ0eS10YWcge1xuICBtYXJnaW46IC0zNXB4IC0yNXB4IDMwcHggLTI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJ2FsZXJ0Jyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogOHB4IDhweCAwIDA7XG4gIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICB9XG59XG4iLCJ2dWxuZXJhYmlsaXR5LWZvcm0ge1xuICAvLyBtaW4taGVpZ2h0OiAxMDAlO1xuICAvLyBkaXNwbGF5OiBmbGV4O1xuICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvLyAvLyBiYWNrZ3JvdW5kOiAjRkFGQkZDO1xuICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG4udnVsbmVyYWJpbGl0eS1mb3JtIHtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgJi5yZXZlYWwtbW9kYWwgPiBkaXYsICYucmV2ZWFsID4gZGl2IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lZGl0aW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgfVxuXG59IiwiLnBvbGljeS1saXN0X19yZXN1bHRzIHtcbiAgc3BhbltjbGFzcyo9XCJwb2xpY3ktc3RhdGUtLVwiXSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAucG9saWN5LXN0YXRlLS1pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLnBvbGljeS1zdGF0ZS0tY2FuY2VsbGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5wb2xpY3ktc3RhdGUtLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiAgfVxuXG4gIC5wb2xpY3ktc3RhdGUtLWZpbmlzaGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxuXG4gIHRhYmxlLm1kLXRhYmxlOm5vdCgubWQtcm93LXNlbGVjdCkgdGQubWQtY2VsbC5wb2xpY3lfdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgfVxuXG5cbiAgLnByb2R1Y3QtbG9nbyxcbiAgLmFzc29jaWF0ZS1sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gIH1cbn1cbiIsIi5wb2xpY3ktdmlldyB7XG4gIC5zZWN0aW9uLS1jbGFpbXMge1xuICAgIHRoIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgfVxuXG4gIC5wcm9kdWN0LXZpYS1ibG9ja3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTY3O1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAucHJvZHVjdC1sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLmFzc29jaWF0ZS1sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cblxuICAuYnVwYS1ubW9udGhzZnJlZS1zdGF0dXMge1xuICAgIHBhZGRpbmc6IDZweCAzNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEQjM5MDc7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LXNlbWlib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAvLyBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTc7XG4gICAgfVxuICB9XG5cbn1cblxuLnBvbGljeS12aWV3LWNvbnRlbnQge1xuICB2aWV3LWJsb2NrLFxuICBwb2xpY3ktY292ZXIsXG4gIHBvbGljeS1tZXRhLWRhdGEsXG4gIHBvbGljeS1jYXIsXG4gIHBvbGljeS1vZG9tZXRlcixcbiAgcG9saWN5LXBlb3BsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi5xdW90ZS1lZGl0LWNvbnRhaW5lciB7XG4gIC5maWVsZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnF1b3RlLWZpZWxkOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHplYnJhO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLnF1b3RlLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAucXVvdGUtZmllbGQtcm93IHtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICBsYWJlbCArIGRpdiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAmLmFwcGVuZGVkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC53b3JkaW5nLWVuZG9yc2VtZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMzUwcHg7XG4gIH1cblxuXG4gIC5idXR0b24tZ3JvdXAudGV4dC1zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgfVxufVxuXG4uZXhjbHVkaW5nLW1vZGlmaWNhdGlvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXItd2FpdmVycy1jb25maXJtYXRpb25zIHtcbiAgLnF1b3RlLWZpZWxkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLmZpbmFsLXJldmlldy13YXJuaW5ncyB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuLmZpbmFsLXJldmlldy13YXJuaW5ncywgLmludmFsaWQtcXVvdGUtaXRlbXMge1xuICB1bCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICB9XG4gIH1cbn1cblxuLmZpbmFsLXJldmlldy1wcmljZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cblxuLm1pZ3JhdGlvbi1pZENoZWNrIHtcbiAgY29sb3I6ICRibGFjaztcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiA5MDBweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNDUwcHg7XG4gIHotaW5kZXg6IC0xO1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgei1pbmRleDogbWFwLWdldCgkei1pbmRleGVzLCBkZXB0aC0xKTtcbiAgfVxuXG4gIC5ibG9jayB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgfVxufVxuIiwiLnF1b3RlLWxpc3RfX3Jlc3VsdHMge1xuICBzcGFuW2NsYXNzKj1cInF1b3RlLXN0YXRlLS1cIl0ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLnF1b3RlLXN0YXRlLS1pbi1wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4gIH1cblxuICAucXVvdGUtc3RhdGUtLXB1cmNoYXNlZCB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAucXVvdGUtc3RhdGUtLWV4cGlyZWQge1xuICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5xdW90ZS1zdGF0ZS0tZGVjbGluZWQge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICB9XG5cbiAgLnByb2R1Y3QtbG9nbyxcbiAgLmFzc29jaWF0ZS1sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gIH1cbn1cbiIsIi5jdXN0b21lci1saXN0LXNlbGVjdC1wcm9kdWN0IHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbn1cbiIsIi5xdW90ZS1zdWNjZXNzLXZpZXcge1xuICAuc2VsZWN0LXByb2R1Y3Qge1xuICAgIG1heC13aWR0aDogMTYwcHg7XG4gIH1cbn1cblxuLnF1b3RlLWNvbmZpcm1fX2Fubm91bmNlIHtcbiAgLmJsb2NrLmluZm8tYWxlcnQge1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuICB9XG5cbiAgLmljb24ucXVvdGVzIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICB9XG59XG5cbi5udW1iZXItY2lyY2xlLWJsYWNrIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogM3B4IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cbiIsIi5jYXRhc3Ryb3BoZSB7XG5cbiAgbWQtc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiXG4uZHJvcC1ib3gge1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjREREO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDUwcHg7XG5cbiAgJi5kcmFnb3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNEREMEUxO1xuICB9XG59XG5cbi5kcm9wLWJveC10YWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBtZC10YWJsZS1jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7XG4gIH1cblxuICAmLmxvYWRpbmcgbWQtdGFibGUtY29udGFpbmVyICB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgbWQtcHJvZ3Jlc3MtY2lyY3VsYXIge1xuICAgIHRvcDogMjAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxufVxuXG4uY2xhaW0tZG9jdW1lbnRzLWFjdGlvbnMge1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIGJveC1zaXppbmc6IGluaXRpYWw7XG59XG5cbi5jbGFpbS1kb2N1bWVudCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgJi5pY29uIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuLmZpeGVkLWhlaWdodCB7XG4gIGhlaWdodDogNDUwcHg7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDFlbSAyZW0gMWVtIDFlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgaDQge1xuICAgIG1hcmdpbjogMWVtIDAgMC41ZW0gMDtcbiAgfVxuICBtZC1jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICB9XG59XG5cbiIsIlxuXG4uY2xhaW0tZWRpdCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICByaWdodDogMTVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAxNzc2O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICBtZC1pY29uIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiAgICB9XG59IiwiY2xhaW0tbWV0YS1kYXRhIHtcbiAgLmJsb2NrIHtcbiAgICBoZWlnaHQ6IDEwMCVcbiAgfVxufVxuLnN1Yi1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiY2xhaW0tbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMzBweDtcblxuICBtZC1zZWxlY3QuY2xhaW0tc3RhdHVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5uYXYtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgcGFkZGluZzogMjBweCAxNXB4IDIwcHggMjBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogMTI1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmlzLWNvbXBsZXRlIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLnNsYSAuaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwcHg7XG4gICAgICByaWdodDogNDBweDtcblxuICAgICAgJi50YXNrIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4gICAgICAgICYuY29tcGxldGUge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5uYXYtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG4gIC5uYXYtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICB9XG5cbiAgLnByb2R1Y3QtYmxvY2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTY3O1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgLnByb2R1Y3QtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuXG4gIC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuXG59XG4iLCJjbGFpbS1waG90b3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdC8qIENvbXBlbnNhdGUgZm9yIGV4Y2VzcyBtYXJnaW4gb24gb3V0ZXIgZ2FsbGVyeSBmbGV4IGl0ZW1zICovXG5cdG1hcmdpbjogLTFyZW0gLTFyZW07XG5cbiAgLmNsYWltLXBob3RvIHtcbiAgICAvKiBNaW5pbXVtIHdpZHRoIG9mIDZyZW0gYW5kIGdyb3cgdG8gZml0IGF2YWlsYWJsZSBzcGFjZSAqL1xuICAgIGZsZXg6IDEgMCA2cmVtO1xuICAgIC8qIE1hcmdpbiB2YWx1ZSBzaG91bGQgYmUgaGFsZiBvZiBncmlkLWdhcCB2YWx1ZSBhcyBtYXJnaW5zIG9uIGZsZXggaXRlbXMgZG9uJ3QgY29sbGFwc2UgKi9cbiAgICBtYXJnaW46IDFyZW0gMCAwIDFyZW07XG4gICAgYm94LXNoYWRvdzogMC4zcmVtIDAuNHJlbSAwLjRyZW0gcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgZWFzZS1vdXQ7XG4gICAgfVxuICB9XG59XG4iLCJcbi5jbGFpbS1wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkICRtZWRpdW0tZ3JheTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uY2xhaW0tcHJvZ3Jlc3NfX2NhcHN1bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIHotaW5kZXg6IDU7XG5cbiAgJjpub3QoLnNlY29uZGFyeSkge1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbn1cbiIsInNwYW5bY2xhc3MqPVwiY2xhaW0tc2xhLS1cIl0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi8vIGRheXMgPCAwXG4uY2xhaW0tc2xhLS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbi8vIDAgPD0gZGF5cyA8PSAxXG4uY2xhaW0tc2xhLS1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xufVxuLy8gMSA8IGRheXMgPD0gNVxuLmNsYWltLXNsYS0tc29vbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDRUU3NDA7XG59XG4vLyA1IDwgZGF5cyA8PSAxNVxuLmNsYWltLXNsYS0tZmluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG59XG4iLCIuZXhwZW5zZVBheWVlRmllbGRzZXQge1xuICAucm93IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIi5leHBlbnNlLXBheW1lbnRzIHtcbiAgLm1kLXRhYmxlIC5tZC1mb290IC5tZC1jZWxsIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsYWNrO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cbn1cbiIsIlxuLmV4cGVuc2UtcHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMCU7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBkYXNoZWQgJG1lZGl1bS1ncmF5O1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAucm93IHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgICYubm90IHtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBpbWcubm90IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5iYWQgaW1nLmJhZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgICYub2sgaW1nLm9rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICB9XG4gIH1cblxufVxuXG4iLCJcbi8qXG5tZC1zZWxlY3Quc3RhdHVzIHtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxufVxuXG5cbm1kLXNlbGVjdC5zdGF0dXNbZGlzYWJsZWRdIHtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAubWQtc2VsZWN0LXZhbHVlLCAmOmZvY3VzIC5tZC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Mik7XG4gIH1cblxuICAubWQtc2VsZWN0LWljb24ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC42Mik7XG4gIH1cbiAgXG59XG4qLyIsIi5jdXN0b21lci1uZXcge1xuICAuZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIuY3VzdG9tZXItZWRpdCB7XG4gIC5maWVsZCB7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuLmZlZWRiYWNrLXN0YXR1cyB7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuICAmLnN0YXRlLUEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgICY6Zm9jdXMgLm1kLXNlbGVjdC12YWx1ZSwgLm1kLXNlbGVjdC1pY29uIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cblxuICAmLnN0YXRlLU0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuICB9XG5cbiAgJi5zdGF0ZS1JIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY5OTAwO1xuICB9XG5cbiAgJi5zdGF0ZS1FIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREQyMjIyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgJjpmb2N1cyAubWQtc2VsZWN0LXZhbHVlLCAubWQtc2VsZWN0LWljb24ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLnN0YXRlLUYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgfVxuXG5cbiAgJi5zdGF0ZS1YIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgJjpmb2N1cyAubWQtc2VsZWN0LXZhbHVlLCAubWQtc2VsZWN0LWljb24ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxufVxuXG5tZC1zZWxlY3QuZmVlZGJhY2stc3RhdHVzW2Rpc2FibGVkXSB7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIC5tZC1zZWxlY3QtdmFsdWUsICY6Zm9jdXMgLm1kLXNlbGVjdC12YWx1ZSB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjM4KTtcbiAgfVxuXG4gIC5tZC1zZWxlY3QtaWNvbiB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsLjM4KTtcbiAgfVxuICBcbn1cbiIsImZpZWxkLXN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBtZC10YWJsZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIuZmllbGQge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIG1hcmdpbjogMDtcblxuICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHplYnJhO1xuICB9XG59XG5cbi5maWVsZC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5mb3JtW25hbWU9XCJldmVudERldGFpbHNGb3JtXCJdIHtcbiAgLmZpZWxkLWVtcHR5IHtcbiAgICBpbnB1dCwgdGV4dGFyZWEsIG1kLWRhdGVwaWNrZXIsIG1kLXNlbGVjdCwgbWQtY2hlY2tib3ggLm1kLWNvbnRhaW5lciBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWQ4MTsgLy8gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4gICAgfVxuICB9XG4gICYuaXMtYnJva2VyIHtcbiAgICAuZmllbGQtZW1wdHkge1xuICAgICAgaW5wdXQsIHRleHRhcmVhLCBtZC1kYXRlcGlja2VyLCBtZC1zZWxlY3QsIG1kLWNoZWNrYm94IC5tZC1jb250YWluZXIgZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZpZWxkc2V0IHtcbiAgLmNvbGxhcHNhYmxlLXRpdGxlIGgze1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cblxuLmNvbGxhcHNhYmxlLWZvcm0tZmllbGRzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaDIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMHB4O1xuICB9XG59XG5cbiNleHBlbnNlX25vdGVzIHtcbiAgbWFyZ2luLWJvdHRvbTogLTEwcHg7XG59XG5cbiIsImZvcm0tZmllbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmZvcm0tZmllbGQge1xuICAgIC5mb3JtLWZpZWxkLWNvbnRyb2wge1xuICAgICAgbWQtaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAvLyB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGlzdG9yeS10ZXh0IHtcbiAgICBwIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICB9XG4gIH1cblxuICAucGVyY2VudGFnZSBtZC1pbnB1dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5mb3JtLWZpZWxkLWhlbHAge1xuICAgIGgzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5yZWFkb25seV9jdXJyZW5jeSwgLnJlYWRvbmx5X3BlcmNlbnRhZ2Uge1xuICAgIG1kLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kZWNpc2lvbiAuZGVjaXNpb24gLnRpbGVfY2hvaWNlX3JhZGlvLFxuLnRhc2sgLnRhc2sgLnRpbGVfY2hvaWNlX3JhZGlvIHtcbiAgbWF4LXdpZHRoOiAwO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmZpZWxkX2xvY2F0aW9uX2F1cyxcbi5maWVsZF9sb2NhdGlvbl9nbG9iYWwsXG4uZmllbGRfZnJlZV90ZXh0X2xvbmcsXG4uZmllbGRfZGFtYWdlX3Bob3RvIHtcbiAgbmctZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcblxuICAgIC5mb3JtLWZpZWxkLWNvbnRyb2wge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkX3RpbGVfY2hvaWNlX3JhZGlvIHtcbiAgbGFiZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtc2VtaWJvbGQ7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgfVxuXG4gIC5sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuLmZpZWxkX2N1cnJlbmN5IC5mb3JtLWZpZWxkLWNvbnRyb2wge1xuICBoMyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLmZpZWxkX2RvYiB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgaW5wdXQge1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLDAuODcpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwwLjEyKTtcbiAgfVxufVxuXG4uZmllbGRfZGF0ZSBtZC1kYXRlcGlja2VyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLDAuMTIpO1xufVxuXG4uZmllbGRfZGF0ZV90aW1lIC5sYXlvdXQtcm93IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIG1kLWRhdGVwaWNrZXIge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwwLjEyKTtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cblxuICBtZC1ob3Vycy1taW51dGVzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuXG4gIG1kLXNlbGVjdCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC4xMik7XG4gIH1cbn1cblxuLmZ4X3JhdGUgaW5wdXQge1xuICBtYXgtd2lkdGg6IDEwMHB4O1xufVxuXG4uY3VycmVuY3ktbGFiZWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmVzdGltYXRlLXNlY3Rpb24ge1xuICAuY3VycmVuY3ktbGFiZWwuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uZXN0aW1hdGUtc2VjdGlvbiB7XG4gIC5jdXJyZW5jeS1pbnB1dC5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwicG9saWN5LW1ldGEtZGF0YSB7XG4gIGgyIHtcbiAgICBwYWRkaW5nOiA0cHggMDtcbiAgfVxuICBoNSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCIucG9saWN5LXBheW1lbnQge1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgbWFyZ2luOiAtMnB4IDEwcHggMDtcbiAgfVxuXG4gIC5idXR0b24uaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi5kdXBsaWNhdGUtcXVvdGUtbW9kYWwge1xuICAuY2xvc2UtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzVweDtcbiAgICByaWdodDogNXB4O1xuICB9XG59XG4iLCIucHJpY2UtbG9hZGVyIHtcbiAgbWQtcHJvZ3Jlc3MtY2lyY3VsYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5wcmljZSB7XG4gICAgdHJhbnNpdGlvbjogYWxsICRhbmltYXRpb24tdGltaW5nICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgJi5sb2FkaW5nLXByaWNlIHtcbiAgICBtZC1wcm9ncmVzcy1jaXJjdWxhciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnByaWNlLCAudGV4dC1udW1iZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB9XG4gIH1cblxufVxuIiwiLnF1b3RlLXBheW1lbnQge1xuICAuaW1nX19jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC05M3B4O1xuICB9XG59IiwicXVvdGUtcHJvZ3Jlc3Mge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnF1b3RlLXByb2dyZXNzIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIG1pbi13aWR0aDogNzAwcHg7XG4gIH1cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAucXVvdGUtcHJvZ3Jlc3MtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJHNwYWNpbmdzLCBtZWRpdW0pO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRzcGFjaW5ncywgbWVkaXVtKTtcbiAgICB9XG5cbiAgICBpbWcuc3ZnLmljb24ge1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIG1kLWljb24ge1xuICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgICB9XG5cbiAgICAmLmlzLWNvbXBsZXRlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGltZy5zdmcuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgIG1kLWljb24ge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIGdldC1jb2xvcihwcmltYXJ5KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnByb21vY29kZS1pbnB1dCB7XG4gIGlucHV0IHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcblxuICAgICY6Zm9jdXMubmctbm90LWVtcHR5LCAmLm5nLXRvdWNoZWQubmctbm90LWVtcHR5IHtcbiAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgIH1cbiAgfVxuICAuYnV0dG9uIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IC0zNXB4IDAgMCAxNXB4O1xuICB9XG59XG4iLCIud29yZGluZy1lbmRvcnNlbWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiA5OSU7XG4gIG1pbi13aWR0aDogMzUwcHg7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgd2lkdGg6MDtcbiAgICBoZWlnaHQ6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICBib3JkZXItdG9wOiAxNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDE1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OjE1cHggc29saWQgJHdoaXRlO1xuICAgIGxlZnQ6IC0xNXB4O1xuICAgIHRvcDogMTVweDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICB0b3A6ICA1MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICYuY29uc2VjdXRpdmUtdG9wIHtcbiAgICB0b3A6IC0xN3B4O1xuICAgICYucHVyY2hhc2VkLTE0LWRheXMge1xuICAgICAgdG9wOiAtNjVweDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAgNjVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5jb25zZWN1dGl2ZS1ib3R0b20ge1xuICAgIHRvcDogMzJweDtcbiAgfVxuICAmLmRpc2Nsb3N1cmUge1xuICAgIHRvcDogNTVweDtcbiAgfVxuICAmLnBvbGljeS12aWV3IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG59XG5cbi53b3JkaW5nLWVuZG9yc2VtZW50LWVkaXRvciB7XG4gIHdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiAyOTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICByZXNpemU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi53b3JkaW5nLWVuZG9yc2VtZW50LWNvbnRlbnQge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcmVzaXplOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4ud29yZGluZy1lbmRvcnNlbWVudC1hY3Rpb24ge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbiIsIi5jYXItY29tcGFyZSB7XG4gIC8vIFBhY2thZ2UgbmFtZSBhbmQgcHJpY2VzIHNlY3Rpb25cbiAgLnBhY2thZ2VzLWNvbnRhaW5lciB7XG4gICAgJi5pcy1maXhlZCB7XG4gICAgICAudG9wLWRlY2stYmxvY2tzIHtcbiAgICAgICAgLmJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICAgICAgICB0b3A6IDQwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC50b3AtZGVjay1ibG9ja3Mge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLmJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhY2thZ2UtZGV0YWlscyB7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuXG4gICAgICAua21zLWRlc2Mge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAucGF5bWVudC1wbGFuLW9mZmVyIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBociB7XG4gICAgICBib3JkZXItdG9wOiAkbGlnaHRlci1ncmF5O1xuICAgIH1cblxuICAgIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuXG4gICAgICAucGFja2FnZS1kZXRhaWxzLWJsb2NrIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZy5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgICAgIC50ZXh0LW51bWJlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5wcmljZS1jb21pbmctc29vbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICAgIG1kLXByb2dyZXNzLWNpcmN1bGFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgIH1cblxuICAgICAgJi51bmxpbWl0ZWQtY292ZXIge1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmxpbWl0ZWQtY292ZXIge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuXG4gICAgICAmLnVubGltaXRlZC1jb3ZlciwgJi5saW1pdGVkLWNvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAudW5kZXJ3cml0ZXItbG9nbyB7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAucGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBcbiAgICAgIHNwYW4ge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIC5wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Y1RjZGODtcbiAgICAgIH1cbiAgICAgIC5ibG9jayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGNUY2Rjg7XG4gICAgICB9XG4gICAgICBidXR0b24ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI0UxRTJFMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmFzZS1jb3Zlci1jb250YWluZXIgLmZlYXR1cmVzLmJsb2NrIHtcbiAgICBtaW4taGVpZ2h0OiAzOTBweDtcbiAgfVxuXG4gIC5iYXNlLWNvdmVyLWNvbnRhaW5lci5kaXNhYmxlZCB7XG4gICAgLmJsb2NrIHtcbiAgICAgIGJhY2tncm91bmQ6ICNGNUY2Rjg7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgICB3aWR0aDogMTYwcHg7XG4gIH1cblxuICAucHJpY2Uge1xuICAgIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZ3Mgb2YgZmVhdHVyZSBmZWF0dXJlIGNvbXBhcmlzb25zXG4gIGg0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuc3ViLWhlYWRpbmdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcblxuICAgIC5zdWItaGVhZGluZy5zdWItaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41NzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi10b3A6IDYycHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYua21zLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzcGFuLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICB9XG5cbiAgc2VsZWN0LmlzLWVycm9yIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICB9XG5cbiAgLy8gZmVhdHVyZSBjb21wYXJpc29uIGJsb2Nrc1xuICAuYmxvY2suYm9yZGVyLmZlYXR1cmUtY29tcGFyZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5ncywgeHNtYWxsKSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyLWdyYXk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICYub3B0aW9uYWwge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG9wdGlvbmFsKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgLnBhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjVGNkY4O1xuICAgICAgfVxuICAgICAgLmJsb2NrIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0Y1RjZGODtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCAuYmxvY2suYm9yZGVyLmZlYXR1cmUtY29tcGFyZSB7XG4gICAgYmFja2dyb3VuZDogI0Y1RjZGODtcbiAgfVxuXG4gIGltZy5jaGVjayB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG5cbiAgLy8gQ2xhc3NlcyBmb3Igc3RpY2t5IGxvZ2ljXG4gIC5wYWNrYWdlcy1jb250YWluZXIuaXMtZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDBweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLnRvcC1kZWNrLWJsb2NrcyB7XG4gICAgICAuYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCAyNXB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzFweCAwIHJnYmEoMCwgMCwgMCwgMC4wNyksIDAgLTEwcHggMCByZ2JhKDAsMCwwLDAuMDQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWNrYWdlLWRldGFpbHMtc3RpY2t5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zdW0taW5zdXJlZC10eXBlIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgcmlnaHQ6IDRweDtcblxuXG4gICAgICAudGV4dC1jYXBzdWxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBjb2xvcjogIzJBMjg3QjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICArIC5wYWNrYWdlcy1wbGFjZWhvbGRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucGFja2FnZS1kZXRhaWxzLFxuICAgIC5wYWNrYWdlLWRldGFpbHMtYWN0aW9uLFxuICAgIC5wYWNrYWdlLWljb24sXG4gICAgLnBhY2thZ2UtdW5kZXJ3cml0ZXIsXG4gICAgLnBhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIC50ZXh0LW51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2UtY29taW5nLXNvb24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gICAgfVxuICB9XG5cbiAgLnBhY2thZ2UtZGV0YWlscy1zdGlja3ksXG4gIC5wYWNrYWdlcy1wbGFjZWhvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zdW0taW5zdXJlZC10eXBlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAudGV4dC1jYXBzdWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjMkEyODdCO1xuICAgIH1cbiAgfVxuXG4gIC5wYWNrYWdlLWRldGFpbHMge1xuICAgIGgzIHtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgIH1cbiAgfSBcbn1cblxuLmZpeGVkLWNvbW1pc3Npb24ge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5wYWNrYWdlLXNldHRpbmdzLmJsb2NrLmJvcmRlciB7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQUZCRkM7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuXG4gIC5tYXJrZXQtdmFsdWUtYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTVweDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICByaWdodDogLTVweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICB9XG59XG5cbi5idXBhLXBheWQtc2NyaXB0IG1kLWljb24ge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbiIsIi5jYXItZmluYWwtcmV2aWV3IHtcbiAgdWwge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXItcHJpY2VzLWZvcm0ge1xuICAudW5saW1pdGVkLWNvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuICAgIFxuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgIH1cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIH1cbiAgfVxuICAucHJvZHVjdHMtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAudW5saW1pdGVkLWttcy1zZWxlY3Qge1xuICAgIC5maWVsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlci1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5maWVsZF9fZmVlZGJhY2sge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmNhci1wcmljZXMtY292ZXJhZ2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIC5mYWRlLXdoZW4taW5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuc2VsZWN0LXByaWNlLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5wcmljZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICB0b29sdGlwLXNpZGViYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMTtcbiAgfVxuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FyLXByaWNlcy1leHRyYXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiB0b3A7XG5cbiAgLmNhci1wcmljZXMtZXh0cmEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDUwJTtcblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWQtY2hlY2tib3gge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cblxuICAgICYuaXMtYnJva2VyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmJsb2NrIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgICAgIH1cbiAgICAgICAgLmhlbHAtbGluayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAucHJpY2Uge1xuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHRlcnRpYXJ5KTtcbiAgICAgICAgICAudGV4dC1udW1iZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9uLnNlbGVjdGVkIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgICAgIH1cbiAgICAgICAgJi5mdXR1cmUtZXh0cmEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyLWdyYXk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICRsaWdodC1ncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuY2FyLXByaWNlLWV4dHJhLWFtb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufVxuXG4uZml4ZWQta21zLXNhdmluZ3Mge1xuICBtYXJnaW4tdG9wOiAtNTBweDtcbn1cbiIsIi5jYXItcXVvdGUtc3VtbWFyeSB7XG4gIHVsIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cbiAgaDQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC50b3AtZGVjay1ibG9ja3Mge1xuICAgIC5ibG9jazpudGgtY2hpbGQoMSkge1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgIH1cbiAgICAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICAgICYucXVvdGUtZGV0YWlscyB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMzBweCAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAudW5hdmFpbGFibGUge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLm5vLXByaWNlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByaWNlLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAzMHB4O1xuICAgIC5wcmljZS1hbW91bnQge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuXG4gICAgLnByaWNlLWZyZXF1ZW5jeSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuIiwibGFiZWwuc2FmZXR5LXF1ZXN0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDEuM3JlbTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xufSIsIi5jYXJsb29rdXAtbGlzdF9faXRlbSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbn1cbiIsIi5jYXItd2FpdmVycy1jb25maXJtYXRpb25zIHtcblxuICAucXVvdGUtZmllbGQge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgfVxuXG4gIGxhYmVsICsgZGl2IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuIiwiLmVkaXQtY2FyLXF1b3RlIHtcbiAgLmFkZHJlc3NpZnktZm9ybSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLnByb2R1Y3QtdmlhLWJsb2NrcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNjc7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcblxuICAgIC5hc3NvY2lhdGUtbG9nbyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmFzc29jaWF0ZS1sb2dvIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLmhpZGRlbi1kaWFnbm9zdGljLXJldmVhbGVyIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgY29sb3I6ICRzbm93O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzbm93O1xuICB9XG59XG4iLCIuYWRkLXBvbGljeS1ob2xkZXJzIHtcbiAgLnBvbGljeS1ob2xkZXJfX2Zvcm0ge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgcGFkZGluZzogbWFwLWdldCgkc3BhY2luZ3MsIHNtYWxsKTtcblxuICAgIC5maWVsZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmVkaXQtaG9tZS1xdW90ZSB7XG4gIC5wcm9kdWN0LXZpYS1ibG9ja3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTY3O1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG5cbiAgICAuYXNzb2NpYXRlLWxvZ28ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufSIsIi5ob21lLWNsYWltLWhpc3Rvcnkge1xuICAuZmllbGRfX2ZlZWRiYWNrIHtcbiAgICAuaXMtZXJyb3Ige1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG4gIGRpdi5xdW90ZS1maWVsZC1yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgIGxhYmVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIC5maWVsZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLmhvbWUtY29tcGFyZSB7XG4gIC8vIFBhY2thZ2UgbmFtZSBhbmQgcHJpY2VzIHNlY3Rpb25cbiAgLnBhY2thZ2VzLWNvbnRhaW5lciB7XG4gICAgJi5pcy1maXhlZCB7XG4gICAgICAudG9wLWRlY2stYmxvY2tzIHtcbiAgICAgICAgLmJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1kZWNrLWJsb2NrcyB7XG4gICAgICAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICB9XG4gICAgXG4gICAgLnRvcC1kZWNrLWJsb2NrcyB7XG4gICAgICAuYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMjZweCAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGhyIHtcbiAgICAgIGJvcmRlci10b3A6ICRsaWdodGVyLWdyYXk7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTZweDtcblxuICAgICAgLnBhY2thZ2UtZGV0YWlscy1ibG9jayB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcuaWNvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG4gICAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgICAgLnRleHQtbnVtYmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICAgICAgfVxuICAgICAgLnByaWNlLWNvbWluZy1zb29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgICAgIH1cbiAgICAgIG1kLXByb2dyZXNzLWNpcmN1bGFyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAudW5kZXJ3cml0ZXItbG9nbyB7XG4gICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAucGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5iYXNlLWNvdmVyLWNvbnRhaW5lciAuZmVhdHVyZXMuYmxvY2sge1xuICAgIG1pbi1oZWlnaHQ6IDM5MHB4O1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG4gICAgd2lkdGg6IDE2MHB4O1xuICB9XG5cbiAgLy8gSGVhZGluZ3Mgb2YgZmVhdHVyZSBmZWF0dXJlIGNvbXBhcmlzb25zXG4gIGg0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuc3ViLWhlYWRpbmdzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcblxuICAgIC5zdWItaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41NzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi10b3A6IDYycHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmttcy1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDQzMHB4O1xuICAgIH1cbiAgfVxuXG4gIHNwYW4uaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG4gIH1cblxuICAvLyBmZWF0dXJlIGNvbXBhcmlzb24gYmxvY2tzXG4gIC5ibG9jay5ib3JkZXIuZmVhdHVyZS1jb21wYXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmLm9wdGlvbmFsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBvcHRpb25hbCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgaW1nLmNoZWNrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAvLyBDbGFzc2VzIGZvciBzdGlja3kgbG9naWNcbiAgLnBhY2thZ2VzLWNvbnRhaW5lci5pcy1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMHB4O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICAgICAgdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIC50b3AtZGVjay1ibG9ja3Mge1xuICAgICAgLmJsb2NrOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDI1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA3KSwgMCAtMTBweCAwIHJnYmEoMCwwLDAsMC4wNCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWNrYWdlLWRldGFpbHMtc3RpY2t5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICArIC5wYWNrYWdlcy1wbGFjZWhvbGRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucGFja2FnZS1kZXRhaWxzLFxuICAgIC5wYWNrYWdlLWRldGFpbHMtYmxvY2sgLm1hdGVyaWFsLWljb25zLFxuICAgIC5wYWNrYWdlLWljb24sXG4gICAgLnBhY2thZ2UtdW5kZXJ3cml0ZXIsXG4gICAgLnBhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIC50ZXh0LW51bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIH1cbiAgICB9LnByaWNlLWNvbWluZy1zb29uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgIH1cbiAgfVxuICAucGFja2FnZS1kZXRhaWxzLXN0aWNreSxcbiAgLnBhY2thZ2VzLXBsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnBhY2thZ2UtaWNvbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAucGFja2FnZS1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLWhlaWdodDogMjQwcHg7XG5cbiAgICBoMyB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICB9XG59XG4iLCJob21lLWNvdmVyIHtcbiAgLmhvbWUtY292ZXItYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5ob21lLXByaWNlcy1jb3ZlcmFnZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuICB9XG59XG4iLCIuaG9tZS1kd2VsbGluZyB7XG4gIC5hZGRyZXNzaWZ5LWZvcm0ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIC5jYXJkLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRzcGFjaW5ncywgeHNtYWxsKTtcblxuICAgICYuaGFzLWZlZWRiYWNrIHtcbiAgICAgIC5maWVsZF9fZmVlZGJhY2tXcmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuaXMtZXJyb3Ige1xuICAgICAgLmNhcmQtaXRlbS5ob2xsb3cge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9zdmdzL2ljb25zL2NhbmNlbC5zdmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jYXJkLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICB3aWR0aDogNDclO1xuICAgIG1hcmdpbjogMCAzJSAzJSAwO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAzJSAwO1xuICAgIH1cblxuICAgICYubWFya2V0aW5nIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAzMnB4IDI0cHggMjRweDtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLXRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4gICAgfVxuXG4gICAgJi5hY3RpdmU6bm90KC5kaXNhYmxlZCksICYuaG9sbG93Om5vdCguZGlzYWJsZWQpIHtcblxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAudGV4dC1zbWFsbCB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9zdmdzL2dyZWVuLXRpY2stbmV3LnN2Zyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB9XG4gICAgfVxuICAgICY6aG92ZXI6bm90KC5kaXNhYmxlZCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgfVxuICAgICYudGhyZWUtY29sdW1uIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuZm91ci1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgIHdpZHRoOiAyMiU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuZml2ZS1jb2x1bW4ge1xuICAgICAgd2lkdGg6IDE3JTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCAzJTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi50aWNrLWNvcm5lciB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogMTAlO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuXG4gIC5jdXJyZW5jeS1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29udGVudDogXCIkXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjdlbTtcbiAgICB9XG4gIH1cblxuICBbbmFtZT1cImFkZHJlc3NpZnlGb3JtXCJdIHtcbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIuaG9tZS1maW5hbC1yZXZpZXcge1xuICB1bCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ob21lLXBvaWxpY3ktaG9sZGVycyB7XG4gIC5wb2ludHMtdGFibGUge1xuICAgIHRhYmxlIHtcbiAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgfVxuICAgIHRkIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgfVxuICB9XG59XG4iLCIuaG9tZS1wcmljZXMtZXh0cmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogdG9wO1xuXG4gIC5ob21lLXByaWNlcy1leHRyYSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtZC1jaGVja2JveCB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuXG4gICAgJi5pcy1icm9rZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuYmxvY2sge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiAgICAgICAgfVxuICAgICAgICAuaGVscC1saW5rIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpO1xuICAgICAgICAgIC50ZXh0LW51bWJlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0ZXJ0aWFyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24uc2VsZWN0ZWQge1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKTtcbiAgICAgICAgfVxuICAgICAgICAmLmZ1dHVyZS1leHRyYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5ob21lLXByaWNlLWV4dHJhLWFtb3VudCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgfVxufSIsIi5ob21lLXF1b3RlLXN1bW1hcnkge1xuICB1bCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG4gIGg0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cblxuICAudG9wLWRlY2stYmxvY2tzIHtcbiAgICAuYmxvY2s6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICB9XG4gICAgLmJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgICAmLnF1b3RlLWRldGFpbHMge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDMwcHggMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgLnVuYXZhaWxhYmxlIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5uby1wcmljZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcmljZS1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gICAgcGFkZGluZzogMjBweCAwIDIwcHggMzBweDtcbiAgICAucHJpY2UtYW1vdW50IHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIH1cblxuICAgIC5wcmljZS1mcmVxdWVuY3kge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAuYnJva2VyLXN1bW1hcnktdGFibGUge1xuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxufVxuXG4uaG9tZS1icm9rZXItcHJpY2UtbG9hZGVyIHtcbiAgbWluLWhlaWdodDogMTMwcHg7XG59XG4iLCIuaG9tZS12YWx1YWJsZXMge1xuICAuYm9yZGVyLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICB9XG4gIC52YWx1YWJsZS1pdGVtIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogaW5pdGlhbDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgIC50b29sdGlwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrOztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkKCkge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC50b29sdGlwIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZhbHVhYmxlLXRvdGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgID4gc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudmFsdWFibGUtYW1vdW50IHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gIH1cblxuICAuZmllbGQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnZhbHVhYmxlLWN1cnJlbmN5LXZhbHVlIHtcbiAgbGFiZWwgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAxNHB4O1xuICB9XG4gIGxhYmVsICsgZGl2OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIkXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0xNXB4O1xuICAgIG1hcmdpbi10b3A6IC0xZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufVxuIiwiaG9tZS12YWx1YWJsZXMtbGlzdCB7XG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcblxuICAgIHRkLCB0aCB7XG4gICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRzcGFjaW5ncywgeHhzbWFsbCk7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICB9XG5cbiAgdGgge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNWY2O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICB0Ym9keSB0cjpsYXN0LWNoaWxkKCkge1xuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtdmFsdWFibGVzLWxpc3Qge1xuICAgIG1hcmdpbjogMCAtMzBweDtcbiAgICBwYWRkaW5nOiA2cHggMzBweDtcblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICRsaWdodGVyLWdyYXk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi50ZXJ0aWFyeSB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICBwYWRkaW5nOiA0cHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cbn0iLCIuaG9tZS10ZXJtcy1jb25maXJtYXRpb24ge1xuICBsYWJlbCArIGRpdiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnJvdy5yb3cucm93LnJvdyAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIGJ1dHRvbi5idXR0b25bbmFtZT1cIm5vdF9pbnN1cmVkX3JlYXNvblwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYnVwYS1tZW1iZXItbnVtYmVyLWZpZWxkLCAuYnVwYS1tZW1iZXItZW1wbG95ZWUtZmllbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAucXVvdGUtZmllbGQtcm93IHtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xuXG4gICAgbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICB9XG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG5cbiAgICBsYWJlbCArIGRpdiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn0iLCIuaG9tZS15b3VyLXF1b3RlIHtcbiAgLnBvbGljeS1ob2xkZXItZ2VuZGVyLCAucG9saWN5LWhvbGRlci1kb2Ige1xuICAgIC5maWVsZCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAucG9saWN5LWhvbGRlcl9fZm9ybSB7XG4gICAgLnF1b3RlLWZpZWxkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuYnVwYS1ob21lLWNvdmVyLXNlbGVjdCB7XG4gICAgc2VsZWN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMTAlIDUwJTtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtZGlzY2xvc3VyZXMge1xuICBsYWJlbCArIGRpdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICB9XG4gIC5zZWxlY3QtYm94IHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgbGFiZWwgKyBkaXYge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmNsYWltcy1jb3VudCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnBvaW50cy10YWJsZSB7XG4gICAgdGFibGUge1xuICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMnB4IDVweDtcbiAgICB9XG4gIH1cbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vL1xuLy8gVkVORE9SIC8vXG4vLy8vLy8vLy8vLy9cbiovXG5cbkBpbXBvcnQgJ2JyYWludHJlZSc7XG5AaW1wb3J0ICdyenNsaWRlcic7XG5AaW1wb3J0ICd0YWdzLWlucHV0JztcbkBpbXBvcnQgJ3VpYi1kYXRlcGlja2VyJztcbkBpbXBvcnQgJzcyMGtiLXRvb2x0aXBzJztcbkBpbXBvcnQgJ3NsaWNrJztcbkBpbXBvcnQgJ3NsaWNrLXRoZW1lJztcbiIsIi5wYXltZW50LWZvcm0td3JhcCB7XG4gIC5icmFpbnRyZWUtZm9ybSB7XG4gICAgLmJyYWludHJlZS1maWVsZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICBoZWlnaHQ6IDMuNTYycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuXG4gICAgaWZyYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGN1cnNvcjogdGV4dDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJyYWludHJlZS1ob3N0ZWQtZmllbGRzLWludmFsaWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuICAgIH1cbiAgfVxuXG4gIC5icmFpbnRyZWUtZm9ybS1lcnJvcixcbiAgLmJyYWludHJlZS1mb3JtLWxvYWRpbmcge1xuXG4gICAgLmJyYWludHJlZS1maWVsZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gICAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXIgIWltcG9ydGFudDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5icmFpbnRyZWUtZm9ybS1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYnJhaW50cmVlLWZvcm0tbG9hZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTUwcHg7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG5cbiAgICBidXR0b24sIC5ibG9jayB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG4gIH1cblxufVxuXG4uYnJhaW50cmVlLWhvc3RlZC1maWVsZHMtZm9jdXNlZCBpZnJhbWUge1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXMgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5icmFpbnRyZWUtaG9zdGVkLWZpZWxkcy1pbnZhbGlkIGlmcmFtZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFpbXBvcnRhbnQ7XG5cbiAgaW5wdXQge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5leGlzdGluZy1jYXJkLWRldGFpbHMge1xuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59IiwiLyohIGFuZ3VsYXJqcy1zbGlkZXIgLSB2Ni4zLjAgLVxuIChjKSBSYWZhbCBaYWphYyA8cnphamFjQGdtYWlsLmNvbT4sIFZhbGVudGluIEhlcnZpZXUgPHZhbGVudGluQGhlcnZpZXUubWU+LCBKdXNzaSBTYWFyaXZpcnRhIDxqdXNhc2lAZ21haWwuY29tPiwgQW5nZWxpbiBTaXJidSA8YW5nZWxpbi5zaXJidUBnbWFpbC5jb20+IC1cbiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci1zbGlkZXIvYW5ndWxhcmpzLXNsaWRlciAtXG4gMjAxNy0wOC0xMSAqL1xuIC5yenNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTEwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbjogMjJweCAwIDE1cHggMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnJ6c2xpZGVyLndpdGgtbGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnJ6c2xpZGVyW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5yenNsaWRlcltkaXNhYmxlZF0gLnJ6LXBvaW50ZXIge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG59XG5cbi5yenNsaWRlcltkaXNhYmxlZF0gLnJ6LWRyYWdnYWJsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5yenNsaWRlcltkaXNhYmxlZF0gLnJ6LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICM4YjkxYTI7XG59XG5cbi5yenNsaWRlcltkaXNhYmxlZF0gLnJ6LXRpY2sge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucnpzbGlkZXJbZGlzYWJsZWRdIC5yei10aWNrLnJ6LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogIzhiOTFhMjtcbn1cblxuLnJ6c2xpZGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXItd3JhcHBlciB7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnJ6c2xpZGVyIC5yei1kcmFnZ2FibGUge1xuICBjdXJzb3I6IG1vdmU7XG59XG5cbi5yenNsaWRlciAucnotYmFyIHtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi5yenNsaWRlciAucnotYmFyLXdyYXBwZXIucnotdHJhbnNwYXJlbnQgLnJ6LWJhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucnpzbGlkZXIgLnJ6LWJhci13cmFwcGVyLnJ6LWxlZnQtb3V0LXNlbGVjdGlvbiAucnotYmFyIHtcbiAgYmFja2dyb3VuZDogI2RmMDAyZDtcbn1cblxuLnJ6c2xpZGVyIC5yei1iYXItd3JhcHBlci5yei1yaWdodC1vdXQtc2VsZWN0aW9uIC5yei1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMDNhNjg4O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXNlbGVjdGlvbiB7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXBvaW50ZXIge1xuICB0b3A6IC0xNHB4O1xuICB6LWluZGV4OiAzO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA2cHggMCByZ2JhKDAsMCwwLDAuNCk7XG59XG5cbi5yenNsaWRlciAucnotcG9pbnRlci5yei1hY3RpdmUge1xuICB6LWluZGV4OiA0O1xufVxuXG4ucnpzbGlkZXIgLnJ6LXBvaW50ZXIge1xuICBvdXRsaW5lOiAwO1xuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMCByZ2JhKDAsMCwwLDAuNCk7XG4gIH1cbn1cblxuLnJ6c2xpZGVyIC5yei1idWJibGUge1xuICBib3R0b206IDE2cHg7XG4gIHBhZGRpbmc6IDFweCAzcHg7XG4gIGNvbG9yOiAjNTU2MzdkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5yenNsaWRlciAucnotYnViYmxlLnJ6LWxpbWl0IHtcbiAgY29sb3I6ICM1NTYzN2Q7XG59XG5cbi5yenNsaWRlciAucnotdGlja3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnJ6c2xpZGVyIC5yei10aWNrcy12YWx1ZXMtdW5kZXIgLnJ6LXRpY2stdmFsdWUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogLTMycHg7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG59XG5cbi5yenNsaWRlciAucnotdGljayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1jaGlsZChldmVuKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucnpzbGlkZXIgLnJ6LXRpY2sucnotc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG59XG5cbi5yenNsaWRlciAucnotdGljay12YWx1ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbn1cblxuLnJ6c2xpZGVyIC5yei10aWNrLWxlZ2VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3cHg7XG4gIG1heC13aWR0aDogNTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBjb2xvcjogJGRhcmstZ3JheTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotYmFzZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotYmFyLXdyYXBwZXIge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMCAwIDE2cHg7XG4gIG1hcmdpbjogMCAwIDAgLTE2cHg7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotYmFyIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5yenNsaWRlci5yei12ZXJ0aWNhbCAucnotcG9pbnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtMTRweCAhaW1wb3J0YW50O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LWJ1YmJsZSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogM3B4O1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2tzIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtM3B4O1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2sge1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnJ6c2xpZGVyLnJ6LXZlcnRpY2FsIC5yei10aWNrLXZhbHVlIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAyNHB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yOCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yOCUpO1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2stbGVnZW5kIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yOCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yOCUpO1xufVxuXG4ucnpzbGlkZXIucnotdmVydGljYWwgLnJ6LXRpY2tzLXZhbHVlcy11bmRlciAucnotdGljay12YWx1ZSB7XG4gIHJpZ2h0OiAyNHB4O1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5zbGlkZXItdmFsdWVzLWhpZGRlbiAucnpzbGlkZXIgLnJ6LXRpY2stdmFsdWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiXG4vLyBQYXJlbnQgZWxlbWVudCBoZWlnaHQgYW5kIHBhZGRpbmdcbiRtb2R1bGUtaW5wdXQtbWluLWhlaWdodDogMDtcbiRtb2R1bGUtaW5wdXQtaGVpZ2h0OiBhdXRvO1xuJG1vZHVsZS1pbnB1dC1wYWRkaW5nOiAwO1xuXG4vLyBUeXBvZ3JhcGh5XG4kbW9kdWxlLWZvbnQtY29sb3I6ICR3aGl0ZTtcbiRtb2R1bGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kbW9kdWxlLXN1Z2dlc3RlZC1mb250LWNvbG9yOiAkYmxhY2s7XG4kbW9kdWxlLXJlbW92ZS1idG4tY29sb3I6ICR3aGl0ZTtcblxuLy8gQmcgY29sb3Vyc1xuJG1vZHVsZS1nZW5lcmFsLWJnOiAkd2hpdGU7XG4kbW9kdWxlLXRhZy1iZzogJGJsYWNrO1xuJG1vZHVsZS1zZWxlY3RlZC1iZzogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4vLyBUaGlzIGlzIHVzZWQgd2hlbiBhIHRhZyBpcyBhYm91dCB0byBiZSBkZWxldGVkXG4kbW9kdWxlLXNlbGVjdGVkLXRhZy1vcGFjaXR5OiAwLjU7XG5cbi8vIFBhZGRpbmcgYW5kIG1hcmdpbiBvZiBpbmRpdmlkdWFsIHRhZy1pdGVtc1xuJG1vZHVsZS10YWctcGFkZGluZzogMCAxMHB4O1xuJG1vZHVsZS10YWctbWFyZ2luOiA1cHg7XG5cbi8vIFBhZGRpbmcgZm9yIHRoZSBsaXN0IGl0ZW1zXG4kbW9kdWxlLWxpc3QtaXRlbS1wYWRkaW5nOiA1cHggMTBweDtcblxudGFncy1pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxudGFncy1pbnB1dFt0eXBlPSd0ZXh0J10ge1xuICBtaW4taGVpZ2h0OiAkbW9kdWxlLWlucHV0LW1pbi1oZWlnaHQ7XG4gIGhlaWdodDogJG1vZHVsZS1pbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRtb2R1bGUtaW5wdXQtcGFkZGluZztcblxufVxuLmZpZWxkX19pY29uICsgdGFncy1pbnB1dFt0eXBlPSd0ZXh0J10ge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC50YWdzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cblxudGFncy1pbnB1dCAqLCB0YWdzLWlucHV0ICo6YmVmb3JlLCB0YWdzLWlucHV0ICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cbnRhZ3MtaW5wdXQgLmhvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxudGFncy1pbnB1dCAudGFncyB7XG4gIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY3Vyc29yOiB0ZXh0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kdWxlLWdlbmVyYWwtYmc7XG4gIGhlaWdodDogMTAwJTtcblxuICAmLmZvY3VzZWQge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cbnRhZ3MtaW5wdXQgLnRhZy1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudGFncy1pbnB1dCAudGFnLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAkbW9kdWxlLXRhZy1tYXJnaW47XG4gIG1hcmdpbi1yaWdodDogJG1vZHVsZS10YWctbWFyZ2luO1xuICBwYWRkaW5nOiAkbW9kdWxlLXRhZy1wYWRkaW5nO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogJG1vZHVsZS1mb250LWNvbG9yO1xuICBmb250LXNpemU6ICRtb2R1bGUtZm9udC1zaXplO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBoZWlnaHQ6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkbW9kdWxlLXRhZy1iZztcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbnRhZ3MtaW5wdXQgLnRhZy1pdGVtIHNwYW4ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG59XG50YWdzLWlucHV0IC50YWctaXRlbS5zZWxlY3RlZCB7XG4gIG9wYWNpdHk6ICRtb2R1bGUtc2VsZWN0ZWQtdGFnLW9wYWNpdHk7XG4gIGJhY2tncm91bmQ6ICRtb2R1bGUtdGFnLWJnO1xufVxudGFncy1pbnB1dCAudGFnLWl0ZW0gLnJlbW92ZS1idXR0b24ge1xuICBtYXJnaW46IDAgMCAwIDVweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICBmb250LXNpemU6ICRtb2R1bGUtZm9udC1zaXplICogMS41O1xuICBjb2xvcjogJG1vZHVsZS1yZW1vdmUtYnRuLWNvbG9yO1xufVxudGFncy1pbnB1dCAudGFnLWl0ZW0gLnJlbW92ZS1idXR0b246YWN0aXZlIHtcbiAgY29sb3I6ICRtb2R1bGUtcmVtb3ZlLWJ0bi1jb2xvcjtcbn1cbnRhZ3MtaW5wdXQgLnRhZ3MgLmlucHV0IHtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG50YWdzLWlucHV0IC50YWdzIC5pbnB1dC5pbnZhbGlkLXRhZyB7XG4gIGNvbG9yOiAjZmYwMDAwO1xufVxudGFncy1pbnB1dCAudGFncyAuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG50YWdzLWlucHV0W2Rpc2FibGVkXSAuaG9zdDpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG50YWdzLWlucHV0W2Rpc2FibGVkXSAudGFncyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbnRhZ3MtaW5wdXRbZGlzYWJsZWRdIC50YWctaXRlbSB7XG4gIG9wYWNpdHk6ICRtb2R1bGUtc2VsZWN0ZWQtdGFnLW9wYWNpdHk7XG4gIGJhY2tncm91bmQ6ICRtb2R1bGUtdGFnLWJnO1xufVxudGFncy1pbnB1dFtkaXNhYmxlZF0gLnRhZy1pdGVtIC5yZW1vdmUtYnV0dG9uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxudGFncy1pbnB1dFtkaXNhYmxlZF0gLnRhZy1pdGVtIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZSB7XG4gIGNvbG9yOiAkbW9kdWxlLXJlbW92ZS1idG4tY29sb3I7XG59XG50YWdzLWlucHV0W2Rpc2FibGVkXSAudGFncyAuaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbnRhZ3MtaW5wdXQgLmF1dG9jb21wbGV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZHVsZS1nZW5lcmFsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG50YWdzLWlucHV0IC5hdXRvY29tcGxldGUgLnN1Z2dlc3Rpb24tbGlzdCB7XG4gIEBleHRlbmQgJWxpc3QtdW5zdHlsZWQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxudGFncy1pbnB1dCAuYXV0b2NvbXBsZXRlIC5zdWdnZXN0aW9uLWl0ZW0ge1xuICBwYWRkaW5nOiAkbW9kdWxlLWxpc3QtaXRlbS1wYWRkaW5nO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZHVsZS1nZW5lcmFsLWJnO1xuICBjb2xvcjogJG1vZHVsZS1zdWdnZXN0ZWQtZm9udC1jb2xvcjtcbn1cbnRhZ3MtaW5wdXQgLmF1dG9jb21wbGV0ZSAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZHVsZS1zZWxlY3RlZC1iZztcbn1cbnRhZ3MtaW5wdXQgLmF1dG9jb21wbGV0ZSAuc3VnZ2VzdGlvbi1pdGVtLnNlbGVjdGVkIGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZHVsZS1zZWxlY3RlZC1iZztcbn1cbnRhZ3MtaW5wdXQgLmF1dG9jb21wbGV0ZSAuc3VnZ2VzdGlvbi1pdGVtIGVtIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2R1bGUtZ2VuZXJhbC1iZztcbn1cbnRpLXRhZy1pdGVtIHtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPW5nLXRhZ3MtaW5wdXQuY3NzLm1hcCAqLyIsIlxuLnVpYi1kYXRlcGlja2VyLXBvcHVwIHtcbiAgQGV4dGVuZCAlbGlzdC11bnN0eWxlZDtcbiAgJi5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJveC1zaGFkb3dzLCBkZXB0aC0xKTtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIC8vIENoYW5nZWQgdGhlIHotaW5kZXggdG8gbWFrZSB0aGUgZGF0ZXBpY2tlciBzaXQgYWJvdmUgdGhlIG5hdmJhciBAam9zaHVhXG4gICAgei1pbmRleDogMTAwMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi51aWItZGF0ZXBpY2tlciB7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuXG4gIC51aWItdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIWltcG9ydGFudDtcbiAgfVxuXG4gIHRoLCB0ZCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XG5cbiAgICBlbSB7XG4gICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgcGFkZGluZzogMTVweCA2cHg7XG4gICAgICAmLnB1bGwtcmlnaHQgaSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0aGVhZCB0cjpudGgtY2hpbGQoMSkgdGgge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICB9XG4gIHRoZWFkIHRyOm50aC1jaGlsZCgyKSB0aCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBib3JkZXI6bm9uZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSwgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLy8gbWFudWFsbHkgZXh0ZW5kaW5nIGZvbnQgYXdlc29tZSBmb3IgaWNvbnNcbiAgLmdseXBoaWNvbiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgfVxuICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdmdzL3JlZGVzaWduL2NvbW1vbi9sZWZ0LWFycm93LWNpcmNsZS5zdmcpO1xuICAgIH1cbiAgfVxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvc3Zncy9yZWRlc2lnbi9jb21tb24vcmlnaHQtYXJyb3ctY2lyY2xlLnN2Zyk7XG4gICAgfVxuICB9XG5cbn1cblxuLnRleHQtbXV0ZWQge1xuIGNvbG9yOiAkd2hpdGU7XG59XG5cbi51aWItZGF0ZXBpY2tlci1wb3B1cCxcbi51aWItZGF5cGlja2VyIHtcbiAgb3V0bGluZTogMDtcblxuICAvLyBTdHlsaW5nIGZvciBldmVuIHJvd3Mgb2YgdGhlIGRheXBpY2tlclxuICB0Ym9keSB0ciB7XG4gICAgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIWltcG9ydGFudDtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsaW5nIGZvciBvZGQgcm93cyBvZiB0aGUgZGF5cGlja2VyXG4gIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkbGlnaHQtZ3JheSwgNyUpO1xuXG4gICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnRleHQtbXV0ZWQge1xuICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkhaW1wb3J0YW50O1xuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLnVpYi1kYXksXG4udWliLW1vbnRoLFxuLnVpYi15ZWFyIHtcbiAgYnV0dG9uIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIH1cbn1cblxuLnVpYi1tb250aHBpY2tlcixcbi51aWItZGF5cGlja2VyLFxuLnVpYi1sZWZ0LFxuLnVpYi1yaWdodCB7XG4gIHdpZHRoOiAxMDAlXG59XG5cbi51aWItcG9zaXRpb24tbWVhc3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtOTk5OXB4ICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IC05OTk5cHggIWltcG9ydGFudDtcbn1cblxuLnVpYi1wb3NpdGlvbi1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTk5cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBzY3JvbGwgIWltcG9ydGFudDtcbn1cblxuLnVpYi1wb3NpdGlvbi1ib2R5LXNjcm9sbGJhci1tZWFzdXJlIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbCAhaW1wb3J0YW50O1xufVxuXG4udWliLWRhdGVwaWNrZXItY3VycmVudCxcbi51aWItY2xvc2Uge1xuICBAaW5jbHVkZSBidXR0b247XG59XG4udWliLWNsZWFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gKiBhbmd1bGFyLXRvb2x0aXBzXG4gKiAxLjEuMTBcbiAqXG4gKiBBbmd1bGFyLmpzIHRvb2x0aXBzIG1vZHVsZS5cbiAqIGh0dHA6Ly83MjBrYi5naXRodWIuaW8vYW5ndWxhci10b29sdGlwc1xuICpcbiAqIE1JVCBsaWNlbnNlXG4gKiBXZWQgSmFuIDI1IDIwMTdcbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGUtdG9vbHRpcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gIDkwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBhbmltYXRlLXRvb2x0aXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogLjg7IH1cbiAgNzAlIHtcbiAgICBvcGFjaXR5OiAuOTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW1zLWtleWZyYW1lcyBhbmltYXRlLXRvb2x0aXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IC41OyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogLjg7IH1cbiAgNzAlIHtcbiAgICBvcGFjaXR5OiAuOTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtdG9vbHRpcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA3MCUge1xuICAgIG9wYWNpdHk6IC45OyB9XG4gIDkwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5fZXhyYWRpY2F0ZWQtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTsgfVxuXG50b29sdGlwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4gIHRvb2x0aXAuX211bHRpbGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgdG9vbHRpcC5fc2xvdy5fcmVhZHkgdGlwIHtcbiAgICBhbmltYXRpb246IGFuaW1hdGUtdG9vbHRpcCAwLjY1cztcbiAgfVxuICB0b29sdGlwLl9mYXN0Ll9yZWFkeSB0aXAge1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZS10b29sdGlwIDAuMTVzO1xuICB9XG4gIHRvb2x0aXAuX3N0ZWFkeS5fcmVhZHkgdGlwIHtcbiAgICBhbmltYXRpb246IGFuaW1hdGUtdG9vbHRpcCAwLjM1cztcbiAgfVxuICB0b29sdGlwIHRpcCB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2lsbC1jaGFuZ2U6IHRvcCwgbGVmdCwgYm90dG9tLCByaWdodDtcbiAgfVxuICAgIHRvb2x0aXAgdGlwLl9oaWRkZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB0b29sdGlwLmFjdGl2ZTpub3QoLl9mb3JjZS1oaWRkZW4pIHRpcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbiAgdG9vbHRpcCB0aXAtdGlwIHtcbiAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgfVxuICAgIHRvb2x0aXAgdGlwLXRpcC5fbGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB9XG4gICAgdG9vbHRpcCB0aXAtdGlwLl9zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgdG9vbHRpcC5fdG9wIHRpcCB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogLTlweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbiAgICB0b29sdGlwLl90b3AgdGlwIHRpcC1hcnJvdyB7XG4gICAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMDtcbiAgICB9XG4gIHRvb2x0aXAuX2JvdHRvbSB0aXAge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgdG9wOiAxMDAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSg5cHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoOXB4KTtcbiAgfVxuICAgIHRvb2x0aXAuX2JvdHRvbSB0aXAgdGlwLWFycm93IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgdG9vbHRpcC5fcmlnaHQgdGlwIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDlweCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOXB4KSB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gICAgdG9vbHRpcC5fcmlnaHQgdGlwIHRpcC1hcnJvdyB7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgdG9vbHRpcC5fbGVmdCB0aXAge1xuICAgIGxlZnQ6IC05cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gICAgdG9vbHRpcC5fbGVmdCB0aXAgdGlwLWFycm93IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxudGlwLXRpcCAuY2xvc2UtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogcmlnaHQ7XG4gIGxlZnQ6IDglO1xuICBtYXJnaW4tdG9wOiAtNyU7XG4gIHBhZGRpbmc6IDNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzcGFjaW5ncy1tZWRpdW0sIGJpZyk7XG4gIC8vIH1cbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gIC8vICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkc3BhY2luZ3Mtc21hbGwsIGJpZyk7XG4gIC8vIH1cblxufVxuLnNsaWNrLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJi5kcmFnZ2luZyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjdXJzb3I6IGhhbmQ7XG4gIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBvdXRsaW5lOiBub25lO1xuXG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG5cbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cblxuLyogU2xpZGVyICovXG5cbi5zbGljay1saXN0IHtcbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG59XG5cblxuLyogQXJyb3dzICovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAlO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAmLnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTUlO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL3N2Z3MvYXJyb3ctcHJldi5zdmcpO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgfVxufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC01JTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9zdmdzL2Fycm93LW5leHQuc3ZnKTtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgIH1cbn1cblxuc2xpY2suaGlkZS1zbGlkZS1jb250cm9scyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuc2xpY2stcHJldiwgLnNsaWNrLW5leHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vLy9cbi8vIEhFTFBFUlMgLy9cbi8vLy8vLy8vLy8vLy9cbiovXG5cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAnc3BhY2luZyc7XG5AaW1wb3J0ICd2aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2ZsZXhncmlkJztcbkBpbXBvcnQgJ3Bvc2l0aW9uaW5nJztcbkBpbXBvcnQgJ2tleWZyYW1lcyc7XG5AaW1wb3J0ICdhbmltYXRpb25zJztcbkBpbXBvcnQgJ21pc2MnO1xuQGltcG9ydCAna2V5ZnJhbWVzJztcblxuIiwiXG4vKlxuLy8vLy8vLy8vLy8vLy8vXG4vLyBGVU5DVElPTlMgLy9cbi8vLy8vLy8vLy8vLy8vL1xuKi9cblxuLypcbk1BUCBIRUxQRVIgRlVOQ1RJT05TXG4qL1xuXG5AZnVuY3Rpb24gbWFwLXByZXYta2V5KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBzdWJ0cmFjdCAxIGZyb20gaXQgZm9yIHRoZSBwcmV2aW91cyBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgLSAxO1xuICB9XG5cbiAgQGlmICgkaSA9PSAwKSB7XG4gICAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICAgIEByZXR1cm4gbnVsbDtcbiAgfSBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIGtleVxuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxuXG59XG5cbkBmdW5jdGlvbiBtYXAtbmV4dC1rZXkoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCB2YWx1ZSBpbiB0aGUgbWFwXG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgICBAcmV0dXJuIG51bGw7XG4gIH0gQGVsc2Uge1xuICAgIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSBrZXlcbiAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkaSk7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1hcC1wcmV2LXZhbCgkbWFwLCAka2V5KSB7XG4gIC8vIHJldHVybiB0aGUgcHJldiB2YWx1ZSBpbiB0aGUgbGlzdCBvciBudWxsXG4gIEByZXR1cm4gbWFwLWdldChtYXAtcHJldi1rZXkoJG1hcCwgJGtleSkpO1xufVxuXG5AZnVuY3Rpb24gbWFwLW5leHQtdmFsKCRtYXAsICRrZXkpIHtcbiAgLy8gcmV0dXJuIHRoZSBuZXh0IHZhbHVlIGluIHRoZSBsaXN0IG9yIG51bGxcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1uZXh0LWtleSgkbWFwLCAka2V5KSk7XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy9cbi8vIENPTE9SUyAvL1xuLy8vLy8vLy8vLy8vXG4qL1xuXG4vKlxuVEVYVCBDT0xPUlxuKi9cblxuLy8gbG9vcHMgdGhyb3VnaCBlYWNoIGNvbG9yIHBhbGV0dGUgYW5kIGNyZWF0ZXMgYSB0ZXh0XG4vLyBjb2xvciBtb2RpZmllciBjbGFzc1xuXG4kdGV4dC1wYWxldHRlOiAoXG4gIHByaW1hcnk6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGVydGlhcnkpLFxuICBzZWNvbmRhcnk6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSxcbiAgd2FybmluZzogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSxcbiAgd2hpdGU6ICR3aGl0ZSxcbiAgYmxhY2s6ICRibGFjayxcbiAgZGFya0dyYXk6ICRkYXJrLWdyYXlcbik7XG5cbkBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRleHQtcGFsZXR0ZSB7XG4gIC50ZXh0LSN7JG5hbWV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8qXG5CQUNLR1JPVU5EIENPTE9SXG4qL1xuXG4vLyBsb29wcyB0aHJvdWdoIGVhY2ggY29sb3IgcGFsZXR0ZSBhbmQgY3JlYXRlcyBhIGJhY2tncm91bmRcbi8vIGNvbG9yIG1vZGlmaWVyIGNsYXNzXG5cbiRiYWNrZ3JvdW5kLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSxcbiAgc2Vjb25kYXJ5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSksXG4gIHN1Y2Nlc3M6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcyksXG4gIHdhcm5pbmc6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksXG4gIGFsZXJ0OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSxcbiAgb3B0aW9uYWw6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgb3B0aW9uYWwpLFxuICB3aGl0ZTogJHdoaXRlLFxuICBncmF5OiAkbWVkaXVtLWdyYXksXG4gIGxpZ2h0R3JheTogJGxpZ2h0LWdyYXksXG4gIGxpZ2h0ZXJHcmF5OiAkbGlnaHRlci1ncmF5LFxuICBtZWRpdW1HcmF5OiAkbWVkaXVtLWdyYXksXG4gIGRhcmtHcmF5OiAkZGFyay1ncmF5LFxuICBibGFjazogJGJsYWNrLFxuICBzbm93OiAkc25vd1xuKTtcblxuQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFja2dyb3VuZC1wYWxldHRlIHtcbiAgLmJnLSN7JG5hbWV9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgLnRleHQtI3skbmFtZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vLy9cbi8vIFNQQUNJTkcgLy9cbi8vLy8vLy8vLy8vLy9cbiovXG5cbiRob3Jpem9udGFsLXNwYWNpbmctZGlyZWN0aW9uczogKGxlZnQsIHJpZ2h0KTtcblxuJHZlcnRpY2FsLXNwYWNpbmctZGlyZWN0aW9uczogKHRvcCwgYm90dG9tKTtcblxuLy8gc3BhY2luZ3Mgc2luZ2xlIGRpcmVjdGlvbnNcbkBlYWNoICRzcGFjaW5nLWxhYmVsLCAkc3BhY2luZy12YWx1ZSBpbiAkc3BhY2luZ3Mge1xuICBAZWFjaCAkZGlyIGluICRob3Jpem9udGFsLXNwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgLnNwYWNpbmctI3skZGlyfS0jeyRzcGFjaW5nLWxhYmVsfSB7XG4gICAgICBtYXJnaW4tI3skZGlyfTogJHNwYWNpbmctdmFsdWU7XG4gICAgfVxuICAgIC5zcGFjaW5nLWlubmVyLSN7JGRpcn0tI3skc3BhY2luZy1sYWJlbH0ge1xuICAgICAgcGFkZGluZy0jeyRkaXJ9OiAkc3BhY2luZy12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVhY2ggJGRpciBpbiAkdmVydGljYWwtc3BhY2luZy1kaXJlY3Rpb25zIHtcbiAgICAuc3BhY2luZy0jeyRkaXJ9LSN7JHNwYWNpbmctbGFiZWx9IHtcbiAgICAgIG1hcmdpbi0jeyRkaXJ9OiAkc3BhY2luZy12YWx1ZTtcbiAgICB9XG4gICAgLnNwYWNpbmctaW5uZXItI3skZGlyfS0jeyRzcGFjaW5nLWxhYmVsfSB7XG4gICAgICBwYWRkaW5nLSN7JGRpcn06ICRzcGFjaW5nLXZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBzcGFjaW5nIGhvcml6b250YWxcbkBlYWNoICRsYWJlbCwgJHZhbHVlIGluICRzcGFjaW5ncyB7XG4gIC5zcGFjaW5nLWhvcml6b250YWwtI3skbGFiZWx9IHtcbiAgICBAZWFjaCAkZGlyIGluICRob3Jpem9udGFsLXNwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tI3skZGlyfTogJHZhbHVlO1xuICAgIH1cbiAgfVxuICAuc3BhY2luZy1pbm5lci1ob3Jpem9udGFsLSN7JGxhYmVsfSB7XG4gICAgQGVhY2ggJGRpciBpbiAkaG9yaXpvbnRhbC1zcGFjaW5nLWRpcmVjdGlvbnMge1xuICAgICAgcGFkZGluZy0jeyRkaXJ9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbi8vIHNwYWNpbmcgdmVydGljYWxcbkBlYWNoICRsYWJlbCwgJHZhbHVlIGluICRzcGFjaW5ncyB7XG4gIC5zcGFjaW5nLXZlcnRpY2FsLSN7JGxhYmVsfSB7XG4gICAgQGVhY2ggJGRpciBpbiAkdmVydGljYWwtc3BhY2luZy1kaXJlY3Rpb25zIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJ9OiAkdmFsdWU7XG4gICAgfVxuICB9XG4gIC5zcGFjaW5nLWlubmVyLXZlcnRpY2FsLSN7JGxhYmVsfSB7XG4gICAgQGVhY2ggJGRpciBpbiAkdmVydGljYWwtc3BhY2luZy1kaXJlY3Rpb25zIHtcbiAgICAgIHBhZGRpbmctI3skZGlyfTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBzcGFjaW5nIGFsbFxuQGVhY2ggJGxhYmVsLCAkdmFsdWUgaW4gJHNwYWNpbmdzIHtcbiAgLnNwYWNpbmctYWxsLSN7JGxhYmVsfSB7XG4gICAgbWFyZ2luOiAkdmFsdWU7XG4gIH1cbiAgLnNwYWNpbmctaW5uZXItYWxsLSN7JGxhYmVsfSB7XG4gICAgcGFkZGluZzogJHZhbHVlO1xuICB9XG59XG5cbi8vIHNwYWNpbmcgbm9uZVxuLnBhZGRpbmctbm9uZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLm1hcmdpbi1ub25lIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbkBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCkge1xuICAucGFkZGluZy0jeyRkaXJ9LW5vbmUge1xuICAgIHBhZGRpbmctI3skZGlyfTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCkge1xuICAubWFyZ2luLSN7JGRpcn0tbm9uZSB7XG4gICAgbWFyZ2luLSN7JGRpcn06IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4iLCJcbi8qXG4vLy8vLy8vLy8vLy8vLy8vXG4vLyBWSVNJQklMSVRZIC8vXG4vLy8vLy8vLy8vLy8vLy8vXG4qL1xuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbnNob3cgYW5kIGhpZGUgKGJyZWFrcG9pbnRzKVxuKi9cblxuLy8gbWl4aW4gdG8gaGVscCBmb3Igc2hvdyB1cFxuQG1peGluIHNob3ctZm9yLXVwKCRicmVha3BvaW50KSB7XG4gICRwcmV2LWJyZWFrcG9pbnQ6IG1hcC1wcmV2LWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblxuICBAaWYgJHByZXYtYnJlYWtwb2ludCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRwcmV2LWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBtaXhpbiB0byBoZWxwIGZvciBzaG93IGRvd25cbkBtaXhpbiBzaG93LWZvci1kb3duKCRicmVha3BvaW50KSB7XG4gICRuZXh0LWJyZWFrcG9pbnQ6IG1hcC1uZXh0LWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblxuICBAaWYgJG5leHQtYnJlYWtwb2ludCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuZXh0LWJyZWFrcG9pbnQgdXApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gbWl4aW4gdG8gaGVscCBmb3Igc2hvdyBvbmx5XG5AbWl4aW4gc2hvdy1mb3Itb25seSgkYnJlYWtwb2ludCkge1xuICAkcHJldi1icmVha3BvaW50OiBtYXAtcHJldi1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG4gICRuZXh0LWJyZWFrcG9pbnQ6IG1hcC1uZXh0LWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblxuICBAaWYgJHByZXYtYnJlYWtwb2ludCAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRwcmV2LWJyZWFrcG9pbnQgZG93bikge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmV4dC1icmVha3BvaW50ICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5leHQtYnJlYWtwb2ludCB1cCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBsb29wIGFuZCBjcmVhdGUgc2hvdyAoYnJlYWtwb2ludCkgY2xhc3Nlc1xuQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAuc2hvdy1mb3ItI3skYnJlYWtwb2ludH0tZG93biB7XG4gICAgQGluY2x1ZGUgc2hvdy1mb3ItZG93bigkYnJlYWtwb2ludCk7XG4gIH1cblxuICAuc2hvdy1mb3ItI3skYnJlYWtwb2ludH0tdXAge1xuICAgIEBpbmNsdWRlIHNob3ctZm9yLXVwKCRicmVha3BvaW50KTtcbiAgfVxuXG4gIC5zaG93LWZvci0jeyRicmVha3BvaW50fS1vbmx5IHtcbiAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLyBsb29wIGFuZCBjcmVhdGUgaGlkZSAoYnJlYWtwb2ludCkgY2xhc3Nlc1xuQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICBAZWFjaCAkZGlyZWN0aW9uIGluICRkaXJlY3Rpb25zIHtcbiAgICAvLyBza2lwIGlmIChzbWFsbCB1cCkgb3IgKGxhcmdlIGRvd24pXG4gICAgQGlmIG5vdCAoJGJyZWFrcG9pbnQgPT0gJ3NtYWxsJyBhbmQgJGRpcmVjdGlvbiA9PSAndXAnKSBhbmQgbm90ICgkYnJlYWtwb2ludCA9PSAnbGFyZ2UnIGFuZCAkZGlyZWN0aW9uID09ICdkb3duJykge1xuICAgICAgLmhpZGUtZm9yLSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50ICRkaXJlY3Rpb24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypcbkxhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuKi9cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIlxuLypcbi8vLy8vLy8vLy8vLy8vXG4vLyBGTEVYR1JJRCAvL1xuLy8vLy8vLy8vLy8vLy9cbiovXG5cbi8qXG5mbGV4Ym94IGhlbHBlcnNcbiovXG5cbiRmbGV4LWhvcml6b250YWw6IChcbiAgbGVmdDogKHN0YXJ0LCBmbGV4LXN0YXJ0KSxcbiAgcmlnaHQ6IChlbmQsIGZsZXgtZW5kKSxcbiAgY2VudGVyOiAoY2VudGVyLCBjZW50ZXIpLFxuKTtcblxuJGZsZXgtdmVydGljYWw6IChcbiAgdG9wOiAoc3RhcnQsIGZsZXgtc3RhcnQpLFxuICBtaWRkbGU6IChjZW50ZXIsIGNlbnRlciksXG4gIGJvdHRvbTogKGVuZCwgZmxleC1lbmQpLFxuICBzdHJldGNoOiAoc3RyZXRjaCwgc3RyZXRjaCksXG4pO1xuXG5AZWFjaCAkYnJlYWtwb2ludCwgJHB4IGluICRicmVha3BvaW50cyB7XG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gJGRpcmVjdGlvbnMge1xuICAgIC5jb2xsYXBzZS0jeyRicmVha3BvaW50fS0jeyRkaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQgJGRpcmVjdGlvbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hyaW5rLSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCAkZGlyZWN0aW9uKSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oc2hyaW5rKTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRhbGlnbm1lbnQsICR2YWx1ZSBpbiAkZmxleC1ob3Jpem9udGFsIHtcbiAgICAgIC5hbGlnbi0jeyRhbGlnbm1lbnR9LSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50ICRkaXJlY3Rpb24pIHtcbiAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBudGgoJHZhbHVlLCAxKTtcbiAgICAgICAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogbnRoKCR2YWx1ZSwgMik7XG4gICAgICAgICAgLW1zLWZsZXgtcGFjazogbnRoKCR2YWx1ZSwgMSk7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBudGgoJHZhbHVlLCAyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRhbGlnbm1lbnQsICR2YWx1ZSBpbiAkZmxleC12ZXJ0aWNhbCB7XG4gICAgICAuYWxpZ24tI3skYWxpZ25tZW50fS0jeyRicmVha3BvaW50fS0jeyRkaXJlY3Rpb259IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCAkZGlyZWN0aW9uKSB7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IG50aCgkdmFsdWUsIDEpO1xuICAgICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IG50aCgkdmFsdWUsIDIpO1xuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBudGgoJHZhbHVlLCAxKTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogbnRoKCR2YWx1ZSwgMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKlxuZnVsbCB3aWR0aCByb3dzXG4gKi9cbi5yb3cuZnVsbC13aWR0aCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLypcbiAgSG9yaXpvbnRhbGx5IHNjcm9sbGFibGUgY29udGFpbmVyXG4qL1xuLmhvcml6b250YWwtb3ZlcmZsb3cge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuLy9SZW1vdmVzIHNjcm9sbGJhciBmcm9tIGNvbnRhaW5lclxuLmhvcml6b250YWwtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNsaW0tY29sdW1uIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICB9XG59XG5cbi5yb3cuZXF1YWwtaGVpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzOHJlbTtcbiAgcGFkZGluZy1yaWdodDogMC45MzhyZW07XG5cbiAgLmNvbHVtbnMuY29sdW1ucy1zcGFjZXIge1xuICAgIG1heC13aWR0aDogMDtcblxuICAgICYubWVkaXVtLWRvd24tdmVydGljYWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzOHJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM4cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBsb29wIGFuZCBjcmVhdGUgaGlkZSAoYnJlYWtwb2ludCkgY2xhc3Nlc1xuQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICBAZWFjaCAkZGlyZWN0aW9uIGluICRkaXJlY3Rpb25zIHtcbiAgICAvLyBza2lwIGlmIChzbWFsbCB1cCkgb3IgKGxhcmdlIGRvd24pXG4gICAgQGlmIG5vdCAoJGJyZWFrcG9pbnQgPT0gJ3NtYWxsJyBhbmQgJGRpcmVjdGlvbiA9PSAndXAnKSBhbmQgbm90ICgkYnJlYWtwb2ludCA9PSAnbGFyZ2UnIGFuZCAkZGlyZWN0aW9uID09ICdkb3duJykge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRicmVha3BvaW50fSAjeyRkaXJlY3Rpb259KSB7XG4gICAgICAgIC5hYnNvbHV0ZS1jZW50ZXItI3skYnJlYWtwb2ludH0tI3skZGlyZWN0aW9ufSB7XG4gICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUE9TSVRJT05JTkcgLy9cbi8vLy8vLy8vLy8vLy8vLy8vXG4qL1xuXG4ucG9zaXRpb24tcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbiIsIi8qXG4vLy8vLy8vLy8vLy8vLy9cbi8vIEtFWUZSQU1FUyAvL1xuLy8vLy8vLy8vLy8vLy8vXG4qL1xuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDE7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDA7IH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSAgIHsgb3BhY2l0eToxOyBmb250LXNpemU6IDEwMCU7IH1cbiAgNTAlICB7IG9wYWNpdHk6MC44OyBmb250LXNpemU6IDEzNSU7fVxuICAxMDAlIHsgb3BhY2l0eToxOyBmb250LXNpemU6IDEwMCU7fVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB9XG4gIDUwJSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxZGVnKX1cbiAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbk91dCB7XG4gIDAlIHsgb3BhY2l0eTogMTsgfVxuICAyMyUgeyBvcGFjaXR5OiAxOyB9XG4gIDMzJSB7IG9wYWNpdHk6IDA7IH1cbiAgOTAlIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICB9XG4gIDQwJSwgNDMlIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG4gIDcwJSB7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yNXB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbiAgMTAlLCAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4iLCJcbi8qXG4vLy8vLy8vLy8vLy8vLy8vXG4vLyBBTklNQVRJT05TIC8vXG4vLy8vLy8vLy8vLy8vLy8vXG4qL1xuXG4udHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IDFzO1xufVxuXG4uYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7XG5cbiAgJi5mYXN0IHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gIH1cblxuICAmLnNsb3cge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbiAqIDM7XG4gIH1cbn1cblxuLnVuYW5pbWF0ZWQge1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYm91bmNlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLmJvdW5jZS1pbi11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG4uZmFkZS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbi5mYWRlLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG4uZmFkZS1pbi11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuLnRhZGEge1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLnJvdGF0ZS0xODAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4uc2xpZGUtZG93biB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogNDAwcHg7IC8qIElmIGJsb2NrIGlzIGJpZ2dlciB1c2UgYW5vdGhlciBjbGFzcyB0byBjaGFuZ2UgbWF4LWhlaWdodCAqL1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbn1cblxuLnNsaWRlLXVwIHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLW91dDtcbn1cbiIsIlxuLypcbi8vLy8vLy8vLy9cbi8vIE1JU0MgLy9cbi8vLy8vLy8vLy9cbiovXG5cbi8qXG56LWluZGV4XG4qL1xuLy8gbG9vcHMgdGhyb3VnaCBlYWNoIHotaW5kZXggYW5kIGNyZWF0ZXMgYSB6LWluZGV4XG4vLyBtb2RpZmllciBjbGFzc1xuQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkei1pbmRleGVzIHtcbiAgJi56LS4jeyRuYW1lfSB7XG4gICAgei1pbmRleDogJHZhbHVlO1xuICB9XG59XG5cbi8qXG5zaGFkb3dzXG4qL1xuXG4uc2hhZG93IHtcbiAgdHJhbnNpdGlvbjogYWxsICRhbmltYXRpb24tZHVyYXRpb24gJGFuaW1hdGlvbi10aW1pbmc7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJveC1zaGFkb3c7XG5cbiAgQGVhY2ggJGxhYmVsLCAkdmFsdWUgaW4gJGJveC1zaGFkb3dzIHtcbiAgICAmLiN7JGxhYmVsfSB7XG4gICAgICBib3gtc2hhZG93OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG5cbiBAZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiAkYm94LXNoYWRvd3Mge1xuICAuc2hhZG93LWhvdmVyLSN7JGxhYmVsfSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAkdmFsdWUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLypcbmZhZGVkXG4tIGZvciB1c2Ugd2hlbiBmZWF0dXJlcyBhcmUgc3RpbGwgaW4gZGV2ZWxvcG1lbXRcbi0gZmFkZXMgb3V0IGFuIGVsZW1lbnQgYW5kIHByZXZlbnRzIGFueSBjbGljayBmdW5jdGlvbmFsaXR5XG4qL1xuLmZhZGVkIHtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMC4zNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyByZW1vdmUgbGluayBzdHlsaW5nXG4gIGEsXG4gIC5idXR0b24udGVydGlhcnkge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8qXG5ib3JkZXJzXG4qL1xuXG4kYm9yZGVyLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSxcbiAgc2Vjb25kYXJ5OiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSksXG4gIHdhcm5pbmc6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksXG4gIHdoaXRlOiAkd2hpdGUsXG4gIGJsYWNrOiAkYmxhY2ssXG4gIGxpZ2h0ZXJHcmF5OiAkbGlnaHRlci1ncmF5LFxuICBsaWdodEdyYXk6ICRsaWdodC1ncmF5LFxuICBtZWRpdW1HcmF5OiAkbWVkaXVtLWdyYXksXG4gIGRhcmtHcmF5OiAkZGFyay1ncmF5XG4pO1xuXG4uYm9yZGVyIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gIH1cblxuICAvLyBsb29wcyB0aHJvdWdoIGVhY2ggY29sb3IgcGFsZXR0ZSBhbmQgY3JlYXRlcyBhIGJvcmRlclxuICAvLyBjb2xvciBtb2RpZmllciBjbGFzc1xuICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRib3JkZXItcGFsZXR0ZSB7XG4gICAgJi4jeyRuYW1lfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLnJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBsb29wcyBhbmQgY3JlYXRlcyBib3JkZXIgcmFkaXVzIGhlbHBlciBjbGFzc2VzXG4gIEBlYWNoICR2IGluICh0b3AsIGJvdHRvbSkge1xuICAgIEBlYWNoICRoIGluIChsZWZ0LCByaWdodCkge1xuICAgICAgJi5yYWRpdXMtI3skdn0tI3skaH0ge1xuICAgICAgICBib3JkZXItI3skdn0tI3skaH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cblxuLmJvcmRlci1uYSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuXG4vKlxuTGluayBvdmVybGF5XG5Vc2VkIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYXZvaWQgbmVzdGluZyBlbGVtZW50cyB3aXRoaW4gYW4gPEE+IHRhZ1xuXG4ubGluay1vdmVybGF5XG4gIGEubGluay1vdmVybGF5X19hbmNob3JcbiAgLy8gLi4gZmlyc3QgY2hpbGQgZWxlbWVudFxuICAvLyAuLiBzZWNvbmQgY2hpbGQgZWxlbWVudFxuICAvLyAuLiBldGNcblxuKi9cbi5saW5rLW92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubGluay1vdmVybGF5X19hbmNob3Ige1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG59XG5cblxuLypcbmltYWdlc1xuKi9cblxuaW1nLmZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuc3ZnLmhlaWdodC1hdXRvIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbnN2Zy53aWR0aC1hdXRvIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLmNlbnRlcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICBAZWFjaCAkZGlyZWN0aW9uIGluICRkaXJlY3Rpb25zIHtcbiAgICAvLyBza2lwIGlmIChzbWFsbCB1cCkgb3IgKGxhcmdlIGRvd24pXG4gICAgQGlmIG5vdCAoJGJyZWFrcG9pbnQgPT0gJ3NtYWxsJyBhbmQgJGRpcmVjdGlvbiA9PSAndXAnKSBhbmQgbm90ICgkYnJlYWtwb2ludCA9PSAnbGFyZ2UnIGFuZCAkZGlyZWN0aW9uID09ICdkb3duJykge1xuICAgICAgLmNlbnRlcmVkLSN7JGJyZWFrcG9pbnR9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50ICRkaXJlY3Rpb24pIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gcGFzc3dvcmQgaGludCBoZWxwZXJzXG4ucGFzc3dvcmQtaGludCwgLnBhc3N3b3JkLWhpbnQtLXN1Y2Nlc3Mge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbn1cblxuLnBhc3N3b3JkLWhpbnQ6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTI1cHg7XG4gIHRvcDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL3N2Z3MvaWNvbnMvY2xvc2UtcmVkLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4ucGFzc3dvcmQtaGludC0tc3VjY2Vzczo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMjVweDtcbiAgdG9wOiA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvc3Zncy9jaGVjay1tYXJrLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xufVxuXG4vL1VzZWQgaW4gcHJpY2VcbnNwYW4udGV4dC1udW1iZXIge1xuICAmIHN1cCB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi50b29sdGlwLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC50b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4uZ29vZ2xlLXJldmlld3MtaWNvbiB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4vKlxuICBGbGlwIGltYWdlcyBvciBpY29uc1xuKi9cbi5mbGlwLXZlcnRpY2FsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbn1cbi5mbGlwLWhvcml6b250YWwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
