@charset "UTF-8";
/* radio */
@import url("https://fonts.googleapis.com/css?family=Montserrat:300,400,400i,600,600i,700,700i&display=swap&subset=latin-ext");
.jcf-radio {
  vertical-align: middle;
  display: inline-block;
  position: relative;
  overflow: hidden;
  cursor: default;
  background: #fff;
  border: 1px solid #777;
  border-radius: 9px;
  margin: 0 3px 0 0;
  height: 16px;
  width: 16px; }

.jcf-radio span {
  display: none;
  position: absolute;
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  background: #777;
  border-radius: 100%; }

.jcf-radio input[type="radio"] {
  position: absolute;
  height: 100%;
  width: 100%;
  border: 0;
  margin: 0;
  left: 0;
  top: 0; }

.jcf-radio.jcf-checked span {
  display: block; }

/* checkbox */
.jcf-checkbox {
  vertical-align: middle;
  display: inline-block;
  position: relative;
  overflow: hidden;
  cursor: default;
  background: #fff;
  border: 1px solid #777;
  margin: 0 3px 0 0;
  height: 16px;
  width: 16px; }

.jcf-checkbox span {
  position: absolute;
  display: none;
  height: 4px;
  width: 8px;
  top: 50%;
  left: 50%;
  margin: -7px 0 0 -6px;
  border: 3px solid #777;
  border-width: 0 0 3px 3px;
  transform: rotate(-45deg);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=0.7071067811865467, M21=-0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')"; }

:root .jcf-checkbox span {
  margin: -4px 0 0 -5px; }

.jcf-checkbox input[type="checkbox"] {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0;
  margin: 0;
  left: 0;
  top: 0; }

.jcf-checkbox.jcf-checked span {
  display: block; }

/* button */
.jcf-button {
  display: inline-block;
  vertical-align: top;
  position: relative;
  overflow: hidden;
  border: 1px solid #777;
  background: #fff;
  margin: 0 10px 10px 0;
  padding: 5px 10px; }

.jcf-button .jcf-real-element {
  position: absolute;
  min-height: 100%;
  min-width: 100%;
  outline: none;
  opacity: 0;
  padding: 0;
  margin: 0;
  border: 0;
  bottom: 0;
  right: 0;
  left: 0;
  top: 0; }

/* file */
.jcf-file {
  display: inline-block;
  white-space: nowrap;
  position: relative;
  overflow: hidden;
  background: #fff; }

.jcf-file .jcf-real-element {
  position: absolute;
  font-size: 200px;
  height: 200px;
  margin: 0;
  right: 0;
  top: 0; }

.jcf-file .jcf-fake-input {
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  vertical-align: top;
  overflow: hidden;
  border: 1px solid #777;
  padding: 0 8px;
  font-size: 13px;
  line-height: 28px;
  height: 28px;
  width: 125px; }

.jcf-file .jcf-upload-button {
  display: inline-block;
  vertical-align: top;
  white-space: nowrap;
  overflow: hidden;
  border: 1px solid #777;
  margin: 0 0 0 -1px;
  padding: 0 10px;
  line-height: 28px;
  height: 28px; }

/* scrollbars */
.jcf-scrollable-wrapper {
  box-sizing: content-box;
  position: relative; }

.jcf-scrollbar-vertical {
  position: absolute;
  cursor: default;
  background: #e3e3e3;
  width: 14px;
  bottom: 0;
  right: 0;
  top: 0; }

.jcf-scrollbar-vertical .jcf-scrollbar-dec,
.jcf-scrollbar-vertical .jcf-scrollbar-inc {
  background: #bbb;
  height: 14px;
  width: 14px;
  left: 0;
  top: 0; }

.jcf-scrollbar-vertical .jcf-scrollbar-inc {
  top: auto;
  bottom: 0; }

.jcf-scrollbar-vertical .jcf-scrollbar-handle {
  background: #888;
  height: 1px;
  width: 14px; }

.jcf-scrollbar-horizontal {
  position: absolute;
  background: #e3e3e3;
  right: auto;
  top: auto;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 14px; }

.jcf-scrollbar-horizontal .jcf-scrollbar-dec,
.jcf-scrollbar-horizontal .jcf-scrollbar-inc {
  display: inline-block;
  vertical-align: top;
  overflow: hidden;
  background: #bbb;
  height: 14px;
  width: 14px; }

.jcf-scrollbar-horizontal .jcf-scrollbar-inc {
  left: auto;
  right: 0; }

.jcf-scrollbar-horizontal .jcf-scrollbar-slider {
  display: inline-block;
  position: relative;
  height: 14px; }

.jcf-scrollbar-horizontal .jcf-scrollbar-handle {
  position: absolute;
  background: #888;
  height: 14px; }

.jcf-scrollbar.jcf-inactive .jcf-scrollbar-handle {
  visibility: hidden; }

.jcf-scrollbar.jcf-inactive .jcf-scrollbar-dec,
.jcf-scrollbar.jcf-inactive .jcf-scrollbar-inc {
  background: #e3e3e3; }

/* select */
.jcf-select {
  display: inline-block;
  vertical-align: top;
  position: relative;
  border: 1px solid #777;
  background: #fff;
  margin: 0 0 12px;
  min-width: 150px;
  height: 26px; }

.jcf-select select {
  z-index: 1;
  left: 0;
  top: 0; }

.jcf-select .jcf-select-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  cursor: default;
  display: block;
  font-size: 13px;
  line-height: 26px;
  margin: 0 35px 0 8px; }

.jcf-select .jcf-select-opener {
  position: absolute;
  text-align: center;
  background: #aaa;
  width: 26px;
  bottom: 0;
  right: 0;
  top: 0; }

body > .jcf-select-drop {
  position: absolute;
  margin: -1px 0 0;
  z-index: 9999; }

body > .jcf-select-drop.jcf-drop-flipped {
  margin: 1px 0 0; }

.jcf-select .jcf-select-drop {
  position: absolute;
  margin-top: 0px;
  z-index: 9999;
  top: 100%;
  left: -1px;
  right: -1px; }

.jcf-select .jcf-drop-flipped {
  bottom: 100%;
  top: auto; }

.jcf-select.jcf-compact-multiple {
  max-width: 220px; }

.jcf-select.jcf-compact-multiple .jcf-select-opener:before {
  display: inline-block;
  padding-top: 2px;
  content: '...'; }

.jcf-select-drop .jcf-select-drop-content {
  border: 1px solid #00a8ba; }

.jcf-select-drop.jcf-compact-multiple .jcf-hover {
  background: none; }

.jcf-select-drop.jcf-compact-multiple .jcf-selected {
  background: #e6e6e6;
  color: #000; }

.jcf-select-drop.jcf-compact-multiple .jcf-selected:before {
  display: inline-block;
  content: '';
  height: 4px;
  width: 8px;
  margin: -7px 5px 0 -3px;
  border: 3px solid #777;
  border-width: 0 0 3px 3px;
  transform: rotate(-45deg);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865483, M12=0.7071067811865467, M21=-0.7071067811865467, M22=0.7071067811865483, SizingMethod='auto expand')"; }

/* multiple select styles */
.jcf-list-box {
  overflow: hidden;
  display: inline-block;
  border: 1px solid #b8c3c9;
  min-width: 200px;
  margin: 0 15px; }

/* select options styles */
.jcf-list {
  display: inline-block;
  vertical-align: top;
  position: relative;
  background: #fff;
  line-height: 14px;
  font-size: 12px;
  width: 100%; }

.jcf-list .jcf-list-content {
  vertical-align: top;
  display: inline-block;
  overflow: auto;
  width: 100%; }

.jcf-list ul {
  list-style: none;
  padding: 0;
  margin: 0; }

.jcf-list ul li {
  overflow: hidden;
  display: block; }

.jcf-list .jcf-overflow {
  overflow: auto; }

.jcf-list .jcf-option {
  white-space: nowrap;
  overflow: hidden;
  cursor: default;
  display: block;
  padding: 5px 9px;
  color: #656565;
  min-height: 14px;
  height: 1%; }

.jcf-list .jcf-disabled {
  background: #fff !important;
  color: #aaa !important; }

.jcf-select-drop .jcf-hover,
.jcf-list-box .jcf-selected {
  background: #e6e6e6;
  color: #000; }

.jcf-list .jcf-optgroup-caption {
  white-space: nowrap;
  font-weight: bold;
  display: block;
  padding: 5px 9px;
  cursor: default;
  color: #000; }

.jcf-list .jcf-optgroup .jcf-option {
  padding-left: 30px; }

/* other styles */
.jcf-textarea {
  border: 1px solid #b8c3c9;
  box-sizing: content-box;
  display: inline-block;
  position: relative; }

.jcf-textarea .jcf-scrollbar-horizontal {
  display: none;
  height: 0; }

.jcf-textarea textarea {
  padding: 8px 10px;
  border: none;
  margin: 0; }

.jcf-textarea .jcf-resize {
  position: absolute;
  text-align: center;
  cursor: se-resize;
  background: #e3e3e3;
  font-weight: bold;
  line-height: 15px;
  text-indent: 1px;
  font-size: 12px;
  height: 15px;
  width: 14px;
  bottom: 0;
  right: 0; }

.jcf-textarea .jcf-resize:before {
  border: 1px solid #000;
  border-width: 0 1px 1px 0;
  display: block;
  margin: 4px 0 0 3px;
  width: 6px;
  height: 6px;
  content: ''; }

/* number input */
.jcf-number {
  display: inline-block;
  position: relative;
  height: 32px; }

.jcf-number input {
  -moz-appearance: textfield; }

.jcf-number input::-webkit-inner-spin-button,
.jcf-number input::-webkit-outer-spin-button {
  -webkit-appearance: none; }

.jcf-number input {
  box-sizing: border-box;
  border: 1px solid #777;
  padding: 3px 27px 3px 7px;
  margin: 0;
  height: 100%; }

.jcf-number .jcf-btn-dec,
.jcf-number .jcf-btn-inc {
  position: absolute;
  background: #aaa;
  width: 20px;
  height: 15px;
  right: 1px;
  top: 1px; }

.jcf-number .jcf-btn-dec {
  top: auto;
  bottom: 1px; }

.jcf-number .jcf-btn-dec:hover,
.jcf-number .jcf-btn-inc:hover {
  background: #e6e6e6; }

.jcf-number.jcf-disabled .jcf-btn-dec:hover,
.jcf-number.jcf-disabled .jcf-btn-inc:hover {
  background: #aaa; }

.jcf-number .jcf-btn-dec:before,
.jcf-number .jcf-btn-inc:before {
  position: absolute;
  content: '';
  width: 0;
  height: 0;
  top: 50%;
  left: 50%;
  margin: -6px 0 0 -4px;
  border: 4px solid #aaa;
  border-color: transparent transparent #000 transparent; }

.jcf-number .jcf-btn-dec:before {
  margin: -1px 0 0 -4px;
  border-color: #000 transparent transparent transparent; }

.jcf-number.jcf-disabled .jcf-btn-dec:before,
.jcf-number.jcf-disabled .jcf-btn-inc:before,
.jcf-number .jcf-btn-dec.jcf-disabled:before,
.jcf-number .jcf-btn-inc.jcf-disabled:before {
  opacity: 0.3; }

.jcf-number.jcf-disabled input {
  background: #ddd; }

/* range input */
.jcf-range {
  display: inline-block;
  min-width: 200px;
  margin: 0 10px;
  width: 130px; }

.jcf-range .jcf-range-track {
  margin: 0 20px 0 0;
  position: relative;
  display: block;
  height: 10px; }

.jcf-range .jcf-range-wrapper {
  position: relative;
  background: #e5e5e5;
  border-radius: 5px;
  display: block;
  margin: 5px 0; }

.jcf-range.jcf-vertical {
  min-width: 0;
  width: auto; }

.jcf-range.jcf-vertical .jcf-range-wrapper {
  margin: 0;
  width: 10px;
  height: auto;
  padding: 20px 0 0; }

.jcf-range.jcf-vertical .jcf-range-track {
  height: 180px;
  width: 10px; }

.jcf-range.jcf-vertical .jcf-range-handle {
  left: -5px;
  top: auto; }

.jcf-range .jcf-range-display-wrapper {
  position: absolute;
  min-height: 10px;
  min-width: 10px;
  left: 10px;
  right: 10px; }

.jcf-range .jcf-range-display {
  border-radius: 5px;
  position: absolute;
  background: #888;
  width: 10px;
  height: 10px; }

.jcf-range .jcf-range-display.jcf-range-min {
  margin: 0 0 0 -10px;
  padding: 0 0 0 10px; }

.jcf-range .jcf-range-display.jcf-range-max {
  margin: 0 -10px 0 0;
  padding: 0 10px 0 0; }

.jcf-range.jcf-vertical .jcf-range-display-wrapper {
  left: auto;
  right: auto;
  top: 10px;
  bottom: 10px; }

.jcf-range.jcf-vertical .jcf-range-display.jcf-range-min {
  margin: 0 0 -10px;
  padding: 0 0 10px; }

.jcf-range.jcf-vertical .jcf-range-display.jcf-range-max {
  margin: -10px 0 0;
  padding: 10px 0 0; }

.jcf-range .jcf-range-handle {
  position: absolute;
  background: #aaa;
  border-radius: 19px;
  width: 19px;
  height: 19px;
  margin: -4px 0 0;
  z-index: 1;
  top: 0;
  left: 0; }

.jcf-range .jcf-range-mark {
  position: absolute;
  overflow: hidden;
  background: #000;
  width: 1px;
  height: 3px;
  top: -7px;
  margin: 0 0 0 9px; }

.jcf-range.jcf-vertical .jcf-range-mark {
  margin: 0 0 9px;
  left: 14px;
  top: auto;
  width: 3px;
  height: 1px; }

.jcf-range .jcf-active-handle {
  z-index: 2; }

.jcf-range.jcf-focus .jcf-active-handle {
  border: 1px solid #00a8ba;
  margin: -5px 0 0 -1px; }

.jcf-range.jcf-disabled {
  background: none !important;
  opacity: 0.3; }

/* common styles */
.jcf-disabled {
  background: #ddd !important; }

.jcf-focus, .jcf-focus * {
  border-color: #00a8ba !important; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[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; }

/* Preload images */
body:after {
  /* content: url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png); */
  display: none; }

body.lb-disable-scrolling {
  overflow: hidden; }

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none; }

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 10000;
  text-align: center;
  line-height: 0;
  font-weight: normal; }

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;
  /* Image border */
  border: 4px solid white; }

.lightbox a img {
  border: none; }

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;
  /* Background color behind image.
     This is visible during transitions. */
  background-color: white; }

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0; }

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  /* background: url(../images/loading.gif) no-repeat; */ }

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10; }

.lb-container > .nav {
  left: 0; }

.lb-nav a {
  outline: none;
  background-image: url("data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=="); }

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block; }

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  /* background: url(../images/prev.png) left 48% no-repeat; */
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  transition: opacity 0.6s; }

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  /* background: url(../images/next.png) right 48% no-repeat; */
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  transition: opacity 0.6s; }

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px; }

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both; }

.lb-data {
  padding: 0 4px;
  color: #ccc; }

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em; }

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em; }

.lb-data .lb-caption a {
  color: #4ae; }

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999; }

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  /* background: url(../images/close.png) top right no-repeat; */
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  transition: opacity 0.2s; }

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1; }

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  position: relative; }

.dropzone .dz-preview {
  position: relative;
  display: inline-block;
  width: 120px;
  margin: 0.5em; }

.dropzone .dz-preview .dz-progress {
  display: block;
  height: 15px;
  border: 1px solid #aaa; }

.dropzone .dz-preview .dz-progress .dz-upload {
  display: block;
  height: 100%;
  width: 0;
  background: green; }

.dropzone .dz-preview .dz-error-message {
  color: red;
  display: none; }

.dropzone .dz-preview.dz-error .dz-error-message, .dropzone .dz-preview.dz-error .dz-error-mark {
  display: block; }

.dropzone .dz-preview.dz-success .dz-success-mark {
  display: block; }

.dropzone .dz-preview .dz-error-mark, .dropzone .dz-preview .dz-success-mark {
  position: absolute;
  display: none;
  left: 30px;
  top: 30px;
  width: 54px;
  height: 58px;
  left: 50%;
  margin-left: -27px; }

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */

@keyframes passing-through {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    transform: translateY(0px); }
  100% {
    opacity: 0;
    transform: translateY(-40px); } }

@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30% {
    opacity: 1;
    transform: translateY(0px); } }

@keyframes pulse {
  0% {
    transform: scale(1); }
  10% {
    transform: scale(1.1); }
  20% {
    transform: scale(1); } }

.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px; }

.dropzone.dz-clickable {
  cursor: pointer; }

.dropzone.dz-clickable * {
  cursor: default; }

.dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
  cursor: pointer; }

.dropzone.dz-started .dz-message {
  display: none; }

.dropzone.dz-drag-hover {
  border-style: solid; }

.dropzone.dz-drag-hover .dz-message {
  opacity: 0.5; }

.dropzone .dz-message {
  text-align: center;
  margin: 2em 0; }

.dropzone .dz-preview {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin: 16px;
  min-height: 100px; }

.dropzone .dz-preview:hover {
  z-index: 1000; }

.dropzone .dz-preview:hover .dz-details {
  opacity: 1; }

.dropzone .dz-preview.dz-file-preview .dz-image {
  border-radius: 20px;
  background: #999;
  background: linear-gradient(to bottom, #eee, #ddd); }

.dropzone .dz-preview.dz-file-preview .dz-details {
  opacity: 1; }

.dropzone .dz-preview.dz-image-preview {
  background: white; }

.dropzone .dz-preview.dz-image-preview .dz-details {
  transition: opacity 0.2s linear; }

.dropzone .dz-preview .dz-remove {
  font-size: 14px;
  text-align: center;
  display: block;
  cursor: pointer;
  border: none; }

.dropzone .dz-preview .dz-remove:hover {
  text-decoration: underline; }

.dropzone .dz-preview:hover .dz-details {
  opacity: 1; }

.dropzone .dz-preview .dz-details {
  z-index: 20;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  font-size: 13px;
  min-width: 100%;
  max-width: 100%;
  padding: 2em 1em;
  text-align: center;
  color: rgba(0, 0, 0, 0.9);
  line-height: 150%; }

.dropzone .dz-preview .dz-details .dz-size {
  margin-bottom: 1em;
  font-size: 16px; }

.dropzone .dz-preview .dz-details .dz-filename {
  white-space: nowrap; }

.dropzone .dz-preview .dz-details .dz-filename:hover span {
  border: 1px solid rgba(200, 200, 200, 0.8);
  background-color: rgba(255, 255, 255, 0.8); }

.dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
  overflow: hidden;
  text-overflow: ellipsis; }

.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
  border: 1px solid transparent; }

.dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
  background-color: rgba(255, 255, 255, 0.4);
  padding: 0 0.4em;
  border-radius: 3px; }

.dropzone .dz-preview:hover .dz-image img {
  transform: scale(1.05, 1.05);
  filter: blur(8px); }

.dropzone .dz-preview .dz-image {
  border-radius: 20px;
  overflow: hidden;
  width: 120px;
  height: 120px;
  position: relative;
  display: block;
  z-index: 10; }

.dropzone .dz-preview .dz-image img {
  display: block; }

.dropzone .dz-preview.dz-success .dz-success-mark {
  animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }

.dropzone .dz-preview.dz-error .dz-error-mark {
  opacity: 1;
  animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }

.dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
  pointer-events: none;
  opacity: 0;
  z-index: 500;
  position: absolute;
  display: block;
  top: 50%;
  left: 50%;
  margin-left: -27px;
  margin-top: -27px; }

.dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
  display: block;
  width: 54px;
  height: 54px; }

.dropzone .dz-preview.dz-processing .dz-progress {
  opacity: 1;
  transition: all 0.2s linear; }

.dropzone .dz-preview.dz-complete .dz-progress {
  opacity: 0;
  transition: opacity 0.4s ease-in; }

.dropzone .dz-preview:not(.dz-processing) .dz-progress {
  animation: pulse 6s ease infinite; }

.dropzone .dz-preview .dz-progress {
  opacity: 1;
  z-index: 1000;
  pointer-events: none;
  position: absolute;
  height: 16px;
  left: 50%;
  top: 50%;
  margin-top: -8px;
  width: 80px;
  margin-left: -40px;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transform: scale(1);
  border-radius: 8px;
  overflow: hidden; }

.dropzone .dz-preview .dz-progress .dz-upload {
  background: #333;
  background: linear-gradient(to bottom, #666, #444);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 0;
  transition: width 300ms ease-in-out; }

.dropzone .dz-preview.dz-error .dz-error-message {
  display: block; }

.dropzone .dz-preview.dz-error:hover .dz-error-message {
  opacity: 1;
  pointer-events: auto; }

.dropzone .dz-preview .dz-error-message {
  pointer-events: none;
  z-index: 1000;
  position: absolute;
  display: block;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  border-radius: 8px;
  font-size: 13px;
  top: 130px;
  left: -10px;
  width: 140px;
  background: #be2626;
  background: linear-gradient(to bottom, #be2626, #a92222);
  padding: 0.5em 1.2em;
  color: white; }

.dropzone .dz-preview .dz-error-message:after {
  content: '';
  position: absolute;
  top: -6px;
  left: 64px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #be2626; }

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

html {
  overflow-x: hidden; }

body {
  height: 100%;
  background: #fff url("../images/bg-section.jpg") repeat center top;
  color: #413025;
  font-family: "Montserrat", sans-serif;
  font-size: 16px;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  list-style: none; }
  @media (max-width: 1280px) {
    body {
      background: #fff url(../images/bg-home-mobile.jpg) no-repeat center top;
      background-size: contain; } }
  @media (max-width: 800px) {
    body {
      background: #fff url(../images/bg-home-mobile.jpg) no-repeat center top;
      background-size: 180%; } }
  body.error {
    background: #f6f6f6;
    min-height: 100vh; }
    body.error .header--subpage:after,
    body.error .header--fixed:after {
      display: none; }
    body.error main {
      margin-top: 0 !important; }
    body.error .header {
      top: 0;
      background: transparent;
      box-shadow: none;
      position: initial; }
    body.error .section {
      background-color: transparent;
      background-image: url("../images/bg-chocolate-5.jpg"), url("../images/bg-chocolate-6.png");
      background-position: right -20% top 0, -20% bottom;
      text-align: center; }
      @media screen and (max-width: 959px) {
        body.error .section {
          background-image: none; } }
  body * {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    list-style: none; }
    body *:before, body *:after {
      margin: 0;
      padding: 0;
      box-sizing: border-box; }
  body p, body a, body li {
    line-height: 28px;
    font-weight: 300;
    margin-bottom: 20px; }
    @media screen and (max-width: 959px) {
      body p, body a, body li {
        font-size: 14px; } }
  @media screen and (max-width: 1279px) {
    body img {
      display: block;
      max-width: 100%; } }
  body a {
    color: #132a7b; }
  body:before, body:after {
    margin: 0;
    padding: 0;
    box-sizing: border-box; }

.container, .cookies .cc-window {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: -16px;
  margin-right: -16px;
  display: block;
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px !important; }
  .container:before, .cookies .cc-window:before, .row:before, .container:after, .cookies .cc-window:after, .row:after {
    content: "";
    display: table; }
  .container:after, .cookies .cc-window:after, .row:after {
    clear: both; }
  .container, .cookies .cc-window, .row {
    zoom: 1; }
  .article__container aside, .article__container article {
    display: inline-block;
    min-height: 1px;
    float: left;
    box-sizing: border-box;
    vertical-align: top;
    padding-right: 16px;
    padding-left: 16px; }
  .article__container article {
    position: relative; }
  @media screen and (max-width: 959px) {
    .article__container aside, .article__container article {
      display: inline-block;
      min-height: 1px;
      float: left;
      box-sizing: border-box;
      vertical-align: top;
      padding-right: 16px;
      padding-left: 16px; } }
  @media screen and (max-width: 959px) {
    .article__container article {
      position: relative; } }
  [class*="no-gutter"] > .container, .cookies [class*="no-gutter"] > .cc-window {
    margin-left: 0 !important;
    margin-right: 0 !important; }
  .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
    margin-left: -16px;
    margin-right: -16px; }
  @media screen and (min-width: 1920px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 1919px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 1599px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 1279px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 959px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 719px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 479px) {
    .container .container, .cookies .cc-window .container, .container .cookies .cc-window, .cookies .container .cc-window, .cookies .cc-window .cc-window {
      margin-left: -16px;
      margin-right: -16px; } }
  .container--no-overflow {
    overflow: initial; }

.row {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: -16px;
  margin-right: -16px; }
  [class*="no-gutter"] > .row {
    margin-left: 0 !important;
    margin-right: 0 !important; }
  .row .row {
    margin-left: -16px;
    margin-right: -16px; }
  @media screen and (min-width: 1920px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 1919px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 1599px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 1279px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 959px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 719px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }
  @media screen and (max-width: 479px) {
    .row .row {
      margin-left: -16px;
      margin-right: -16px; } }

a:hover,
a:active {
  text-decoration: none !important; }

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

.text--light {
  font-weight: 300; }

.text--regular {
  font-weight: 400; }

.text--medium {
  font-weight: 500; }

.text--semi-bold {
  font-weight: 600; }

.text--strong {
  font-weight: 700; }

.text--uppercase {
  text-transform: uppercase; }

.text--white {
  color: #fff; }

.text--italic {
  font-style: italic; }

.text--mb-0 {
  margin-bottom: 0; }

.text--mb-5 {
  margin-bottom: 5px; }

.img--centered {
  margin: 0 auto;
  display: block; }

.link {
  color: #413025;
  text-decoration: none; }
  .link:hover {
    color: #132a7b;
    text-decoration: underline; }

.subheading {
  font-size: 40px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-align: center;
  margin: 30px 0 0;
  position: relative;
  z-index: 1; }
  .subheading span {
    letter-spacing: 0px;
    text-transform: none;
    font-family: "october", sans-serif;
    font-size: 90px;
    color: #132a7b;
    display: block;
    font-weight: 500; }
    @media screen and (max-width: 1599px) {
      .subheading span {
        font-size: 60px; } }
  @media screen and (max-width: 1279px) {
    .subheading {
      font-size: 28px; } }
  @media screen and (max-width: 959px) {
    .subheading {
      margin-bottom: 30px 0 10px; } }
  .subheading--small {
    text-transform: none;
    font-size: 24px;
    letter-spacing: 1px;
    margin: 15px 0; }
    @media screen and (max-width: 1279px) {
      .subheading--small {
        font-size: 18px; } }
  .subheading--xsmall {
    text-transform: none;
    font-size: 18px;
    letter-spacing: 1px;
    margin: 5px 0; }
    @media screen and (max-width: 1279px) {
      .subheading--xsmall {
        font-size: 14px; } }
  .subheading--margin {
    margin-top: 80px; }
    @media screen and (max-width: 959px) {
      .subheading--margin {
        margin-top: 70px;
        margin-bottom: 20px; } }
  .subheading__secondary {
    color: #132a7b;
    font-size: 90px;
    font-family: "october", sans-serif;
    font-weight: 500;
    text-transform: none;
    position: relative;
    letter-spacing: 0;
    line-height: 30px;
    z-index: -1; }
    @media screen and (max-width: 959px) {
      .subheading__secondary {
        font-size: 60px;
        line-height: 20px; } }
    .subheading__secondary--top-left {
      position: relative;
      top: -40px;
      left: 50px; }
    .subheading__secondary--top {
      display: block;
      margin: 10px auto; }
    .subheading__secondary--white {
      color: #fff; }

hr {
  margin: 20px;
  width: 10px;
  height: 10px;
  background: #369bed;
  transform: rotate(45deg);
  display: inline-block;
  border: none; }

.status {
  display: inline-block;
  background: #fff;
  text-transform: uppercase;
  font-size: 14px;
  padding: 8px 20px;
  margin: 0 20px;
  border-radius: 20px;
  box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.1);
  vertical-align: middle; }
  @media screen and (max-width: 719px) {
    .status {
      display: block;
      text-align: center;
      margin: 15px 0; } }
  .status--pending {
    color: #132a7b; }
  .status--success {
    color: green; }
  .status--error {
    color: #ff2616; }

.line__container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%; }
  .line__container::before, .line__container::after {
    content: '';
    display: inline-block;
    height: 2px;
    width: 110px;
    background: #413025; }
  .line__container--white::before, .line__container--white::after {
    background: #fff; }
  .line__container--small::before, .line__container--small::after {
    width: 50px; }
  .line__container--small hr {
    margin: 15px;
    width: 5px;
    height: 5px; }

small {
  font-size: 11px;
  line-height: 16px;
  display: block; }

.subheading .subheading__secondary.subheading__secondary--white {
  color: #fff; }

@font-face {
  font-family: 'october';
  src: url("../fonts/octoberstorm-webfont.woff2") format("woff2"), url("../fonts/octoberstorm-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

.list__item {
  margin: 20px 0;
  margin-left: 40px;
  padding-left: 50px;
  min-height: 60px;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-direction: column;
  flex-direction: column; }

.list p {
  display: block; }

.list__circle {
  position: absolute;
  top: 0;
  left: -30px;
  border-radius: 50%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  background: #fed900;
  border: 2px solid #fff;
  width: 60px;
  height: 60px;
  border: 4px solid #fff;
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.5), inset 0px 0px 20px rgba(0, 0, 0, 0.3);
  font-size: 22px;
  font-weight: 700;
  color: #132a7b; }
  .list__circle--large {
    position: static;
    width: 150px;
    height: 150px; }
  .list__circle--centered {
    margin: 20px auto; }

.btn {
  display: block;
  margin: 0 auto;
  padding: 16px 40px;
  min-width: 200px;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  border-radius: 40px;
  transition: background 0.4s ease-in-out;
  background-repeat: no-repeat;
  background-position: center center;
  border: none; }
  .btn:disabled {
    opacity: 0.5;
    cursor: default; }
  @media screen and (max-width: 719px) {
    .btn {
      font-size: 12px;
      line-height: 15px;
      padding: 15px 20px; } }
  .btn__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto; }
    @media screen and (max-width: 959px) {
      .btn__container {
        display: block; }
        .btn__container > * {
          margin: 15px auto;
          width: 100%; } }
    .btn__container--margin {
      margin: 20px 0; }
      @media screen and (max-width: 959px) {
        .btn__container--margin {
          margin: 20px 0; } }
    .btn__container--right {
      -ms-flex-pack: end;
      justify-content: flex-end;
      margin: 0 -30px; }
      @media screen and (max-width: 959px) {
        .btn__container--right {
          margin: 0; } }
      .btn__container--right > * {
        margin: 0 30px; }
        @media screen and (max-width: 959px) {
          .btn__container--right > * {
            margin: 15px 0; } }
  .btn--red {
    color: #fff;
    background: linear-gradient(#c7235a, #952047);
    border: 3px solid #952047; }
    .btn--red:hover {
      color: #fff;
      border-color: #132a7b;
      background: linear-gradient(#132a7b, #091339); }
  .btn--blue {
    color: #fff !important;
    background: #132a7b; }
    .btn--blue:hover:not(:disabled) {
      color: #fff;
      background-color: #413025; }
  .btn--full {
    width: 100%; }
  .btn--border {
    color: #132a7b !important;
    background: transparent;
    border: 2px solid #132a7b; }
    .btn--border:hover:not(:disabled) {
      background: #132a7b;
      color: #fff !important; }
  .btn--xsmall {
    font-size: 14px;
    max-width: 80px;
    padding: 5px;
    letter-spacing: 1px; }
  .btn--small {
    font-size: 14px;
    padding: 10px 25px;
    width: auto;
    min-width: initial;
    border-radius: 30px;
    display: inline-block; }
  .btn--level {
    border-color: #fff;
    font-size: 16px;
    margin-top: 350px;
    display: none; }
  .btn--transparent {
    background: transparent;
    border: none;
    color: #fff;
    max-width: 180px; }
  .btn--save {
    margin-top: -8px;
    border-color: #fff;
    padding: 10px;
    max-width: 130px; }
    .btn--save:hover {
      border-color: #fff;
      background: linear-gradient(#c7235a, #952047); }
  .btn--down {
    background-image: url("../images/arrow-down.png");
    width: 100px;
    height: 30px;
    margin: 10px auto;
    padding: 0;
    min-width: 0;
    border-radius: 0;
    background-color: transparent;
    border: none; }

.heading {
  margin: 0;
  padding: 0;
  display: block;
  color: #000;
  font-family: "october", sans-serif;
  font-weight: 300;
  font-size: 50px;
  transform: rotate(-6deg); }
  .heading--small {
    margin-top: 15px;
    font-size: 38px; }
  .heading__container {
    width: 200px;
    height: 140px;
    margin: 0px auto;
    padding-top: 20px;
    display: block;
    background: url("../images/note.png") no-repeat center center;
    text-align: center; }

.table {
  width: 100%; }
  .table__container {
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    margin: 20px 0;
    box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.5); }
  .table__scroll {
    height: 450px; }
    .table__scroll:focus {
      outline: none !important; }
    .table__scroll .jspDrag {
      background: #132a7b !important; }
  .table__image {
    margin-right: 10px; }
  .table__text {
    margin-top: 5px;
    color: #132a7b; }
  .table__head {
    background: #fed900; }
    .table__head th {
      padding: 10px;
      font-size: 16px;
      text-align: center;
      color: #132a7b;
      text-transform: uppercase; }
  .table__body {
    background: #fff; }
    .table__body tr:nth-child(even) {
      background: #f3f3f3; }
    .table__body td {
      padding: 10px;
      border-right: 1px solid #f3f3f3; }
  .table__position, .table__points {
    width: 20%;
    text-align: center;
    font-weight: 700;
    color: #132a7b;
    font-size: 18px; }

.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
  border: 0; }

a:focus-visible,
button:focus-visible {
  outline: 3px solid #014da3;
  outline-offset: 2px; }

.skip {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  color: #014da3;
  font-weight: 700;
  background-color: #fff;
  z-index: 1000; }

.skip:focus {
  left: 0;
  width: auto;
  height: auto; }

.header-helper {
  height: 150px;
  width: 100%; }

.header {
  z-index: 666;
  background: transparent;
  padding: 35px 0;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  transition: all .1s ease-in; }
  .header--subpage, .header--fixed {
    background: #fff;
    position: fixed;
    box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.1); }
    .header--subpage:after, .header--fixed:after {
      content: '';
      display: block;
      position: absolute;
      bottom: -10px;
      left: 0;
      width: 100%;
      height: 10px;
      background: url("../images/wave.png") repeat center center; }
  .header--fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    padding: 10px 0; }
  @media screen and (max-width: 959px) {
    .header {
      padding: 15px 0; } }
  .header__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center; }
    .header__container > a {
      display: block;
      margin-bottom: 0; }
      @media screen and (max-width: 1599px) {
        .header__container > a > img {
          max-width: 150px; } }
      @media screen and (max-width: 1279px) {
        .header__container > a > img {
          max-width: 150px;
          display: block; } }
  .header__mobile {
    position: fixed;
    z-index: 444;
    top: 60px;
    left: 0;
    height: 100%;
    width: 100%;
    background: #fff;
    padding: 25px 50px;
    box-shadow: inset 0 5px 19px -5px rgba(0, 0, 0, 0.3); }
    .header__mobile a:not(.btn) {
      text-decoration: none;
      margin: 0 auto;
      text-align: center;
      display: block;
      color: #413025;
      font-weight: 700;
      text-transform: uppercase; }
      .header__mobile a:not(.btn).active span {
        position: relative;
        text-align: center; }
        .header__mobile a:not(.btn).active span::after {
          content: '';
          display: block;
          position: absolute;
          bottom: -10px;
          left: 0;
          height: 1px;
          width: 100%;
          background: #132a7b;
          transition: width 0.4s ease-in-out; }
    @media (min-width: 960px) {
      .header__mobile {
        display: none !important; } }
  @media screen and (max-width: 959px) {
    .header__nav {
      width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: end;
      justify-content: flex-end; } }
  @media screen and (max-width: 959px) {
    .header__name {
      text-align: center; } }
  .header__account {
    padding: 50px 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 959px) {
      .header__account {
        display: block; } }
    .header__account p, .header__account li, .header__account a {
      color: #fff;
      font-weight: 600;
      font-size: 18px;
      margin-bottom: 0; }
    .header__account-item {
      text-decoration: none;
      position: relative; }
      .header__account-item::before, .header__account-item::after {
        content: '';
        display: block;
        position: absolute;
        bottom: -10px;
        left: 50%;
        height: 1px;
        width: 0;
        background: #132a7b;
        transition: width 0.4s ease-in-out; }
      .header__account-item::after {
        transform: rotate(180deg);
        transform-origin: left center; }
      .header__account-item::before {
        transform-origin: center center; }
      .header__account-item--active::after, .header__account-item--active::before, .header__account-item:hover::after, .header__account-item:hover::before {
        width: 30%; }
    .header__account-list {
      display: -ms-flexbox;
      display: flex; }
      @media screen and (max-width: 959px) {
        .header__account-list {
          margin: 0 -20px;
          -ms-flex-pack: center;
          justify-content: center; } }
      .header__account-list-item {
        margin: 0 20px; }
  .header__open {
    display: none;
    width: 30px;
    height: 20px;
    border: none;
    background: transparent;
    position: relative;
    overflow: hidden;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (max-width: 959px) {
      .header__open {
        display: -ms-flexbox;
        display: flex; } }
    .header__open span {
      height: 2px;
      width: 100%;
      background: #132a7b; }
      .header__open span:before, .header__open span:after {
        content: '';
        display: block;
        width: 100%;
        height: 2px;
        background: #132a7b;
        position: absolute;
        transition: all .4s ease-in-out; }
      .header__open span:before {
        top: 0;
        left: 0; }
      .header__open span:after {
        bottom: 0;
        left: 0; }
    .header__open.active span:after {
      left: 50%; }
    .header__open.active span:before {
      left: -50%; }
  .header__list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (max-width: 959px) {
      .header__list {
        display: none; } }
  .header__item {
    margin: 0 20px; }
    @media screen and (max-width: 1599px) {
      .header__item {
        margin: 0 10px; } }
  .header__link {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    transition: color .3s ease-in-out;
    color: #413025;
    position: relative; }
    .header__link::before, .header__link::after {
      content: '';
      display: block;
      position: absolute;
      bottom: -10px;
      left: 50%;
      height: 1px;
      width: 0;
      background: #132a7b;
      transition: width 0.4s ease-in-out; }
    .header__link::after {
      transform: rotate(180deg);
      transform-origin: left center; }
    .header__link::before {
      transform-origin: center center; }
    .header__link--active::after, .header__link--active::before, .header__link:hover::after, .header__link:hover::before {
      width: 30%; }

#mmenu {
  display: none; }

.footer__top {
  padding: 30px 0; }
  .footer__top.section--brown {
    background-color: #4f3b30; }

.footer__row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 719px) {
    .footer__row {
      display: block;
      margin: 0 auto; } }

.footer__column .title-arrow, .footer__logo-column .title-arrow {
  display: none; }

@media screen and (max-width: 719px) {
  .footer__column, .footer__logo-column {
    width: 100%;
    margin-bottom: 0px; }
    .footer__column .js__show-more, .footer__logo-column .js__show-more {
      cursor: pointer; }
    .footer__column img, .footer__logo-column img {
      margin: 0 auto;
      display: block; }
    .footer__column .title-arrow, .footer__logo-column .title-arrow {
      display: inline; } }

.footer__column p, .footer__column .header-footer, .footer__logo-column p, .footer__logo-column .header-footer {
  margin-top: 5px;
  color: #fff;
  text-decoration: none;
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 16px; }
  @media screen and (max-width: 719px) {
    .footer__column p, .footer__column .header-footer, .footer__logo-column p, .footer__logo-column .header-footer {
      text-align: center; } }

.footer__column li, .footer__logo-column li {
  margin-bottom: 10px; }

.footer__column a, .footer__logo-column a {
  margin-top: 1px;
  color: #fff;
  text-decoration: none;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
  font-size: 14px;
  margin-bottom: 0;
  line-height: 16px;
  padding-right: 20px;
  background: transparent url("../images/new-window.svg") 100% 50%/20px 14px no-repeat; }
  @media screen and (max-width: 719px) {
    .footer__column a, .footer__logo-column a {
      text-align: center; } }
  .footer__column a img, .footer__logo-column a img {
    display: block; }
  .footer__column a:hover, .footer__logo-column a:hover {
    color: #fff;
    text-decoration: underline !important; }

@media screen and (max-width: 719px) {
  .footer__logo-column {
    margin-bottom: 26px; } }

.footer__column {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: left;
  justify-content: left;
  -ms-flex-align: start;
  align-items: flex-start; }
  .footer__column .footer-switch {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center; }
  @media screen and (max-width: 719px) {
    .footer__column {
      width: 100%;
      display: block; }
      .footer__column ul {
        display: none; }
      .footer__column .footer-switch {
        display: none; } }

.footer__bottom {
  background: #2063a0; }
  .footer__bottom p {
    margin: 0;
    color: #fff;
    padding: 10px 0;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase; }

.footer__comlumn--payment {
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center; }
  .footer__comlumn--payment p {
    color: #fff;
    text-align: center;
    margin-bottom: 10px;
    text-decoration: none;
    display: block;
    font-weight: 600;
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase; }
  .footer__comlumn--payment img {
    margin-bottom: 10px; }

.cookies {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  background: #132a7b;
  color: #fff;
  -ms-flex-line-pack: center;
  align-content: center;
  -ms-flex-align: center;
  align-items: center;
  font-family: "Montserrat", sans-serif;
  line-height: 1.4em; }
  .cookies .cc-window {
    display: -ms-flexbox;
    display: flex;
    padding: 25px 0 !important; }
    @media screen and (max-width: 959px) {
      .cookies .cc-window {
        display: block; } }
    @media screen and (max-width: 719px) {
      .cookies .cc-window {
        line-height: 1.1em; } }
  .cookies .cc-message {
    position: relative;
    padding-left: 139px;
    font-size: 14px;
    display: block;
    line-height: 1.45em; }
    .cookies .cc-message a {
      font-size: 14px;
      line-height: 1.45em;
      margin: 0; }
    .cookies .cc-message:before {
      content: '';
      width: 124px;
      height: 124px;
      display: block;
      left: 0;
      bottom: -15px;
      position: absolute;
      background-image: url("../images/ico-cookies.png");
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      @media screen and (max-width: 719px) {
        .cookies .cc-message:before {
          width: 80px;
          height: 80px;
          top: -62px; } }
    @media screen and (max-width: 719px) {
      .cookies .cc-message {
        padding: 15px 15px 0 15px !important; } }
  .cookies .cc-dismiss {
    font-weight: 900;
    line-height: 23px; }
  .cookies .cc-compliance {
    font-size: 18px;
    padding-left: 15px; }
    @media screen and (max-width: 959px) {
      .cookies .cc-compliance {
        text-align: center; } }
    .cookies .cc-compliance a {
      cursor: pointer;
      color: #fff;
      font-size: 18px; }
      .cookies .cc-compliance a:hover {
        opacity: .7; }
  .cookies a {
    color: #fff; }

/*
 * Forms and form fields
 */
/* Input style */
input,
button,
select {
  vertical-align: middle;
  outline: none; }

textarea {
  vertical-align: top;
  outline: none; }

button,
select,
label,
input[type="reset"],
input[type="button"],
input[type="image"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
  cursor: pointer; }

button[disabled],
select[disabled],
label[disabled],
input[disabled][type="reset"],
input[disabled][type="button"],
input[disabled][type="image"],
input[disabled][type="submit"],
input[disabled][type="radio"],
input[disabled][type="checkbox"] {
  cursor: default; }

input[type="search"] {
  box-sizing: border-box; }

select,
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="time"],
input[type="week"],
input[type="month"],
input[type="color"] {
  width: 100%; }

input[type="file"] {
  opacity: 0; }
  input[type="file"]:focus ~ .c-btn--file, input[type="file"]:focus-visible ~ .c-btn--file {
    outline: 3px solid #132a7b !important; }

.form {
  margin: 30px 0;
  display: block; }
  .form .alert.alert-danger {
    margin: 10px 0;
    background: #e21000;
    color: #fff;
    border-radius: 20px;
    padding: 10px;
    display: block; }
    .form .alert.alert-danger .form-error-message {
      color: #fff; }
  .form__container {
    margin: 100px auto;
    max-width: 650px; }
    @media screen and (max-width: 959px) {
      .form__container {
        margin: 50px auto; } }
    .form__container--inline {
      margin-top: 50px; }
      @media screen and (max-width: 959px) {
        .form__container--inline {
          margin-top: 25px; } }
    .form__container--small-margin {
      margin: 30px auto; }
  .form__group, .form-group {
    position: relative;
    margin: 0 0 30px;
    border: 0; }
    .form__group--inline, .form-group--inline {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 959px) {
        .form__group--inline, .form-group--inline {
          display: block;
          margin: 0 auto; }
          .form__group--inline label, .form-group--inline label {
            text-align: center; } }
  .form__label,
  .form label,
  .form .col-form-label {
    font-weight: 600;
    margin-left: 30px;
    margin-bottom: 10px;
    display: block;
    font-size: 18px; }
    .form__label--inline,
    .form label--inline,
    .form .col-form-label--inline {
      -ms-flex-negative: 0;
      flex-shrink: 0;
      margin-left: 0;
      margin-right: 20px; }
  .form__input, .form__textarea, .form-control {
    border-radius: 25px;
    padding: 15px 30px;
    height: auto;
    border: 2px solid #413025;
    color: #413025;
    font-size: 16px;
    font-weight: 300;
    background: transparent; }
    .form__input--code, .form__textarea--code, .form-control--code {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      .form__input--code input, .form__textarea--code input, .form-control--code input {
        width: 100%; }
      .form__input--code button:disabled, .form__textarea--code button:disabled, .form-control--code button:disabled {
        cursor: not-allowed; }
      .form__input--code button, .form__textarea--code button, .form-control--code button {
        font-weight: 900 !important; }
      .form__input--code input, .form__input--code button, .form__textarea--code input, .form__textarea--code button, .form-control--code input, .form-control--code button {
        border: none;
        font-size: 16px;
        font-weight: 300;
        background: transparent; }
    @media screen and (max-width: 719px) {
      .form__input, .form__textarea, .form-control {
        font-size: 14px;
        padding: 10px 20px; } }
    .form__input:focus, .form__textarea:focus, .form-control:focus {
      border-color: #132a7b;
      color: #132a7b; }
    .form__input.is-invalid, .form__textarea.is-invalid, .form-control.is-invalid {
      border-color: #ff2616;
      color: #ff2616; }
      .form__input.is-invalid:focus, .form__textarea.is-invalid:focus, .form-control.is-invalid:focus {
        border-color: #ff2616;
        color: #ff2616; }
    .form__input--autocomplete, .form__textarea--autocomplete, .form-control--autocomplete {
      background: url("../images/arrow-small-down.png") no-repeat center center;
      background-position: 97% 50%;
      background-repeat: no-repeat; }
  .form textarea {
    width: 100%;
    height: 200px; }
  .form__autocomplete-list {
    position: absolute;
    left: 0;
    width: 100%;
    display: none;
    z-index: 4;
    max-height: 200px;
    overflow: auto;
    top: -30px; }
    .form__autocomplete-list li {
      background: #132a7b;
      color: #fff;
      font-weight: 900;
      margin: 0;
      padding: 10px;
      border-bottom: 1px solid #0c1b4f;
      cursor: pointer; }
      .form__autocomplete-list li:hover {
        background: lightblue;
        border-color: lightblue; }
  .form__checkbox-group,
  .form fieldset.form-group > div {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 30px; }
  .form__checkbox-container, .form-check {
    margin-right: 20px; }
  .form-half {
    display: -ms-flexbox;
    display: flex; }
    .form-half .form__group,
    .form-half .form-group {
      width: 50%; }
      .form-half .form__group:first-child,
      .form-half .form-group:first-child {
        margin-right: 10px; }
  .form-agree--list a.js__show-agree-more {
    color: #413025;
    text-decoration: none; }
    .form-agree--list a.js__show-agree-more:hover {
      text-decoration: underline; }
  .form-agree--list .wrapper-agree--more {
    display: none; }
  .form-agree--list p {
    margin-left: 30px; }
  .form-agree--list ul {
    list-style-type: circle;
    margin: 0 0 0 30px;
    padding-left: 17px; }
    .form-agree--list ul li {
      list-style-type: disc;
      margin-bottom: 5px;
      font-size: 16px; }
  .form-agree--list .form-check-label {
    display: block !important;
    padding-left: 30px;
    font-size: 16px; }
    .form-agree--list .form-check-label:before {
      position: absolute !important;
      left: 0 !important;
      top: 0 !important;
      display: inline-block !important; }
    .form-agree--list .form-check-label a {
      text-decoration: none; }
      .form-agree--list .form-check-label a:hover {
        text-decoration: underline; }
  .form-company--wrapper {
    display: none; }
  .form__checkbox {
    display: none; }
    .form__checkbox + label {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      font-weight: 500; }
      @media screen and (max-width: 719px) {
        .form__checkbox + label {
          font-size: 12px; } }
      .form__checkbox + label:before {
        width: 20px;
        height: 20px;
        margin-right: 10px;
        content: '';
        display: block;
        padding: 5px;
        border-radius: 50%;
        box-shadow: 0 0 0 1px #bb9f7a;
        top: 4px;
        position: relative; }
    .form__checkbox:checked + label:before {
      border: 4px solid #fff;
      background: #A28661; }
  .form__input-wrapper {
    position: relative; }
  .form__radio,
  .form .form-check-input {
    opacity: 0;
    position: absolute;
    top: calc(50% - 10px);
    left: 0;
    width: 20px;
    height: 20px; }
    .form__radio + label,
    .form .form-check-input + label {
      position: relative;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
      align-items: center;
      font-weight: 500; }
      @media screen and (max-width: 719px) {
        .form__radio + label,
        .form .form-check-input + label {
          font-size: 12px; } }
      .form__radio + label:before,
      .form .form-check-input + label:before {
        width: 20px;
        height: 20px;
        margin-right: 10px;
        content: '';
        display: block;
        padding: 5px;
        border-radius: 50%;
        box-shadow: 0 0 0 1px #A28661;
        top: 4px;
        position: relative; }
    .form__radio:checked + label:before,
    .form .form-check-input:checked + label:before {
      border: 4px solid #fff;
      background: #A28661; }
    .form__radio:focus-visible + label:before,
    .form .form-check-input:focus-visible + label:before {
      outline: 3px solid #014da3 !important;
      outline-offset: 2px; }
  .form .form-check-input {
    left: 25px; }
  .form input[type="checkbox"] + label:before {
    border-radius: 0;
    box-shadow: 0 0 0 2px #413025; }
  .form input[type="checkbox"].form__radio + label:before {
    box-shadow: 0 0 0 1px #A28661;
    border-radius: 50%; }
  .form__password-reveal {
    position: absolute;
    right: 15px;
    bottom: 15px;
    background: transparent url("../images/ico-eye.svg") no-repeat center center;
    border: none;
    width: 26px;
    height: 18px; }
  .form__text,
  .form .form-text {
    margin-left: 30px;
    margin-bottom: 10px;
    font-size: 16px; }
    @media screen and (max-width: 719px) {
      .form__text,
      .form .form-text {
        font-size: 12px; } }
  .form__file-container,
  .form .custom-file {
    position: relative; }
    .form__file-container input,
    .form .custom-file input {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      opacity: 0;
      z-index: 2; }
  .form__file-text,
  .form .custom-file-label {
    color: #132a7b;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 600;
    padding-left: 60px;
    display: block;
    margin-top: 30px;
    margin-left: 30px;
    font-size: 0;
    color: #413025;
    text-decoration: none;
    margin-bottom: 20px; }
    .form__file-text:before,
    .form .custom-file-label:before {
      content: ' '; }
    .form__file-text--pdf:before,
    .form .custom-file-label--pdf:before {
      content: 'Wgraj projekt w pliku PDF'; }
    .form__file-text:after,
    .form .custom-file-label:after {
      content: '';
      display: block;
      position: absolute;
      left: 0px;
      top: -10px;
      background: url("../images/ico-file.png") no-repeat center center;
      height: 45px;
      width: 50px; }
  .form .jcf-select {
    display: block;
    width: 100%;
    border-radius: 25px;
    padding: 15px 30px;
    height: auto;
    border-color: #413025;
    border-width: 2px; }
    .form .jcf-select .jcf-select-opener {
      width: 50px;
      background: url("../images/arrow-small-down.png") no-repeat center center; }
  .form .jcf-focus * {
    border-color: #132a7b !important; }
  .form .jcf-select .jcf-select-text {
    line-height: 1em;
    font-size: 16px;
    margin: 0;
    font-weight: 300; }
  .form fieldset.form-group {
    margin: 0; }
  .form .form-group input[type="file"] {
    opacity: 0; }
    .form .form-group input[type="file"] + label {
      font-weight: bold;
      color: #132a7b;
      text-decoration: underline;
      position: relative;
      padding-left: 62px;
      cursor: pointer;
      margin-top: 20px;
      display: block;
      font-size: 18px; }
    .form .form-group input[type="file"]:focus ~ .c-btn--file, .form .form-group input[type="file"]:focus-visible ~ .c-btn--file {
      outline: 3px solid #132a7b; }
  .form .form-group--warn label .form-error-message {
    color: #ff2616;
    margin-left: 10px; }
  .form .form-group--warn input {
    border-color: #ff2616;
    color: #ff2616; }

.form-company--wrapper {
  border: none; }

form #orders_product_template {
  display: none; }

form #orders_product_project {
  display: none; }

form #orders_user_point_id {
  display: none; }

form #orders_anonymous_point_id,
form label[for=orders_anonymous_point_id] {
  display: none; }

body > .jcf-select-drop {
  z-index: 2 !important; }

.jcf-select-drop .jcf-select-drop-content {
  border-color: #132a7b;
  margin: 0 15px; }

.jcf-list-content li {
  margin-bottom: 0; }

.form__container--questionnarie {
  margin-top: 40px; }

.form-questionnaire {
  margin-top: 0; }
  .form-questionnaire .form-error-icon {
    display: none; }
  .form-questionnaire .form-error-message {
    display: block;
    color: red; }
  .form-questionnaire fieldset.form-group > div {
    margin-top: 5px;
    margin-left: 0;
    display: block; }
  .form-questionnaire textarea {
    width: 92%;
    margin-left: 25px;
    margin-right: 20px; }

.text-regulation {
  margin-left: 30px;
  line-height: 1.6; }

/*
 * Styles for WYSIWYG editors like TinyMCE or CKEditor
 */
.wysiwyg * + h1,
.wysiwyg * + h2,
.wysiwyg * + h3,
.wysiwyg * + h4,
.wysiwyg * + h5,
.wysiwyg * + h6,
.wysiwyg * + p,
.wysiwyg * + blockquote,
.wysiwyg * + ol,
.wysiwyg * + ul,
.wysiwyg * + dl,
.wysiwyg * + table,
.wysiwyg * + figure {
  margin-top: 18px; }

.wysiwyg li {
  position: relative;
  padding-left: 40px; }
  .wysiwyg li:before {
    content: '»';
    position: absolute;
    top: 0;
    left: 0;
    width: 28px;
    text-align: center; }
  .wysiwyg li + .wysiwyg li {
    margin-top: 10px; }
  .wysiwyg li ol,
  .wysiwyg li ul {
    margin-top: 0;
    margin-bottom: 0; }

.wysiwyg ol > li {
  counter-increment: ordered-list; }
  .wysiwyg ol > li:before {
    content: counter(ordered-list); }

.wysiwyg dt {
  font-weight: 700; }

.wysiwyg h1 {
  font-size: 32px;
  font-weight: 700; }

.wysiwyg h2 {
  font-size: 28px;
  font-weight: 700; }

.wysiwyg h3 {
  font-size: 24px;
  font-weight: 700; }

.wysiwyg h4 {
  font-size: 20px;
  font-weight: 700; }

.wysiwyg h5 {
  font-size: 18px;
  font-weight: 700; }

.wysiwyg h6 {
  font-size: 16px;
  font-weight: 700; }

.wysiwyg a {
  color: #009cdc;
  text-decoration: none; }
  .wysiwyg a:hover {
    color: #1465ff;
    text-decoration: underline; }

.wysiwyg img {
  display: inline-block;
  vertical-align: middle; }

.wysiwyg img[style*="float:left"],
.wysiwyg img[style*="float: left"],
.wysiwyg img[style*="float:right"],
.wysiwyg img[style*="float: right"] {
  padding-top: 10px;
  padding-bottom: 10px; }

.wysiwyg img[style*="float:left"],
.wysiwyg img[style*="float: left"] {
  padding-right: 10px; }

.wysiwyg img[style*="float:right"],
.wysiwyg img[style*="float: right"] {
  padding-left: 10px; }

.wysiwyg figure img {
  display: block; }

.wysiwyg blockquote {
  position: relative;
  font-style: italic; }
  .wysiwyg blockquote:before {
    content: open-quote;
    font-style: normal; }

.subpage__image {
  height: 635px;
  background-repeat: no-repeat;
  background-position: center center; }
  @media screen and (max-width: 1599px) {
    .subpage__image {
      height: 550px; } }
  @media screen and (max-width: 959px) {
    .subpage__image {
      height: 350px; } }
  @media screen and (max-width: 719px) {
    .subpage__image {
      height: 250px; } }

.subpage__heading {
  font-size: 40px;
  font-family: "october", sans-serif;
  font-weight: 500;
  width: 100%;
  margin: 0 10px;
  text-transform: uppercase; }
  @media screen and (max-width: 1599px) {
    .subpage__heading {
      font-size: 32px; } }
  @media screen and (max-width: 959px) {
    .subpage__heading {
      font-size: 26px; } }
  @media screen and (max-width: 719px) {
    .subpage__heading {
      font-size: 18px;
      margin: 0; } }
  .subpage__heading span {
    display: block;
    font-size: 20px;
    color: #767575;
    text-transform: none; }
    @media screen and (max-width: 1599px) {
      .subpage__heading span {
        font-size: 16px; } }
    @media screen and (max-width: 959px) {
      .subpage__heading span {
        font-size: 14px; } }
    @media screen and (max-width: 719px) {
      .subpage__heading span {
        font-size: 12px; } }
  .subpage__heading-container {
    margin-top: -100px;
    background: #fff;
    padding: 60px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center; }
    @media screen and (max-width: 1599px) {
      .subpage__heading-container {
        padding: 40px;
        margin-top: -80px; } }
    @media screen and (max-width: 959px) {
      .subpage__heading-container {
        padding: 30px;
        margin-top: -60px; } }
    @media screen and (max-width: 719px) {
      .subpage__heading-container {
        padding: 20px;
        margin-top: -40px;
        display: block; } }
  .subpage__heading-description {
    font-size: 28px;
    font-family: "october", sans-serif;
    width: 100%;
    margin-left: 15px; }
    @media screen and (max-width: 1599px) {
      .subpage__heading-description {
        font-size: 20px; } }
    @media screen and (max-width: 959px) {
      .subpage__heading-description {
        font-size: 16px; } }
    @media screen and (max-width: 719px) {
      .subpage__heading-description {
        font-size: 14px;
        margin-left: 0;
        margin-top: 15px; } }

.section {
  background: #ffffff no-repeat center top;
  padding: 30px 0;
  position: relative; }
  @media screen and (max-width: 1279px) {
    .section {
      padding: 15px 0; } }
  @media screen and (max-width: 719px) {
    .section {
      padding: 0; } }
  .section--configurator {
    background: transparent; }
  .section--grey {
    background-color: #f6f6f6; }
  .section--heading {
    position: relative;
    background-repeat: no-repeat;
    background-position: center top;
    padding: 0; }
    .section--heading::after {
      content: '';
      z-index: 2;
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 10px;
      background: url("../images/wave.png");
      transform: rotate(180deg); }
  .section--grey-next::after {
    background: url("../images/wave-grey.png"); }
  .section--brown {
    background-image: url("../images/bg-chocolate.jpg"); }
  .section--blue {
    background-image: url("../images/bg-blue.jpg");
    background-size: cover;
    background-color: #1579cb; }
    @media screen and (max-width: 959px) {
      .section--blue {
        background-image: url("../images/bg-blue-mobile.jpg"); } }
  .section--b2b {
    background-repeat: no-repeat;
    background-image: url("../images/bg-chocolate-1.jpg"), url("../images/bg-chocolate-2.jpg");
    background-position: 100% 30%, 0% 70%; }
    @media screen and (max-width: 1279px) {
      .section--b2b img {
        margin: 15px auto; } }
    @media screen and (max-width: 959px) {
      .section--b2b {
        background-image: none; } }
  .section--contact {
    background-repeat: no-repeat;
    background-image: url("../images/cocoa-1.png"), url("../images/bg-chocolate-4.png"), url("../images/bg-chocolate-5.jpg"), url("../images/bg-chocolate-6.png");
    background-position: 100% 70%, 0% 20%, 100% 10%, 0% 90%; }
    @media screen and (max-width: 959px) {
      .section--contact {
        background-image: none; } }
  .section--padding {
    padding: 100px 0; }
    @media screen and (max-width: 959px) {
      .section--padding {
        padding: 40px 0; } }
  .section--padding-2 {
    padding: 40px 0; }
  .section--account {
    background-position-y: -100px; }
  .section--thank-you {
    background-color: #f6f6f6;
    background-repeat: no-repeat;
    background-image: url("../images/bg-chocolate-5.jpg"), url("../images/bg-chocolate-6.png");
    background-position: 110% -20%, -10% 100%; }
    @media screen and (max-width: 959px) {
      .section--thank-you {
        background-image: none; } }
    .section--thank-you .subheading {
      margin-left: -20px;
      margin-right: -20px;
      font-size: 35px; }
  .section__order-heading {
    margin: 30px 0;
    vertical-align: middle; }
    @media screen and (max-width: 959px) {
      .section__order-heading {
        font-size: 24px; } }
  .section__heading {
    background: url("../images/blue-pattern.jpg");
    background-size: cover;
    padding: 30px;
    width: 50%;
    height: 100%;
    min-height: 500px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-direction: column;
    flex-direction: column;
    color: #fff; }
    @media screen and (max-width: 959px) {
      .section__heading {
        width: 80%; } }
    @media screen and (max-width: 719px) {
      .section__heading {
        width: 100%; } }
    .section__heading .subheading__secondary--white {
      color: #fff; }
  .section__heading-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -ms-flex-positive: 0;
    flex-grow: 0;
    height: 100%; }
    .section__heading-container .slider__dots--brown .slick-dots li:before {
      background: #ffffff; }
    @media screen and (max-width: 959px) {
      .section__heading-container {
        -ms-flex-pack: center;
        justify-content: center; } }
  .section__row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 0;
    flex-grow: 0;
    margin: 30px 0; }
    @media screen and (max-width: 959px) {
      .section__row {
        display: block; } }
    .section__row--places {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      margin: 0 -40px;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: start;
      align-items: flex-start; }
      .section__row--places .box a {
        word-break: break-word; }
      @media screen and (max-width: 959px) {
        .section__row--places {
          margin: 0; } }
  @media screen and (max-width: 959px) {
    .section__image {
      max-width: 300px;
      width: 100%;
      display: block;
      margin: 15px auto; } }
  .section__column {
    width: 50%;
    padding: 0 20px; }
    @media screen and (max-width: 959px) {
      .section__column {
        width: 100%;
        padding: 0; } }
    .section__column--form {
      padding: 0px 50px; }
      @media screen and (max-width: 719px) {
        .section__column--form {
          padding: 0; } }
    .section__column--centered {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: center;
      justify-content: center; }
  .section-center {
    margin-top: 20px;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center; }
    .section-center p {
      width: 80%;
      text-align: center; }

.table {
  margin: 80px 0; }
  @media screen and (max-width: 959px) {
    .table {
      margin: 40px 0; } }
  .table thead th {
    padding: 15px 0;
    text-align: left; }
    @media screen and (max-width: 959px) {
      .table thead th {
        font-size: 12px; } }
    @media screen and (max-width: 719px) {
      .table thead th {
        font-size: 10px; } }
  .table tbody tr {
    border-top: 1px solid #e9e9e9; }
  .table tbody .btn {
    float: right; }
    @media screen and (max-width: 959px) {
      .table tbody .btn {
        font-size: 12px;
        padding: 5px; } }
    @media screen and (max-width: 719px) {
      .table tbody .btn {
        padding: 5px 10px;
        font-size: 6px;
        line-height: 12px; } }
  .table tbody td {
    padding: 15px 10px;
    font-weight: 600;
    text-align: left; }
    @media screen and (max-width: 959px) {
      .table tbody td {
        font-size: 12px; } }
    @media screen and (max-width: 719px) {
      .table tbody td {
        font-size: 10px; } }

.home__heading {
  text-align: center;
  font-size: 40px;
  text-transform: uppercase;
  letter-spacing: 4px; }
  @media screen and (max-width: 1599px) {
    .home__heading {
      font-size: 28px; } }
  .home__heading span {
    letter-spacing: 0px;
    text-transform: none;
    font-family: "october", sans-serif;
    font-size: 90px;
    color: #132a7b;
    display: block;
    font-weight: 500; }
    @media screen and (max-width: 1599px) {
      .home__heading span {
        font-size: 60px; } }

.home__main-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -ms-flex-positive: 0;
  flex-grow: 0; }
  @media screen and (max-width: 1279px) {
    .home__main-container {
      display: block;
      margin: 15px auto; } }
  .home__main-container-row {
    width: 50%; }
    @media screen and (max-width: 1279px) {
      .home__main-container-row {
        width: 100%; } }
  .home__main-container-image {
    position: relative;
    left: -80px;
    max-width: 100%; }
    @media screen and (max-width: 1279px) {
      .home__main-container-image {
        display: none; } }

.home__main-badges-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  -ms-flex-positive: 0;
  flex-grow: 0;
  margin: 10px 0; }
  @media screen and (max-width: 719px) {
    .home__main-badges-container {
      display: block;
      margin: 30px 0; } }

.home__slider-dots .slick-dots {
  margin-top: 10px !important; }
  .home__slider-dots .slick-dots li {
    margin: 0 !important; }

.home__slide {
  margin-bottom: 16px; }
  .home__slide p:last-of-type {
    margin-bottom: 0; }

.cake-mobile {
  display: none; }
  @media (max-width: 1279px) {
    .cake-mobile {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
      justify-content: center; }
      .cake-mobile img {
        width: 100%;
        height: 100%;
        max-width: 400px; } }

.slider__container .slider__arrows {
  z-index: 1 !important; }

.slider {
  position: relative;
  z-index: 2; }
  .slider__container {
    position: relative; }
  .slider__link {
    color: #413025;
    display: block; }
  .slider__image {
    margin: 20px 0;
    display: block;
    width: 100%;
    max-width: 100%; }
  .slider__slide {
    padding: 15px; }
  .slider__dots {
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    -ms-flex-pack: center;
    justify-content: center; }
    .slider__dots .slick-dots {
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-pack: center;
      justify-content: center;
      margin: 0; }
      .slider__dots .slick-dots li {
        opacity: 0.5;
        cursor: pointer;
        line-height: 25px;
        margin-bottom: 0; }
        .slider__dots .slick-dots li::before {
          content: '';
          display: block;
          margin: 0 5px;
          border-radius: 50%;
          background: #fff;
          width: 10px;
          height: 10px; }
        .slider__dots .slick-dots li.slick-active {
          opacity: 1; }
    .slider__dots--brown .slick-dots li::before {
      background: #bb9f7a; }
    .slider__dots button {
      font-size: 0;
      padding: 0;
      width: 0;
      height: 0;
      background: transparent;
      border: none; }
  .slider__arrows {
    position: absolute;
    width: 108%;
    left: -4%;
    height: 72px;
    top: calc(50% - 36px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 1279px) {
      .slider__arrows {
        width: 100%;
        left: 0;
        z-index: 5; } }
    .slider__arrows button {
      font-size: 0;
      width: 38px;
      height: 72px;
      background: transparent url("../images/arrow-left-blue.png") no-repeat center center;
      border: none; }
      .slider__arrows button.slick-next {
        transform: rotate(180deg); }
    .slider__arrows--brown button {
      background-image: url("../images/arrow-left-brown.png"); }

.products__boxes {
  margin: 40px -2px;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 719px) {
    .products__boxes {
      display: block; } }

.products__find-container {
  position: relative;
  padding: 60px 0 100px; }
  @media screen and (max-width: 959px) {
    .products__find-container {
      padding: 30px 0 0px; } }
  .products__find-container:after {
    content: '';
    display: block;
    position: absolute;
    background: #f6f6f6;
    width: 83%;
    height: 100%;
    right: -105px;
    top: 0;
    z-index: -1; }
    @media screen and (max-width: 719px) {
      .products__find-container:after {
        display: none; } }

.products__column {
  width: 33.33333%;
  margin: 0 2px; }
  @media screen and (max-width: 719px) {
    .products__column {
      width: 100%;
      margin: 0; } }

.products__top-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center; }

.box {
  background: #fff;
  padding: 30px;
  border-radius: 40px;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
  width: calc(50% - 40px);
  margin: 20px; }
  @media screen and (max-width: 959px) {
    .box {
      width: 100%;
      margin: 20px 0;
      padding: 15px; } }
  .box--modal {
    padding: 0; }
  .box--full {
    width: calc(100% - 40px); }
    @media screen and (max-width: 959px) {
      .box--full {
        width: 100%;
        margin: 20px 0; } }
  .box a {
    display: block; }
  .box__heading {
    font-weight: 900;
    font-size: 20px;
    text-align: center; }
  .box__subheading {
    font-size: 18px;
    font-weight: 700; }
    @media screen and (max-width: 959px) {
      .box__subheading {
        font-size: 15px; } }
  .box__detail-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin: 20px 0; }
  .box__detail-figure {
    margin-right: 20px;
    position: relative;
    z-index: 1; }
    .box__detail-figure::after {
      z-index: 1;
      content: '';
      display: block;
      position: absolute;
      width: 30px;
      height: 30px;
      left: calc(50% - 15px);
      top: calc(50% - 15px);
      box-shadow: 0 0 45px 35px #413025;
      border-radius: 50%;
      opacity: 0.3; }
  .box__detail-image {
    max-width: 200px;
    width: 100%;
    display: block;
    position: relative;
    z-index: 2; }
  .box__title, .box__address {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 22px; }
    @media screen and (max-width: 959px) {
      .box__title, .box__address {
        font-size: 12px; } }
  .box__address {
    margin-bottom: 20px; }
  .box__subtitle {
    font-size: 16px;
    font-weight: 700; }
    .box__subtitle:after {
      content: '';
      display: block;
      width: 100px;
      height: 1px;
      background: #dfd2c1;
      margin: 15px 0; }
    .box__subtitle--secondary {
      margin-bottom: 0; }
      .box__subtitle--secondary::after {
        content: none; }
  .box__row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-line-pack: stretch;
    align-content: stretch; }
    @media screen and (max-width: 719px) {
      .box__row {
        display: block; } }
  .box__column {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-positive: 0;
    flex-grow: 0; }
    .box__column:nth-child(1) {
      width: 55%; }
      @media screen and (max-width: 719px) {
        .box__column:nth-child(1) {
          width: 100%; } }
    .box__column:nth-child(2) {
      width: 45%; }
      @media screen and (max-width: 719px) {
        .box__column:nth-child(2) {
          width: 100%; } }
    .box__column--bottom {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: end;
      justify-content: flex-end; }
  .box__icon {
    padding-left: 30px;
    position: relative;
    font-size: 14px;
    text-align: left;
    margin-bottom: 10px; }
    .box__icon:before {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 20px;
      height: 20px;
      background-repeat: no-repeat;
      background-position: center center; }
    .box__icon--tel:before {
      background-image: url("../images/ico-tel.png"); }
    .box__icon--email:before {
      background-image: url("../images/ico-email.png"); }
    .box__icon--map {
      background: transparent;
      border: none;
      display: inline; }
      .box__icon--map:before {
        background-image: url("../images/ico-pin.png"); }
      .box__icon--map::after {
        content: url("../images/arrow-right-small.png");
        display: inline; }
    .box__icon--date {
      background: transparent;
      border: none;
      display: inline;
      position: relative;
      margin-bottom: 0;
      line-height: 22px;
      padding-left: 0; }
      .box__icon--date::before {
        background-image: url("../images/ico-time.png"); }
      .box__icon--date::after {
        content: url("../images/arrow-right-small.png");
        display: inline-block;
        position: absolute;
        top: 0;
        right: -15px;
        transform: rotate(90deg); }
      .box__icon--date-normal {
        display: block; }
        .box__icon--date-normal::after {
          content: none; }
      .box__icon--date.active:after {
        transform: rotate(270deg); }
  .box__date-text {
    padding-left: 30px;
    display: block; }
  .box__date-text--total {
    overflow: hidden;
    vertical-align: top;
    display: none;
    line-height: 22px; }
  .box a {
    color: #413025;
    text-decoration: none;
    font-weight: 600; }

.info-box {
  font-weight: 300;
  line-height: 28px;
  padding: 8px 10px 8px 50px;
  background: #fff url("../images/ico-info.png") no-repeat left 15px top 15px;
  color: #413025;
  position: relative;
  text-align: left;
  border-radius: 25px;
  margin: 35px 0;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1); }
  .info-box--font-big {
    font-size: 18px;
    line-height: 30px; }
  .info-box--no-margin {
    margin: 0; }
  .info-box--size-15 {
    font-size: 15px;
    line-height: 24px; }
  .info-box--center {
    margin-left: auto;
    margin-right: auto;
    max-width: 830px; }
    .info-box--center a {
      color: #413025;
      font-weight: bold;
      text-decoration: none; }
      .info-box--center a:hover {
        text-decoration: underline; }

.articles__boxes-container {
  padding: 50px 0;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -2px; }
  @media screen and (max-width: 719px) {
    .articles__boxes-container {
      display: block; } }

.article__heading {
  font-size: 30px;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 32px;
  margin-bottom: 20px; }
  @media screen and (max-width: 1279px) {
    .article__heading {
      font-size: 24px;
      line-height: 28px; } }
  @media screen and (max-width: 719px) {
    .article__heading {
      font-size: 18px;
      line-height: 20px; } }

.article__container {
  background: #fff;
  padding: 80px 90px;
  margin-bottom: 60px; }
  @media screen and (max-width: 1279px) {
    .article__container {
      padding: 40px; } }
  @media screen and (max-width: 719px) {
    .article__container {
      padding: 20px; } }
  .article__container aside {
    width: 33.33333%; }

@media screen and (max-width: 959px) and (max-width: 959px) and (max-width: 959px) {
  .article__container aside {
    width: 100%; } }
    .article__container aside time {
      opacity: .6; }
    .article__container aside hr {
      height: 2px;
      width: 60px;
      background: #5cc194;
      margin: 30px 0; }
  .article__container article {
    width: 58.33333%;
    left: 8.33333%;
    right: auto; }

@media screen and (max-width: 959px) and (max-width: 959px) and (max-width: 959px) {
  .article__container article {
    width: 100%;
    left: 0%;
    right: auto; } }

.article__thumbnail {
  display: block;
  height: 200px;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  margin-bottom: 20px;
  overflow: hidden; }
  .article__thumbnail:after {
    content: url("../images/ico-glass.png");
    position: absolute;
    right: 10px;
    z-index: 3;
    bottom: 5px; }
  .article__thumbnail:before {
    position: absolute;
    content: '';
    display: block;
    z-index: 2;
    height: 170px;
    width: 170px;
    background: #5cc194;
    right: -100px;
    bottom: -100px;
    transform: rotate(45deg);
    opacity: .8;
    transition: all .3s ease-in-out; }
  .article__thumbnail:hover:before {
    right: -90px;
    bottom: -90px; }

article h2 {
  font-weight: 500;
  margin-bottom: 30px;
  color: #5cc194;
  font-size: 22px; }
  @media screen and (max-width: 1279px) {
    article h2 {
      font-size: 18px; } }
  @media screen and (max-width: 719px) {
    article h2 {
      font-size: 14px; } }

article h3 {
  font-weight: 500;
  margin-bottom: 30px;
  color: #5cc194;
  font-size: 16px; }
  @media screen and (max-width: 1279px) {
    article h3 {
      font-size: 14px; } }
  @media screen and (max-width: 719px) {
    article h3 {
      font-size: 12px; } }

article p {
  margin-bottom: 30px;
  font-size: 22px; }
  @media screen and (max-width: 1279px) {
    article p {
      font-size: 14px; } }
  @media screen and (max-width: 719px) {
    article p {
      font-size: 12px; } }

article a {
  color: #132a7b;
  text-decoration: none; }

article li,
article blockquote,
article span {
  font-size: 22px; }
  @media screen and (max-width: 1279px) {
    article li,
    article blockquote,
    article span {
      font-size: 14px; } }
  @media screen and (max-width: 719px) {
    article li,
    article blockquote,
    article span {
      font-size: 12px; } }

article ul li:before {
  top: 12px !important; }
  @media screen and (max-width: 1279px) {
    article ul li:before {
      font-size: 14px;
      top: 6px !important; } }
  @media screen and (max-width: 719px) {
    article ul li:before {
      font-size: 12px; } }

article ol, article ul {
  margin-bottom: 30px; }

article blockquote {
  margin-bottom: 30px;
  font-style: italic;
  background: #5cc194;
  color: #fff;
  padding: 15px 30px; }

article.article--secondary {
  max-width: 950px;
  margin: 50px auto; }
  article.article--secondary > ol {
    counter-reset: main; }
    article.article--secondary > ol > li {
      text-align: center;
      margin-bottom: 80px; }
      @media screen and (max-width: 719px) {
        article.article--secondary > ol > li {
          margin-bottom: 40px; } }
      article.article--secondary > ol > li:before {
        counter-increment: main;
        content: "§" counter(main);
        font-size: 60px;
        font-family: "october", sans-serif;
        font-style: italic;
        line-height: 60px;
        font-weight: 900;
        color: #132a7b;
        text-align: center; }
        @media screen and (max-width: 719px) {
          article.article--secondary > ol > li:before {
            font-size: 42px; } }
      article.article--secondary > ol > li p {
        font-weight: 900;
        letter-spacing: 3px;
        text-transform: uppercase;
        font-size: 26px;
        margin-bottom: 20px;
        list-style: none;
        text-align: center; }
        @media screen and (max-width: 719px) {
          article.article--secondary > ol > li p {
            font-size: 16px; } }
      article.article--secondary > ol > li > ol li {
        font-size: 16px;
        margin-bottom: 5px;
        text-align: left;
        list-style: decimal; }
        @media screen and (max-width: 719px) {
          article.article--secondary > ol > li > ol li {
            font-size: 12px;
            line-height: 20px; } }
        article.article--secondary > ol > li > ol li > ul,
        article.article--secondary > ol > li > ol li > ol {
          padding-left: 15px; }
        article.article--secondary > ol > li > ol li > ul li {
          list-style: circle; }
        article.article--secondary > ol > li > ol li > ol li {
          list-style: lower-alpha; }
      article.article--secondary > ol > li > ul li {
        font-size: 16px;
        margin-bottom: 5px;
        text-align: left;
        list-style: circle; }
        @media screen and (max-width: 719px) {
          article.article--secondary > ol > li > ul li {
            font-size: 12px;
            line-height: 20px; } }
        article.article--secondary > ol > li > ul li > ul,
        article.article--secondary > ol > li > ul li > ol {
          padding-left: 15px; }

.badge {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 20px 0;
  position: relative;
  z-index: 3;
  width: 220px;
  height: 220px; }
  @media screen and (max-width: 959px) {
    .badge {
      width: 180px;
      height: 180px;
      padding: 20px;
      margin: 20px auto; } }
  .badge::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: url("../images/badge.png") no-repeat center center;
    background-size: cover;
    z-index: 2; }
  .badge::after {
    z-index: 1;
    content: '';
    display: block;
    position: absolute;
    width: 50%;
    border-radius: 50%;
    height: 50%;
    box-shadow: 0 0 45px 35px #413025;
    opacity: 0.3; }
  .badge--small {
    width: 150px;
    height: 150px;
    border-radius: 50%; }
    .badge--small .badge__image {
      width: 80px;
      margin: 0 auto; }
  .badge__text {
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    line-height: 20px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    color: #413025;
    margin-bottom: 0; }
    @media screen and (max-width: 719px) {
      .badge__text {
        max-width: 240px; } }
    .badge__text a {
      display: block;
      font-size: 16px;
      font-weight: 500; }
    .badge__text--secondary {
      font-size: 22px;
      text-transform: none;
      line-height: 24px; }
    .badge__text--content {
      text-transform: none;
      color: #fff;
      font-size: 18px; }
    .badge__text span {
      position: relative; }
      .badge__text span span {
        font-size: 80px;
        position: absolute;
        left: -26px;
        width: 36px;
        text-align: right;
        top: 5px;
        color: #132a7b;
        font-family: "october", sans-serif;
        font-weight: 300; }
  .badge__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 15px;
    -ms-flex-positive: 0;
    flex-grow: 0;
    width: 100%;
    text-decoration: none; }
    .badge__container--secondary {
      width: 25%; }
      @media screen and (max-width: 959px) {
        .badge__container--secondary {
          width: 50%; } }
      @media screen and (max-width: 719px) {
        .badge__container--secondary {
          width: 100%; } }
    .badge__container:focus-visible .badge__background-image, .badge__container.active .badge__background-image {
      display: none; }
    .badge__container:focus-visible .badge::before, .badge__container.active .badge::before {
      background-image: url("../images/badge-hover.png"); }
    .badge__container:focus-visible .badge__content, .badge__container.active .badge__content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: center;
      align-items: center;
      position: absolute;
      width: 100%;
      height: 100%;
      text-decoration: none; }
    .badge__container--link .badge::before {
      transition: transform 0.4s ease-in-out; }
    .badge__container--link:hover .badge::before {
      background-image: url("../images/badge-hover-secondary.png");
      transform: scale(1.1); }
  .badge__image {
    position: relative;
    z-index: 4;
    display: block; }
  .badge__background-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    border-radius: 50%;
    z-index: 2;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 60% 60%; }
  .badge__container-text {
    font-size: 70px;
    line-height: 80px;
    color: #132a7b;
    font-family: "october", sans-serif; }
    @media screen and (max-width: 959px) {
      .badge__container-text {
        margin-bottom: 0;
        margin-top: 15px; } }
  .badge__list-container {
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 0;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-positive: 0;
    flex-grow: 0; }
    @media screen and (max-width: 959px) {
      .badge__list-container {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    @media screen and (max-width: 719px) {
      .badge__list-container {
        display: block; } }
  .badge__content {
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    text-align: center;
    display: none;
    position: relative;
    z-index: 2; }

.tabs {
  padding: 15px 0;
  margin: 60px auto; }
  @media screen and (max-width: 1279px) {
    .tabs {
      margin: 30px auto; } }
  .tabs__nav {
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 0 150px;
    position: relative; }
    @media screen and (max-width: 1279px) {
      .tabs__nav {
        padding: 0 50px; } }
    @media screen and (max-width: 719px) {
      .tabs__nav {
        padding: 0 10px; } }
    .tabs__nav::before, .tabs__nav::after {
      content: '';
      display: block;
      position: absolute;
      height: 2px;
      width: 150px;
      background: #be935e;
      bottom: 0; }
      @media screen and (max-width: 1279px) {
        .tabs__nav::before, .tabs__nav::after {
          width: 50px; } }
      @media screen and (max-width: 719px) {
        .tabs__nav::before, .tabs__nav::after {
          width: 10px; } }
    .tabs__nav::before {
      left: 0px;
      background: linear-gradient(to left, #be935e, transparent); }
    .tabs__nav::after {
      right: 0px;
      background: linear-gradient(to right, #be935e, transparent); }
    .tabs__nav-item {
      width: 100%;
      border: none;
      padding: 20px 30px;
      color: #fff;
      font-weight: 700;
      background: transparent;
      text-transform: uppercase;
      border-bottom: 2px solid #be935e; }
      @media screen and (max-width: 1279px) {
        .tabs__nav-item {
          font-size: 14px; } }
      @media screen and (max-width: 719px) {
        .tabs__nav-item {
          font-size: 12px;
          padding: 10px; } }
      .tabs__nav-item.active {
        border: 2px solid #be935e;
        border-top-left-radius: 30px;
        border-top-right-radius: 30px;
        border-bottom: none; }
  .tabs__single-tab {
    padding: 30px 0;
    margin: 0 auto;
    display: none; }
    .tabs__single-tab.active {
      display: block; }

.chocolate-map__container {
  position: relative;
  z-index: 3;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }
  @media screen and (max-width: 959px) {
    .chocolate-map__container {
      display: block; } }

.chocolate-map__map {
  width: 60%;
  background: url("../images/map.png") no-repeat center center;
  background-size: contain;
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 1279px) {
    .chocolate-map__map {
      width: 50%; } }
  @media screen and (max-width: 959px) {
    .chocolate-map__map {
      width: 100%; } }

.chocolate-map__modal {
  position: absolute;
  background: #fff;
  width: 500px;
  height: auto;
  border-top-left-radius: 0;
  padding: 30px;
  z-index: 10;
  top: 50px;
  left: 50px;
  display: none; }
  @media screen and (max-width: 719px) {
    .chocolate-map__modal {
      padding: 15px; } }
  .chocolate-map__modal .modal__close {
    top: 32px;
    right: 30px; }
    @media screen and (max-width: 719px) {
      .chocolate-map__modal .modal__close {
        top: 20px;
        right: 20px; } }

.chocolate-map__city {
  font-weight: 900;
  font-size: 28px; }
  @media screen and (max-width: 719px) {
    .chocolate-map__city {
      font-size: 16px;
      margin-bottom: 10px; } }

.chocolate-map__name {
  margin-bottom: 0;
  font-weight: 700;
  font-size: 18px;
  line-height: 20px;
  position: relative; }
  @media screen and (max-width: 719px) {
    .chocolate-map__name {
      font-size: 14px; } }
  .chocolate-map__name:after {
    content: url("../images/ico-pin.png");
    position: absolute;
    left: -20px;
    top: 0; }

.chocolate-map__list {
  max-height: 265px;
  overflow: auto; }
  .chocolate-map__list li {
    border-top: 1px solid #dfd2c1;
    padding: 10px 0 10px 20px;
    margin-bottom: 0; }
    .chocolate-map__list li p:not(.chocolate-map__name) {
      font-size: 15px;
      margin-bottom: 5px; }
      @media screen and (max-width: 719px) {
        .chocolate-map__list li p:not(.chocolate-map__name) {
          font-size: 12px;
          margin-bottom: 0; } }
      .chocolate-map__list li p:not(.chocolate-map__name):last-of-type {
        margin-bottom: 0; }

.chocolate-map__pin-counter {
  position: absolute;
  right: 6px;
  top: 6px;
  background: #132a7b;
  height: 25px;
  width: 25px;
  color: #fff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 50%;
  font-weight: 600; }

.chocolate-map__number {
  font-weight: 700;
  font-size: 40px;
  line-height: 40px;
  color: #132a7b; }

.chocolate-map__point-container {
  position: absolute;
  z-index: 2; }
  .chocolate-map__point-container.active {
    z-index: 4; }
    .chocolate-map__point-container.active .chocolate-map__modal {
      display: block; }
    .chocolate-map__point-container.active .chocolate-map__pin {
      background-image: url("../images/pin-blue.png"), url("../images/pin-bg.png"); }

.chocolate-map__pin {
  background: transparent no-repeat center center;
  background-image: url("../images/pin-black.png"), url("../images/pin-bg.png");
  background-size: cover;
  width: 80px;
  height: 80px;
  cursor: pointer; }
  .chocolate-map__pin:hover {
    background-image: url("../images/pin-blue.png"), url("../images/pin-bg.png"); }

.chocolate-map__box-container {
  width: 40%;
  position: relative; }
  @media screen and (max-width: 1279px) {
    .chocolate-map__box-container {
      width: 50%; } }
  @media screen and (max-width: 959px) {
    .chocolate-map__box-container {
      width: 100%;
      margin-bottom: 30px; } }

.chocolate-map__box {
  border: 1px solid #413025;
  padding: 40px 20px 20px;
  margin-top: 200px;
  margin-bottom: 50px; }
  @media screen and (max-width: 1279px) {
    .chocolate-map__box {
      margin-top: 100px; } }
  .chocolate-map__box img {
    margin: 0 auto;
    display: block;
    max-width: 100%; }
  .chocolate-map__box-counter {
    margin: -70px auto 0;
    padding: 10px;
    font-size: 120px;
    display: block;
    text-align: center;
    font-family: "october", sans-serif; }
    .chocolate-map__box-counter span {
      color: #132a7b;
      background: #fff;
      display: inline-block;
      padding: 15px; }
  .chocolate-map__box-image {
    position: absolute;
    z-index: 2;
    right: -380px;
    top: -100px; }

.chocolate-map__btn {
  transform: translateY(50px);
  max-width: 80%; }

.chocolate-map__title {
  font-size: 36px;
  text-align: center;
  margin: 20px 0; }

.chocolate-map__section-image {
  position: absolute;
  left: 0;
  bottom: 0; }
  @media screen and (max-width: 1279px) {
    .chocolate-map__section-image {
      max-width: 150px; } }

.map {
  height: 600px;
  width: 100%;
  display: block; }
  .map--small {
    height: 400px; }
  @media screen and (max-width: 959px) {
    .map {
      height: 400px; } }
  .map__popup-container {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(0%, -100%);
    padding: 20px 35px 20px 20px;
    background-color: white;
    border-radius: 25px;
    border-bottom-left-radius: 0;
    font-family: "Montserrat", sans-serif;
    box-shadow: 0px 2px 10px 1px rgba(0, 0, 0, 0.2);
    min-width: 150px; }
    @media screen and (max-width: 959px) {
      .map__popup-container {
        min-width: 120px; } }
  .map__content-title {
    font-size: 18px;
    font-weight: 300;
    margin-bottom: 0; }
    .map__content-title--small {
      font-size: 14px;
      line-height: 18px;
      margin-bottom: 0; }
    @media screen and (max-width: 959px) {
      .map__content-title {
        font-size: 14px;
        line-height: 16px; } }
  .map__button-close {
    border: none;
    background: transparent url("../images/ico-cross.png") no-repeat center center;
    width: 20px;
    height: 20px;
    position: absolute;
    right: 10px;
    top: 10px; }
  .map__content-address {
    margin-top: 15px;
    display: block;
    font-size: 16px;
    line-height: 22px !important;
    margin-bottom: 0; }
    .map__content-address--small {
      font-size: 12px;
      line-height: 14px; }
    @media screen and (max-width: 959px) {
      .map__content-address {
        font-size: 12px;
        line-height: 18px !important; } }

.modal {
  background: #fff; }
  @media screen and (max-width: 959px) {
    .modal__heading {
      font-size: 18px; } }
  .modal__container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 700;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center; }
    .modal__container--disabled {
      display: none; }
    .modal__container--inline {
      position: static; }
  .modal__close {
    position: absolute;
    background: transparent url("../images/ico-cross.png") no-repeat center center;
    width: 20px;
    height: 20px;
    top: 20px;
    right: 20px;
    border: none; }
  .modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.2);
    z-index: 1;
    width: 100%;
    height: 100%; }
  .modal__content {
    z-index: 2;
    position: relative;
    overflow: hidden; }
    .modal__content--padding {
      padding: 50px;
      max-width: 800px; }
      @media screen and (max-width: 959px) {
        .modal__content--padding {
          padding: 20px; } }
  .modal__top {
    padding: 30px; }
  .modal__map {
    height: 300px; }

.tooltip {
  background: #132a7b;
  color: #fff;
  padding: 20px;
  position: absolute;
  z-index: 2;
  left: 0px;
  top: 0px;
  display: none; }
  .tooltip p:last-of-type {
    margin-bottom: 0; }
  .tooltip__container {
    position: relative;
    display: inline-block; }
    .tooltip__container:hover .tooltip {
      display: block; }

.basket__item-container {
  padding: 8px 10px 8px 40px;
  background: #fff;
  border-radius: 25px;
  margin: 50px 0 30px;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1); }
  @media screen and (max-width: 959px) {
    .basket__item-container {
      padding: 10px;
      margin: 30px 0; } }
  .basket__item-container--small {
    padding: 10px;
    margin-top: 0; }
  .basket__item-container--disabled {
    opacity: 0.5;
    cursor: default; }

.basket__item-top {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
  align-items: stretch; }
  .basket__item-top figure {
    position: relative; }
    .basket__item-top figure::after {
      z-index: 1;
      content: '';
      display: block;
      position: absolute;
      width: 30px;
      height: 30px;
      left: calc(50% - 15px);
      top: calc(50% - 15px);
      box-shadow: 0 0 45px 35px #413025;
      border-radius: 50%;
      opacity: 0.3; }
    .basket__item-top figure img {
      position: relative;
      z-index: 2; }
  .basket__item-top .basket__image {
    width: 130px; }
  @media screen and (max-width: 959px) {
    .basket__item-top {
      display: block; }
      .basket__item-top img {
        display: block;
        margin: 15px auto;
        max-width: 100%; }
      .basket__item-top > * {
        display: block;
        margin: 15px auto;
        width: 100%; } }

.basket__text-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: center;
  justify-content: center;
  width: 35%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding: 0 20px; }
  @media screen and (max-width: 959px) {
    .basket__text-container {
      width: 100%;
      text-align: center;
      padding: 0; } }
  .basket__text-container--small {
    width: 60%; }
    @media screen and (max-width: 959px) {
      .basket__text-container--small {
        width: 100%; } }
  .basket__text-container p {
    line-height: 20px; }
  .basket__text-container a {
    color: #413025;
    text-decoration: none;
    font-size: 12px;
    padding-left: 20px;
    position: relative; }
    .basket__text-container a:after {
      content: '';
      display: block;
      position: absolute;
      width: 15px;
      height: 15px;
      background: url("../images/ico-info.png") no-repeat center center;
      left: 0;
      top: 5px;
      background-size: contain; }
    @media screen and (max-width: 959px) {
      .basket__text-container a {
        padding-left: 0;
        text-decoration: underline;
        color: #132a7b; }
        .basket__text-container a:after {
          content: none; } }

.basket__quantity {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 0 40px;
  width: 100%; }
  .basket__quantity--small {
    padding: 0 15px; }

.basket__error {
  color: #ff2616;
  margin: 10px 0 0;
  font-size: 12px;
  font-weight: 500; }

.basket__quantity-container, .basket__price-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%; }
  .basket__quantity-container p, .basket__price-container p {
    margin: 0 5px; }

.basket__empty-message {
  margin: 100px 0;
  font-size: 24px;
  text-align: center;
  font-weight: 700;
  color: #666; }

.basket__number {
  margin: 0;
  font-weight: 700;
  background: no-repeat url("../images/ico-number.png") center center;
  width: 42px;
  height: 42px;
  display: block;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }
  .basket__number-button {
    padding: 10px;
    background: transparent;
    border: none;
    font-weight: 700; }
    .basket__number-button:hover {
      color: #132a7b; }
  .basket__number-container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 20px; }
    @media screen and (max-width: 959px) {
      .basket__number-container {
        margin-left: 0; } }

.basket__remove-button {
  height: 30px;
  width: 30px;
  background: url("../images/ico-bin.png") no-repeat center center;
  border: none;
  margin: 0 0 0 10px; }

.basket__price {
  font-weight: 700;
  font-size: 30px; }
  .basket__price--small {
    font-size: 18px; }
  .basket__price-container {
    position: relative; }
    .basket__price-container:after {
      content: '';
      display: block;
      width: 1px;
      height: 50%;
      position: absolute;
      left: 0;
      top: 25%;
      background: #dfd2c1; }
      @media screen and (max-width: 959px) {
        .basket__price-container:after {
          display: none; } }
    .basket__price-container--small:after {
      content: none; }

.basket__name {
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 15px; }
  .basket__name--small {
    font-size: 18px;
    margin-bottom: 5px; }

.basket__item-bottom {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (max-width: 959px) {
    .basket__item-bottom {
      display: block;
      text-align: center; } }

.basket__link {
  color: #413025;
  padding-left: 30px;
  text-decoration: none;
  font-weight: 500;
  margin: 5px 15px 5px 5px;
  background-repeat: no-repeat;
  background-position: 0 50%;
  font-size: 14px;
  display: inline-block; }
  @media screen and (max-width: 1279px) {
    .basket__link {
      margin-bottom: 0; } }
  @media screen and (max-width: 959px) {
    .basket__link {
      margin-right: 0;
      line-height: 22px;
      margin-bottom: 10px; } }
  .basket__link:hover {
    color: #132a7b; }
  .basket__link--create {
    background-image: url("../images/ico-plus.png"); }
    .basket__link--create:hover {
      background-image: url("../images/ico-plus-blue.png"); }
  .basket__link--save {
    background-image: url("../images/ico-download.png"); }
    .basket__link--save:hover {
      background-image: url("../images/ico-download-blue.png"); }

.basket--table {
  width: 100%;
  font-family: "Montserrat", sans-serif;
  color: #413025;
  font-weight: 600;
  padding-bottom: 20px; }
  .basket--table .title,
  .basket--table .sum,
  .basket--table .value,
  .basket--table .code,
  .basket--table .delivery {
    font-size: 24px;
    line-height: 1.5em;
    padding: 15px 30px; }
    @media screen and (max-width: 959px) {
      .basket--table .title,
      .basket--table .sum,
      .basket--table .value,
      .basket--table .code,
      .basket--table .delivery {
        padding: 10px 15px;
        font-size: 20px; } }
  .basket--table .title {
    border-bottom: 1px solid #dfd2c1; }
  .basket--table .sum {
    border-top: 1px solid #dfd2c1; }
  .basket--table .value,
  .basket--table .code {
    font-size: 20px;
    padding-top: 10px;
    padding-bottom: 10px; }
    @media screen and (max-width: 959px) {
      .basket--table .value,
      .basket--table .code {
        padding-top: 5px;
        padding-bottom: 5px;
        font-size: 16px; } }
  .basket--table .code {
    color: #31e35f;
    display: none; }
  .basket--table .title span,
  .basket--table .sum span,
  .basket--table .value span,
  .basket--table .code span,
  .basket--table .delivery span {
    float: right;
    text-align: right;
    width: 150px;
    padding: 0 10px; }
    @media screen and (max-width: 959px) {
      .basket--table .title span,
      .basket--table .sum span,
      .basket--table .value span,
      .basket--table .code span,
      .basket--table .delivery span {
        width: 110px; } }
  .basket--table .delivery {
    margin-bottom: 0;
    margin-left: 0;
    font-size: 18px;
    width: 100%;
    padding: 10px 0px;
    display: inline-block;
    padding-left: 30px; }
    .basket--table .delivery:before {
      position: absolute;
      left: 0;
      top: 12px;
      display: inline-block; }
    .basket--table .delivery p {
      margin: 0; }
      .basket--table .delivery p small {
        font-size: 75%; }
    .basket--table .delivery span {
      position: absolute;
      right: 0;
      top: 12px;
      display: block; }
  .basket--table-small {
    padding: 0 15px; }
    .basket--table-small .value,
    .basket--table-small .code,
    .basket--table-small .sum {
      font-size: 16px;
      padding: 5px 0; }
      .basket--table-small .value span,
      .basket--table-small .code span,
      .basket--table-small .sum span {
        padding-right: 0; }
    .basket--table-small .value {
      border-top: 1px solid #dfd2c1;
      padding-top: 10px; }
    .basket--table-small .sum {
      padding-top: 10px;
      padding-bottom: 10px; }
  .basket--table .title-box {
    margin: 10px 0 5px 0;
    font-size: 20px;
    font-weight: 500; }
  .basket--table .desc-small {
    font-size: 12px;
    font-weight: 200;
    margin-bottom: 10px; }

.basket--form-code {
  margin-bottom: 20px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap; }
  .basket--form-code .form-group {
    margin-bottom: 10px; }
  .basket--form-code .btn {
    margin-top: 32px;
    margin-left: 10px; }
  .basket--form-code .code-error {
    display: none;
    color: red;
    font-size: 16px;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    width: 100%;
    margin-left: 30px; }

.disabled-box {
  opacity: 0.3;
  cursor: default; }

.configurator__nav {
  position: relative;
  z-index: 1;
  margin: 50px 0 0; }
  .configurator__nav ul {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center; }
  .configurator__nav li {
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    padding: 15px 25px;
    background: #f1f1f1;
    text-transform: uppercase;
    font-weight: 900;
    font-size: 14px;
    text-align: center;
    padding-left: 60px;
    margin: 0 10px;
    background-repeat: no-repeat;
    background-position: 15px center; }
    @media screen and (max-width: 719px) {
      .configurator__nav li {
        padding: 10px 20px 10px 20px;
        font-size: 9px;
        margin: 0 2px;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        background-image: none !important; } }
    .configurator__nav li:nth-child(1) {
      background-image: url("../images/ico-size.png"); }
    .configurator__nav li:nth-child(2) {
      background-image: url("../images/ico-border.png"); }
    .configurator__nav li:nth-child(3) {
      background-image: url("../images/ico-project.png"); }
    .configurator__nav li.active {
      color: #132a7b;
      background-color: #fff;
      box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1); }

.configurator__tabs {
  padding: 20px 60px;
  background: #fff;
  box-shadow: 0 0 20px 0px rgba(0, 0, 0, 0.1);
  border-radius: 25px;
  z-index: 2;
  position: relative;
  margin-bottom: 50px; }
  @media screen and (max-width: 959px) {
    .configurator__tabs {
      padding: 20px; } }

.configurator__heading {
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin: 0 0 30px;
  font-size: 26px; }
  @media screen and (max-width: 959px) {
    .configurator__heading {
      font-size: 18px;
      margin-bottom: 15px; } }

.configurator__button {
  margin-top: 50px;
  margin-bottom: -100px; }

.configurator__radio-container {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (max-width: 719px) {
    .configurator__radio-container {
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-align: center;
      align-items: center; } }
  .configurator__radio-container .form-group {
    margin: 10px;
    position: relative; }
    .configurator__radio-container .form-group input {
      display: none; }
      .configurator__radio-container .form-group input + label {
        text-align: center;
        display: block;
        font-weight: 900;
        margin-top: 50px;
        font-size: 24px; }
        @media screen and (max-width: 959px) {
          .configurator__radio-container .form-group input + label {
            margin-top: 0; } }
        .configurator__radio-container .form-group input + label:before {
          content: '';
          width: 220px;
          height: 220px;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: center;
          justify-content: center;
          -ms-flex-align: center;
          align-items: center;
          background-repeat: no-repeat;
          background-position: center center;
          position: relative;
          z-index: 2; }
        .configurator__radio-container .form-group input + label:after {
          content: '';
          display: block;
          position: absolute;
          top: calc(50% - 25px);
          left: calc(50% - 25px);
          width: 80px;
          height: 80px;
          border-radius: 50%;
          box-shadow: 0 0 150px 0 black;
          z-index: 1; }
      .configurator__radio-container .form-group input:checked + label {
        color: #132a7b; }
    .configurator__radio-container .form-group:nth-child(1) input + label:before {
      background-image: url("../images/config-size-s.png"); }
    .configurator__radio-container .form-group:nth-child(1) input:checked + label:before {
      background-image: url("../images/config-size-s.png"), url("../images/config-border.png"); }
    .configurator__radio-container .form-group:nth-child(2) input + label:before {
      background-image: url("../images/config-size-m.png"); }
    .configurator__radio-container .form-group:nth-child(2) input:checked + label:before {
      background-image: url("../images/config-size-m.png"), url("../images/config-border.png");
      background-size: auto, 93%; }
    .configurator__radio-container .form-group:nth-child(3) input + label:before {
      background-image: url("../images/config-size-l.png"); }
    .configurator__radio-container .form-group:nth-child(3) input:checked + label:before {
      background-image: url("../images/config-size-l.png"), url("../images/config-border.png");
      background-size: auto, 100%; }
    .configurator__radio-container .form-group:hover label {
      color: #132a7b; }
    .configurator__radio-container .form-group:hover:nth-child(1) input + label:before {
      background-image: url("../images/config-size-s.png"), url("../images/config-border.png"); }
    .configurator__radio-container .form-group:hover:nth-child(2) input + label:before {
      background-image: url("../images/config-size-m.png"), url("../images/config-border.png");
      background-size: auto, 93%; }
    .configurator__radio-container .form-group:hover:nth-child(3) input + label:before {
      background-image: url("../images/config-size-l.png"), url("../images/config-border.png");
      background-size: auto, 100%; }
  .configurator__radio-container--border {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 600px;
    margin: 0 auto;
    -ms-flex-pack: center;
    justify-content: center; }
    .configurator__radio-container--border .form-group input {
      display: none; }
      .configurator__radio-container--border .form-group input + label {
        text-align: center;
        display: block;
        margin: 0px; }
        .configurator__radio-container--border .form-group input + label:before {
          content: '';
          width: 150px;
          height: 150px;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: center;
          justify-content: center;
          -ms-flex-align: center;
          align-items: center;
          background-repeat: no-repeat;
          background-position: center center;
          position: relative;
          z-index: 2; }
    .configurator__radio-container--border .form-group:nth-child(1) input + label:before {
      background-image: url("../images/config-border-1.png");
      background-size: 100%; }
    .configurator__radio-container--border .form-group:nth-child(1) input:checked + label:before {
      background-image: url("../images/config-border-1.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:nth-child(2) input + label:before {
      background-image: url("../images/config-border-2.png");
      background-size: 100%; }
    .configurator__radio-container--border .form-group:nth-child(2) input:checked + label:before {
      background-image: url("../images/config-border-2.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:nth-child(3) input + label:before {
      background-image: url("../images/config-border-3.png");
      background-size: 100%; }
    .configurator__radio-container--border .form-group:nth-child(3) input:checked + label:before {
      background-image: url("../images/config-border-3.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:nth-child(4) input + label:before {
      background-image: url("../images/config-border-4.png");
      background-size: 100%; }
    .configurator__radio-container--border .form-group:nth-child(4) input:checked + label:before {
      background-image: url("../images/config-border-4.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:nth-child(5) input + label:before {
      background-image: url("../images/config-border-5.png");
      background-size: 100%; }
    .configurator__radio-container--border .form-group:nth-child(5) input:checked + label:before {
      background-image: url("../images/config-border-5.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:hover label {
      color: #132a7b; }
    .configurator__radio-container--border .form-group:hover:nth-child(1) input + label:before {
      background-image: url("../images/config-border-1.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:hover:nth-child(2) input + label:before {
      background-image: url("../images/config-border-2.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:hover:nth-child(3) input + label:before {
      background-image: url("../images/config-border-3.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:hover:nth-child(4) input + label:before {
      background-image: url("../images/config-border-4.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }
    .configurator__radio-container--border .form-group:hover:nth-child(5) input + label:before {
      background-image: url("../images/config-border-5.png"), url("../images/config-border.png");
      background-size: 100%, 100%; }

.tabs {
  margin: 20px 0; }
  .tabs .tab {
    display: none; }
    .tabs .tab .form-group--file {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
      justify-content: center;
      -ms-flex-line-pack: center;
      align-content: center; }
    .tabs .tab input[type="file"] {
      opacity: 0; }
      .tabs .tab input[type="file"] + label {
        text-align: center;
        font-weight: 900;
        color: #132a7b;
        position: relative;
        padding-left: 32px;
        display: inline-block;
        margin: 50px auto 0px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap; }
        .tabs .tab input[type="file"] + label:before {
          content: url("../images/ico-plus-blue.png");
          position: absolute;
          left: 0;
          top: 3px; }
      .tabs .tab input[type="file"]:focus ~ .c-btn--file, .tabs .tab input[type="file"]:focus-visible ~ .c-btn--file {
        outline: 3px solid #132a7b; }
    .tabs .tab.active {
      display: block; }

.sitemap__list {
  padding-left: 1rem; }

.sitemap__item {
  font-size: 1rem;
  list-style-type: disc;
  margin: 0; }
  .sitemap__item a {
    color: #15141A;
    margin: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwidmVuZG9yL2pjZi5jc3MiLCJiYXNlL19mb250cy5zY3NzIiwidmVuZG9yL19zbGljay5jc3MiLCJ2ZW5kb3IvbGlnaHRib3guY3NzIiwidmVuZG9yL2Jhc2ljLmNzcyIsInZlbmRvci9kcm9wem9uZS5jc3MiLCJiYXNlL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2Jhc2Uuc2NzcyIsInV0aWxzL192YXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ3JpZGxlL3Nhc3MvZ3JpZGxlL19taXhpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ncmlkbGUvc2Fzcy9ncmlkbGUvX2RyaXZlci1kZWZhdWx0LnNjc3MiLCJ1dGlscy9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZ3JpZGxlL3Nhc3MvZ3JpZGxlL19hcGkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ncmlkbGUvc2Fzcy9ncmlkbGUvX2Z1bmN0aW9ucy5zY3NzIiwiYmFzZS9fbGlzdHMuc2NzcyIsImJhc2UvX2J1dHRvbnMuc2NzcyIsImJhc2UvX2hlYWRpbmcuc2NzcyIsImJhc2UvX3RhYmxlcy5zY3NzIiwiYmFzZS9fYWNjZXNzaWJpbGl0eS5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2Zvcm1zLnNjc3MiLCJsYXlvdXQvX3d5c2l3eWcuc2NzcyIsImxheW91dC9fc3VicGFnZS5zY3NzIiwibGF5b3V0L19zZWN0aW9uLnNjc3MiLCJsYXlvdXQvX3RhYmxlLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19wcm9kdWN0cy5zY3NzIiwiY29tcG9uZW50cy9fYm94LnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlcy5zY3NzIiwiY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3RhYnMuc2NzcyIsImNvbXBvbmVudHMvX2Nob2NvbGF0ZS1tYXAuc2NzcyIsImNvbXBvbmVudHMvX21hcC5zY3NzIiwiY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsImNvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsImNvbXBvbmVudHMvX2Jhc2tldC5zY3NzIiwiY29tcG9uZW50cy9fY29uZmlndXJhdG9yLnNjc3MiLCJjb21wb25lbnRzL19zaXRlbWFwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCLFdBQVc7QUNBWCwrSEFBWTtBRENaO0VBQ0MsdUJBQXNCO0VBQ3RCLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLGFBQVk7RUFDWixZQUFXLEVBQ1g7O0FBQ0Q7RUFDQyxjQUFZO0VBQ1osbUJBQWlCO0VBQ2pCLFNBQU87RUFDUCxVQUFRO0VBQ1IsV0FBUztFQUNULFlBQVU7RUFDVixpQkFBZTtFQUNmLG9CQUFrQixFQUNsQjs7QUFDRDtFQUNDLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osWUFBVztFQUNYLFVBQVM7RUFDVCxVQUFTO0VBQ1QsUUFBTztFQUNQLE9BQU0sRUFDTjs7QUFDRDtFQUE2QixlQUFhLEVBQUc7O0FBRTdDLGNBQWM7QUFDZDtFQUNDLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLGFBQVk7RUFDWixZQUFXLEVBQ1g7O0FBQ0Q7RUFDQyxtQkFBaUI7RUFDakIsY0FBWTtFQUNaLFlBQVU7RUFDVixXQUFTO0VBQ1QsU0FBTztFQUNQLFVBQVE7RUFDUixzQkFBb0I7RUFDcEIsdUJBQXFCO0VBQ3JCLDBCQUF3QjtFQUl4QiwwQkFBeUI7RUFDekIsb0xBQW1MLEVBQ25MOztBQUNEO0VBQTBCLHNCQUFvQixFQUFHOztB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QTJCLEVBQzVCOztBTnpUYjtFTWtVRSxlQUFjLEVBK0NmO0VBaEREO0lBSUksY0FBYSxFQTJDZDtJQS9DSDtNQU9NLHFCQUFhO01BQWIsY0FBYTtNQUNiLHNCQUF1QjtNQUF2Qix3QkFBdUI7TUFDdkIsMkJBQXFCO01BQXJCLHNCQUFxQixFQUN0QjtJQVZMO01BYU0sV0FBVSxFQTZCWDtNQTFDTDtRQWdCUSxtQkFBa0I7UUFDbEIsaUJBQWdCO1FBQ2hCLGU5QnhVWTtROEJ5VVosbUJBQWtCO1FBQ2xCLG1CQUFrQjtRQUNsQixzQkFBcUI7UUFDckIsc0JBQXFCO1FBQ3JCLGlCQUFnQjtRQUNoQix3QkFBdUI7UUFDdkIsb0JBQW1CLEVBUXBCO1FBakNQO1VBNEJVLDRDQUEyQztVQUMzQyxtQkFBa0I7VUFDbEIsUUFBTztVQUNQLFNBQVEsRUFDVDtNQWhDVDtRQXVDVSwyQjlCN1ZVLEU4QjhWWDtJQXhDVDtNQTZDTSxlQUFjLEVBQ2Y7O0FDOVdIO0VBQ0UsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsZ0JBQWU7RUFDZixzQkFBcUI7RUFDckIsVUFBUyxFQU1WO0VBVEE7SUFNRyxlQUFjO0lBQ2QsVUFBUyxFQUNWIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogcmFkaW8gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQ6MzAwLDQwMCw0MDBpLDYwMCw2MDBpLDcwMCw3MDBpJmRpc3BsYXk9c3dhcCZzdWJzZXQ9bGF0aW4tZXh0XCIpO1xuLmpjZi1yYWRpbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgbWFyZ2luOiAwIDNweCAwIDA7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDE2cHg7IH1cblxuLmpjZi1yYWRpbyBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgbGVmdDogM3B4O1xuICByaWdodDogM3B4O1xuICBib3R0b206IDNweDtcbiAgYmFja2dyb3VuZDogIzc3NztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuXG4uamNmLXJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uamNmLXJhZGlvLmpjZi1jaGVja2VkIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBjaGVja2JveCAqL1xuLmpjZi1jaGVja2JveCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gIG1hcmdpbjogMCAzcHggMCAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4OyB9XG5cbi5qY2YtY2hlY2tib3ggc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiA0cHg7XG4gIHdpZHRoOiA4cHg7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTdweCAwIDAgLTZweDtcbiAgYm9yZGVyOiAzcHggc29saWQgIzc3NztcbiAgYm9yZGVyLXdpZHRoOiAwIDAgM3B4IDNweDtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgxMTg2NTQ4MywgTTEyPTAuNzA3MTA2NzgxMTg2NTQ2NywgTTIxPS0wLjcwNzEwNjc4MTE4NjU0NjcsIE0yMj0wLjcwNzEwNjc4MTE4NjU0ODMsIFNpemluZ01ldGhvZD0nYXV0byBleHBhbmQnKVwiOyB9XG5cbjpyb290IC5qY2YtY2hlY2tib3ggc3BhbiB7XG4gIG1hcmdpbjogLTRweCAwIDAgLTVweDsgfVxuXG4uamNmLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uamNmLWNoZWNrYm94LmpjZi1jaGVja2VkIHNwYW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBidXR0b24gKi9cbi5qY2YtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgcGFkZGluZzogNXB4IDEwcHg7IH1cblxuLmpjZi1idXR0b24gLmpjZi1yZWFsLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4vKiBmaWxlICovXG4uamNmLWZpbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uamNmLWZpbGUgLmpjZi1yZWFsLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIG1hcmdpbjogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uamNmLWZpbGUgLmpjZi1mYWtlLWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc3NztcbiAgcGFkZGluZzogMCA4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgd2lkdGg6IDEyNXB4OyB9XG5cbi5qY2YtZmlsZSAuamNmLXVwbG9hZC1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gIG1hcmdpbjogMCAwIDAgLTFweDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4OyB9XG5cbi8qIHNjcm9sbGJhcnMgKi9cbi5qY2Ytc2Nyb2xsYWJsZS13cmFwcGVyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuICB3aWR0aDogMTRweDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcbi5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XG4gIGJhY2tncm91bmQ6ICNiYmI7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCAuamNmLXNjcm9sbGJhci1pbmMge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDsgfVxuXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCAuamNmLXNjcm9sbGJhci1oYW5kbGUge1xuICBiYWNrZ3JvdW5kOiAjODg4O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDE0cHg7IH1cblxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2UzZTNlMztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogYXV0bztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDE0cHg7IH1cblxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1kZWMsXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2JiYjtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDsgfVxuXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWluYyB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwgLmpjZi1zY3JvbGxiYXItc2xpZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTRweDsgfVxuXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogIzg4ODtcbiAgaGVpZ2h0OiAxNHB4OyB9XG5cbi5qY2Ytc2Nyb2xsYmFyLmpjZi1pbmFjdGl2ZSAuamNmLXNjcm9sbGJhci1oYW5kbGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmpjZi1zY3JvbGxiYXIuamNmLWluYWN0aXZlIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcbi5qY2Ytc2Nyb2xsYmFyLmpjZi1pbmFjdGl2ZSAuamNmLXNjcm9sbGJhci1pbmMge1xuICBiYWNrZ3JvdW5kOiAjZTNlM2UzOyB9XG5cbi8qIHNlbGVjdCAqL1xuLmpjZi1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzc3NztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIDAgMTJweDtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAyNnB4OyB9XG5cbi5qY2Ytc2VsZWN0IHNlbGVjdCB7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uamNmLXNlbGVjdCAuamNmLXNlbGVjdC10ZXh0IHtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIG1hcmdpbjogMCAzNXB4IDAgOHB4OyB9XG5cbi5qY2Ytc2VsZWN0IC5qY2Ytc2VsZWN0LW9wZW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjYWFhO1xuICB3aWR0aDogMjZweDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbmJvZHkgPiAuamNmLXNlbGVjdC1kcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IC0xcHggMCAwO1xuICB6LWluZGV4OiA5OTk5OyB9XG5cbmJvZHkgPiAuamNmLXNlbGVjdC1kcm9wLmpjZi1kcm9wLWZsaXBwZWQge1xuICBtYXJnaW46IDFweCAwIDA7IH1cblxuLmpjZi1zZWxlY3QgLmpjZi1zZWxlY3QtZHJvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICB6LWluZGV4OiA5OTk5O1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4OyB9XG5cbi5qY2Ytc2VsZWN0IC5qY2YtZHJvcC1mbGlwcGVkIHtcbiAgYm90dG9tOiAxMDAlO1xuICB0b3A6IGF1dG87IH1cblxuLmpjZi1zZWxlY3QuamNmLWNvbXBhY3QtbXVsdGlwbGUge1xuICBtYXgtd2lkdGg6IDIyMHB4OyB9XG5cbi5qY2Ytc2VsZWN0LmpjZi1jb21wYWN0LW11bHRpcGxlIC5qY2Ytc2VsZWN0LW9wZW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAycHg7XG4gIGNvbnRlbnQ6ICcuLi4nOyB9XG5cbi5qY2Ytc2VsZWN0LWRyb3AgLmpjZi1zZWxlY3QtZHJvcC1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwYThiYTsgfVxuXG4uamNmLXNlbGVjdC1kcm9wLmpjZi1jb21wYWN0LW11bHRpcGxlIC5qY2YtaG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5qY2Ytc2VsZWN0LWRyb3AuamNmLWNvbXBhY3QtbXVsdGlwbGUgLmpjZi1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5qY2Ytc2VsZWN0LWRyb3AuamNmLWNvbXBhY3QtbXVsdGlwbGUgLmpjZi1zZWxlY3RlZDpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDRweDtcbiAgd2lkdGg6IDhweDtcbiAgbWFyZ2luOiAtN3B4IDVweCAwIC0zcHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkICM3Nzc7XG4gIGJvcmRlci13aWR0aDogMCAwIDNweCAzcHg7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KE0xMT0wLjcwNzEwNjc4MTE4NjU0ODMsIE0xMj0wLjcwNzEwNjc4MTE4NjU0NjcsIE0yMT0tMC43MDcxMDY3ODExODY1NDY3LCBNMjI9MC43MDcxMDY3ODExODY1NDgzLCBTaXppbmdNZXRob2Q9J2F1dG8gZXhwYW5kJylcIjsgfVxuXG4vKiBtdWx0aXBsZSBzZWxlY3Qgc3R5bGVzICovXG4uamNmLWxpc3QtYm94IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjhjM2M5O1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgMTVweDsgfVxuXG4vKiBzZWxlY3Qgb3B0aW9ucyBzdHlsZXMgKi9cbi5qY2YtbGlzdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uamNmLWxpc3QgLmpjZi1saXN0LWNvbnRlbnQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uamNmLWxpc3QgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLmpjZi1saXN0IHVsIGxpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmpjZi1saXN0IC5qY2Ytb3ZlcmZsb3cge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uamNmLWxpc3QgLmpjZi1vcHRpb24ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggOXB4O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgbWluLWhlaWdodDogMTRweDtcbiAgaGVpZ2h0OiAxJTsgfVxuXG4uamNmLWxpc3QgLmpjZi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNhYWEgIWltcG9ydGFudDsgfVxuXG4uamNmLXNlbGVjdC1kcm9wIC5qY2YtaG92ZXIsXG4uamNmLWxpc3QtYm94IC5qY2Ytc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDsgfVxuXG4uamNmLWxpc3QgLmpjZi1vcHRncm91cC1jYXB0aW9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggOXB4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5qY2YtbGlzdCAuamNmLW9wdGdyb3VwIC5qY2Ytb3B0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG5cbi8qIG90aGVyIHN0eWxlcyAqL1xuLmpjZi10ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiOGMzYzk7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uamNmLXRleHRhcmVhIC5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLmpjZi10ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG4uamNmLXRleHRhcmVhIC5qY2YtcmVzaXplIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogc2UtcmVzaXplO1xuICBiYWNrZ3JvdW5kOiAjZTNlM2UzO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gIHRleHQtaW5kZW50OiAxcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTRweDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4uamNmLXRleHRhcmVhIC5qY2YtcmVzaXplOmJlZm9yZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDRweCAwIDAgM3B4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgY29udGVudDogJyc7IH1cblxuLyogbnVtYmVyIGlucHV0ICovXG4uamNmLW51bWJlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMycHg7IH1cblxuLmpjZi1udW1iZXIgaW5wdXQge1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuXG4uamNmLW51bWJlciBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi5qY2YtbnVtYmVyIGlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5qY2YtbnVtYmVyIGlucHV0IHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XG4gIHBhZGRpbmc6IDNweCAyN3B4IDNweCA3cHg7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5qY2YtbnVtYmVyIC5qY2YtYnRuLWRlYyxcbi5qY2YtbnVtYmVyIC5qY2YtYnRuLWluYyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2FhYTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTVweDtcbiAgcmlnaHQ6IDFweDtcbiAgdG9wOiAxcHg7IH1cblxuLmpjZi1udW1iZXIgLmpjZi1idG4tZGVjIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDFweDsgfVxuXG4uamNmLW51bWJlciAuamNmLWJ0bi1kZWM6aG92ZXIsXG4uamNmLW51bWJlciAuamNmLWJ0bi1pbmM6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi5qY2YtbnVtYmVyLmpjZi1kaXNhYmxlZCAuamNmLWJ0bi1kZWM6aG92ZXIsXG4uamNmLW51bWJlci5qY2YtZGlzYWJsZWQgLmpjZi1idG4taW5jOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2FhYTsgfVxuXG4uamNmLW51bWJlciAuamNmLWJ0bi1kZWM6YmVmb3JlLFxuLmpjZi1udW1iZXIgLmpjZi1idG4taW5jOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTZweCAwIDAgLTRweDtcbiAgYm9yZGVyOiA0cHggc29saWQgI2FhYTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwIHRyYW5zcGFyZW50OyB9XG5cbi5qY2YtbnVtYmVyIC5qY2YtYnRuLWRlYzpiZWZvcmUge1xuICBtYXJnaW46IC0xcHggMCAwIC00cHg7XG4gIGJvcmRlci1jb2xvcjogIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uamNmLW51bWJlci5qY2YtZGlzYWJsZWQgLmpjZi1idG4tZGVjOmJlZm9yZSxcbi5qY2YtbnVtYmVyLmpjZi1kaXNhYmxlZCAuamNmLWJ0bi1pbmM6YmVmb3JlLFxuLmpjZi1udW1iZXIgLmpjZi1idG4tZGVjLmpjZi1kaXNhYmxlZDpiZWZvcmUsXG4uamNmLW51bWJlciAuamNmLWJ0bi1pbmMuamNmLWRpc2FibGVkOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuMzsgfVxuXG4uamNmLW51bWJlci5qY2YtZGlzYWJsZWQgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZGRkOyB9XG5cbi8qIHJhbmdlIGlucHV0ICovXG4uamNmLXJhbmdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBtYXJnaW46IDAgMTBweDtcbiAgd2lkdGg6IDEzMHB4OyB9XG5cbi5qY2YtcmFuZ2UgLmpjZi1yYW5nZS10cmFjayB7XG4gIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMHB4OyB9XG5cbi5qY2YtcmFuZ2UgLmpjZi1yYW5nZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZTVlNWU1O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDVweCAwOyB9XG5cbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIHtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uamNmLXJhbmdlLmpjZi12ZXJ0aWNhbCAuamNmLXJhbmdlLXdyYXBwZXIge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDIwcHggMCAwOyB9XG5cbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIC5qY2YtcmFuZ2UtdHJhY2sge1xuICBoZWlnaHQ6IDE4MHB4O1xuICB3aWR0aDogMTBweDsgfVxuXG4uamNmLXJhbmdlLmpjZi12ZXJ0aWNhbCAuamNmLXJhbmdlLWhhbmRsZSB7XG4gIGxlZnQ6IC01cHg7XG4gIHRvcDogYXV0bzsgfVxuXG4uamNmLXJhbmdlIC5qY2YtcmFuZ2UtZGlzcGxheS13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtaW4taGVpZ2h0OiAxMHB4O1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4OyB9XG5cbi5qY2YtcmFuZ2UgLmpjZi1yYW5nZS1kaXNwbGF5IHtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICM4ODg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7IH1cblxuLmpjZi1yYW5nZSAuamNmLXJhbmdlLWRpc3BsYXkuamNmLXJhbmdlLW1pbiB7XG4gIG1hcmdpbjogMCAwIDAgLTEwcHg7XG4gIHBhZGRpbmc6IDAgMCAwIDEwcHg7IH1cblxuLmpjZi1yYW5nZSAuamNmLXJhbmdlLWRpc3BsYXkuamNmLXJhbmdlLW1heCB7XG4gIG1hcmdpbjogMCAtMTBweCAwIDA7XG4gIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cblxuLmpjZi1yYW5nZS5qY2YtdmVydGljYWwgLmpjZi1yYW5nZS1kaXNwbGF5LXdyYXBwZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiAxMHB4O1xuICBib3R0b206IDEwcHg7IH1cblxuLmpjZi1yYW5nZS5qY2YtdmVydGljYWwgLmpjZi1yYW5nZS1kaXNwbGF5LmpjZi1yYW5nZS1taW4ge1xuICBtYXJnaW46IDAgMCAtMTBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cblxuLmpjZi1yYW5nZS5qY2YtdmVydGljYWwgLmpjZi1yYW5nZS1kaXNwbGF5LmpjZi1yYW5nZS1tYXgge1xuICBtYXJnaW46IC0xMHB4IDAgMDtcbiAgcGFkZGluZzogMTBweCAwIDA7IH1cblxuLmpjZi1yYW5nZSAuamNmLXJhbmdlLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogMTlweDtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMTlweDtcbiAgbWFyZ2luOiAtNHB4IDAgMDtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5qY2YtcmFuZ2UgLmpjZi1yYW5nZS1tYXJrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDNweDtcbiAgdG9wOiAtN3B4O1xuICBtYXJnaW46IDAgMCAwIDlweDsgfVxuXG4uamNmLXJhbmdlLmpjZi12ZXJ0aWNhbCAuamNmLXJhbmdlLW1hcmsge1xuICBtYXJnaW46IDAgMCA5cHg7XG4gIGxlZnQ6IDE0cHg7XG4gIHRvcDogYXV0bztcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiAxcHg7IH1cblxuLmpjZi1yYW5nZSAuamNmLWFjdGl2ZS1oYW5kbGUge1xuICB6LWluZGV4OiAyOyB9XG5cbi5qY2YtcmFuZ2UuamNmLWZvY3VzIC5qY2YtYWN0aXZlLWhhbmRsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGE4YmE7XG4gIG1hcmdpbjogLTVweCAwIDAgLTFweDsgfVxuXG4uamNmLXJhbmdlLmpjZi1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbi8qIGNvbW1vbiBzdHlsZXMgKi9cbi5qY2YtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiAjZGRkICFpbXBvcnRhbnQ7IH1cblxuLmpjZi1mb2N1cywgLmpjZi1mb2N1cyAqIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhOGJhICFpbXBvcnRhbnQ7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zbGljay1saXN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnJzsgfVxuXG4uc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyB9XG5cbltkaXI9J3J0bCddIC5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uc2xpY2stc2xpZGUgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogUHJlbG9hZCBpbWFnZXMgKi9cbmJvZHk6YWZ0ZXIge1xuICAvKiBjb250ZW50OiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLnBuZykgdXJsKC4uL2ltYWdlcy9sb2FkaW5nLmdpZikgdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgdXJsKC4uL2ltYWdlcy9uZXh0LnBuZyk7ICovXG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keS5sYi1kaXNhYmxlLXNjcm9sbGluZyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmxpZ2h0Ym94T3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiA5OTk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MCk7XG4gIG9wYWNpdHk6IDAuODtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGlnaHRib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ubGlnaHRib3ggLmxiLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIC8qIEltYWdlIGJvcmRlciAqL1xuICBib3JkZXI6IDRweCBzb2xpZCB3aGl0ZTsgfVxuXG4ubGlnaHRib3ggYSBpbWcge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmxiLW91dGVyQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAqem9vbTogMTtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAvKiBCYWNrZ3JvdW5kIGNvbG9yIGJlaGluZCBpbWFnZS5cclxuICAgICBUaGlzIGlzIHZpc2libGUgZHVyaW5nIHRyYW5zaXRpb25zLiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmxiLWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0MyU7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMjUlO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4ubGItY2FuY2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICAvKiBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2xvYWRpbmcuZ2lmKSBuby1yZXBlYXQ7ICovIH1cblxuLmxiLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDsgfVxuXG4ubGItY29udGFpbmVyID4gLm5hdiB7XG4gIGxlZnQ6IDA7IH1cblxuLmxiLW5hdiBhIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PVwiKTsgfVxuXG4ubGItcHJldiwgLmxiLW5leHQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxiLW5hdiBhLmxiLXByZXYge1xuICB3aWR0aDogMzQlO1xuICBsZWZ0OiAwO1xuICBmbG9hdDogbGVmdDtcbiAgLyogYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgbGVmdCA0OCUgbm8tcmVwZWF0OyAqL1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG5cbi5sYi1uYXYgYS5sYi1wcmV2OmhvdmVyIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5sYi1uYXYgYS5sYi1uZXh0IHtcbiAgd2lkdGg6IDY0JTtcbiAgcmlnaHQ6IDA7XG4gIGZsb2F0OiByaWdodDtcbiAgLyogYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXh0LnBuZykgcmlnaHQgNDglIG5vLXJlcGVhdDsgKi9cbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG4ubGItbmF2IGEubGItbmV4dDpob3ZlciB7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubGItZGF0YUNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICAqem9vbTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiA0cHg7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4O1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7IH1cblxuLmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmxiLWRhdGEge1xuICBwYWRkaW5nOiAwIDRweDtcbiAgY29sb3I6ICNjY2M7IH1cblxuLmxiLWRhdGEgLmxiLWRldGFpbHMge1xuICB3aWR0aDogODUlO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtOyB9XG5cbi5sYi1kYXRhIC5sYi1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuXG4ubGItZGF0YSAubGItY2FwdGlvbiBhIHtcbiAgY29sb3I6ICM0YWU7IH1cblxuLmxiLWRhdGEgLmxiLW51bWJlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogbGVmdDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogIzk5OTk5OTsgfVxuXG4ubGItZGF0YSAubGItY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICAvKiBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLnBuZykgdG9wIHJpZ2h0IG5vLXJlcGVhdDsgKi9cbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApO1xuICBvcGFjaXR5OiAwLjc7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7IH1cblxuLmxiLWRhdGEgLmxiLWNsb3NlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLypcclxuICogVGhlIE1JVCBMaWNlbnNlXHJcbiAqIENvcHlyaWdodCAoYykgMjAxMiBNYXRpYXMgTWVubyA8bUB0aWFzLm1lPlxyXG4gKi9cbi5kcm9wem9uZSwgLmRyb3B6b25lICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5kcm9wem9uZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEyMHB4O1xuICBtYXJnaW46IDAuNWVtOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3MgLmR6LXVwbG9hZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiBncmVlbjsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1lc3NhZ2Uge1xuICBjb2xvcjogcmVkO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvciAuZHotZXJyb3ItbWVzc2FnZSwgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tYXJrIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXN1Y2Nlc3MgLmR6LXN1Y2Nlc3MtbWFyayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyaywgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDMwcHg7XG4gIHRvcDogMzBweDtcbiAgd2lkdGg6IDU0cHg7XG4gIGhlaWdodDogNThweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTI3cHg7IH1cblxuLypcclxuICogVGhlIE1JVCBMaWNlbnNlXHJcbiAqIENvcHlyaWdodCAoYykgMjAxMiBNYXRpYXMgTWVubyA8bUB0aWFzLm1lPlxyXG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlLCA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTsgfVxuICAzMCUsIDcwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTsgfVxuICAzMCUsIDcwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5kcm9wem9uZSwgLmRyb3B6b25lICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5kcm9wem9uZSB7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cblxuLmRyb3B6b25lLmR6LWNsaWNrYWJsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZHJvcHpvbmUuZHotY2xpY2thYmxlICoge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAuZHotbWVzc2FnZSwgLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAuZHotbWVzc2FnZSAqIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kcm9wem9uZS5kei1zdGFydGVkIC5kei1tZXNzYWdlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcHpvbmUuZHotZHJhZy1ob3ZlciB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLmRyb3B6b25lLmR6LWRyYWctaG92ZXIgLmR6LW1lc3NhZ2Uge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLmRyb3B6b25lIC5kei1tZXNzYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDJlbSAwOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4OyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciB7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZmlsZS1wcmV2aWV3IC5kei1pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICM5OTk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWUsICNkZGQpOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWRldGFpbHMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1pbWFnZS1wcmV2aWV3IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWltYWdlLXByZXZpZXcgLmR6LWRldGFpbHMge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcmVtb3ZlOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1kZXRhaWxzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMge1xuICB6LWluZGV4OiAyMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDJlbSAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpob3ZlciBzcGFuIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpub3QoOmhvdmVyKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWU6bm90KDpob3Zlcikgc3BhbiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUgc3BhbiwgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIHBhZGRpbmc6IDAgMC40ZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIgLmR6LWltYWdlIGltZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoOHB4KTtcbiAgZmlsdGVyOiBibHVyKDhweCk7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTA7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotc3VjY2VzcyAuZHotc3VjY2Vzcy1tYXJrIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAtbW96LWFuaW1hdGlvbjogcGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gIC1tcy1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAtby1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICBhbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvciAuZHotZXJyb3ItbWFyayB7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAtbW96LWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgLW1zLWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgLW8tYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICBhbmltYXRpb246IHNsaWRlLWluIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmssIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyayB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA1MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjdweDtcbiAgbWFyZ2luLXRvcDogLTI3cHg7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmsgc3ZnLCAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1hcmsgc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1NHB4O1xuICBoZWlnaHQ6IDU0cHg7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXByb2Nlc3NpbmcgLmR6LXByb2dyZXNzIHtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotY29tcGxldGUgLmR6LXByb2dyZXNzIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3Om5vdCguZHotcHJvY2Vzc2luZykgLmR6LXByb2dyZXNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHB1bHNlIDZzIGVhc2UgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBwdWxzZSA2cyBlYXNlIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uOiBwdWxzZSA2cyBlYXNlIGluZmluaXRlO1xuICAtby1hbmltYXRpb246IHB1bHNlIDZzIGVhc2UgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTsgfVxuXG4uZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXByb2dyZXNzIHtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICB3aWR0aDogODBweDtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3MgLmR6LXVwbG9hZCB7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM2NjYsICM0NDQpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yOmhvdmVyIC5kei1lcnJvci1tZXNzYWdlIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdG9wOiAxMzBweDtcbiAgbGVmdDogLTEwcHg7XG4gIHdpZHRoOiAxNDBweDtcbiAgYmFja2dyb3VuZDogI2JlMjYyNjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2JlMjYyNiwgI2E5MjIyMik7XG4gIHBhZGRpbmc6IDAuNWVtIDEuMmVtO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNnB4O1xuICBsZWZ0OiA2NHB4O1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNiZTI2MjY7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKipcclxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXHJcbiAqICAgIHVzZXIgem9vbS5cclxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cclxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxyXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxyXG4gKiBhbmQgRmlyZWZveC5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cclxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cclxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cclxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxyXG4gKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxyXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cclxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcclxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxyXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXHJcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cclxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cclxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxyXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cclxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXHJcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcclxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxyXG4gKi9cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxyXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cclxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxyXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxyXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXHJcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxyXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXHJcbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXHJcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cclxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXHJcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXHJcbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cclxuICogdGhlIFVBIHN0eWxlc2hlZXQuXHJcbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXHJcbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXHJcbiAqXHJcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXHJcbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXHJcbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcclxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXHJcbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxyXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXHJcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cclxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcclxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxyXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxyXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXHJcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cclxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXHJcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2JnLXNlY3Rpb24uanBnXCIpIHJlcGVhdCBjZW50ZXIgdG9wO1xuICBjb2xvcjogIzQxMzAyNTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWFnZXMvYmctaG9tZS1tb2JpbGUuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIGJvZHkge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2JnLWhvbWUtbW9iaWxlLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MCU7IH0gfVxuICBib2R5LmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG4gICAgYm9keS5lcnJvciAuaGVhZGVyLS1zdWJwYWdlOmFmdGVyLFxuICAgIGJvZHkuZXJyb3IgLmhlYWRlci0tZml4ZWQ6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGJvZHkuZXJyb3IgbWFpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAgICBib2R5LmVycm9yIC5oZWFkZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgICBib2R5LmVycm9yIC5zZWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWNob2NvbGF0ZS01LmpwZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2JnLWNob2NvbGF0ZS02LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0yMCUgdG9wIDAsIC0yMCUgYm90dG9tO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgICBib2R5LmVycm9yIC5zZWN0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9IH1cbiAgYm9keSAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICBib2R5ICo6YmVmb3JlLCBib2R5ICo6YWZ0ZXIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgYm9keSBwLCBib2R5IGEsIGJvZHkgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICBib2R5IHAsIGJvZHkgYSwgYm9keSBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgIGJvZHkgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgYm9keSBhIHtcbiAgICBjb2xvcjogIzEzMmE3YjsgfVxuICBib2R5OmJlZm9yZSwgYm9keTphZnRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93IHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTE3MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmNvbnRhaW5lcjpiZWZvcmUsIC5jb29raWVzIC5jYy13aW5kb3c6YmVmb3JlLCAucm93OmJlZm9yZSwgLmNvbnRhaW5lcjphZnRlciwgLmNvb2tpZXMgLmNjLXdpbmRvdzphZnRlciwgLnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29udGFpbmVyOmFmdGVyLCAuY29va2llcyAuY2Mtd2luZG93OmFmdGVyLCAucm93OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93LCAucm93IHtcbiAgICB6b29tOiAxOyB9XG4gIC5hcnRpY2xlX19jb250YWluZXIgYXNpZGUsIC5hcnRpY2xlX19jb250YWluZXIgYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTZweDsgfVxuICAuYXJ0aWNsZV9fY29udGFpbmVyIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5hcnRpY2xlX19jb250YWluZXIgYXNpZGUsIC5hcnRpY2xlX19jb250YWluZXIgYXJ0aWNsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLmFydGljbGVfX2NvbnRhaW5lciBhcnRpY2xlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIFtjbGFzcyo9XCJuby1ndXR0ZXJcIl0gPiAuY29udGFpbmVyLCAuY29va2llcyBbY2xhc3MqPVwibm8tZ3V0dGVyXCJdID4gLmNjLXdpbmRvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAuY29udGFpbmVyIC5jb250YWluZXIsIC5jb29raWVzIC5jYy13aW5kb3cgLmNvbnRhaW5lciwgLmNvbnRhaW5lciAuY29va2llcyAuY2Mtd2luZG93LCAuY29va2llcyAuY29udGFpbmVyIC5jYy13aW5kb3csIC5jb29raWVzIC5jYy13aW5kb3cgLmNjLXdpbmRvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLmNvbnRhaW5lciAuY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93IC5jb250YWluZXIsIC5jb250YWluZXIgLmNvb2tpZXMgLmNjLXdpbmRvdywgLmNvb2tpZXMgLmNvbnRhaW5lciAuY2Mtd2luZG93LCAuY29va2llcyAuY2Mtd2luZG93IC5jYy13aW5kb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAgIC5jb250YWluZXIgLmNvbnRhaW5lciwgLmNvb2tpZXMgLmNjLXdpbmRvdyAuY29udGFpbmVyLCAuY29udGFpbmVyIC5jb29raWVzIC5jYy13aW5kb3csIC5jb29raWVzIC5jb250YWluZXIgLmNjLXdpbmRvdywgLmNvb2tpZXMgLmNjLXdpbmRvdyAuY2Mtd2luZG93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAuY29udGFpbmVyIC5jb250YWluZXIsIC5jb29raWVzIC5jYy13aW5kb3cgLmNvbnRhaW5lciwgLmNvbnRhaW5lciAuY29va2llcyAuY2Mtd2luZG93LCAuY29va2llcyAuY29udGFpbmVyIC5jYy13aW5kb3csIC5jb29raWVzIC5jYy13aW5kb3cgLmNjLXdpbmRvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLmNvbnRhaW5lciAuY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93IC5jb250YWluZXIsIC5jb250YWluZXIgLmNvb2tpZXMgLmNjLXdpbmRvdywgLmNvb2tpZXMgLmNvbnRhaW5lciAuY2Mtd2luZG93LCAuY29va2llcyAuY2Mtd2luZG93IC5jYy13aW5kb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLmNvbnRhaW5lciAuY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93IC5jb250YWluZXIsIC5jb250YWluZXIgLmNvb2tpZXMgLmNjLXdpbmRvdywgLmNvb2tpZXMgLmNvbnRhaW5lciAuY2Mtd2luZG93LCAuY29va2llcyAuY2Mtd2luZG93IC5jYy13aW5kb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgLmNvbnRhaW5lciAuY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93IC5jb250YWluZXIsIC5jb250YWluZXIgLmNvb2tpZXMgLmNjLXdpbmRvdywgLmNvb2tpZXMgLmNvbnRhaW5lciAuY2Mtd2luZG93LCAuY29va2llcyAuY2Mtd2luZG93IC5jYy13aW5kb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLmNvbnRhaW5lciAuY29udGFpbmVyLCAuY29va2llcyAuY2Mtd2luZG93IC5jb250YWluZXIsIC5jb250YWluZXIgLmNvb2tpZXMgLmNjLXdpbmRvdywgLmNvb2tpZXMgLmNvbnRhaW5lciAuY2Mtd2luZG93LCAuY29va2llcyAuY2Mtd2luZG93IC5jYy13aW5kb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIC5jb250YWluZXItLW5vLW92ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogaW5pdGlhbDsgfVxuXG4ucm93IHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9XG4gIFtjbGFzcyo9XCJuby1ndXR0ZXJcIl0gPiAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLnJvdyAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxOTE5cHgpIHtcbiAgICAucm93IC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAgIC5yb3cgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLnJvdyAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5yb3cgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAucm93IC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLnJvdyAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7IH0gfVxuXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC0tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtLWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udGV4dC0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnRleHQtLW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRleHQtLXNlbWktYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtLXN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnRleHQtLWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4udGV4dC0tbWItMCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnRleHQtLW1iLTUge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmltZy0tY2VudGVyZWQge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxpbmsge1xuICBjb2xvcjogIzQxMzAyNTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzEzMmE3YjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDMwcHggMCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnN1YmhlYWRpbmcgc3BhbiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJvY3RvYmVyXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiA5MHB4O1xuICAgIGNvbG9yOiAjMTMyYTdiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAgIC5zdWJoZWFkaW5nIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAuc3ViaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDI4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5zdWJoZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHggMCAxMHB4OyB9IH1cbiAgLnN1YmhlYWRpbmctLXNtYWxsIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgLnN1YmhlYWRpbmctLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLnN1YmhlYWRpbmctLXhzbWFsbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgbWFyZ2luOiA1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgLnN1YmhlYWRpbmctLXhzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5zdWJoZWFkaW5nLS1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnN1YmhlYWRpbmctLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAuc3ViaGVhZGluZ19fc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogIzEzMmE3YjtcbiAgICBmb250LXNpemU6IDkwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwib2N0b2JlclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5zdWJoZWFkaW5nX19zZWNvbmRhcnkge1xuICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgICAuc3ViaGVhZGluZ19fc2Vjb25kYXJ5LS10b3AtbGVmdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC00MHB4O1xuICAgICAgbGVmdDogNTBweDsgfVxuICAgIC5zdWJoZWFkaW5nX19zZWNvbmRhcnktLXRvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvOyB9XG4gICAgLnN1YmhlYWRpbmdfX3NlY29uZGFyeS0td2hpdGUge1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuaHIge1xuICBtYXJnaW46IDIwcHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMzNjliZWQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLnN0YXR1cyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA4cHggMjBweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuc3RhdHVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAuc3RhdHVzLS1wZW5kaW5nIHtcbiAgICBjb2xvcjogIzEzMmE3YjsgfVxuICAuc3RhdHVzLS1zdWNjZXNzIHtcbiAgICBjb2xvcjogZ3JlZW47IH1cbiAgLnN0YXR1cy0tZXJyb3Ige1xuICAgIGNvbG9yOiAjZmYyNjE2OyB9XG5cbi5saW5lX19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxpbmVfX2NvbnRhaW5lcjo6YmVmb3JlLCAubGluZV9fY29udGFpbmVyOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjNDEzMDI1OyB9XG4gIC5saW5lX19jb250YWluZXItLXdoaXRlOjpiZWZvcmUsIC5saW5lX19jb250YWluZXItLXdoaXRlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAubGluZV9fY29udGFpbmVyLS1zbWFsbDo6YmVmb3JlLCAubGluZV9fY29udGFpbmVyLS1zbWFsbDo6YWZ0ZXIge1xuICAgIHdpZHRoOiA1MHB4OyB9XG4gIC5saW5lX19jb250YWluZXItLXNtYWxsIGhyIHtcbiAgICBtYXJnaW46IDE1cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBoZWlnaHQ6IDVweDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zdWJoZWFkaW5nIC5zdWJoZWFkaW5nX19zZWNvbmRhcnkuc3ViaGVhZGluZ19fc2Vjb25kYXJ5LS13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29jdG9iZXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL29jdG9iZXJzdG9ybS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9vY3RvYmVyc3Rvcm0td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbi5saXN0X19pdGVtIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmxpc3QgcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5saXN0X19jaXJjbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZWQ5MDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSksIGluc2V0IDBweCAwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICMxMzJhN2I7IH1cbiAgLmxpc3RfX2NpcmNsZS0tbGFyZ2Uge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogMTUwcHg7IH1cbiAgLmxpc3RfX2NpcmNsZS0tY2VudGVyZWQge1xuICAgIG1hcmdpbjogMjBweCBhdXRvOyB9XG5cbi5idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDE2cHggNDBweDtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjRzIGVhc2UtaW4tb3V0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLmJ0bjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7IH0gfVxuICAuYnRuX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLmJ0bl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmJ0bl9fY29udGFpbmVyID4gKiB7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5idG5fX2NvbnRhaW5lci0tbWFyZ2luIHtcbiAgICAgIG1hcmdpbjogMjBweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgICAuYnRuX19jb250YWluZXItLW1hcmdpbiB7XG4gICAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAgIC5idG5fX2NvbnRhaW5lci0tcmlnaHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIG1hcmdpbjogMCAtMzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLmJ0bl9fY29udGFpbmVyLS1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAgIC5idG5fX2NvbnRhaW5lci0tcmlnaHQgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgICAuYnRuX19jb250YWluZXItLXJpZ2h0ID4gKiB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDsgfSB9XG4gIC5idG4tLXJlZCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNjNzIzNWEsICM5NTIwNDcpO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICM5NTIwNDc7IH1cbiAgICAuYnRuLS1yZWQ6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICMxMzJhN2I7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIzEzMmE3YiwgIzA5MTMzOSk7IH1cbiAgLmJ0bi0tYmx1ZSB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjMTMyYTdiOyB9XG4gICAgLmJ0bi0tYmx1ZTpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0MTMwMjU7IH1cbiAgLmJ0bi0tZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ0bi0tYm9yZGVyIHtcbiAgICBjb2xvcjogIzEzMmE3YiAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxMzJhN2I7IH1cbiAgICAuYnRuLS1ib3JkZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogIzEzMmE3YjtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cbiAgLmJ0bi0teHNtYWxsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4OyB9XG4gIC5idG4tLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnRuLS1sZXZlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAzNTBweDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idG4tLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWF4LXdpZHRoOiAxODBweDsgfVxuICAuYnRuLS1zYXZlIHtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1heC13aWR0aDogMTMwcHg7IH1cbiAgICAuYnRuLS1zYXZlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjYzcyMzVhLCAjOTUyMDQ3KTsgfVxuICAuYnRuLS1kb3duIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctZG93bi5wbmdcIik7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4uaGVhZGluZyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LWZhbWlseTogXCJvY3RvYmVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTZkZWcpOyB9XG4gIC5oZWFkaW5nLS1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBmb250LXNpemU6IDM4cHg7IH1cbiAgLmhlYWRpbmdfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMTQwcHg7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbm90ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC50YWJsZV9fY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBib3gtc2hhZG93OiA1cHggNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC50YWJsZV9fc2Nyb2xsIHtcbiAgICBoZWlnaHQ6IDQ1MHB4OyB9XG4gICAgLnRhYmxlX19zY3JvbGw6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLnRhYmxlX19zY3JvbGwgLmpzcERyYWcge1xuICAgICAgYmFja2dyb3VuZDogIzEzMmE3YiAhaW1wb3J0YW50OyB9XG4gIC50YWJsZV9faW1hZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAudGFibGVfX3RleHQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBjb2xvcjogIzEzMmE3YjsgfVxuICAudGFibGVfX2hlYWQge1xuICAgIGJhY2tncm91bmQ6ICNmZWQ5MDA7IH1cbiAgICAudGFibGVfX2hlYWQgdGgge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAjMTMyYTdiO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGFibGVfX2JvZHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAudGFibGVfX2JvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7IH1cbiAgICAudGFibGVfX2JvZHkgdGQge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmM2YzZjM7IH1cbiAgLnRhYmxlX19wb3NpdGlvbiwgLnRhYmxlX19wb2ludHMge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxMzJhN2I7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDsgfVxuXG5hOmZvY3VzLXZpc2libGUsXG5idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAjMDE0ZGEzO1xuICBvdXRsaW5lLW9mZnNldDogMnB4OyB9XG5cbi5za2lwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwMTRkYTM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLnNraXA6Zm9jdXMge1xuICBsZWZ0OiAwO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5oZWFkZXItaGVscGVyIHtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhlYWRlciB7XG4gIHotaW5kZXg6IDY2NjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDM1cHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2UtaW47IH1cbiAgLmhlYWRlci0tc3VicGFnZSwgLmhlYWRlci0tZml4ZWQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgLmhlYWRlci0tc3VicGFnZTphZnRlciwgLmhlYWRlci0tZml4ZWQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvd2F2ZS5wbmdcIikgcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cbiAgLmhlYWRlci0tZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXJfX2NvbnRhaW5lciA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyID4gYSA+IGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgICAgLmhlYWRlcl9fY29udGFpbmVyID4gYSA+IGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5oZWFkZXJfX21vYmlsZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDQ0NDtcbiAgICB0b3A6IDYwcHg7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyNXB4IDUwcHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCA1cHggMTlweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAgIC5oZWFkZXJfX21vYmlsZSBhOm5vdCguYnRuKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM0MTMwMjU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLmhlYWRlcl9fbW9iaWxlIGE6bm90KC5idG4pLmFjdGl2ZSBzcGFuIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmhlYWRlcl9fbW9iaWxlIGE6bm90KC5idG4pLmFjdGl2ZSBzcGFuOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTMyYTdiO1xuICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5oZWFkZXJfX21vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLmhlYWRlcl9fbmF2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5oZWFkZXJfX25hbWUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmhlYWRlcl9fYWNjb3VudCB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5oZWFkZXJfX2FjY291bnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmhlYWRlcl9fYWNjb3VudCBwLCAuaGVhZGVyX19hY2NvdW50IGxpLCAuaGVhZGVyX19hY2NvdW50IGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5oZWFkZXJfX2FjY291bnQtaXRlbSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXJfX2FjY291bnQtaXRlbTo6YmVmb3JlLCAuaGVhZGVyX19hY2NvdW50LWl0ZW06OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMTMyYTdiO1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuaGVhZGVyX19hY2NvdW50LWl0ZW06OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7IH1cbiAgICAgIC5oZWFkZXJfX2FjY291bnQtaXRlbTo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAgICAgLmhlYWRlcl9fYWNjb3VudC1pdGVtLS1hY3RpdmU6OmFmdGVyLCAuaGVhZGVyX19hY2NvdW50LWl0ZW0tLWFjdGl2ZTo6YmVmb3JlLCAuaGVhZGVyX19hY2NvdW50LWl0ZW06aG92ZXI6OmFmdGVyLCAuaGVhZGVyX19hY2NvdW50LWl0ZW06aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAzMCU7IH1cbiAgICAuaGVhZGVyX19hY2NvdW50LWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLmhlYWRlcl9fYWNjb3VudC1saXN0IHtcbiAgICAgICAgICBtYXJnaW46IDAgLTIwcHg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgLmhlYWRlcl9fYWNjb3VudC1saXN0LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDAgMjBweDsgfVxuICAuaGVhZGVyX19vcGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuaGVhZGVyX19vcGVuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgLmhlYWRlcl9fb3BlbiBzcGFuIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTMyYTdiOyB9XG4gICAgICAuaGVhZGVyX19vcGVuIHNwYW46YmVmb3JlLCAuaGVhZGVyX19vcGVuIHNwYW46YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzEzMmE3YjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuaGVhZGVyX19vcGVuIHNwYW46YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuaGVhZGVyX19vcGVuIHNwYW46YWZ0ZXIge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAuaGVhZGVyX19vcGVuLmFjdGl2ZSBzcGFuOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuICAgIC5oZWFkZXJfX29wZW4uYWN0aXZlIHNwYW46YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC01MCU7IH1cbiAgLmhlYWRlcl9fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5oZWFkZXJfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhlYWRlcl9faXRlbSB7XG4gICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAgIC5oZWFkZXJfX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDAgMTBweDsgfSB9XG4gIC5oZWFkZXJfX2xpbmsge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zcyBlYXNlLWluLW91dDtcbiAgICBjb2xvcjogIzQxMzAyNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaGVhZGVyX19saW5rOjpiZWZvcmUsIC5oZWFkZXJfX2xpbms6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICMxMzJhN2I7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2UtaW4tb3V0OyB9XG4gICAgLmhlYWRlcl9fbGluazo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOyB9XG4gICAgLmhlYWRlcl9fbGluazo6YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7IH1cbiAgICAuaGVhZGVyX19saW5rLS1hY3RpdmU6OmFmdGVyLCAuaGVhZGVyX19saW5rLS1hY3RpdmU6OmJlZm9yZSwgLmhlYWRlcl9fbGluazpob3Zlcjo6YWZ0ZXIsIC5oZWFkZXJfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMzAlOyB9XG5cbiNtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlcl9fdG9wIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG4gIC5mb290ZXJfX3RvcC5zZWN0aW9uLS1icm93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRmM2IzMDsgfVxuXG4uZm9vdGVyX19yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuZm9vdGVyX19yb3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG5cbi5mb290ZXJfX2NvbHVtbiAudGl0bGUtYXJyb3csIC5mb290ZXJfX2xvZ28tY29sdW1uIC50aXRsZS1hcnJvdyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgLmZvb3Rlcl9fY29sdW1uLCAuZm9vdGVyX19sb2dvLWNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgLmZvb3Rlcl9fY29sdW1uIC5qc19fc2hvdy1tb3JlLCAuZm9vdGVyX19sb2dvLWNvbHVtbiAuanNfX3Nob3ctbW9yZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZm9vdGVyX19jb2x1bW4gaW1nLCAuZm9vdGVyX19sb2dvLWNvbHVtbiBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mb290ZXJfX2NvbHVtbiAudGl0bGUtYXJyb3csIC5mb290ZXJfX2xvZ28tY29sdW1uIC50aXRsZS1hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH0gfVxuXG4uZm9vdGVyX19jb2x1bW4gcCwgLmZvb3Rlcl9fY29sdW1uIC5oZWFkZXItZm9vdGVyLCAuZm9vdGVyX19sb2dvLWNvbHVtbiBwLCAuZm9vdGVyX19sb2dvLWNvbHVtbiAuaGVhZGVyLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuZm9vdGVyX19jb2x1bW4gcCwgLmZvb3Rlcl9fY29sdW1uIC5oZWFkZXItZm9vdGVyLCAuZm9vdGVyX19sb2dvLWNvbHVtbiBwLCAuZm9vdGVyX19sb2dvLWNvbHVtbiAuaGVhZGVyLWZvb3RlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uZm9vdGVyX19jb2x1bW4gbGksIC5mb290ZXJfX2xvZ28tY29sdW1uIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZm9vdGVyX19jb2x1bW4gYSwgLmZvb3Rlcl9fbG9nby1jb2x1bW4gYSB7XG4gIG1hcmdpbi10b3A6IDFweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25ldy13aW5kb3cuc3ZnXCIpIDEwMCUgNTAlLzIwcHggMTRweCBuby1yZXBlYXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuZm9vdGVyX19jb2x1bW4gYSwgLmZvb3Rlcl9fbG9nby1jb2x1bW4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuZm9vdGVyX19jb2x1bW4gYSBpbWcsIC5mb290ZXJfX2xvZ28tY29sdW1uIGEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZm9vdGVyX19jb2x1bW4gYTpob3ZlciwgLmZvb3Rlcl9fbG9nby1jb2x1bW4gYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAuZm9vdGVyX19sb2dvLWNvbHVtbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjZweDsgfSB9XG5cbi5mb290ZXJfX2NvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmZvb3Rlcl9fY29sdW1uIC5mb290ZXItc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5mb290ZXJfX2NvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZm9vdGVyX19jb2x1bW4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZm9vdGVyX19jb2x1bW4gLmZvb3Rlci1zd2l0Y2gge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZvb3Rlcl9fYm90dG9tIHtcbiAgYmFja2dyb3VuZDogIzIwNjNhMDsgfVxuICAuZm9vdGVyX19ib3R0b20gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5mb290ZXJfX2NvbWx1bW4tLXBheW1lbnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZm9vdGVyX19jb21sdW1uLS1wYXltZW50IHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5mb290ZXJfX2NvbWx1bW4tLXBheW1lbnQgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5jb29raWVzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTk7XG4gIGJhY2tncm91bmQ6ICMxMzJhN2I7XG4gIGNvbG9yOiAjZmZmO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtOyB9XG4gIC5jb29raWVzIC5jYy13aW5kb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMjVweCAwICFpbXBvcnRhbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLmNvb2tpZXMgLmNjLXdpbmRvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmNvb2tpZXMgLmNjLXdpbmRvdyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTsgfSB9XG4gIC5jb29raWVzIC5jYy1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMzlweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDVlbTsgfVxuICAgIC5jb29raWVzIC5jYy1tZXNzYWdlIGEge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDVlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jb29raWVzIC5jYy1tZXNzYWdlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMjRweDtcbiAgICAgIGhlaWdodDogMTI0cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IC0xNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby1jb29raWVzLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAuY29va2llcyAuY2MtbWVzc2FnZTpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICB0b3A6IC02MnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmNvb2tpZXMgLmNjLW1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMCAxNXB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuY29va2llcyAuY2MtZGlzbWlzcyB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsaW5lLWhlaWdodDogMjNweDsgfVxuICAuY29va2llcyAuY2MtY29tcGxpYW5jZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuY29va2llcyAuY2MtY29tcGxpYW5jZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmNvb2tpZXMgLmNjLWNvbXBsaWFuY2UgYSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgLmNvb2tpZXMgLmNjLWNvbXBsaWFuY2UgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC43OyB9XG4gIC5jb29raWVzIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXHJcbiAqIEZvcm1zIGFuZCBmb3JtIGZpZWxkc1xyXG4gKi9cbi8qIElucHV0IHN0eWxlICovXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxudGV4dGFyZWEge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCxcbmxhYmVsLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0sXG5sYWJlbFtkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF1bdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFtkaXNhYmxlZF1bdHlwZT1cImltYWdlXCJdLFxuaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFtkaXNhYmxlZF1bdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5zZWxlY3QsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIG9wYWNpdHk6IDA7IH1cbiAgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgfiAuYy1idG4tLWZpbGUsIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLXZpc2libGUgfiAuYy1idG4tLWZpbGUge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCAjMTMyYTdiICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0ge1xuICBtYXJnaW46IDMwcHggMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvcm0gLmFsZXJ0LmFsZXJ0LWRhbmdlciB7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgYmFja2dyb3VuZDogI2UyMTAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZm9ybSAuYWxlcnQuYWxlcnQtZGFuZ2VyIC5mb3JtLWVycm9yLW1lc3NhZ2Uge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmZvcm1fX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxMDBweCBhdXRvO1xuICAgIG1heC13aWR0aDogNjUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLmZvcm1fX2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvOyB9IH1cbiAgICAuZm9ybV9fY29udGFpbmVyLS1pbmxpbmUge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLmZvcm1fX2NvbnRhaW5lci0taW5saW5lIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9IH1cbiAgICAuZm9ybV9fY29udGFpbmVyLS1zbWFsbC1tYXJnaW4ge1xuICAgICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLmZvcm1fX2dyb3VwLCAuZm9ybS1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgLmZvcm1fX2dyb3VwLS1pbmxpbmUsIC5mb3JtLWdyb3VwLS1pbmxpbmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAgIC5mb3JtX19ncm91cC0taW5saW5lLCAuZm9ybS1ncm91cC0taW5saW5lIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICAgIC5mb3JtX19ncm91cC0taW5saW5lIGxhYmVsLCAuZm9ybS1ncm91cC0taW5saW5lIGxhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5mb3JtX19sYWJlbCxcbiAgLmZvcm0gbGFiZWwsXG4gIC5mb3JtIC5jb2wtZm9ybS1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIC5mb3JtX19sYWJlbC0taW5saW5lLFxuICAgIC5mb3JtIGxhYmVsLS1pbmxpbmUsXG4gICAgLmZvcm0gLmNvbC1mb3JtLWxhYmVsLS1pbmxpbmUge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAuZm9ybV9faW5wdXQsIC5mb3JtX190ZXh0YXJlYSwgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM0MTMwMjU7XG4gICAgY29sb3I6ICM0MTMwMjU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuZm9ybV9faW5wdXQtLWNvZGUsIC5mb3JtX190ZXh0YXJlYS0tY29kZSwgLmZvcm0tY29udHJvbC0tY29kZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuZm9ybV9faW5wdXQtLWNvZGUgaW5wdXQsIC5mb3JtX190ZXh0YXJlYS0tY29kZSBpbnB1dCwgLmZvcm0tY29udHJvbC0tY29kZSBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuZm9ybV9faW5wdXQtLWNvZGUgYnV0dG9uOmRpc2FibGVkLCAuZm9ybV9fdGV4dGFyZWEtLWNvZGUgYnV0dG9uOmRpc2FibGVkLCAuZm9ybS1jb250cm9sLS1jb2RlIGJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5mb3JtX19pbnB1dC0tY29kZSBidXR0b24sIC5mb3JtX190ZXh0YXJlYS0tY29kZSBidXR0b24sIC5mb3JtLWNvbnRyb2wtLWNvZGUgYnV0dG9uIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZm9ybV9faW5wdXQtLWNvZGUgaW5wdXQsIC5mb3JtX19pbnB1dC0tY29kZSBidXR0b24sIC5mb3JtX190ZXh0YXJlYS0tY29kZSBpbnB1dCwgLmZvcm1fX3RleHRhcmVhLS1jb2RlIGJ1dHRvbiwgLmZvcm0tY29udHJvbC0tY29kZSBpbnB1dCwgLmZvcm0tY29udHJvbC0tY29kZSBidXR0b24ge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmZvcm1fX2lucHV0LCAuZm9ybV9fdGV4dGFyZWEsIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfSB9XG4gICAgLmZvcm1fX2lucHV0OmZvY3VzLCAuZm9ybV9fdGV4dGFyZWE6Zm9jdXMsIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTMyYTdiO1xuICAgICAgY29sb3I6ICMxMzJhN2I7IH1cbiAgICAuZm9ybV9faW5wdXQuaXMtaW52YWxpZCwgLmZvcm1fX3RleHRhcmVhLmlzLWludmFsaWQsIC5mb3JtLWNvbnRyb2wuaXMtaW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjI2MTY7XG4gICAgICBjb2xvcjogI2ZmMjYxNjsgfVxuICAgICAgLmZvcm1fX2lucHV0LmlzLWludmFsaWQ6Zm9jdXMsIC5mb3JtX190ZXh0YXJlYS5pcy1pbnZhbGlkOmZvY3VzLCAuZm9ybS1jb250cm9sLmlzLWludmFsaWQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZjI2MTY7XG4gICAgICAgIGNvbG9yOiAjZmYyNjE2OyB9XG4gICAgLmZvcm1fX2lucHV0LS1hdXRvY29tcGxldGUsIC5mb3JtX190ZXh0YXJlYS0tYXV0b2NvbXBsZXRlLCAuZm9ybS1jb250cm9sLS1hdXRvY29tcGxldGUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXNtYWxsLWRvd24ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTclIDUwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZvcm0gdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjAwcHg7IH1cbiAgLmZvcm1fX2F1dG9jb21wbGV0ZS1saXN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgdG9wOiAtMzBweDsgfVxuICAgIC5mb3JtX19hdXRvY29tcGxldGUtbGlzdCBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTMyYTdiO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMGMxYjRmO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuZm9ybV9fYXV0b2NvbXBsZXRlLWxpc3QgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGJsdWU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRibHVlOyB9XG4gIC5mb3JtX19jaGVja2JveC1ncm91cCxcbiAgLmZvcm0gZmllbGRzZXQuZm9ybS1ncm91cCA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAzMHB4OyB9XG4gIC5mb3JtX19jaGVja2JveC1jb250YWluZXIsIC5mb3JtLWNoZWNrIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgLmZvcm0taGFsZiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mb3JtLWhhbGYgLmZvcm1fX2dyb3VwLFxuICAgIC5mb3JtLWhhbGYgLmZvcm0tZ3JvdXAge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLmZvcm0taGFsZiAuZm9ybV9fZ3JvdXA6Zmlyc3QtY2hpbGQsXG4gICAgICAuZm9ybS1oYWxmIC5mb3JtLWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5mb3JtLWFncmVlLS1saXN0IGEuanNfX3Nob3ctYWdyZWUtbW9yZSB7XG4gICAgY29sb3I6ICM0MTMwMjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmZvcm0tYWdyZWUtLWxpc3QgYS5qc19fc2hvdy1hZ3JlZS1tb3JlOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5mb3JtLWFncmVlLS1saXN0IC53cmFwcGVyLWFncmVlLS1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtLWFncmVlLS1saXN0IHAge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gIC5mb3JtLWFncmVlLS1saXN0IHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbiAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxN3B4OyB9XG4gICAgLmZvcm0tYWdyZWUtLWxpc3QgdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gIC5mb3JtLWFncmVlLS1saXN0IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAuZm9ybS1hZ3JlZS0tbGlzdCAuZm9ybS1jaGVjay1sYWJlbDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmZvcm0tYWdyZWUtLWxpc3QgLmZvcm0tY2hlY2stbGFiZWwgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC5mb3JtLWFncmVlLS1saXN0IC5mb3JtLWNoZWNrLWxhYmVsIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuZm9ybS1jb21wYW55LS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtX19jaGVja2JveCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mb3JtX19jaGVja2JveCArIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgICAgLmZvcm1fX2NoZWNrYm94ICsgbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgICAuZm9ybV9fY2hlY2tib3ggKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjYmI5ZjdhO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZvcm1fX2NoZWNrYm94OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICNBMjg2NjE7IH1cbiAgLmZvcm1fX2lucHV0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9ybV9fcmFkaW8sXG4gIC5mb3JtIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7IH1cbiAgICAuZm9ybV9fcmFkaW8gKyBsYWJlbCxcbiAgICAuZm9ybSAuZm9ybS1jaGVjay1pbnB1dCArIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgICAgLmZvcm1fX3JhZGlvICsgbGFiZWwsXG4gICAgICAgIC5mb3JtIC5mb3JtLWNoZWNrLWlucHV0ICsgbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgICAuZm9ybV9fcmFkaW8gKyBsYWJlbDpiZWZvcmUsXG4gICAgICAuZm9ybSAuZm9ybS1jaGVjay1pbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNBMjg2NjE7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZm9ybV9fcmFkaW86Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSxcbiAgICAuZm9ybSAuZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjQTI4NjYxOyB9XG4gICAgLmZvcm1fX3JhZGlvOmZvY3VzLXZpc2libGUgKyBsYWJlbDpiZWZvcmUsXG4gICAgLmZvcm0gLmZvcm0tY2hlY2staW5wdXQ6Zm9jdXMtdmlzaWJsZSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgIzAxNGRhMyAhaW1wb3J0YW50O1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDsgfVxuICAuZm9ybSAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgbGVmdDogMjVweDsgfVxuICAuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICM0MTMwMjU7IH1cbiAgLmZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmZvcm1fX3JhZGlvICsgbGFiZWw6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0EyODY2MTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLmZvcm1fX3Bhc3N3b3JkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvaWNvLWV5ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMThweDsgfVxuICAuZm9ybV9fdGV4dCxcbiAgLmZvcm0gLmZvcm0tdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmZvcm1fX3RleHQsXG4gICAgICAuZm9ybSAuZm9ybS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cbiAgLmZvcm1fX2ZpbGUtY29udGFpbmVyLFxuICAuZm9ybSAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mb3JtX19maWxlLWNvbnRhaW5lciBpbnB1dCxcbiAgICAuZm9ybSAuY3VzdG9tLWZpbGUgaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgLmZvcm1fX2ZpbGUtdGV4dCxcbiAgLmZvcm0gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICBjb2xvcjogIzEzMmE3YjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6ICM0MTMwMjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAuZm9ybV9fZmlsZS10ZXh0OmJlZm9yZSxcbiAgICAuZm9ybSAuY3VzdG9tLWZpbGUtbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAgIC5mb3JtX19maWxlLXRleHQtLXBkZjpiZWZvcmUsXG4gICAgLmZvcm0gLmN1c3RvbS1maWxlLWxhYmVsLS1wZGY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdXZ3JhaiBwcm9qZWt0IHcgcGxpa3UgUERGJzsgfVxuICAgIC5mb3JtX19maWxlLXRleHQ6YWZ0ZXIsXG4gICAgLmZvcm0gLmN1c3RvbS1maWxlLWxhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljby1maWxlLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiA1MHB4OyB9XG4gIC5mb3JtIC5qY2Ytc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWNvbG9yOiAjNDEzMDI1O1xuICAgIGJvcmRlci13aWR0aDogMnB4OyB9XG4gICAgLmZvcm0gLmpjZi1zZWxlY3QgLmpjZi1zZWxlY3Qtb3BlbmVyIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXNtYWxsLWRvd24ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG4gIC5mb3JtIC5qY2YtZm9jdXMgKiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTMyYTdiICFpbXBvcnRhbnQ7IH1cbiAgLmZvcm0gLmpjZi1zZWxlY3QgLmpjZi1zZWxlY3QtdGV4dCB7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLmZvcm0gZmllbGRzZXQuZm9ybS1ncm91cCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5mb3JtIC5mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl0gKyBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjMTMyYTdiO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYycHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAuZm9ybSAuZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyB+IC5jLWJ0bi0tZmlsZSwgLmZvcm0gLmZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMtdmlzaWJsZSB+IC5jLWJ0bi0tZmlsZSB7XG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgIzEzMmE3YjsgfVxuICAuZm9ybSAuZm9ybS1ncm91cC0td2FybiBsYWJlbCAuZm9ybS1lcnJvci1tZXNzYWdlIHtcbiAgICBjb2xvcjogI2ZmMjYxNjtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuZm9ybSAuZm9ybS1ncm91cC0td2FybiBpbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmYyNjE2O1xuICAgIGNvbG9yOiAjZmYyNjE2OyB9XG5cbi5mb3JtLWNvbXBhbnktLXdyYXBwZXIge1xuICBib3JkZXI6IG5vbmU7IH1cblxuZm9ybSAjb3JkZXJzX3Byb2R1Y3RfdGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmZvcm0gI29yZGVyc19wcm9kdWN0X3Byb2plY3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmZvcm0gI29yZGVyc191c2VyX3BvaW50X2lkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5mb3JtICNvcmRlcnNfYW5vbnltb3VzX3BvaW50X2lkLFxuZm9ybSBsYWJlbFtmb3I9b3JkZXJzX2Fub255bW91c19wb2ludF9pZF0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJvZHkgPiAuamNmLXNlbGVjdC1kcm9wIHtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50OyB9XG5cbi5qY2Ytc2VsZWN0LWRyb3AgLmpjZi1zZWxlY3QtZHJvcC1jb250ZW50IHtcbiAgYm9yZGVyLWNvbG9yOiAjMTMyYTdiO1xuICBtYXJnaW46IDAgMTVweDsgfVxuXG4uamNmLWxpc3QtY29udGVudCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvcm1fX2NvbnRhaW5lci0tcXVlc3Rpb25uYXJpZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLmZvcm0tcXVlc3Rpb25uYWlyZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZvcm0tcXVlc3Rpb25uYWlyZSAuZm9ybS1lcnJvci1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb3JtLXF1ZXN0aW9ubmFpcmUgLmZvcm0tZXJyb3ItbWVzc2FnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHJlZDsgfVxuICAuZm9ybS1xdWVzdGlvbm5haXJlIGZpZWxkc2V0LmZvcm0tZ3JvdXAgPiBkaXYge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZm9ybS1xdWVzdGlvbm5haXJlIHRleHRhcmVhIHtcbiAgICB3aWR0aDogOTIlO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuXG4udGV4dC1yZWd1bGF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLypcclxuICogU3R5bGVzIGZvciBXWVNJV1lHIGVkaXRvcnMgbGlrZSBUaW55TUNFIG9yIENLRWRpdG9yXHJcbiAqL1xuLnd5c2l3eWcgKiArIGgxLFxuLnd5c2l3eWcgKiArIGgyLFxuLnd5c2l3eWcgKiArIGgzLFxuLnd5c2l3eWcgKiArIGg0LFxuLnd5c2l3eWcgKiArIGg1LFxuLnd5c2l3eWcgKiArIGg2LFxuLnd5c2l3eWcgKiArIHAsXG4ud3lzaXd5ZyAqICsgYmxvY2txdW90ZSxcbi53eXNpd3lnICogKyBvbCxcbi53eXNpd3lnICogKyB1bCxcbi53eXNpd3lnICogKyBkbCxcbi53eXNpd3lnICogKyB0YWJsZSxcbi53eXNpd3lnICogKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiAxOHB4OyB9XG5cbi53eXNpd3lnIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgLnd5c2l3eWcgbGk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnwrsnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnd5c2l3eWcgbGkgKyAud3lzaXd5ZyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAud3lzaXd5ZyBsaSBvbCxcbiAgLnd5c2l3eWcgbGkgdWwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud3lzaXd5ZyBvbCA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQtbGlzdDsgfVxuICAud3lzaXd5ZyBvbCA+IGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihvcmRlcmVkLWxpc3QpOyB9XG5cbi53eXNpd3lnIGR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBoMSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBoMiB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBoMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBoNCB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBoNSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBoNiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ud3lzaXd5ZyBhIHtcbiAgY29sb3I6ICMwMDljZGM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAud3lzaXd5ZyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzE0NjVmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ud3lzaXd5ZyBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnd5c2l3eWcgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sXG4ud3lzaXd5ZyBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sXG4ud3lzaXd5ZyBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sXG4ud3lzaXd5ZyBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdIHtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi53eXNpd3lnIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLFxuLnd5c2l3eWcgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ud3lzaXd5ZyBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sXG4ud3lzaXd5ZyBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbi53eXNpd3lnIGZpZ3VyZSBpbWcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud3lzaXd5ZyBibG9ja3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLnd5c2l3eWcgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zdWJwYWdlX19pbWFnZSB7XG4gIGhlaWdodDogNjM1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gICAgLnN1YnBhZ2VfX2ltYWdlIHtcbiAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5zdWJwYWdlX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDM1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuc3VicGFnZV9faW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAyNTBweDsgfSB9XG5cbi5zdWJwYWdlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBmb250LWZhbWlseTogXCJvY3RvYmVyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAuc3VicGFnZV9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDMycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5zdWJwYWdlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgLnN1YnBhZ2VfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnN1YnBhZ2VfX2hlYWRpbmcgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjNzY3NTc1O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gICAgICAuc3VicGFnZV9faGVhZGluZyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnN1YnBhZ2VfX2hlYWRpbmcgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgIC5zdWJwYWdlX19oZWFkaW5nIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAuc3VicGFnZV9faGVhZGluZy1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDYwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gICAgICAuc3VicGFnZV9faGVhZGluZy1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5zdWJwYWdlX19oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC02MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLnN1YnBhZ2VfX2hlYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnN1YnBhZ2VfX2hlYWRpbmctZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBmb250LWZhbWlseTogXCJvY3RvYmVyXCIsIHNhbnMtc2VyaWY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAgIC5zdWJwYWdlX19oZWFkaW5nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnN1YnBhZ2VfX2hlYWRpbmctZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAuc3VicGFnZV9faGVhZGluZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuXG4uc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgIC5zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgLnNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5zZWN0aW9uLS1jb25maWd1cmF0b3Ige1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5zZWN0aW9uLS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2OyB9XG4gIC5zZWN0aW9uLS1oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2VjdGlvbi0taGVhZGluZzo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvd2F2ZS5wbmdcIik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5zZWN0aW9uLS1ncmV5LW5leHQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvd2F2ZS1ncmV5LnBuZ1wiKTsgfVxuICAuc2VjdGlvbi0tYnJvd24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy1jaG9jb2xhdGUuanBnXCIpOyB9XG4gIC5zZWN0aW9uLS1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmctYmx1ZS5qcGdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU3OWNiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5zZWN0aW9uLS1ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWJsdWUtbW9iaWxlLmpwZ1wiKTsgfSB9XG4gIC5zZWN0aW9uLS1iMmIge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2JnLWNob2NvbGF0ZS0xLmpwZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2JnLWNob2NvbGF0ZS0yLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDMwJSwgMCUgNzAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAuc2VjdGlvbi0tYjJiIGltZyB7XG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnNlY3Rpb24tLWIyYiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0gfVxuICAuc2VjdGlvbi0tY29udGFjdCB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29jb2EtMS5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNC5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNS5qcGdcIiksIHVybChcIi4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA3MCUsIDAlIDIwJSwgMTAwJSAxMCUsIDAlIDkwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuc2VjdGlvbi0tY29udGFjdCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0gfVxuICAuc2VjdGlvbi0tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMTAwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuc2VjdGlvbi0tcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDsgfSB9XG4gIC5zZWN0aW9uLS1wYWRkaW5nLTIge1xuICAgIHBhZGRpbmc6IDQwcHggMDsgfVxuICAuc2VjdGlvbi0tYWNjb3VudCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAtMTAwcHg7IH1cbiAgLnNlY3Rpb24tLXRoYW5rLXlvdSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNS5qcGdcIiksIHVybChcIi4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTEwJSAtMjAlLCAtMTAlIDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnNlY3Rpb24tLXRoYW5rLXlvdSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0gfVxuICAgIC5zZWN0aW9uLS10aGFuay15b3UgLnN1YmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDsgfVxuICAuc2VjdGlvbl9fb3JkZXItaGVhZGluZyB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuc2VjdGlvbl9fb3JkZXItaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvYmx1ZS1wYXR0ZXJuLmpwZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgIC5zZWN0aW9uX19oZWFkaW5nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZWN0aW9uX19oZWFkaW5nIC5zdWJoZWFkaW5nX19zZWNvbmRhcnktLXdoaXRlIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zZWN0aW9uX19oZWFkaW5nLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2VjdGlvbl9faGVhZGluZy1jb250YWluZXIgLnNsaWRlcl9fZG90cy0tYnJvd24gLnNsaWNrLWRvdHMgbGk6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnNlY3Rpb25fX2hlYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAuc2VjdGlvbl9fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBtYXJnaW46IDMwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuc2VjdGlvbl9fcm93IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5zZWN0aW9uX19yb3ctLXBsYWNlcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbjogMCAtNDBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5zZWN0aW9uX19yb3ctLXBsYWNlcyAuYm94IGEge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgICAuc2VjdGlvbl9fcm93LS1wbGFjZXMge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLnNlY3Rpb25fX2ltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG87IH0gfVxuICAuc2VjdGlvbl9fY29sdW1uIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuc2VjdGlvbl9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zZWN0aW9uX19jb2x1bW4tLWZvcm0ge1xuICAgICAgcGFkZGluZzogMHB4IDUwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAgIC5zZWN0aW9uX19jb2x1bW4tLWZvcm0ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zZWN0aW9uX19jb2x1bW4tLWNlbnRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnNlY3Rpb24tY2VudGVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuc2VjdGlvbi1jZW50ZXIgcCB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50YWJsZSB7XG4gIG1hcmdpbjogODBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLnRhYmxlIHtcbiAgICAgIG1hcmdpbjogNDBweCAwOyB9IH1cbiAgLnRhYmxlIHRoZWFkIHRoIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAudGFibGUgdGhlYWQgdGgge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAudGFibGUgdGhlYWQgdGgge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7IH0gfVxuICAudGFibGUgdGJvZHkgdHIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllOWU5OyB9XG4gIC50YWJsZSB0Ym9keSAuYnRuIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLnRhYmxlIHRib2R5IC5idG4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgIC50YWJsZSB0Ym9keSAuYnRuIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTJweDsgfSB9XG4gIC50YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAudGFibGUgdGJvZHkgdGQge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAudGFibGUgdGJvZHkgdGQge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7IH0gfVxuXG4uaG9tZV9faGVhZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiA0MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAgIC5ob21lX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDsgfSB9XG4gIC5ob21lX19oZWFkaW5nIHNwYW4ge1xuICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwib2N0b2JlclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgICBjb2xvcjogIzEzMmE3YjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gICAgICAuaG9tZV9faGVhZGluZyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4OyB9IH1cblxuLmhvbWVfX21haW4tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBmbGV4LWdyb3c6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLmhvbWVfX21haW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG87IH0gfVxuICAuaG9tZV9fbWFpbi1jb250YWluZXItcm93IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAuaG9tZV9fbWFpbi1jb250YWluZXItcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaG9tZV9fbWFpbi1jb250YWluZXItaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgIC5ob21lX19tYWluLWNvbnRhaW5lci1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaG9tZV9fbWFpbi1iYWRnZXMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXgtZ3JvdzogMDtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuaG9tZV9fbWFpbi1iYWRnZXMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuXG4uaG9tZV9fc2xpZGVyLWRvdHMgLnNsaWNrLWRvdHMge1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLmhvbWVfX3NsaWRlci1kb3RzIC5zbGljay1kb3RzIGxpIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uaG9tZV9fc2xpZGUge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5ob21lX19zbGlkZSBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FrZS1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAuY2FrZS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAuY2FrZS1tb2JpbGUgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDsgfSB9XG5cbi5zbGlkZXJfX2NvbnRhaW5lciAuc2xpZGVyX19hcnJvd3Mge1xuICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuICAuc2xpZGVyX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2xpZGVyX19saW5rIHtcbiAgICBjb2xvcjogIzQxMzAyNTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpZGVyX19pbWFnZSB7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zbGlkZXJfX3NsaWRlIHtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gIC5zbGlkZXJfX2RvdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnNsaWRlcl9fZG90cyAuc2xpY2stZG90cyB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnNsaWRlcl9fZG90cyAuc2xpY2stZG90cyBsaSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAuc2xpZGVyX19kb3RzIC5zbGljay1kb3RzIGxpOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMHB4OyB9XG4gICAgICAgIC5zbGlkZXJfX2RvdHMgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnNsaWRlcl9fZG90cy0tYnJvd24gLnNsaWNrLWRvdHMgbGk6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYmI5ZjdhOyB9XG4gICAgLnNsaWRlcl9fZG90cyBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnNsaWRlcl9fYXJyb3dzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwOCU7XG4gICAgbGVmdDogLTQlO1xuICAgIGhlaWdodDogNzJweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMzZweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgIC5zbGlkZXJfX2Fycm93cyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA1OyB9IH1cbiAgICAuc2xpZGVyX19hcnJvd3MgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIHdpZHRoOiAzOHB4O1xuICAgICAgaGVpZ2h0OiA3MnB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2Fycm93LWxlZnQtYmx1ZS5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5zbGlkZXJfX2Fycm93cyBidXR0b24uc2xpY2stbmV4dCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuc2xpZGVyX19hcnJvd3MtLWJyb3duIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctbGVmdC1icm93bi5wbmdcIik7IH1cblxuLnByb2R1Y3RzX19ib3hlcyB7XG4gIG1hcmdpbjogNDBweCAtMnB4O1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgLnByb2R1Y3RzX19ib3hlcyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5wcm9kdWN0c19fZmluZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDYwcHggMCAxMDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5wcm9kdWN0c19fZmluZC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMzBweCAwIDBweDsgfSB9XG4gIC5wcm9kdWN0c19fZmluZC1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICAgIHdpZHRoOiA4MyU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHJpZ2h0OiAtMTA1cHg7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgIC5wcm9kdWN0c19fZmluZC1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnByb2R1Y3RzX19jb2x1bW4ge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBtYXJnaW46IDAgMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgLnByb2R1Y3RzX19jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4ucHJvZHVjdHNfX3RvcC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmJveCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpO1xuICBtYXJnaW46IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuYm94IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgLmJveC0tbW9kYWwge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmJveC0tZnVsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5ib3gtLWZ1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAuYm94IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ib3hfX2hlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYm94X19zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYm94X19zdWJoZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cbiAgLmJveF9fZGV0YWlsLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMjBweCAwOyB9XG4gIC5ib3hfX2RldGFpbC1maWd1cmUge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5ib3hfX2RldGFpbC1maWd1cmU6OmFmdGVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDQ1cHggMzVweCAjNDEzMDI1O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3BhY2l0eTogMC4zOyB9XG4gIC5ib3hfX2RldGFpbC1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAuYm94X190aXRsZSwgLmJveF9fYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgLmJveF9fdGl0bGUsIC5ib3hfX2FkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAuYm94X19hZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5ib3hfX3N1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5ib3hfX3N1YnRpdGxlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNkZmQyYzE7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIC5ib3hfX3N1YnRpdGxlLS1zZWNvbmRhcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmJveF9fc3VidGl0bGUtLXNlY29uZGFyeTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gIC5ib3hfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAuYm94X19yb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5ib3hfX2NvbHVtbiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwOyB9XG4gICAgLmJveF9fY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgICB3aWR0aDogNTUlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAuYm94X19jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmJveF9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICB3aWR0aDogNDUlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAuYm94X19jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmJveF9fY29sdW1uLS1ib3R0b20ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5ib3hfX2ljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIC5ib3hfX2ljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjsgfVxuICAgIC5ib3hfX2ljb24tLXRlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby10ZWwucG5nXCIpOyB9XG4gICAgLmJveF9faWNvbi0tZW1haWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY28tZW1haWwucG5nXCIpOyB9XG4gICAgLmJveF9faWNvbi0tbWFwIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAuYm94X19pY29uLS1tYXA6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby1waW4ucG5nXCIpOyB9XG4gICAgICAuYm94X19pY29uLS1tYXA6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LXJpZ2h0LXNtYWxsLnBuZ1wiKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmJveF9faWNvbi0tZGF0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmJveF9faWNvbi0tZGF0ZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby10aW1lLnBuZ1wiKTsgfVxuICAgICAgLmJveF9faWNvbi0tZGF0ZTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctcmlnaHQtc21hbGwucG5nXCIpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuICAgICAgLmJveF9faWNvbi0tZGF0ZS1ub3JtYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuYm94X19pY29uLS1kYXRlLW5vcm1hbDo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgIC5ib3hfX2ljb24tLWRhdGUuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxuICAuYm94X19kYXRlLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYm94X19kYXRlLXRleHQtLXRvdGFsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAuYm94IGEge1xuICAgIGNvbG9yOiAjNDEzMDI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5pbmZvLWJveCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBwYWRkaW5nOiA4cHggMTBweCA4cHggNTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoXCIuLi9pbWFnZXMvaWNvLWluZm8ucG5nXCIpIG5vLXJlcGVhdCBsZWZ0IDE1cHggdG9wIDE1cHg7XG4gIGNvbG9yOiAjNDEzMDI1O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIG1hcmdpbjogMzVweCAwO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5pbmZvLWJveC0tZm9udC1iaWcge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDsgfVxuICAuaW5mby1ib3gtLW5vLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5pbmZvLWJveC0tc2l6ZS0xNSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIC5pbmZvLWJveC0tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA4MzBweDsgfVxuICAgIC5pbmZvLWJveC0tY2VudGVyIGEge1xuICAgICAgY29sb3I6ICM0MTMwMjU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmluZm8tYm94LS1jZW50ZXIgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5hcnRpY2xlc19fYm94ZXMtY29udGFpbmVyIHtcbiAgcGFkZGluZzogNTBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgLTJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5hcnRpY2xlc19fYm94ZXMtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmFydGljbGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgIC5hcnRpY2xlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuYXJ0aWNsZV9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG5cbi5hcnRpY2xlX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiA4MHB4IDkwcHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLmFydGljbGVfX2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAuYXJ0aWNsZV9fY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAuYXJ0aWNsZV9fY29udGFpbmVyIGFzaWRlIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSBhbmQgKG1heC13aWR0aDogOTU5cHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAuYXJ0aWNsZV9fY29udGFpbmVyIGFzaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmFydGljbGVfX2NvbnRhaW5lciBhc2lkZSB0aW1lIHtcbiAgICAgIG9wYWNpdHk6IC42OyB9XG4gICAgLmFydGljbGVfX2NvbnRhaW5lciBhc2lkZSBociB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgYmFja2dyb3VuZDogIzVjYzE5NDtcbiAgICAgIG1hcmdpbjogMzBweCAwOyB9XG4gIC5hcnRpY2xlX19jb250YWluZXIgYXJ0aWNsZSB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgICBsZWZ0OiA4LjMzMzMzJTtcbiAgICByaWdodDogYXV0bzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkgYW5kIChtYXgtd2lkdGg6IDk1OXB4KSBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgLmFydGljbGVfX2NvbnRhaW5lciBhcnRpY2xlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwJTtcbiAgICByaWdodDogYXV0bzsgfSB9XG5cbi5hcnRpY2xlX190aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYXJ0aWNsZV9fdGh1bWJuYWlsOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvLWdsYXNzLnBuZ1wiKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgei1pbmRleDogMztcbiAgICBib3R0b206IDVweDsgfVxuICAuYXJ0aWNsZV9fdGh1bWJuYWlsOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgYmFja2dyb3VuZDogIzVjYzE5NDtcbiAgICByaWdodDogLTEwMHB4O1xuICAgIGJvdHRvbTogLTEwMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAuODtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5hcnRpY2xlX190aHVtYm5haWw6aG92ZXI6YmVmb3JlIHtcbiAgICByaWdodDogLTkwcHg7XG4gICAgYm90dG9tOiAtOTBweDsgfVxuXG5hcnRpY2xlIGgyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgY29sb3I6ICM1Y2MxOTQ7XG4gIGZvbnQtc2l6ZTogMjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICBhcnRpY2xlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgYXJ0aWNsZSBoMiB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG5hcnRpY2xlIGgzIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgY29sb3I6ICM1Y2MxOTQ7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICBhcnRpY2xlIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgYXJ0aWNsZSBoMyB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuXG5hcnRpY2xlIHAge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXNpemU6IDIycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgYXJ0aWNsZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgYXJ0aWNsZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbmFydGljbGUgYSB7XG4gIGNvbG9yOiAjMTMyYTdiO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYXJ0aWNsZSBsaSxcbmFydGljbGUgYmxvY2txdW90ZSxcbmFydGljbGUgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICBhcnRpY2xlIGxpLFxuICAgIGFydGljbGUgYmxvY2txdW90ZSxcbiAgICBhcnRpY2xlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICBhcnRpY2xlIGxpLFxuICAgIGFydGljbGUgYmxvY2txdW90ZSxcbiAgICBhcnRpY2xlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuYXJ0aWNsZSB1bCBsaTpiZWZvcmUge1xuICB0b3A6IDEycHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICBhcnRpY2xlIHVsIGxpOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0b3A6IDZweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICBhcnRpY2xlIHVsIGxpOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuXG5hcnRpY2xlIG9sLCBhcnRpY2xlIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG5hcnRpY2xlIGJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGJhY2tncm91bmQ6ICM1Y2MxOTQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cblxuYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkge1xuICBtYXgtd2lkdGg6IDk1MHB4O1xuICBtYXJnaW46IDUwcHggYXV0bzsgfVxuICBhcnRpY2xlLmFydGljbGUtLXNlY29uZGFyeSA+IG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBtYWluOyB9XG4gICAgYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkgPiBvbCA+IGxpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAgIGFydGljbGUuYXJ0aWNsZS0tc2Vjb25kYXJ5ID4gb2wgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gICAgICBhcnRpY2xlLmFydGljbGUtLXNlY29uZGFyeSA+IG9sID4gbGk6YmVmb3JlIHtcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IG1haW47XG4gICAgICAgIGNvbnRlbnQ6IFwiwqdcIiBjb3VudGVyKG1haW4pO1xuICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm9jdG9iZXJcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgY29sb3I6ICMxMzJhN2I7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAgIGFydGljbGUuYXJ0aWNsZS0tc2Vjb25kYXJ5ID4gb2wgPiBsaTpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4OyB9IH1cbiAgICAgIGFydGljbGUuYXJ0aWNsZS0tc2Vjb25kYXJ5ID4gb2wgPiBsaSBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgICAgICBhcnRpY2xlLmFydGljbGUtLXNlY29uZGFyeSA+IG9sID4gbGkgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgICAgYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkgPiBvbCA+IGxpID4gb2wgbGkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAgIGFydGljbGUuYXJ0aWNsZS0tc2Vjb25kYXJ5ID4gb2wgPiBsaSA+IG9sIGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgICAgICAgYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkgPiBvbCA+IGxpID4gb2wgbGkgPiB1bCxcbiAgICAgICAgYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkgPiBvbCA+IGxpID4gb2wgbGkgPiBvbCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgICAgIGFydGljbGUuYXJ0aWNsZS0tc2Vjb25kYXJ5ID4gb2wgPiBsaSA+IG9sIGxpID4gdWwgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTsgfVxuICAgICAgICBhcnRpY2xlLmFydGljbGUtLXNlY29uZGFyeSA+IG9sID4gbGkgPiBvbCBsaSA+IG9sIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkgPiBvbCA+IGxpID4gdWwgbGkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAgICAgYXJ0aWNsZS5hcnRpY2xlLS1zZWNvbmRhcnkgPiBvbCA+IGxpID4gdWwgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH0gfVxuICAgICAgICBhcnRpY2xlLmFydGljbGUtLXNlY29uZGFyeSA+IG9sID4gbGkgPiB1bCBsaSA+IHVsLFxuICAgICAgICBhcnRpY2xlLmFydGljbGUtLXNlY29uZGFyeSA+IG9sID4gbGkgPiB1bCBsaSA+IG9sIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIHdpZHRoOiAyMjBweDtcbiAgaGVpZ2h0OiAyMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5iYWRnZSB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBoZWlnaHQ6IDE4MHB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvOyB9IH1cbiAgLmJhZGdlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2JhZGdlLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLmJhZGdlOjphZnRlciB7XG4gICAgei1pbmRleDogMTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDQ1cHggMzVweCAjNDEzMDI1O1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAuYmFkZ2UtLXNtYWxsIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuYmFkZ2UtLXNtYWxsIC5iYWRnZV9faW1hZ2Uge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuYmFkZ2VfX3RleHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjNDEzMDI1O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmJhZGdlX190ZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDsgfSB9XG4gICAgLmJhZGdlX190ZXh0IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgLmJhZGdlX190ZXh0LS1zZWNvbmRhcnkge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgIC5iYWRnZV9fdGV4dC0tY29udGVudCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgLmJhZGdlX190ZXh0IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYmFkZ2VfX3RleHQgc3BhbiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC0yNnB4O1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBjb2xvcjogIzEzMmE3YjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwib2N0b2JlclwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gIC5iYWRnZV9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5iYWRnZV9fY29udGFpbmVyLS1zZWNvbmRhcnkge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLmJhZGdlX19jb250YWluZXItLXNlY29uZGFyeSB7XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAuYmFkZ2VfX2NvbnRhaW5lci0tc2Vjb25kYXJ5IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmJhZGdlX19jb250YWluZXI6Zm9jdXMtdmlzaWJsZSAuYmFkZ2VfX2JhY2tncm91bmQtaW1hZ2UsIC5iYWRnZV9fY29udGFpbmVyLmFjdGl2ZSAuYmFkZ2VfX2JhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5iYWRnZV9fY29udGFpbmVyOmZvY3VzLXZpc2libGUgLmJhZGdlOjpiZWZvcmUsIC5iYWRnZV9fY29udGFpbmVyLmFjdGl2ZSAuYmFkZ2U6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFkZ2UtaG92ZXIucG5nXCIpOyB9XG4gICAgLmJhZGdlX19jb250YWluZXI6Zm9jdXMtdmlzaWJsZSAuYmFkZ2VfX2NvbnRlbnQsIC5iYWRnZV9fY29udGFpbmVyLmFjdGl2ZSAuYmFkZ2VfX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLmJhZGdlX19jb250YWluZXItLWxpbmsgLmJhZGdlOjpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQ7IH1cbiAgICAuYmFkZ2VfX2NvbnRhaW5lci0tbGluazpob3ZlciAuYmFkZ2U6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYmFkZ2UtaG92ZXItc2Vjb25kYXJ5LnBuZ1wiKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAuYmFkZ2VfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYmFkZ2VfX2JhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAlIDYwJTsgfVxuICAuYmFkZ2VfX2NvbnRhaW5lci10ZXh0IHtcbiAgICBmb250LXNpemU6IDcwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgY29sb3I6ICMxMzJhN2I7XG4gICAgZm9udC1mYW1pbHk6IFwib2N0b2JlclwiLCBzYW5zLXNlcmlmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5iYWRnZV9fY29udGFpbmVyLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgLmJhZGdlX19saXN0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYmFkZ2VfX2xpc3QtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmJhZGdlX19saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmJhZGdlX19jb250ZW50IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuXG4udGFicyB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgbWFyZ2luOiA2MHB4IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLnRhYnMge1xuICAgICAgbWFyZ2luOiAzMHB4IGF1dG87IH0gfVxuICAudGFic19fbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAudGFic19fbmF2IHtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLnRhYnNfX25hdiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gICAgLnRhYnNfX25hdjo6YmVmb3JlLCAudGFic19fbmF2OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjYmU5MzVlO1xuICAgICAgYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgICAgLnRhYnNfX25hdjo6YmVmb3JlLCAudGFic19fbmF2OjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgICAgLnRhYnNfX25hdjo6YmVmb3JlLCAudGFic19fbmF2OjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7IH0gfVxuICAgIC50YWJzX19uYXY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI2JlOTM1ZSwgdHJhbnNwYXJlbnQpOyB9XG4gICAgLnRhYnNfX25hdjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2JlOTM1ZSwgdHJhbnNwYXJlbnQpOyB9XG4gICAgLnRhYnNfX25hdi1pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNiZTkzNWU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICAudGFic19fbmF2LWl0ZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgICAudGFic19fbmF2LWl0ZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC50YWJzX19uYXYtaXRlbS5hY3RpdmUge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjYmU5MzVlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzMHB4O1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMzBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAudGFic19fc2luZ2xlLXRhYiB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGFic19fc2luZ2xlLXRhYi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNob2NvbGF0ZS1tYXBfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLmNob2NvbGF0ZS1tYXBfX2NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5jaG9jb2xhdGUtbWFwX19tYXAge1xuICB3aWR0aDogNjAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWFwLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLmNob2NvbGF0ZS1tYXBfX21hcCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuY2hvY29sYXRlLW1hcF9fbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmNob2NvbGF0ZS1tYXBfX21vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogNTAwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgcGFkZGluZzogMzBweDtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogNTBweDtcbiAgbGVmdDogNTBweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5jaG9jb2xhdGUtbWFwX19tb2RhbCB7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgLmNob2NvbGF0ZS1tYXBfX21vZGFsIC5tb2RhbF9fY2xvc2Uge1xuICAgIHRvcDogMzJweDtcbiAgICByaWdodDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcxOXB4KSB7XG4gICAgICAuY2hvY29sYXRlLW1hcF9fbW9kYWwgLm1vZGFsX19jbG9zZSB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuXG4uY2hvY29sYXRlLW1hcF9fY2l0eSB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMjhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5jaG9jb2xhdGUtbWFwX19jaXR5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4uY2hvY29sYXRlLW1hcF9fbmFtZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5jaG9jb2xhdGUtbWFwX19uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5jaG9jb2xhdGUtbWFwX19uYW1lOmFmdGVyIHtcbiAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvLXBpbi5wbmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIHRvcDogMDsgfVxuXG4uY2hvY29sYXRlLW1hcF9fbGlzdCB7XG4gIG1heC1oZWlnaHQ6IDI2NXB4O1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICAuY2hvY29sYXRlLW1hcF9fbGlzdCBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZmQyYzE7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNob2NvbGF0ZS1tYXBfX2xpc3QgbGkgcDpub3QoLmNob2NvbGF0ZS1tYXBfX25hbWUpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzE5cHgpIHtcbiAgICAgICAgLmNob2NvbGF0ZS1tYXBfX2xpc3QgbGkgcDpub3QoLmNob2NvbGF0ZS1tYXBfX25hbWUpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAuY2hvY29sYXRlLW1hcF9fbGlzdCBsaSBwOm5vdCguY2hvY29sYXRlLW1hcF9fbmFtZSk6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2hvY29sYXRlLW1hcF9fcGluLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA2cHg7XG4gIHRvcDogNnB4O1xuICBiYWNrZ3JvdW5kOiAjMTMyYTdiO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uY2hvY29sYXRlLW1hcF9fbnVtYmVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiA0MHB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgY29sb3I6ICMxMzJhN2I7IH1cblxuLmNob2NvbGF0ZS1tYXBfX3BvaW50LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjsgfVxuICAuY2hvY29sYXRlLW1hcF9fcG9pbnQtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgei1pbmRleDogNDsgfVxuICAgIC5jaG9jb2xhdGUtbWFwX19wb2ludC1jb250YWluZXIuYWN0aXZlIC5jaG9jb2xhdGUtbWFwX19tb2RhbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jaG9jb2xhdGUtbWFwX19wb2ludC1jb250YWluZXIuYWN0aXZlIC5jaG9jb2xhdGUtbWFwX19waW4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3Bpbi1ibHVlLnBuZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL3Bpbi1iZy5wbmdcIik7IH1cblxuLmNob2NvbGF0ZS1tYXBfX3BpbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGluLWJsYWNrLnBuZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL3Bpbi1iZy5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuY2hvY29sYXRlLW1hcF9fcGluOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGluLWJsdWUucG5nXCIpLCB1cmwoXCIuLi9pbWFnZXMvcGluLWJnLnBuZ1wiKTsgfVxuXG4uY2hvY29sYXRlLW1hcF9fYm94LWNvbnRhaW5lciB7XG4gIHdpZHRoOiA0MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAuY2hvY29sYXRlLW1hcF9fYm94LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuY2hvY29sYXRlLW1hcF9fYm94LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uY2hvY29sYXRlLW1hcF9fYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQxMzAyNTtcbiAgcGFkZGluZzogNDBweCAyMHB4IDIwcHg7XG4gIG1hcmdpbi10b3A6IDIwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgIC5jaG9jb2xhdGUtbWFwX19ib3gge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7IH0gfVxuICAuY2hvY29sYXRlLW1hcF9fYm94IGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5jaG9jb2xhdGUtbWFwX19ib3gtY291bnRlciB7XG4gICAgbWFyZ2luOiAtNzBweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDEyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJvY3RvYmVyXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuY2hvY29sYXRlLW1hcF9fYm94LWNvdW50ZXIgc3BhbiB7XG4gICAgICBjb2xvcjogIzEzMmE3YjtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9XG4gIC5jaG9jb2xhdGUtbWFwX19ib3gtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHJpZ2h0OiAtMzgwcHg7XG4gICAgdG9wOiAtMTAwcHg7IH1cblxuLmNob2NvbGF0ZS1tYXBfX2J0biB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTtcbiAgbWF4LXdpZHRoOiA4MCU7IH1cblxuLmNob2NvbGF0ZS1tYXBfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbi5jaG9jb2xhdGUtbWFwX19zZWN0aW9uLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgLmNob2NvbGF0ZS1tYXBfX3NlY3Rpb24taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDsgfSB9XG5cbi5tYXAge1xuICBoZWlnaHQ6IDYwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1hcC0tc21hbGwge1xuICAgIGhlaWdodDogNDAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAubWFwIHtcbiAgICAgIGhlaWdodDogNDAwcHg7IH0gfVxuICAubWFwX19wb3B1cC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTEwMCUpO1xuICAgIHBhZGRpbmc6IDIwcHggMzVweCAyMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBtaW4td2lkdGg6IDE1MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5tYXBfX3BvcHVwLWNvbnRhaW5lciB7XG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7IH0gfVxuICAubWFwX19jb250ZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1hcF9fY29udGVudC10aXRsZS0tc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5tYXBfX2NvbnRlbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9IH1cbiAgLm1hcF9fYnV0dG9uLWNsb3NlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL2ljby1jcm9zcy5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IDEwcHg7IH1cbiAgLm1hcF9fY29udGVudC1hZGRyZXNzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubWFwX19jb250ZW50LWFkZHJlc3MtLXNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5tYXBfX2NvbnRlbnQtYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHggIWltcG9ydGFudDsgfSB9XG5cbi5tb2RhbCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAubW9kYWxfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLm1vZGFsX19jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogNzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tb2RhbF9fY29udGFpbmVyLS1kaXNhYmxlZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm1vZGFsX19jb250YWluZXItLWlubGluZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5tb2RhbF9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWFnZXMvaWNvLWNyb3NzLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAubW9kYWxfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLm1vZGFsX19jb250ZW50IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLm1vZGFsX19jb250ZW50LS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDUwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgICAgICAubW9kYWxfX2NvbnRlbnQtLXBhZGRpbmcge1xuICAgICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAubW9kYWxfX3RvcCB7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAubW9kYWxfX21hcCB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuXG4udG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6ICMxMzJhN2I7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGxlZnQ6IDBweDtcbiAgdG9wOiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnRvb2x0aXAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRvb2x0aXBfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC50b29sdGlwX19jb250YWluZXI6aG92ZXIgLnRvb2x0aXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJhc2tldF9faXRlbS1jb250YWluZXIge1xuICBwYWRkaW5nOiA4cHggMTBweCA4cHggNDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgbWFyZ2luOiA1MHB4IDAgMzBweDtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5iYXNrZXRfX2l0ZW0tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBtYXJnaW46IDMwcHggMDsgfSB9XG4gIC5iYXNrZXRfX2l0ZW0tY29udGFpbmVyLS1zbWFsbCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5iYXNrZXRfX2l0ZW0tY29udGFpbmVyLS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uYmFza2V0X19pdGVtLXRvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5iYXNrZXRfX2l0ZW0tdG9wIGZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJhc2tldF9faXRlbS10b3AgZmlndXJlOjphZnRlciB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0NXB4IDM1cHggIzQxMzAyNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG9wYWNpdHk6IDAuMzsgfVxuICAgIC5iYXNrZXRfX2l0ZW0tdG9wIGZpZ3VyZSBpbWcge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAuYmFza2V0X19pdGVtLXRvcCAuYmFza2V0X19pbWFnZSB7XG4gICAgd2lkdGg6IDEzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLmJhc2tldF9faXRlbS10b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5iYXNrZXRfX2l0ZW0tdG9wIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAuYmFza2V0X19pdGVtLXRvcCA+ICoge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmJhc2tldF9fdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDM1JTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5iYXNrZXRfX3RleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5iYXNrZXRfX3RleHQtY29udGFpbmVyLS1zbWFsbCB7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYmFza2V0X190ZXh0LWNvbnRhaW5lci0tc21hbGwge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5iYXNrZXRfX3RleHQtY29udGFpbmVyIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIC5iYXNrZXRfX3RleHQtY29udGFpbmVyIGEge1xuICAgIGNvbG9yOiAjNDEzMDI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5iYXNrZXRfX3RleHQtY29udGFpbmVyIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljby1pbmZvLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYmFza2V0X190ZXh0LWNvbnRhaW5lciBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6ICMxMzJhN2I7IH1cbiAgICAgICAgLmJhc2tldF9fdGV4dC1jb250YWluZXIgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG5cbi5iYXNrZXRfX3F1YW50aXR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgNDBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmJhc2tldF9fcXVhbnRpdHktLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cblxuLmJhc2tldF9fZXJyb3Ige1xuICBjb2xvcjogI2ZmMjYxNjtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5iYXNrZXRfX3F1YW50aXR5LWNvbnRhaW5lciwgLmJhc2tldF9fcHJpY2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5iYXNrZXRfX3F1YW50aXR5LWNvbnRhaW5lciBwLCAuYmFza2V0X19wcmljZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwIDVweDsgfVxuXG4uYmFza2V0X19lbXB0eS1tZXNzYWdlIHtcbiAgbWFyZ2luOiAxMDBweCAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM2NjY7IH1cblxuLmJhc2tldF9fbnVtYmVyIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdXJsKFwiLi4vaW1hZ2VzL2ljby1udW1iZXIucG5nXCIpIGNlbnRlciBjZW50ZXI7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5iYXNrZXRfX251bWJlci1idXR0b24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuYmFza2V0X19udW1iZXItYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMTMyYTdiOyB9XG4gIC5iYXNrZXRfX251bWJlci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYmFza2V0X19udW1iZXItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uYmFza2V0X19yZW1vdmUtYnV0dG9uIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljby1iaW4ucG5nXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDAgMTBweDsgfVxuXG4uYmFza2V0X19wcmljZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuICAuYmFza2V0X19wcmljZS0tc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuYmFza2V0X19wcmljZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5iYXNrZXRfX3ByaWNlLWNvbnRhaW5lcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMjUlO1xuICAgICAgYmFja2dyb3VuZDogI2RmZDJjMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgICAgLmJhc2tldF9fcHJpY2UtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuYmFza2V0X19wcmljZS1jb250YWluZXItLXNtYWxsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cblxuLmJhc2tldF9fbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYmFza2V0X19uYW1lLS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4uYmFza2V0X19pdGVtLWJvdHRvbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAuYmFza2V0X19pdGVtLWJvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5iYXNrZXRfX2xpbmsge1xuICBjb2xvcjogIzQxMzAyNTtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogNXB4IDE1cHggNXB4IDVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgIC5iYXNrZXRfX2xpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgLmJhc2tldF9fbGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuYmFza2V0X19saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzEzMmE3YjsgfVxuICAuYmFza2V0X19saW5rLS1jcmVhdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY28tcGx1cy5wbmdcIik7IH1cbiAgICAuYmFza2V0X19saW5rLS1jcmVhdGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby1wbHVzLWJsdWUucG5nXCIpOyB9XG4gIC5iYXNrZXRfX2xpbmstLXNhdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY28tZG93bmxvYWQucG5nXCIpOyB9XG4gICAgLmJhc2tldF9fbGluay0tc2F2ZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvLWRvd25sb2FkLWJsdWUucG5nXCIpOyB9XG5cbi5iYXNrZXQtLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM0MTMwMjU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gIC5iYXNrZXQtLXRhYmxlIC50aXRsZSxcbiAgLmJhc2tldC0tdGFibGUgLnN1bSxcbiAgLmJhc2tldC0tdGFibGUgLnZhbHVlLFxuICAuYmFza2V0LS10YWJsZSAuY29kZSxcbiAgLmJhc2tldC0tdGFibGUgLmRlbGl2ZXJ5IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYmFza2V0LS10YWJsZSAudGl0bGUsXG4gICAgICAuYmFza2V0LS10YWJsZSAuc3VtLFxuICAgICAgLmJhc2tldC0tdGFibGUgLnZhbHVlLFxuICAgICAgLmJhc2tldC0tdGFibGUgLmNvZGUsXG4gICAgICAuYmFza2V0LS10YWJsZSAuZGVsaXZlcnkge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gIC5iYXNrZXQtLXRhYmxlIC50aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmQyYzE7IH1cbiAgLmJhc2tldC0tdGFibGUgLnN1bSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZmQyYzE7IH1cbiAgLmJhc2tldC0tdGFibGUgLnZhbHVlLFxuICAuYmFza2V0LS10YWJsZSAuY29kZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTU5cHgpIHtcbiAgICAgIC5iYXNrZXQtLXRhYmxlIC52YWx1ZSxcbiAgICAgIC5iYXNrZXQtLXRhYmxlIC5jb2RlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLmJhc2tldC0tdGFibGUgLmNvZGUge1xuICAgIGNvbG9yOiAjMzFlMzVmO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJhc2tldC0tdGFibGUgLnRpdGxlIHNwYW4sXG4gIC5iYXNrZXQtLXRhYmxlIC5zdW0gc3BhbixcbiAgLmJhc2tldC0tdGFibGUgLnZhbHVlIHNwYW4sXG4gIC5iYXNrZXQtLXRhYmxlIC5jb2RlIHNwYW4sXG4gIC5iYXNrZXQtLXRhYmxlIC5kZWxpdmVyeSBzcGFuIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAuYmFza2V0LS10YWJsZSAudGl0bGUgc3BhbixcbiAgICAgIC5iYXNrZXQtLXRhYmxlIC5zdW0gc3BhbixcbiAgICAgIC5iYXNrZXQtLXRhYmxlIC52YWx1ZSBzcGFuLFxuICAgICAgLmJhc2tldC0tdGFibGUgLmNvZGUgc3BhbixcbiAgICAgIC5iYXNrZXQtLXRhYmxlIC5kZWxpdmVyeSBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLmJhc2tldC0tdGFibGUgLmRlbGl2ZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgLmJhc2tldC0tdGFibGUgLmRlbGl2ZXJ5OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAxMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJhc2tldC0tdGFibGUgLmRlbGl2ZXJ5IHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYmFza2V0LS10YWJsZSAuZGVsaXZlcnkgcCBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzUlOyB9XG4gICAgLmJhc2tldC0tdGFibGUgLmRlbGl2ZXJ5IHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDEycHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYmFza2V0LS10YWJsZS1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgLmJhc2tldC0tdGFibGUtc21hbGwgLnZhbHVlLFxuICAgIC5iYXNrZXQtLXRhYmxlLXNtYWxsIC5jb2RlLFxuICAgIC5iYXNrZXQtLXRhYmxlLXNtYWxsIC5zdW0ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAgIC5iYXNrZXQtLXRhYmxlLXNtYWxsIC52YWx1ZSBzcGFuLFxuICAgICAgLmJhc2tldC0tdGFibGUtc21hbGwgLmNvZGUgc3BhbixcbiAgICAgIC5iYXNrZXQtLXRhYmxlLXNtYWxsIC5zdW0gc3BhbiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAuYmFza2V0LS10YWJsZS1zbWFsbCAudmFsdWUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZmQyYzE7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgIC5iYXNrZXQtLXRhYmxlLXNtYWxsIC5zdW0ge1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuYmFza2V0LS10YWJsZSAudGl0bGUtYm94IHtcbiAgICBtYXJnaW46IDEwcHggMCA1cHggMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuYmFza2V0LS10YWJsZSAuZGVzYy1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uYmFza2V0LS1mb3JtLWNvZGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHdyYXA7IH1cbiAgLmJhc2tldC0tZm9ybS1jb2RlIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5iYXNrZXQtLWZvcm0tY29kZSAuYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5iYXNrZXQtLWZvcm0tY29kZSAuY29kZS1lcnJvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogcmVkO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuXG4uZGlzYWJsZWQtYm94IHtcbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLmNvbmZpZ3VyYXRvcl9fbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDUwcHggMCAwOyB9XG4gIC5jb25maWd1cmF0b3JfX25hdiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY29uZmlndXJhdG9yX19uYXYgbGkge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDI1cHg7XG4gICAgcGFkZGluZzogMTVweCAyNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTVweCBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgICAgLmNvbmZpZ3VyYXRvcl9fbmF2IGxpIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5jb25maWd1cmF0b3JfX25hdiBsaTpudGgtY2hpbGQoMSkge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby1zaXplLnBuZ1wiKTsgfVxuICAgIC5jb25maWd1cmF0b3JfX25hdiBsaTpudGgtY2hpbGQoMikge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljby1ib3JkZXIucG5nXCIpOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fbmF2IGxpOm50aC1jaGlsZCgzKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvLXByb2plY3QucG5nXCIpOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fbmF2IGxpLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzEzMmE3YjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5jb25maWd1cmF0b3JfX3RhYnMge1xuICBwYWRkaW5nOiAyMHB4IDYwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5jb25maWd1cmF0b3JfX3RhYnMge1xuICAgICAgcGFkZGluZzogMjBweDsgfSB9XG5cbi5jb25maWd1cmF0b3JfX2hlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIGZvbnQtc2l6ZTogMjZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5jb25maWd1cmF0b3JfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5jb25maWd1cmF0b3JfX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMDBweDsgfVxuXG4uY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MTlweCkge1xuICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwIGlucHV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lciAuZm9ybS1ncm91cCBpbnB1dCArIGxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk1OXB4KSB7XG4gICAgICAgICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwIGlucHV0ICsgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lciAuZm9ybS1ncm91cCBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIgLmZvcm0tZ3JvdXAgaW5wdXQgKyBsYWJlbDphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDI1cHgpO1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDE1MHB4IDAgYmxhY2s7XG4gICAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMTMyYTdiOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwOm50aC1jaGlsZCgxKSBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLXNpemUtcy5wbmdcIik7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDEpIGlucHV0OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1zaXplLXMucG5nXCIpLCB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmdcIik7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDIpIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctc2l6ZS1tLnBuZ1wiKTsgfVxuICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lciAuZm9ybS1ncm91cDpudGgtY2hpbGQoMikgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLXNpemUtbS5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgOTMlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwOm50aC1jaGlsZCgzKSBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLXNpemUtbC5wbmdcIik7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDMpIGlucHV0OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1zaXplLWwucG5nXCIpLCB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8sIDEwMCU7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIgLmZvcm0tZ3JvdXA6aG92ZXIgbGFiZWwge1xuICAgICAgY29sb3I6ICMxMzJhN2I7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXIgLmZvcm0tZ3JvdXA6aG92ZXI6bnRoLWNoaWxkKDEpIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctc2l6ZS1zLnBuZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nXCIpOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwOmhvdmVyOm50aC1jaGlsZCgyKSBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLXNpemUtbS5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgOTMlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyIC5mb3JtLWdyb3VwOmhvdmVyOm50aC1jaGlsZCgzKSBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLXNpemUtbC5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgMTAwJTsgfVxuICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cCBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cCBpbnB1dCArIGxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwcHg7IH1cbiAgICAgICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXAgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cDpudGgtY2hpbGQoMSkgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cDpudGgtY2hpbGQoMSkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci0xLnBuZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDIpIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLTIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDIpIGlucHV0OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMi5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgMTAwJTsgfVxuICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lci0tYm9yZGVyIC5mb3JtLWdyb3VwOm50aC1jaGlsZCgzKSBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci0zLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfVxuICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lci0tYm9yZGVyIC5mb3JtLWdyb3VwOm50aC1jaGlsZCgzKSBpbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLTMucG5nXCIpLCB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUsIDEwMCU7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cDpudGgtY2hpbGQoNCkgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cDpudGgtY2hpbGQoNCkgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci00LnBuZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDUpIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLTUucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXA6bnRoLWNoaWxkKDUpIGlucHV0OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNS5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgMTAwJTsgfVxuICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lci0tYm9yZGVyIC5mb3JtLWdyb3VwOmhvdmVyIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMTMyYTdiOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXA6aG92ZXI6bnRoLWNoaWxkKDEpIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLTEucG5nXCIpLCB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUsIDEwMCU7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cDpob3ZlcjpudGgtY2hpbGQoMikgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMi5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgMTAwJTsgfVxuICAgIC5jb25maWd1cmF0b3JfX3JhZGlvLWNvbnRhaW5lci0tYm9yZGVyIC5mb3JtLWdyb3VwOmhvdmVyOm50aC1jaGlsZCgzKSBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci0zLnBuZ1wiKSwgdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlOyB9XG4gICAgLmNvbmZpZ3VyYXRvcl9fcmFkaW8tY29udGFpbmVyLS1ib3JkZXIgLmZvcm0tZ3JvdXA6aG92ZXI6bnRoLWNoaWxkKDQpIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLTQucG5nXCIpLCB1cmwoXCIuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUsIDEwMCU7IH1cbiAgICAuY29uZmlndXJhdG9yX19yYWRpby1jb250YWluZXItLWJvcmRlciAuZm9ybS1ncm91cDpob3ZlcjpudGgtY2hpbGQoNSkgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNS5wbmdcIiksIHVybChcIi4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSwgMTAwJTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMjBweCAwOyB9XG4gIC50YWJzIC50YWIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGFicyAudGFiIC5mb3JtLWdyb3VwLS1maWxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC50YWJzIC50YWIgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLnRhYnMgLnRhYiBpbnB1dFt0eXBlPVwiZmlsZVwiXSArIGxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb2xvcjogIzEzMmE3YjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICAudGFicyAudGFiIGlucHV0W3R5cGU9XCJmaWxlXCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWFnZXMvaWNvLXBsdXMtYmx1ZS5wbmdcIik7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAzcHg7IH1cbiAgICAgIC50YWJzIC50YWIgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMgfiAuYy1idG4tLWZpbGUsIC50YWJzIC50YWIgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMtdmlzaWJsZSB+IC5jLWJ0bi0tZmlsZSB7XG4gICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCAjMTMyYTdiOyB9XG4gICAgLnRhYnMgLnRhYi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNpdGVtYXBfX2xpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuLnNpdGVtYXBfX2l0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luOiAwOyB9XG4gIC5zaXRlbWFwX19pdGVtIGEge1xuICAgIGNvbG9yOiAjMTUxNDFBO1xuICAgIG1hcmdpbjogMDsgfVxuIiwiLyogcmFkaW8gKi9cclxuLmpjZi1yYWRpbyB7XHJcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdGJhY2tncm91bmQ6ICNmZmY7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzc3NztcclxuXHRib3JkZXItcmFkaXVzOiA5cHg7XHJcblx0bWFyZ2luOiAwIDNweCAwIDA7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdHdpZHRoOiAxNnB4O1xyXG59XHJcbi5qY2YtcmFkaW8gc3BhbntcclxuXHRkaXNwbGF5Om5vbmU7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dG9wOjNweDtcclxuXHRsZWZ0OjNweDtcclxuXHRyaWdodDozcHg7XHJcblx0Ym90dG9tOjNweDtcclxuXHRiYWNrZ3JvdW5kOiM3Nzc7XHJcblx0Ym9yZGVyLXJhZGl1czoxMDAlO1xyXG59XHJcbi5qY2YtcmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMDtcclxuXHRtYXJnaW46IDA7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDA7XHJcbn1cclxuLmpjZi1yYWRpby5qY2YtY2hlY2tlZCBzcGFuIHtkaXNwbGF5OmJsb2NrO31cclxuXHJcbi8qIGNoZWNrYm94ICovXHJcbi5qY2YtY2hlY2tib3gge1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XHJcblx0bWFyZ2luOiAwIDNweCAwIDA7XHJcblx0aGVpZ2h0OiAxNnB4O1xyXG5cdHdpZHRoOiAxNnB4O1xyXG59XHJcbi5qY2YtY2hlY2tib3ggc3BhbntcclxuXHRwb3NpdGlvbjphYnNvbHV0ZTtcclxuXHRkaXNwbGF5Om5vbmU7XHJcblx0aGVpZ2h0OjRweDtcclxuXHR3aWR0aDo4cHg7XHJcblx0dG9wOjUwJTtcclxuXHRsZWZ0OjUwJTtcclxuXHRtYXJnaW46LTdweCAwIDAgLTZweDtcclxuXHRib3JkZXI6M3B4IHNvbGlkICM3Nzc7XHJcblx0Ym9yZGVyLXdpZHRoOjAgMCAzcHggM3B4O1xyXG5cdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHQtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHQtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPTAuNzA3MTA2NzgxMTg2NTQ4MywgTTEyPTAuNzA3MTA2NzgxMTg2NTQ2NywgTTIxPS0wLjcwNzEwNjc4MTE4NjU0NjcsIE0yMj0wLjcwNzEwNjc4MTE4NjU0ODMsIFNpemluZ01ldGhvZD0nYXV0byBleHBhbmQnKVwiO1xyXG59XHJcbjpyb290IC5qY2YtY2hlY2tib3ggc3BhbiB7bWFyZ2luOi00cHggMCAwIC01cHg7fVxyXG4uamNmLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRib3JkZXI6IDA7XHJcblx0bWFyZ2luOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG59XHJcbi5qY2YtY2hlY2tib3guamNmLWNoZWNrZWQgc3BhbntkaXNwbGF5OmJsb2NrO31cclxuXHJcbi8qIGJ1dHRvbiAqL1xyXG4uamNmLWJ1dHRvbiB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzc3NztcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdG1hcmdpbjogMCAxMHB4IDEwcHggMDtcclxuXHRwYWRkaW5nOiA1cHggMTBweDtcclxufVxyXG4uamNmLWJ1dHRvbiAuamNmLXJlYWwtZWxlbWVudCB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMCU7XHJcblx0bWluLXdpZHRoOiAxMDAlO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0b3BhY2l0eTogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0dG9wOiAwO1xyXG59XHJcblxyXG4vKiBmaWxlICovXHJcbi5qY2YtZmlsZSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG4uamNmLWZpbGUgLmpjZi1yZWFsLWVsZW1lbnQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRmb250LXNpemU6IDIwMHB4O1xyXG5cdGhlaWdodDogMjAwcHg7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRvcDogMDtcclxufVxyXG4uamNmLWZpbGUgLmpjZi1mYWtlLWlucHV0IHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0dGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjNzc3O1xyXG5cdHBhZGRpbmc6IDAgOHB4O1xyXG5cdGZvbnQtc2l6ZTogMTNweDtcclxuXHRsaW5lLWhlaWdodDogMjhweDtcclxuXHRoZWlnaHQ6IDI4cHg7XHJcblx0d2lkdGg6IDEyNXB4O1xyXG59XHJcbi5qY2YtZmlsZSAuamNmLXVwbG9hZC1idXR0b24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjNzc3O1xyXG5cdG1hcmdpbjogMCAwIDAgLTFweDtcclxuXHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0bGluZS1oZWlnaHQ6IDI4cHg7XHJcblx0aGVpZ2h0OiAyOHB4O1xyXG59XHJcblxyXG4vKiBzY3JvbGxiYXJzICovXHJcbi5qY2Ytc2Nyb2xsYWJsZS13cmFwcGVyIHtcclxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmpjZi1zY3JvbGxiYXItdmVydGljYWwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0YmFja2dyb3VuZDogI2UzZTNlMztcclxuXHR3aWR0aDogMTRweDtcclxuXHRib3R0b206IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0dG9wOiAwO1xyXG59XHJcbi5qY2Ytc2Nyb2xsYmFyLXZlcnRpY2FsIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcclxuLmpjZi1zY3JvbGxiYXItdmVydGljYWwgLmpjZi1zY3JvbGxiYXItaW5jIHtcclxuXHRiYWNrZ3JvdW5kOiAjYmJiO1xyXG5cdGhlaWdodDogMTRweDtcclxuXHR3aWR0aDogMTRweDtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxufVxyXG4uamNmLXNjcm9sbGJhci12ZXJ0aWNhbCAuamNmLXNjcm9sbGJhci1pbmMge1xyXG5cdHRvcDogYXV0bztcclxuXHRib3R0b206IDA7XHJcbn1cclxuLmpjZi1zY3JvbGxiYXItdmVydGljYWwgLmpjZi1zY3JvbGxiYXItaGFuZGxlIHtcclxuXHRiYWNrZ3JvdW5kOiAjODg4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdHdpZHRoOiAxNHB4O1xyXG59XHJcbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRiYWNrZ3JvdW5kOiAjZTNlM2UzO1xyXG5cdHJpZ2h0OiBhdXRvO1xyXG5cdHRvcDogYXV0bztcclxuXHRsZWZ0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMTRweDtcclxufVxyXG4uamNmLXNjcm9sbGJhci1ob3Jpem9udGFsIC5qY2Ytc2Nyb2xsYmFyLWRlYyxcclxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1pbmMge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogI2JiYjtcclxuXHRoZWlnaHQ6IDE0cHg7XHJcblx0d2lkdGg6IDE0cHg7XHJcbn1cclxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1pbmMge1xyXG5cdGxlZnQ6IGF1dG87XHJcblx0cmlnaHQ6IDA7XHJcbn1cclxuLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCAuamNmLXNjcm9sbGJhci1zbGlkZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0aGVpZ2h0OiAxNHB4O1xyXG59XHJcbi5qY2Ytc2Nyb2xsYmFyLWhvcml6b250YWwgLmpjZi1zY3JvbGxiYXItaGFuZGxlIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0YmFja2dyb3VuZDogIzg4ODtcclxuXHRoZWlnaHQ6IDE0cHg7XHJcbn1cclxuLmpjZi1zY3JvbGxiYXIuamNmLWluYWN0aXZlIC5qY2Ytc2Nyb2xsYmFyLWhhbmRsZSB7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5qY2Ytc2Nyb2xsYmFyLmpjZi1pbmFjdGl2ZSAuamNmLXNjcm9sbGJhci1kZWMsXHJcbi5qY2Ytc2Nyb2xsYmFyLmpjZi1pbmFjdGl2ZSAuamNmLXNjcm9sbGJhci1pbmMge1xyXG5cdGJhY2tncm91bmQ6ICNlM2UzZTM7XHJcbn1cclxuXHJcbi8qIHNlbGVjdCAqL1xyXG4uamNmLXNlbGVjdCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICM3Nzc7XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxuXHRtYXJnaW46IDAgMCAxMnB4O1xyXG5cdG1pbi13aWR0aDogMTUwcHg7XHJcblx0aGVpZ2h0OiAyNnB4O1xyXG59XHJcbi5qY2Ytc2VsZWN0IHNlbGVjdCB7XHJcblx0ei1pbmRleDogMTtcclxuXHRsZWZ0OiAwO1xyXG5cdHRvcDogMDtcclxufVxyXG4uamNmLXNlbGVjdCAuamNmLXNlbGVjdC10ZXh0IHtcclxuXHR0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG5cdG1hcmdpbjogMCAzNXB4IDAgOHB4O1xyXG59XHJcbi5qY2Ytc2VsZWN0IC5qY2Ytc2VsZWN0LW9wZW5lciB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiAjYWFhO1xyXG5cdHdpZHRoOiAyNnB4O1xyXG5cdGJvdHRvbTogMDtcclxuXHRyaWdodDogMDtcclxuXHR0b3A6IDA7XHJcbn1cclxuYm9keSA+IC5qY2Ytc2VsZWN0LWRyb3Age1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRtYXJnaW46IC0xcHggMCAwO1xyXG5cdHotaW5kZXg6IDk5OTk7XHJcbn1cclxuYm9keSA+IC5qY2Ytc2VsZWN0LWRyb3AuamNmLWRyb3AtZmxpcHBlZCB7XHJcblx0bWFyZ2luOiAxcHggMCAwO1xyXG59XHJcbi5qY2Ytc2VsZWN0IC5qY2Ytc2VsZWN0LWRyb3Age1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRtYXJnaW4tdG9wOiAwcHg7XHJcblx0ei1pbmRleDogOTk5OTtcclxuXHR0b3A6IDEwMCU7XHJcblx0bGVmdDogLTFweDtcclxuXHRyaWdodDogLTFweDtcclxufVxyXG4uamNmLXNlbGVjdCAuamNmLWRyb3AtZmxpcHBlZCB7XHJcblx0Ym90dG9tOiAxMDAlO1xyXG5cdHRvcDogYXV0bztcclxufVxyXG4uamNmLXNlbGVjdC5qY2YtY29tcGFjdC1tdWx0aXBsZSB7XHJcblx0bWF4LXdpZHRoOiAyMjBweDtcclxufVxyXG4uamNmLXNlbGVjdC5qY2YtY29tcGFjdC1tdWx0aXBsZSAuamNmLXNlbGVjdC1vcGVuZXI6YmVmb3JlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cGFkZGluZy10b3A6IDJweDtcclxuXHRjb250ZW50OiAnLi4uJztcclxufVxyXG4uamNmLXNlbGVjdC1kcm9wIC5qY2Ytc2VsZWN0LWRyb3AtY29udGVudCB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwYThiYTtcclxufVxyXG4uamNmLXNlbGVjdC1kcm9wLmpjZi1jb21wYWN0LW11bHRpcGxlIC5qY2YtaG92ZXIge1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuLmpjZi1zZWxlY3QtZHJvcC5qY2YtY29tcGFjdC1tdWx0aXBsZSAuamNmLXNlbGVjdGVkIHtcclxuXHRiYWNrZ3JvdW5kOiAjZTZlNmU2O1xyXG5cdGNvbG9yOiAjMDAwO1xyXG59XHJcbi5qY2Ytc2VsZWN0LWRyb3AuamNmLWNvbXBhY3QtbXVsdGlwbGUgLmpjZi1zZWxlY3RlZDpiZWZvcmUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRjb250ZW50OiAnJztcclxuXHRoZWlnaHQ6NHB4O1xyXG5cdHdpZHRoOjhweDtcclxuXHRtYXJnaW46LTdweCA1cHggMCAtM3B4O1xyXG5cdGJvcmRlcjozcHggc29saWQgIzc3NztcclxuXHRib3JkZXItd2lkdGg6MCAwIDNweCAzcHg7XHJcblx0LW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG5cdC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeChNMTE9MC43MDcxMDY3ODExODY1NDgzLCBNMTI9MC43MDcxMDY3ODExODY1NDY3LCBNMjE9LTAuNzA3MTA2NzgxMTg2NTQ2NywgTTIyPTAuNzA3MTA2NzgxMTg2NTQ4MywgU2l6aW5nTWV0aG9kPSdhdXRvIGV4cGFuZCcpXCI7XHJcbn1cclxuXHJcbi8qIG11bHRpcGxlIHNlbGVjdCBzdHlsZXMgKi9cclxuLmpjZi1saXN0LWJveCB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2I4YzNjOTtcclxuXHRtaW4td2lkdGg6IDIwMHB4O1xyXG5cdG1hcmdpbjogMCAxNXB4O1xyXG59XHJcbi8qIHNlbGVjdCBvcHRpb25zIHN0eWxlcyAqL1xyXG4uamNmLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG5cdGZvbnQtc2l6ZTogMTJweDtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG4uamNmLWxpc3QgLmpjZi1saXN0LWNvbnRlbnQge1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcbi5qY2YtbGlzdCB1bCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG4uamNmLWxpc3QgdWwgbGkge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLmpjZi1saXN0IC5qY2Ytb3ZlcmZsb3cge1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcbi5qY2YtbGlzdCAuamNmLW9wdGlvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiA1cHggOXB4O1xyXG5cdGNvbG9yOiAjNjU2NTY1O1xyXG5cdG1pbi1oZWlnaHQ6IDE0cHg7XHJcblx0aGVpZ2h0OiAxJTtcclxufVxyXG4uamNmLWxpc3QgLmpjZi1kaXNhYmxlZCB7XHJcblx0YmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiAjYWFhICFpbXBvcnRhbnQ7XHJcbn1cclxuLmpjZi1zZWxlY3QtZHJvcCAuamNmLWhvdmVyLFxyXG4uamNmLWxpc3QtYm94IC5qY2Ytc2VsZWN0ZWQge1xyXG5cdGJhY2tncm91bmQ6ICNlNmU2ZTY7XHJcblx0Y29sb3I6ICMwMDA7XHJcbn1cclxuLmpjZi1saXN0IC5qY2Ytb3B0Z3JvdXAtY2FwdGlvbiB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiA1cHggOXB4O1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxuXHRjb2xvcjogIzAwMDtcclxufVxyXG4uamNmLWxpc3QgLmpjZi1vcHRncm91cCAuamNmLW9wdGlvbiB7XHJcblx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG59XHJcblxyXG4vKiBvdGhlciBzdHlsZXMgKi9cclxuLmpjZi10ZXh0YXJlYSB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgI2I4YzNjOTtcclxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5qY2YtdGV4dGFyZWEgLmpjZi1zY3JvbGxiYXItaG9yaXpvbnRhbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRoZWlnaHQ6IDA7XHJcbn1cclxuLmpjZi10ZXh0YXJlYSB0ZXh0YXJlYSB7XHJcblx0cGFkZGluZzogOHB4IDEwcHg7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG4uamNmLXRleHRhcmVhIC5qY2YtcmVzaXplIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGN1cnNvcjogc2UtcmVzaXplO1xyXG5cdGJhY2tncm91bmQ6ICNlM2UzZTM7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bGluZS1oZWlnaHQ6IDE1cHg7XHJcblx0dGV4dC1pbmRlbnQ6IDFweDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0aGVpZ2h0OiAxNXB4O1xyXG5cdHdpZHRoOiAxNHB4O1xyXG5cdGJvdHRvbTogMDtcclxuXHRyaWdodDogMDtcclxufVxyXG4uamNmLXRleHRhcmVhIC5qY2YtcmVzaXplOmJlZm9yZSB7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwMDtcclxuXHRib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbjogNHB4IDAgMCAzcHg7XHJcblx0d2lkdGg6IDZweDtcclxuXHRoZWlnaHQ6IDZweDtcclxuXHRjb250ZW50OiAnJztcclxufVxyXG5cclxuLyogbnVtYmVyIGlucHV0ICovXHJcbi5qY2YtbnVtYmVyIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogMzJweDtcclxufVxyXG4uamNmLW51bWJlciBpbnB1dCB7LW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7fVxyXG4uamNmLW51bWJlciBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuLmpjZi1udW1iZXIgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24gey13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTt9XHJcbi5qY2YtbnVtYmVyIGlucHV0IHtcclxuXHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzc3NztcclxuXHRwYWRkaW5nOiAzcHggMjdweCAzcHggN3B4O1xyXG5cdG1hcmdpbjogMDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLmpjZi1udW1iZXIgLmpjZi1idG4tZGVjLFxyXG4uamNmLW51bWJlciAuamNmLWJ0bi1pbmMge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRiYWNrZ3JvdW5kOiAjYWFhO1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMTVweDtcclxuXHRyaWdodDogMXB4O1xyXG5cdHRvcDogMXB4O1xyXG59XHJcbi5qY2YtbnVtYmVyIC5qY2YtYnRuLWRlYyB7XHJcblx0dG9wOiBhdXRvO1xyXG5cdGJvdHRvbTogMXB4O1xyXG59XHJcbi5qY2YtbnVtYmVyIC5qY2YtYnRuLWRlYzpob3ZlcixcclxuLmpjZi1udW1iZXIgLmpjZi1idG4taW5jOmhvdmVyIHtcclxuXHRiYWNrZ3JvdW5kOiAjZTZlNmU2O1xyXG59XHJcbi5qY2YtbnVtYmVyLmpjZi1kaXNhYmxlZCAuamNmLWJ0bi1kZWM6aG92ZXIsXHJcbi5qY2YtbnVtYmVyLmpjZi1kaXNhYmxlZCAuamNmLWJ0bi1pbmM6aG92ZXIge1xyXG5cdGJhY2tncm91bmQ6ICNhYWE7XHJcbn1cclxuLmpjZi1udW1iZXIgLmpjZi1idG4tZGVjOmJlZm9yZSxcclxuLmpjZi1udW1iZXIgLmpjZi1idG4taW5jOmJlZm9yZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdHdpZHRoOiAwO1xyXG5cdGhlaWdodDogMDtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0bWFyZ2luOiAtNnB4IDAgMCAtNHB4O1xyXG5cdGJvcmRlcjogNHB4IHNvbGlkICNhYWE7XHJcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwIHRyYW5zcGFyZW50O1xyXG59XHJcbi5qY2YtbnVtYmVyIC5qY2YtYnRuLWRlYzpiZWZvcmUge1xyXG5cdG1hcmdpbjogLTFweCAwIDAgLTRweDtcclxuXHRib3JkZXItY29sb3I6ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuLmpjZi1udW1iZXIuamNmLWRpc2FibGVkIC5qY2YtYnRuLWRlYzpiZWZvcmUsXHJcbi5qY2YtbnVtYmVyLmpjZi1kaXNhYmxlZCAuamNmLWJ0bi1pbmM6YmVmb3JlLFxyXG4uamNmLW51bWJlciAuamNmLWJ0bi1kZWMuamNmLWRpc2FibGVkOmJlZm9yZSxcclxuLmpjZi1udW1iZXIgLmpjZi1idG4taW5jLmpjZi1kaXNhYmxlZDpiZWZvcmUge1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG4uamNmLW51bWJlci5qY2YtZGlzYWJsZWQgaW5wdXQge1xyXG5cdGJhY2tncm91bmQ6ICNkZGQ7XHJcbn1cclxuXHJcbi8qIHJhbmdlIGlucHV0ICovXHJcbi5qY2YtcmFuZ2Uge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtaW4td2lkdGg6IDIwMHB4O1xyXG5cdG1hcmdpbjogMCAxMHB4O1xyXG5cdHdpZHRoOiAxMzBweDtcclxufVxyXG4uamNmLXJhbmdlIC5qY2YtcmFuZ2UtdHJhY2sge1xyXG5cdG1hcmdpbjogMCAyMHB4IDAgMDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0aGVpZ2h0OiAxMHB4O1xyXG59XHJcbi5qY2YtcmFuZ2UgLmpjZi1yYW5nZS13cmFwcGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZDogI2U1ZTVlNTtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luOiA1cHggMDtcclxufVxyXG4uamNmLXJhbmdlLmpjZi12ZXJ0aWNhbCB7XHJcblx0bWluLXdpZHRoOiAwO1xyXG5cdHdpZHRoOiBhdXRvO1xyXG59XHJcbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIC5qY2YtcmFuZ2Utd3JhcHBlciB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRwYWRkaW5nOiAyMHB4IDAgMDtcclxufVxyXG4uamNmLXJhbmdlLmpjZi12ZXJ0aWNhbCAuamNmLXJhbmdlLXRyYWNrIHtcclxuXHRoZWlnaHQ6IDE4MHB4O1xyXG5cdHdpZHRoOiAxMHB4O1xyXG59XHJcbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIC5qY2YtcmFuZ2UtaGFuZGxlIHtcclxuXHRsZWZ0OiAtNXB4O1xyXG5cdHRvcDogYXV0bztcclxufVxyXG4uamNmLXJhbmdlIC5qY2YtcmFuZ2UtZGlzcGxheS13cmFwcGVyIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bWluLWhlaWdodDogMTBweDtcclxuXHRtaW4td2lkdGg6IDEwcHg7XHJcblx0bGVmdDogMTBweDtcclxuXHRyaWdodDogMTBweDtcclxufVxyXG4uamNmLXJhbmdlIC5qY2YtcmFuZ2UtZGlzcGxheSB7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRiYWNrZ3JvdW5kOiAjODg4O1xyXG5cdHdpZHRoOiAxMHB4O1xyXG5cdGhlaWdodDogMTBweDtcclxufVxyXG4uamNmLXJhbmdlIC5qY2YtcmFuZ2UtZGlzcGxheS5qY2YtcmFuZ2UtbWluIHtcclxuXHRtYXJnaW46IDAgMCAwIC0xMHB4O1xyXG5cdHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcbn1cclxuLmpjZi1yYW5nZSAuamNmLXJhbmdlLWRpc3BsYXkuamNmLXJhbmdlLW1heCB7XHJcblx0bWFyZ2luOiAwIC0xMHB4IDAgMDtcclxuXHRwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG59XHJcbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIC5qY2YtcmFuZ2UtZGlzcGxheS13cmFwcGVyIHtcclxuXHRsZWZ0OiBhdXRvO1xyXG5cdHJpZ2h0OiBhdXRvO1xyXG5cdHRvcDogMTBweDtcclxuXHRib3R0b206IDEwcHg7XHJcbn1cclxuLmpjZi1yYW5nZS5qY2YtdmVydGljYWwgLmpjZi1yYW5nZS1kaXNwbGF5LmpjZi1yYW5nZS1taW4ge1xyXG5cdG1hcmdpbjogMCAwIC0xMHB4O1xyXG5cdHBhZGRpbmc6IDAgMCAxMHB4O1xyXG59XHJcbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIC5qY2YtcmFuZ2UtZGlzcGxheS5qY2YtcmFuZ2UtbWF4IHtcclxuXHRtYXJnaW46IC0xMHB4IDAgMDtcclxuXHRwYWRkaW5nOiAxMHB4IDAgMDtcclxufVxyXG5cclxuLmpjZi1yYW5nZSAuamNmLXJhbmdlLWhhbmRsZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJhY2tncm91bmQ6ICNhYWE7XHJcblx0Ym9yZGVyLXJhZGl1czogMTlweDtcclxuXHR3aWR0aDogMTlweDtcclxuXHRoZWlnaHQ6IDE5cHg7XHJcblx0bWFyZ2luOiAtNHB4IDAgMDtcclxuXHR6LWluZGV4OiAxO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG59XHJcbi5qY2YtcmFuZ2UgLmpjZi1yYW5nZS1tYXJrIHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kOiAjMDAwO1xyXG5cdHdpZHRoOiAxcHg7XHJcblx0aGVpZ2h0OiAzcHg7XHJcblx0dG9wOiAtN3B4O1xyXG5cdG1hcmdpbjogMCAwIDAgOXB4O1xyXG59XHJcbi5qY2YtcmFuZ2UuamNmLXZlcnRpY2FsIC5qY2YtcmFuZ2UtbWFyayB7XHJcblx0bWFyZ2luOiAwIDAgOXB4O1xyXG5cdGxlZnQ6IDE0cHg7XHJcblx0dG9wOiBhdXRvO1xyXG5cdHdpZHRoOiAzcHg7XHJcblx0aGVpZ2h0OiAxcHg7XHJcbn1cclxuLmpjZi1yYW5nZSAuamNmLWFjdGl2ZS1oYW5kbGUge1xyXG5cdHotaW5kZXg6IDI7XHJcbn1cclxuLmpjZi1yYW5nZS5qY2YtZm9jdXMgLmpjZi1hY3RpdmUtaGFuZGxlIHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAjMDBhOGJhO1xyXG5cdG1hcmdpbjogLTVweCAwIDAgLTFweDtcclxufVxyXG4uamNmLXJhbmdlLmpjZi1kaXNhYmxlZCB7XHJcblx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xyXG5cdG9wYWNpdHk6IDAuMztcclxufVxyXG5cclxuLyogY29tbW9uIHN0eWxlcyAqL1xyXG4uamNmLWRpc2FibGVkIHtiYWNrZ3JvdW5kOiAjZGRkICFpbXBvcnRhbnQ7fVxyXG4uamNmLWZvY3VzLCAuamNmLWZvY3VzICoge2JvcmRlci1jb2xvcjogIzAwYThiYSAhaW1wb3J0YW50O31cclxuIiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Nb250c2VycmF0OjMwMCw0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaSZkaXNwbGF5PXN3YXAmc3Vic2V0PWxhdGluLWV4dCcpO1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdvY3RvYmVyJztcclxuICBzcmM6IHVybCgnLi4vZm9udHMvb2N0b2JlcnN0b3JtLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICAgICB1cmwoJy4uL2ZvbnRzL29jdG9iZXJzdG9ybS13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuIiwiLyogU2xpZGVyICovXHJcbi5zbGljay1zbGlkZXJcclxue1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xyXG4gICAgICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uc2xpY2stbGlzdFxyXG57XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuLnNsaWNrLWxpc3Q6Zm9jdXNcclxue1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG4uc2xpY2stbGlzdC5kcmFnZ2luZ1xyXG57XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjdXJzb3I6IGhhbmQ7XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxyXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0XHJcbntcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxufVxyXG5cclxuLnNsaWNrLXRyYWNrXHJcbntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcclxuLnNsaWNrLXRyYWNrOmFmdGVyXHJcbntcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG5cclxuICAgIGNvbnRlbnQ6ICcnO1xyXG59XHJcbi5zbGljay10cmFjazphZnRlclxyXG57XHJcbiAgICBjbGVhcjogYm90aDtcclxufVxyXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2tcclxue1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG4uc2xpY2stc2xpZGVcclxue1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG5cclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFweDtcclxufVxyXG5bZGlyPSdydGwnXSAuc2xpY2stc2xpZGVcclxue1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcbi5zbGljay1zbGlkZSBpbWdcclxue1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nXHJcbntcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ1xyXG57XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlXHJcbntcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZVxyXG57XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZVxyXG57XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbn1cclxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qIFByZWxvYWQgaW1hZ2VzICovXHJcbmJvZHk6YWZ0ZXIge1xyXG4gIC8qIGNvbnRlbnQ6IHVybCguLi9pbWFnZXMvY2xvc2UucG5nKSB1cmwoLi4vaW1hZ2VzL2xvYWRpbmcuZ2lmKSB1cmwoLi4vaW1hZ2VzL3ByZXYucG5nKSB1cmwoLi4vaW1hZ2VzL25leHQucG5nKTsgKi9cclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5ib2R5LmxiLWRpc2FibGUtc2Nyb2xsaW5nIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubGlnaHRib3hPdmVybGF5IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogOTk5OTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcclxuICBvcGFjaXR5OiAwLjg7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmxpZ2h0Ym94IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxMDAwMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLmxpZ2h0Ym94IC5sYi1pbWFnZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG1heC13aWR0aDogaW5oZXJpdDtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuXHJcbiAgLyogSW1hZ2UgYm9yZGVyICovXHJcbiAgYm9yZGVyOiA0cHggc29saWQgd2hpdGU7XHJcbn1cclxuXHJcbi5saWdodGJveCBhIGltZyB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4ubGItb3V0ZXJDb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAqem9vbTogMTtcclxuICB3aWR0aDogMjUwcHg7XHJcbiAgaGVpZ2h0OiAyNTBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG4gIC8qIEJhY2tncm91bmQgY29sb3IgYmVoaW5kIGltYWdlLlxyXG4gICAgIFRoaXMgaXMgdmlzaWJsZSBkdXJpbmcgdHJhbnNpdGlvbnMuICovXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5sYi1vdXRlckNvbnRhaW5lcjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuLmxiLWxvYWRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNDMlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAyNSU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4ubGItY2FuY2VsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMzJweDtcclxuICBoZWlnaHQ6IDMycHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgLyogYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9sb2FkaW5nLmdpZikgbm8tcmVwZWF0OyAqL1xyXG59XHJcblxyXG4ubGItbmF2IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4ubGItY29udGFpbmVyID4gLm5hdiB7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLmxiLW5hdiBhIHtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PScpO1xyXG59XHJcblxyXG4ubGItcHJldiwgLmxiLW5leHQge1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5sYi1uYXYgYS5sYi1wcmV2IHtcclxuICB3aWR0aDogMzQlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgLyogYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wcmV2LnBuZykgbGVmdCA0OCUgbm8tcmVwZWF0OyAqL1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcclxuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcclxuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xyXG59XHJcblxyXG4ubGItbmF2IGEubGItcHJldjpob3ZlciB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5sYi1uYXYgYS5sYi1uZXh0IHtcclxuICB3aWR0aDogNjQlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICAvKiBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25leHQucG5nKSByaWdodCA0OCUgbm8tcmVwZWF0OyAqL1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MCk7XHJcbiAgb3BhY2l0eTogMDtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcclxuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcclxuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO1xyXG59XHJcblxyXG4ubGItbmF2IGEubGItbmV4dDpob3ZlciB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0xMDApO1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5sYi1kYXRhQ29udGFpbmVyIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICp6b29tOiAxO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiA0cHg7XHJcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogNHB4O1xyXG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xyXG59XHJcblxyXG4ubGItZGF0YUNvbnRhaW5lcjphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBjbGVhcjogYm90aDtcclxufVxyXG5cclxuLmxiLWRhdGEge1xyXG4gIHBhZGRpbmc6IDAgNHB4O1xyXG4gIGNvbG9yOiAjY2NjO1xyXG59XHJcblxyXG4ubGItZGF0YSAubGItZGV0YWlscyB7XHJcbiAgd2lkdGg6IDg1JTtcclxuICBmbG9hdDogbGVmdDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxufVxyXG5cclxuLmxiLWRhdGEgLmxiLWNhcHRpb24ge1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG59XHJcblxyXG4ubGItZGF0YSAubGItY2FwdGlvbiBhIHtcclxuICBjb2xvcjogIzRhZTtcclxufVxyXG5cclxuLmxiLWRhdGEgLmxiLW51bWJlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY2xlYXI6IGxlZnQ7XHJcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgY29sb3I6ICM5OTk5OTk7XHJcbn1cclxuXHJcbi5sYi1kYXRhIC5sYi1jbG9zZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICAvKiBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Nsb3NlLnBuZykgdG9wIHJpZ2h0IG5vLXJlcGVhdDsgKi9cclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApO1xyXG4gIG9wYWNpdHk6IDAuNztcclxuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcclxuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycztcclxuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xyXG59XHJcblxyXG4ubGItZGF0YSAubGItY2xvc2U6aG92ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7XHJcbiAgb3BhY2l0eTogMTtcclxufVxyXG4iLCIvKlxyXG4gKiBUaGUgTUlUIExpY2Vuc2VcclxuICogQ29weXJpZ2h0IChjKSAyMDEyIE1hdGlhcyBNZW5vIDxtQHRpYXMubWU+XHJcbiAqL1xyXG4uZHJvcHpvbmUsIC5kcm9wem9uZSAqIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4uZHJvcHpvbmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gIC5kcm9wem9uZSAuZHotcHJldmlldyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTIwcHg7XHJcbiAgICBtYXJnaW46IDAuNWVtOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXByb2dyZXNzIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTsgfVxyXG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXByb2dyZXNzIC5kei11cGxvYWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBncmVlbjsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlIHtcclxuICAgICAgY29sb3I6IHJlZDtcclxuICAgICAgZGlzcGxheTogbm9uZTsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWVycm9yIC5kei1lcnJvci1tZXNzYWdlLCAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1hcmsge1xyXG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXN1Y2Nlc3MgLmR6LXN1Y2Nlc3MtbWFyayB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1hcmssIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotc3VjY2Vzcy1tYXJrIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBsZWZ0OiAzMHB4O1xyXG4gICAgICB0b3A6IDMwcHg7XHJcbiAgICAgIHdpZHRoOiA1NHB4O1xyXG4gICAgICBoZWlnaHQ6IDU4cHg7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yN3B4OyB9XHJcbiIsIi8qXHJcbiAqIFRoZSBNSVQgTGljZW5zZVxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTIgTWF0aWFzIE1lbm8gPG1AdGlhcy5tZT5cclxuICovXHJcbkAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTsgfVxyXG4gIDMwJSwgNzAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9IH1cclxuQC1tb3ota2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XHJcbiAgMzAlLCA3MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7IH0gfVxyXG5Aa2V5ZnJhbWVzIHBhc3NpbmctdGhyb3VnaCB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XHJcbiAgMzAlLCA3MCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7IH0gfVxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtaW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTsgfVxyXG4gIDMwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cclxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlLWluIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cclxuICAzMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfSB9XHJcbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTsgfVxyXG4gIDMwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cclxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcclxuICAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XHJcbiAgMTAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XHJcbiAgMjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxyXG5ALW1vei1rZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cclxuICAxMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XHJcbi5kcm9wem9uZSwgLmRyb3B6b25lICoge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuXHJcbi5kcm9wem9uZSB7XHJcbiAgbWluLWhlaWdodDogMTUwcHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gIHBhZGRpbmc6IDIwcHggMjBweDsgfVxyXG4gIC5kcm9wem9uZS5kei1jbGlja2FibGUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XHJcbiAgICAuZHJvcHpvbmUuZHotY2xpY2thYmxlICoge1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuICAgIC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UsIC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UgKiB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxyXG4gIC5kcm9wem9uZS5kei1zdGFydGVkIC5kei1tZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7IH1cclxuICAuZHJvcHpvbmUuZHotZHJhZy1ob3ZlciB7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XHJcbiAgICAuZHJvcHpvbmUuZHotZHJhZy1ob3ZlciAuZHotbWVzc2FnZSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNTsgfVxyXG4gIC5kcm9wem9uZSAuZHotbWVzc2FnZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDJlbSAwOyB9XHJcbiAgLmRyb3B6b25lIC5kei1wcmV2aWV3IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBtYXJnaW46IDE2cHg7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDBweDsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIHtcclxuICAgICAgei1pbmRleDogMTAwMDsgfVxyXG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIgLmR6LWRldGFpbHMge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7IH1cclxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWltYWdlIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgYmFja2dyb3VuZDogIzk5OTtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZSwgI2RkZCk7IH1cclxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWRldGFpbHMge1xyXG4gICAgICBvcGFjaXR5OiAxOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotaW1hZ2UtcHJldmlldyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XHJcbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1pbWFnZS1wcmV2aWV3IC5kei1kZXRhaWxzIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG4gICAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgbGluZWFyO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmUge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgYm9yZGVyOiBub25lOyB9XHJcbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcmVtb3ZlOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1kZXRhaWxzIHtcclxuICAgICAgb3BhY2l0eTogMTsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIHtcclxuICAgICAgei1pbmRleDogMjA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiAyZW0gMWVtO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XHJcbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotc2l6ZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxyXG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbiAgICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpob3ZlciBzcGFuIHtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjAwLCAyMDAsIDIwMCwgMC44KTtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxyXG4gICAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWU6bm90KDpob3Zlcikge1xyXG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XHJcbiAgICAgICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpIHNwYW4ge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxyXG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lIHNwYW4sIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotc2l6ZSBzcGFuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XHJcbiAgICAgICAgcGFkZGluZzogMCAwLjRlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cclxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotaW1hZ2UgaW1nIHtcclxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xyXG4gICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4wNSwgMS4wNSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xyXG4gICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xyXG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig4cHgpO1xyXG4gICAgICBmaWx0ZXI6IGJsdXIoOHB4KTsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1pbWFnZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdpZHRoOiAxMjBweDtcclxuICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgei1pbmRleDogMTA7IH1cclxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1pbWFnZSBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotc3VjY2VzcyAuZHotc3VjY2Vzcy1tYXJrIHtcclxuICAgICAgLXdlYmtpdC1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgICAtbW96LWFuaW1hdGlvbjogcGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XHJcbiAgICAgIC1tcy1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgICAtby1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xyXG4gICAgICBhbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1hcmsge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxuICAgICAgLW1vei1hbmltYXRpb246IHNsaWRlLWluIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XHJcbiAgICAgIC1tcy1hbmltYXRpb246IHNsaWRlLWluIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XHJcbiAgICAgIC1vLWFuaW1hdGlvbjogc2xpZGUtaW4gM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxuICAgICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyaywgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIHtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHotaW5kZXg6IDUwMDtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMjdweDsgfVxyXG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyayBzdmcsIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyayBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA1NHB4O1xyXG4gICAgICAgIGhlaWdodDogNTRweDsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXByb2Nlc3NpbmcgLmR6LXByb2dyZXNzIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XHJcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWNvbXBsZXRlIC5kei1wcm9ncmVzcyB7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XHJcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XHJcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjtcclxuICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXc6bm90KC5kei1wcm9jZXNzaW5nKSAuZHotcHJvZ3Jlc3Mge1xyXG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcclxuICAgICAgLW1vei1hbmltYXRpb246IHB1bHNlIDZzIGVhc2UgaW5maW5pdGU7XHJcbiAgICAgIC1tcy1hbmltYXRpb246IHB1bHNlIDZzIGVhc2UgaW5maW5pdGU7XHJcbiAgICAgIC1vLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcclxuICAgICAgYW5pbWF0aW9uOiBwdWxzZSA2cyBlYXNlIGluZmluaXRlOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXByb2dyZXNzIHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XHJcbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3MgLmR6LXVwbG9hZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMztcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNjY2LCAjNDQ0KTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgICAtbXMtdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7IH1cclxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvciAuZHotZXJyb3ItbWVzc2FnZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3I6aG92ZXIgLmR6LWVycm9yLW1lc3NhZ2Uge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxyXG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlIHtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XHJcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XHJcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcclxuICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XHJcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgdG9wOiAxMzBweDtcclxuICAgICAgbGVmdDogLTEwcHg7XHJcbiAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgYmFja2dyb3VuZDogI2JlMjYyNjtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2JlMjYyNiwgI2E5MjIyMik7XHJcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDEuMmVtO1xyXG4gICAgICBjb2xvcjogd2hpdGU7IH1cclxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdlOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAtNnB4O1xyXG4gICAgICAgIGxlZnQ6IDY0cHg7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNiZTI2MjY7IH1cclxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXHJcblxyXG4vKipcclxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cclxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXHJcbiAqICAgIHVzZXIgem9vbS5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICogYW5kIEZpcmVmb3guXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5hdWRpbyxcclxuY2FudmFzLFxyXG5wcm9ncmVzcyxcclxudmlkZW8ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0sXHJcbnRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYTphY3RpdmUsXHJcbmE6aG92ZXIge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuZGZuIHtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xyXG5cclxubWFyayB7XHJcbiAgYmFja2dyb3VuZDogI2ZmMDtcclxuICBjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbWcge1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDFlbSA0MHB4O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gIGhlaWdodDogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5wcmUsXHJcbnNhbXAge1xyXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcclxuICBmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxyXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cclxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXHJcbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBtYXJnaW46IDA7IC8qIDMgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxyXG4gKi9cclxuXHJcbmJ1dHRvbiB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXHJcbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXHJcbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXHJcbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxyXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cclxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxyXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxyXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cclxuICovXHJcblxyXG5idXR0b25bZGlzYWJsZWRdLFxyXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIGJvcmRlcjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxyXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cclxuICovXHJcblxyXG5pbnB1dCB7XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cclxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cclxuICpcclxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cclxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXHJcbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXHJcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cclxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxyXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xyXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXHJcbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcclxuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcclxuICBtYXJnaW46IDAgMnB4O1xyXG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cclxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm9yZGVyOiAwOyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXHJcbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxyXG4gKi9cclxuXHJcbm9wdGdyb3VwIHtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLyogVGFibGVzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG50ZCxcclxudGgge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuIiwiaHRtbCB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCB1cmwoJy4uL2ltYWdlcy9iZy1zZWN0aW9uLmpwZycpIHJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICBmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcclxuICBAbWVkaWEgKG1heC13aWR0aDogMTI4MHB4KSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKC4uL2ltYWdlcy9iZy1ob21lLW1vYmlsZS5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgfVxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1hZ2VzL2JnLWhvbWUtbW9iaWxlLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MCU7XHJcbiAgfVxyXG4gICYuZXJyb3Ige1xyXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgLmhlYWRlci0tc3VicGFnZTphZnRlcixcclxuICAgIC5oZWFkZXItLWZpeGVkOmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIG1haW4ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgICB9XHJcbiAgICAuc2VjdGlvbiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNS5qcGcnKSwgdXJsKCcuLi9pbWFnZXMvYmctY2hvY29sYXRlLTYucG5nJyk7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0yMCUgdG9wIDAsIC0yMCUgYm90dG9tO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICoge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAsIGEsIGxpIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICMxMzJhN2I7XHJcbiAgfVxyXG5cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgfVxyXG5cclxuICAjbW1lbnVfX2NvbnRhaW5lciB7XHJcbiAgICAvL292ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBjb250YWluZXIoKTtcclxuXHJcbiAgJi0tbm8tb3ZlcmZsb3cge1xyXG4gICAgb3ZlcmZsb3c6IGluaXRpYWw7XHJcbiAgfVxyXG59XHJcblxyXG4ucm93IHtcclxuICBAaW5jbHVkZSByb3coKTtcclxufVxyXG5cclxuYTpob3ZlcixcclxuYTphY3RpdmUge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi50ZXh0IHtcclxuICAgICYtLWNlbnRlcmVkIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbGlnaHQge1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgfVxyXG4gICAgJi0tcmVndWxhciB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcbiAgICAmLS1tZWRpdW0ge1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG4gICAgJi0tc2VtaS1ib2xkIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuICAgICYtLXN0cm9uZyB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAmLS11cHBlcmNhc2Uge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXdoaXRlIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgJi0taXRhbGljIHtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgfVxyXG4gICAgJi0tbWItMCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgICAmLS1tYi01IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmltZyB7XHJcbiAgICAmLS1jZW50ZXJlZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saW5rIHtcclxuICBjb2xvcjogJGNvbG9yLWJyb3duO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICB9XHJcbn1cclxuXHJcbi5zdWJoZWFkaW5nIHtcclxuICBmb250LXNpemU6IDQwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgc3BhbiB7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG4gICAgZm9udC1zaXplOiA5MHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnZGVza3RvcCcpIHtcclxuICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHggMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJi0tc21hbGwge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgbWFyZ2luOiAxNXB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLXhzbWFsbCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1tYXJnaW4ge1xyXG4gICAgbWFyZ2luLXRvcDogODBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3NlY29uZGFyeSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICBmb250LXNpemU6IDkwcHg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLXRvcC1sZWZ0IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IC00MHB4O1xyXG4gICAgICBsZWZ0OiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLXRvcCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmLS13aGl0ZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuaHIge1xyXG4gIG1hcmdpbjogMjBweDtcclxuICB3aWR0aDogMTBweDtcclxuICBoZWlnaHQ6IDEwcHg7XHJcbiAgYmFja2dyb3VuZDogIzM2OWJlZDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnN0YXR1cyB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgbWFyZ2luOiAwIDIwcHg7O1xyXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG5cclxuICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgfVxyXG5cclxuICAmLS1wZW5kaW5nIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICB9XHJcblxyXG4gICYtLXN1Y2Nlc3Mge1xyXG4gICAgY29sb3I6IGdyZWVuO1xyXG4gIH1cclxuXHJcbiAgJi0tZXJyb3Ige1xyXG4gICAgY29sb3I6ICRjb2xvci1yZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFpbiB7XHJcbiAgJi0tZml4ZWQge1xyXG4gICAgLy9tYXJnaW4tdG9wOiAxNTBweDtcclxuICB9XHJcbiAgLy9tYXJnaW4tdG9wOjE1MHB4XHJcbn1cclxuXHJcbi5saW5lX19jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgJjo6YmVmb3JlLFxyXG4gICY6OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICB3aWR0aDogMTEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYnJvd247XHJcbiAgfVxyXG5cclxuICAmLS13aGl0ZSB7XHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1zbWFsbCB7XHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgbWFyZ2luOiAxNXB4O1xyXG4gICAgICB3aWR0aDogNXB4O1xyXG4gICAgICBoZWlnaHQ6IDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbnNtYWxsIHtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLnN1YmhlYWRpbmcgLnN1YmhlYWRpbmdfX3NlY29uZGFyeS5zdWJoZWFkaW5nX19zZWNvbmRhcnktLXdoaXRlIHtcclxuICBjb2xvcjogI2ZmZjtcclxufSAiLCIvLy8vLy8vLy8vLy9cclxuLy8gR2xvYmFsIC8vXHJcbi8vLy8vLy8vLy8vL1xyXG4kZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRmb250LXNlY29uZGFyeTogJ29jdG9iZXInLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8kY29sb3ItYmx1ZTogIzM2OWJlZDtcclxuLy8kY29sb3ItYmx1ZTogIzE1NzljYjtcclxuXHJcbiRjb2xvci1ibHVlOiAjMTMyYTdiO1xyXG4kY29sb3ItZ3JlZW46ICM1Y2MxOTQ7XHJcbiRjb2xvci1ncmV5OiAjZGVkY2RjO1xyXG4kY29sb3ItZ3JleS1saWdodDogI2Y2ZjZmNjtcclxuJGNvbG9yLWdyZXktYmc6ICNmNWY2Zjc7XHJcbiRjb2xvci1icm93bjogIzQxMzAyNTtcclxuXHJcbiRjb2xvci1vbGl2ZTogI2FkZDA0OTtcclxuJGNvbG9yLW9yYW5nZTogI2UzOGYxMjtcclxuJGNvbG9yLWRhcmstZ3JlZW46ICMwMzY5Mzc7XHJcbiRjb2xvci1kYXJrLWJsdWU6ICMwMTRkYTM7XHJcblxyXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XHJcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xyXG4kYmFzZS1mb250LWNvbG9yOiAkY29sb3ItYnJvd247XHJcblxyXG4vLyBib2R5XHJcbiRib2R5LWJhY2tncm91bmQ6ICNmZmY7XHJcbiRib2R5LWZvbnQtY29sb3I6ICRiYXNlLWZvbnQtY29sb3I7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiRib2R5LWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xyXG5cclxuLy8gY29sb3JzXHJcblxyXG4kY29sb3Itb3JhbmdlOiAjZmVkOTAwO1xyXG4kY29sb3ItYmx1ZS1kYXJrOiAjMDAyNjUyO1xyXG4kY29sb3ItcmVkOiAjZmYyNjE2O1xyXG5cclxuXHJcbi8vIHNpemVzXHJcblxyXG4kc2l6ZS1sYXJnZTogMThweDtcclxuJHNpemUteGxhcmdlOiAyMnB4O1xyXG4kc2l6ZS1oZWFkaW5nOiAzMnB4O1xyXG5cclxuLy8vLy8vLy8vLy8vL1xyXG4vLyBXeXNpd3lnIC8vXHJcbi8vLy8vLy8vLy8vLy9cclxuJHd5c2l3eWctc3BhY2U6IDE4cHg7XHJcblxyXG4vLyBIZWFkbGluZXNcclxuJHd5c2l3eWctaGVhZGxpbmUtZm9udC13ZWlnaHQ6IDcwMDtcclxuJHd5c2l3eWctaDEtZm9udC13ZWlnaHQ6ICR3eXNpd3lnLWhlYWRsaW5lLWZvbnQtd2VpZ2h0O1xyXG4kd3lzaXd5Zy1oMi1mb250LXdlaWdodDogJHd5c2l3eWctaGVhZGxpbmUtZm9udC13ZWlnaHQ7XHJcbiR3eXNpd3lnLWgzLWZvbnQtd2VpZ2h0OiAkd3lzaXd5Zy1oZWFkbGluZS1mb250LXdlaWdodDtcclxuJHd5c2l3eWctaDQtZm9udC13ZWlnaHQ6ICR3eXNpd3lnLWhlYWRsaW5lLWZvbnQtd2VpZ2h0O1xyXG4kd3lzaXd5Zy1oNS1mb250LXdlaWdodDogJHd5c2l3eWctaGVhZGxpbmUtZm9udC13ZWlnaHQ7XHJcbiR3eXNpd3lnLWg2LWZvbnQtd2VpZ2h0OiAkd3lzaXd5Zy1oZWFkbGluZS1mb250LXdlaWdodDtcclxuXHJcbiR3eXNpd3lnLWgxLWZvbnQtc2l6ZTogMzJweDtcclxuJHd5c2l3eWctaDItZm9udC1zaXplOiAyOHB4O1xyXG4kd3lzaXd5Zy1oMy1mb250LXNpemU6IDI0cHg7XHJcbiR3eXNpd3lnLWg0LWZvbnQtc2l6ZTogMjBweDtcclxuJHd5c2l3eWctaDUtZm9udC1zaXplOiAxOHB4O1xyXG4kd3lzaXd5Zy1oNi1mb250LXNpemU6IDE2cHg7XHJcblxyXG4vLyBMaW5rc1xyXG4kd3lzaXd5Zy1saW5rLWNvbG9yOiAjMDA5Y2RjO1xyXG4kd3lzaXd5Zy1saW5rLWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4kd3lzaXd5Zy1saW5rLWNvbG9yLWhvdmVyOiAjMTQ2NWZmO1xyXG4kd3lzaXd5Zy1saW5rLWRlY29yYXRpb24taG92ZXI6IHVuZGVybGluZTtcclxuXHJcbi8vIEltYWdlc1xyXG4kd3lzaXd5Zy1pbWctcGFkZGluZzogMTBweDtcclxuIiwiLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfCBNaXhpbnNcbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vL1xuLy8gSW5pdFxuLy8gY2FsbGVkIGJ5IF9ncmlkbGVfY2FsbCBtaXhpbiBtdWx0aXBsZSB0aW1lc1xuLy9cbkBtaXhpbiBncmlkbGVfaW5pdCgpIHtcblx0QGlmICRfZ3JpZGxlX2luaXRlZCA9PSBmYWxzZSB7XG5cdFx0JF9ncmlkbGVfaW5pdGVkIDogdHJ1ZSAhZ2xvYmFsO1xuXHRcdEBlYWNoICRzdGF0ZU5hbWUsICRzdGF0ZSBpbiAkX2dyaWRsZV9zdGF0ZXMge1xuXHRcdFx0JGNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihjbGFzc2VzLCAkc3RhdGUpO1xuXHRcdFx0QGlmICRjbGFzc2VzIHtcblx0XHRcdFx0QGF0LXJvb3QgKHdpdGhvdXQ6YWxsKSB7XG5cdFx0XHRcdFx0JHEgOiBncmlkbGVfZ2V0X21lZGlhX3F1ZXJ5KCRzdGF0ZSk7XG5cdFx0XHRcdFx0QGlmICRxIHtcblx0XHRcdFx0XHRcdEBtZWRpYSAjeyRxfSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5pdF9jb21tb25fc2lsZW50X2NsYXNzZXMoJHN0YXRlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5pdF9jb21tb25fc2lsZW50X2NsYXNzZXMoJHN0YXRlKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gSW5pdCBzaWxlbnQgY2xhc3Nlc1xuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9zaWxlbnRfY2xhc3NfbmFtZShcblx0JGZvcixcblx0JHN0YXRlTmFtZSA6IGRlZmF1bHRcbikge1xuXHRAaWYgbWl4aW4tZXhpc3RzKCdfZ3JpZGxlX2NvbW1vbl8jeyRmb3J9Jykge1xuXHRcdCUjeyRzdGF0ZU5hbWV9LSN7JGZvcn0ge1xuXHRcdFx0Ly8gaW5qZWN0IGNvbnRlbnRcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0XHRAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcblx0XHRcdCVhdC1yb290LSN7JHN0YXRlTmFtZX0tI3skZm9yfSB7XG5cdFx0XHRcdC8vIGluamVjdCBjb250ZW50XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuQG1peGluIF9ncmlkbGVfaW5pdF9jb21tb25fc2lsZW50X2NsYXNzZXMoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBnZXQgc3RhdGUgbmFtZVxuXHQkc3RhdGVOYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKTtcblxuXHQvLyBkZWZpbmUgcGFja2FnZXMgdG8gaW5pdFxuXHQvLyB0aGUgb3JkZXIgY2FuIG1hdHRlciBoZXJlXG5cdCRwYWNrYWdlcyA6IChcblx0XHRjb250YWluZXIsXG5cdFx0Z3JpZC1vcmRlcixcblx0XHRyb3csXG5cdFx0cm93LWZ1bGwsXG5cdFx0Y29sLFxuXHRcdGdyaWQsXG5cdFx0Z3JpZC10YWJsZSxcblx0XHRncmlkLWFkYXB0LFxuXHRcdGdyaWQtZ3Jvdyxcblx0XHRwdXNoLFxuXHRcdHB1bGwsXG5cdFx0cHJlZml4LFxuXHRcdHN1ZmZpeCxcblx0XHRub3dyYXAsXG5cdFx0d3JhcCxcblx0XHRjbGVhci1lYWNoLFxuXHRcdGdyaWQtY2VudGVyZWQsXG5cdFx0cm93LWFsaWduLFxuXHRcdGhpZGUsXG5cdFx0bm90LXZpc2libGUsXG5cdFx0c2hvdyxcblx0XHRzaG93LWlubGluZSxcblx0XHR2aXNpYmxlLFxuXHRcdGZsb2F0LFxuXHRcdGNsZWFyLFxuXHRcdG5vLWd1dHRlcixcblx0XHRndXR0ZXIsXG5cdFx0cm93LWRlYnVnXG5cdCk7XG5cblx0Ly8gbG9vcCBvbiBlYWNoIHBhY2thZ2VzIHRvIGluaXQgdGhlaXIgY29tbW9uIHNpbGllbnQgY2xhc3Nlc1xuXHRAZWFjaCAkcGFja2FnZSBpbiAkcGFja2FnZXMge1xuXHRcdC8vIGluY2x1ZGUgY29tbW9uXG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fc2lsZW50X2NsYXNzX25hbWUoJHBhY2thZ2UsICRzdGF0ZU5hbWUpIHtcblx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5jbHVkZV9jb21tb24oJHBhY2thZ2UsICRzdGF0ZU5hbWUpO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gX2dyaWRsZV9pbmNsdWRlX2NvbW1vbihcblx0JHBhY2thZ2UsXG5cdCRzdGF0ZSA6IGN1cnJlbnRcbikge1xuXG5cdC8vIGdldCBzdGF0ZSBuYW1lXG5cdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlKTtcblx0XG5cdC8vIGNvbnRhaW5lclxuXHRAaWYgJHBhY2thZ2UgPT0gY29udGFpbmVyIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9jb250YWluZXIoJHN0YXRlKTtcblx0fVxuXG5cdC8vIG9yZGVyXG5cdEBpZiAkcGFja2FnZSA9PSBncmlkLW9yZGVyIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkX29yZGVyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyByb3dcblx0QGlmICRwYWNrYWdlID09IHJvdyB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcm93KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyByb3ctZnVsbFxuXHRAaWYgJHBhY2thZ2UgPT0gcm93LWZ1bGwge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3Jvd19mdWxsKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjb2xcblx0QGlmICRwYWNrYWdlID09IGNvbCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fY29sKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkXG5cdEBpZiAkcGFja2FnZSA9PSBncmlkIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkLXRhYmxlXG5cdEBpZiAkcGFja2FnZSA9PSBncmlkLXRhYmxlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkX3RhYmxlKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkLWFkYXB0XG5cdEBpZiAkcGFja2FnZSA9PSBncmlkLWFkYXB0IHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ncmlkX2FkYXB0KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBncmlkLWdyb3dcblx0QGlmICRwYWNrYWdlID09IGdyaWQtZ3JvdyB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fZ3JpZF9ncm93KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBwdXNoXG5cdEBpZiAkcGFja2FnZSA9PSBwdXNoe1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3B1c2goJHN0YXRlKTtcblx0fVxuXG5cdC8vIHB1bGxcblx0QGlmICRwYWNrYWdlID09IHB1bGx7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcHVsbCgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gcHJlZml4XG5cdEBpZiAkcGFja2FnZSA9PSBwcmVmaXh7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcHJlZml4KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBzdWZmaXhcblx0QGlmICRwYWNrYWdlID09IHN1ZmZpeCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fc3VmZml4KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBub3dyYXBcblx0QGlmICRwYWNrYWdlID09IG5vd3JhcCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fbm93cmFwKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyB3cmFwXG5cdEBpZiAkcGFja2FnZSA9PSB3cmFwIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl93cmFwKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjbGVhci1lYWNoXG5cdEBpZiAkcGFja2FnZSA9PSBjbGVhci1lYWNoIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9jbGVhcl9lYWNoKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjZW50ZXJlZFxuXHRAaWYgJHBhY2thZ2UgPT0gZ3JpZC1jZW50ZXJlZCB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fZ3JpZF9jZW50ZXJlZCgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gcm93LWFsaWduXG5cdEBpZiAkcGFja2FnZSA9PSByb3ctYWxpZ24ge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3Jvd19hbGlnbigkc3RhdGUpO1xuXHR9XG5cblx0Ly8gaGlkZVxuXHRAaWYgJHBhY2thZ2UgPT0gaGlkZSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25faGlkZSgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gbm90LXZpc2libGVcblx0QGlmICRwYWNrYWdlID09IG5vdC12aXNpYmxlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9ub3RfdmlzaWJsZSgkc3RhdGUpO1xuXHR9XG5cblx0Ly8gc2hvd1xuXHRAaWYgJHBhY2thZ2UgPT0gc2hvd3tcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl9zaG93KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBzaG93LWlubGluZVxuXHRAaWYgJHBhY2thZ2UgPT0gc2hvdy1pbmxpbmUge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX3Nob3dfaW5saW5lKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyB2aXNpYmxlXG5cdEBpZiAkcGFja2FnZSA9PSB2aXNpYmxlIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2NvbW1vbl92aXNpYmxlKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBmbG9hdFxuXHRAaWYgJHBhY2thZ2UgPT0gZmxvYXQge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX2Zsb2F0KCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBjbGVhclxuXHRAaWYgJHBhY2thZ2UgPT0gY2xlYXIge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY29tbW9uX2NsZWFyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBuby1ndXR0ZXJcblx0QGlmICRwYWNrYWdlID09IG5vLWd1dHRlciB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fbm9fZ3V0dGVyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBndXR0ZXJcblx0QGlmICRwYWNrYWdlID09IGd1dHRlciB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fZ3V0dGVyKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyByb3cgZGVidWdcblx0QGlmICRwYWNrYWdlID09IHJvdy1kZWJ1ZyB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9jb21tb25fcm93X2RlYnVnKCRzdGF0ZSk7XG5cdH1cblxuXHQvLyBleHRlbmQgY29tbW9uIGNsYXNzIGJ5IHRoZSByZWdpc3RlcmVkIGNzc1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2V4dGVuZF9jb21tb25fY2xhc3MoJHBhY2thZ2UsICRzdGF0ZSk7XG59XG5cblxuLy9cbi8vIFdyYXAgZ3JpZGxlIG1peGluIGNvbnRlbnQgdG8gaW5pdCBpZiBuZWVkZWQgYW5kIHRoZW4gaWYgbmVlZGVkXG4vL1x0XHRcdFxuQG1peGluIF9ncmlkbGVfY2FsbChcblx0JGZvciA6IG51bGxcbikge1xuXHQvLyBpbml0IGlmIG5lZWRlZFxuXHRAaW5jbHVkZSBncmlkbGVfaW5pdCgpO1xuXG5cdC8vIHB1dCBjb250ZW50XG5cdEBjb250ZW50O1xuXG5cdC8vIGV4dGVuZCBhbmQgYXBwbHkgY3NzIGZvciBkaWZmZXJlbnQgc3RhdGVzXG5cdEBpZiAkZm9yIHtcblx0XHRAaW5jbHVkZSBfZ3JpZGxlX2V4dGVuZCgkZm9yKTtcblx0XHRAaWYgbm90IF9ncmlkbGVfaXNfaW5fZ2VuZXJhdGVfcGhhc2UoKSB7XG5cdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX2FwcGx5X2Nzc19mb3IoJGZvcik7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEV4dGVuZFxuLy8gQHN0YXRlQ29udGV4dFxuLy8gQGNhbGxlZEJ5IFx0XHRfZ3JpZGxlX2NhbGxcbi8vXG5AbWl4aW4gX2dyaWRsZV9leHRlbmQoXG5cdCRwYWNrYWdlXG4pIHtcblx0Ly8gY2hlY2sgaWYgd2UgbmVlZCB0aGUgc3RhdGUgY2xhc3Nlc1xuXHQkc3RhdGVzLWNsYXNzZXMgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihzdGF0ZXMtY2xhc3Nlcyk7XG5cdCRzdGF0ZU5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lKTtcblxuXHQvLyBpZiBpcyBhbiBleGlzdGluZyBncmlkbGUgc3RhdGVcblx0QGlmIGdyaWRsZV9oYXNfc3RhdGUoJHN0YXRlTmFtZSkge1xuXHRcdC8vIGV4dGVuZCB0aGUgXCJhdC1yb290XCIgdmVyc2lvbiBmb3IgdGhlIC5zdGF0ZS17c3RhdGVOYW1lfSBjbGFzc2VzXG5cdFx0QGlmICRzdGF0ZXMtY2xhc3NlcyBhbmQgc3RyLWluZGV4KHVucXVvdGUoXCIjeyZ9XCIpLCB1bnF1b3RlKCcuc3RhdGUtI3skX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZX0nKSkge1xuXHRcdFx0Ly8gQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7IC8vIHNlZW1zIG5vdCBuZWVkZWQgaGVyZSwgY2F1c2UgaXNzdWVzIHdpdGggbGlic2Fzc1xuXHRcdFx0XHQvLyBAZGVidWcoXCIlYXQtcm9vdC0jeyRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lfS0jeyRwYWNrYWdlfVwiKTtcblx0XHRcdFx0QGV4dGVuZCAlYXQtcm9vdC0jeyRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lfS0jeyRwYWNrYWdlfSAhb3B0aW9uYWw7XG5cdFx0XHQvLyB9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQvLyBleHRlbmQgdXNpbmcgdGhlIGN1cnJlbnQgc3RhdGUgbmFtZSBzZXQgaW4gZWFjaCBncmlkbGVfc3RhdGUgY2FsbFxuXHRcdFx0Ly8gQGRlYnVnKFwiJSN7JF9ncmlkbGVfY3VycmVudF9zdGF0ZU5hbWV9LSN7JHBhY2thZ2V9XCIpO1xuXHRcdFx0QGV4dGVuZCAlI3skX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZX0tI3skcGFja2FnZX0gIW9wdGlvbmFsO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ly8gaXQncyBub3QgYW4gZXhpc3Rpbmcgc3RhdGUgc28gd2UgY2Fubm90IGV4dGVuZC5cblx0XHQvLyB3ZSBuZWVkIHRvIGluY2x1ZGUgaW5zdGVhZFxuXHRcdEBpbmNsdWRlIF9ncmlkbGVfaW5jbHVkZV9jb21tb24oJHBhY2thZ2UsICRzdGF0ZU5hbWUpO1xuXHR9XG59XG5cblxuLy9cbi8vIEFwcGx5IHRoZSByZWdpc3RlcmVkIGNzcyBmb3IgYSBjZXJ0YWluIHR5cGUgKGdyaWQsIHB1c2gsIGV0Yy4uLilcbi8vIGluIGVhY2ggc3RhdGVzXG4vL1xuJF9ncmlkbGVfYXBwbGllZF9mb3IgOiAoKTtcbkBtaXhpbiBfZ3JpZGxlX2FwcGx5X2Nzc19mb3IoXG5cdCRfZm9yXG4pIHtcblx0JHNlbGVjdG9yIDogXCIjeyZ9LSN7JF9mb3J9XCI7IC8vIGdlbmVyYXRlIGEgdW5pcXVlIG5hbWUgdGhhdCB3aWxsIGJlIHN0YWNrZWQgaW4gYSBtYXAgdG8gZ2VuZXJhdGUgb25seSAxIHRpbWUgXG5cdEBpZiBtYXAtZ2V0KCRfZ3JpZGxlX2FwcGxpZWRfZm9yLCAkc2VsZWN0b3IpID09IG51bGwge1xuXHRcdCRfZ3JpZGxlX2FwcGxpZWRfZm9yIDogbWFwLXNldCgkX2dyaWRsZV9hcHBsaWVkX2ZvciwgJHNlbGVjdG9yLCB0cnVlKSAhZ2xvYmFsO1xuXHRcdCRmb3JzLXBhdHRlcm5zIDogJF9ncmlkbGUtcGFja2FnZXM7XG5cdFx0QGVhY2ggJG1hcCBpbiAkX2dyaWRsZV9hcHBseV9jc3NfZm9yIHtcblx0XHRcdEBlYWNoICRzdGF0ZU5hbWUsICRmb3JzIGluICRtYXAge1xuXHRcdFx0XHQkcnVsZXMgOiBtYXAtZ2V0KCRmb3JzLCAkX2Zvcik7XG5cdFx0XHRcdEBpZiAkcnVsZXMgYW5kIG1hcC1nZXQoJGZvcnMtcGF0dGVybnMsICRfZm9yKSB7XG5cdFx0XHRcdFx0QGF0LXJvb3QgKHdpdGhvdXQgOiBtZWRpYSkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9zdGF0ZSgkc3RhdGVOYW1lLCB0cnVlLCBmYWxzZSkge1xuXHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfdXNlX3N0YXRlKCRzdGF0ZU5hbWUpIHtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBfZ3JpZGxlX21hcF8yX2NzcygkcnVsZXMpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEdyaWRsZSBzdGF0ZVxuLy9cbi8vIEBwYXJhbSBcdHN0cmluZ3xtYXB8bGlzdCBcdCRzdGF0ZXMgXHRcdEEgbGlzdCBvZiBzdGF0ZXMsIGEgc3RhdGUgbmFtZSBvciBhIHN0YXRlIG1hcFxuLy8gQHBhcmFtIFx0Ym9vbGVhbiBcdFx0XHQkaGFzLXBhcmVudCBcdE1vc3RseSBhbHdheXMgdHJ1ZSwgbWVhbiB0aGF0IHRoZSBtaXhpbiBpcyB1c2VkIGluIGEgY3NzIHNlbGVjdG9yIGFuZCBub3QgaW4gY3NzIHJvb3QgbGV2ZWxcbi8vXG5AbWl4aW4gX2dyaWRsZV9zdGF0ZShcblx0JHN0YXRlIDogZGVmYXVsdCxcblx0JGhhcy1wYXJlbnQgOiB0cnVlLFxuXHQkdHJhY2stY3VycmVudC1zdGF0ZSA6IHRydWVcbikge1xuXG5cdC8vIHZhcmlhYmxlcyA6XG5cdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlKTtcblx0JHN0YXRlcy1jbGFzc2VzIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoc3RhdGVzLWNsYXNzZXMsICRzdGF0ZSk7XG5cdCRzdGF0ZU5hbWUgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLCAkc3RhdGUpO1xuXG5cdC8vIG1hbmFnZSBwcmV2aW91cyBzdGF0ZVxuXHQkcHJldmlvdXNfc3RhdGUgOiBudWxsO1xuXHQkcHJldmlvdXNfc3RhdGVOYW1lIDogbnVsbDtcblxuXHQvLyBjaGVjayBpZiBuZWVkIHRvIHRhY2sgdGhlIGN1cnJlbnQgc3RhdGVcblx0QGlmICR0cmFjay1jdXJyZW50LXN0YXRlIHtcblx0XHRAaWYgJF9ncmlkbGVfY3VycmVudF9zdGF0ZSB7XG5cdFx0XHQkcHJldmlvdXNfc3RhdGUgOiAkX2dyaWRsZV9jdXJyZW50X3N0YXRlO1xuXHRcdFx0JHByZXZpb3VzX3N0YXRlTmFtZSA6ICRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lO1xuXHRcdH1cblx0XHQvLyBpZiB3ZSBoYXZlIGEgcHJldmlvdXMgc3RhdGUgdGhhdCBpcyBub3QgdGhlIGRlZmF1bHQgb25lLCB3ZVxuXHRcdC8vIG1ha2UgdGhlIGluaGVyaXRlbmNlIHByb2Nlc3MuXG5cdFx0Ly8gaWYgYm90aCBzdGF0ZXMgYXJlIHJlZ2lzdGVyZWQgb25lcyA6IGp1c3QgdGFrZSB0aGUgd2FudGVkIHN0YXRlXG5cdFx0Ly8gaWYgb25seSBwcmV2aW91c19zdGF0ZSBpcyBhIHJlZ2lzdGVyZWQgb25lIDogZXh0ZW5kIHByZXZpb3VzX3N0YXRlIHdpdGggdGhlIHdhbnRlZCBvbmVcblx0XHQvLyBpZiBub25lIG9mIHRoZW0gYXJlIHJlc2l0ZXJlZCA6IGV4dGVuZCB0aGUgd2FudGVkIHdpdGggdGhlIHByZXZpb3VzIG9uZVxuXHRcdEBpZiAkcHJldmlvdXNfc3RhdGUge1xuXHRcdFx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZSA6IF9ncmlkbGVfaW5oZXJpdF9zdGF0ZSgkc3RhdGUsICRwcmV2aW91c19zdGF0ZSkgIWdsb2JhbDtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGUgOiAkc3RhdGUgIWdsb2JhbDtcdFxuXHRcdH1cblx0XHQkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZSA6ICRzdGF0ZU5hbWUgIWdsb2JhbDtcblx0fVxuXG5cdC8vIGNoZWNrIGlmIGlzIGEgc3RhdGUgOlxuXHRAaWYgKCRzdGF0ZXMtY2xhc3Nlcylcblx0XHRhbmQgJHN0YXRlTmFtZSB7XG5cdFx0Ly8gaHRtbCBjbGFzcyA6XG5cdFx0QGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG5cdFx0XHRAaWYgJGhhcy1wYXJlbnQge1xuXHRcdFx0XHQuc3RhdGUtI3skc3RhdGVOYW1lfSAmIHsgXG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQuc3RhdGUtI3skc3RhdGVOYW1lfSB7XG5cdFx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBnZXQgdGhlIG1lZGlhIHF1ZXJ5IDpcblx0JHEgOiBncmlkbGVfZ2V0X21lZGlhX3F1ZXJ5KCRzdGF0ZSk7XG5cblx0Ly8gbWFrZSB0aGUgbWVkaWEgcXVlcnkgaWYgYSBxdWVyeSBleGlzdCA6XG5cdEBpZiAkcSB7XG5cdFx0QG1lZGlhICN7JHF9IHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblxuXHQvLyByZXNldCBjdXJyZW50IHN0YXRlIHRvIGRlZmF1bHRcblx0QGlmICR0cmFjay1jdXJyZW50LXN0YXRlIGFuZCAkcHJldmlvdXNfc3RhdGUgYW5kICRwcmV2aW91c19zdGF0ZU5hbWUge1xuXHRcdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGUgOiAkcHJldmlvdXNfc3RhdGUgIWdsb2JhbDtcblx0XHQkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZSA6ICRwcmV2aW91c19zdGF0ZU5hbWUgIWdsb2JhbDtcblx0fVxufVxuXG5cbi8vXG4vLyBUcmFuc2Zvcm0gbWFwIHRvIGNzc1xuLy9cbkBtaXhpbiBfZ3JpZGxlX21hcF8yX2Nzcyhcblx0JG1hcFxuKSB7XG5cdEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcblx0XHRAaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG5cdFx0XHQmI3ska2V5fSB7XG5cdFx0XHRcdEBlYWNoICRrLCAkdiBpbiAkdmFsdWUge1xuXHRcdFx0XHRcdEBpZiAkayAhPSBudWxsIGFuZCBzdHItaW5kZXgoJGssIGdyaWRsZSkgYW5kIG1peGluLWV4aXN0cygkaykge1xuXHRcdFx0XHRcdFx0JHNldC1uYW1lIDogc3RyLXJlcGxhY2UoJGssIFwiZ3JpZGxlX1wiLCBcIlwiKTtcblx0XHRcdFx0XHRcdCRzZXQtbmFtZSA6IHN0ci1yZXBsYWNlKCRzZXQtbmFtZSwgXCJfXCIsIFwiLVwiLCAxKTtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIF9ncmlkbGVfc2V0KChcblx0XHRcdFx0XHRcdFx0JHNldC1uYW1lIDogJHZcblx0XHRcdFx0XHRcdCkpO1xuXHRcdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdFx0I3ska306I3skdn07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAaWYgJGtleSAhPSBudWxsIGFuZCBzdHItaW5kZXgoJGtleSwgZ3JpZGxlKSBhbmQgbWl4aW4tZXhpc3RzKCRrZXkpIHtcblx0XHRcdFx0JHNldC1uYW1lIDogc3RyLXJlcGxhY2UoXCIjeyRrZXl9XCIsIFwiZ3JpZGxlX1wiLCBcIlwiKTtcblx0XHRcdFx0JHNldC1uYW1lIDogc3RyLXJlcGxhY2UoXCIjeyRzZXQtbmFtZX1cIiwgXCJfXCIsIFwiLVwiLCAxKTtcblx0XHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9zZXQoKFxuXHRcdFx0XHRcdCRzZXQtbmFtZSA6ICR2YWx1ZVxuXHRcdFx0XHQpKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQjeyRrZXl9OiN7JHZhbHVlfTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy9cbi8vIEV4dGVuZCBjb21tb24gY2xhc3Ncbi8vXG5AbWl4aW4gX2dyaWRsZV9leHRlbmRfY29tbW9uX2NsYXNzKFxuXHQkd2hhdCxcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGV4dGVuZFxuXHQkc3RhdGVOYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKTtcblx0JGV4dGVuZCA6IGdyaWRsZV9nZXRfZXh0ZW5kX2NsYXNzX21hcCgkd2hhdCwgJHN0YXRlTmFtZSk7XG5cdEBpZiAkZXh0ZW5kICE9IG51bGwge1xuXHRcdEBpbmNsdWRlIF9ncmlkbGVfbWFwXzJfY3NzKCRleHRlbmQpO1xuXHR9XG59IiwiLy9cbi8vIFJvd1xuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9yb3coXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyBGb3IgbW9kZXJuIGJyb3dzZXJcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6XCJcIjtcblx0XHRkaXNwbGF5OnRhYmxlO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOmJvdGg7XG5cdH1cblx0Ly8gRm9yIElFIDYvNyAodHJpZ2dlciBoYXNMYXlvdXRcblx0JiB7XG5cdCAgIHpvb206MTtcblx0fVxufVxuQG1peGluIGdyaWRsZV9yb3coXG5cdCRyZXZlcnNlIDogZmFsc2Vcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwocm93KSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1sZWZ0OiAtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItbGVmdCl9O1xuXHRcdG1hcmdpbi1yaWdodDogLSN7Z3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLXJpZ2h0KX07XG5cdFx0Ly8gZm9udC1zaXplOjA7IC8vIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggaW5saW5lLWJsb2NrIG1hcmdpbnNcblxuXHRcdEBpZiAkcmV2ZXJzZSB7XG5cdFx0XHR0cmFuc2Zvcm0gOiByb3RhdGVZKDE4MGRlZyk7XG5cblx0XHRcdD4gI3tfZ3JpZGxlX2dldF9nZW5lcmljX3NlbGVjdG9yKGdyaWQpfSB7XG5cdFx0XHRcdHRyYW5zZm9ybSA6IHJvdGF0ZVkoLTE4MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I3tfZ3JpZGxlX2dldF9nZW5lcmljX3NlbGVjdG9yKG5vLWd1dHRlcil9ID4gJiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cdFx0Ly8gZG8gdGhpcyBvbmx5IHdoZW4gbm90IGluIGdlbmVyYXRlIHBoYXNlXG5cdFx0Ly8gbWVhbiB0aGF0IHdlIHVzZSB0aGUgbWl4aW4gZGlyZWN0bHlcblx0XHRAaWYgX2dyaWRsZV9pc19pbl9nZW5lcmF0ZV9waGFzZSgpID09IGZhbHNlIHtcblx0XHRcdEBlYWNoICRzdGF0ZU5hbWUsICRzdGF0ZSBpbiBncmlkbGVfZ2V0X3N0YXRlcygpIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCRzdGF0ZSkge1xuXHRcdFx0XHRcdCYgI3tzdHItcmVwbGFjZSh1bnF1b3RlKFwiI3smfVwiKSxcIi5zdGF0ZS0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKG5hbWUsICRzdGF0ZSl9XCIsXCJcIil9IHtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItbGVmdCwgJHN0YXRlKX07XG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1yaWdodCwgJHN0YXRlKX07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIENvbFxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9jb2woXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9jb2woXG5cdCRyZXZlcnNlIDogZmFsc2Vcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoY29sKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi1sZWZ0OiAtI3tncmlkbGVfZ2V0X3N0YXRlX3ZhcihndXR0ZXItbGVmdCl9O1xuXHRcdG1hcmdpbi1yaWdodDogLSN7Z3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLXJpZ2h0KX07XG5cdFx0Ly8gZm9udC1zaXplOjA7IC8vIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggaW5saW5lLWJsb2NrIG1hcmdpbnNcblxuXHRcdEBpZiAkcmV2ZXJzZSB7XG5cdFx0XHR0cmFuc2Zvcm0gOiByb3RhdGVYKDE4MGRlZyk7XG5cblx0XHRcdD4gI3tfZ3JpZGxlX2dldF9nZW5lcmljX3NlbGVjdG9yKGdyaWQpfSB7XG5cdFx0XHRcdHRyYW5zZm9ybSA6IHJvdGF0ZVgoLTE4MGRlZyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gZG8gdGhpcyBvbmx5IHdoZW4gbm90IGluIGdlbmVyYXRlIHBoYXNlXG5cdFx0Ly8gbWVhbiB0aGF0IHdlIHVzZSB0aGUgbWl4aW4gZGlyZWN0bHlcblx0XHRAaWYgX2dyaWRsZV9pc19pbl9nZW5lcmF0ZV9waGFzZSgpID09IGZhbHNlIHtcblx0XHRcdEBlYWNoICRzdGF0ZU5hbWUsICRzdGF0ZSBpbiBncmlkbGVfZ2V0X3N0YXRlcygpIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCRzdGF0ZSkge1xuXHRcdFx0XHRcdCYgI3tzdHItcmVwbGFjZSgjeyZ9LFwiLnN0YXRlLSN7Z3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKX1cIixcIlwiKX0ge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0je2dyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1sZWZ0LCAkc3RhdGUpfTtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLSN7Z3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLXJpZ2h0LCAkc3RhdGUpfTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gTm93cmFwXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX25vd3JhcChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cblx0PiAqIHtcblx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHR9XG59XG5AbWl4aW4gZ3JpZGxlX25vd3JhcCgpIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKG5vd3JhcCkge1xuXHR9XG59XG5cblxuLy9cbi8vIFdyYXBcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fd3JhcChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdHdoaXRlLXNwYWNlOm5vcm1hbDtcbn1cbkBtaXhpbiBncmlkbGVfd3JhcCgpIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHdyYXApIHtcblx0fVxufVxuXG5cbi8vXG4vLyBHcmlkXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2dyaWQoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHQvLyB2YXJzXG5cdCRkaXJlY3Rpb24gOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXJlY3Rpb24sICRzdGF0ZSk7XG5cblx0Ly8gY3NzXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRtaW4taGVpZ2h0OjFweDtcblx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHtcblx0XHRmbG9hdDpyaWdodDtcblx0fSBAZWxzZSB7XG5cdFx0ZmxvYXQ6bGVmdDtcblx0fVxuXHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdC8vIGZvbnQtc2l6ZToxcmVtOyAvLyByZXNldCB0aGUgZm9udCBzaXplXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIoKTtcblxuXHQvLyBoYW5kbGUgZGlyZWN0aW9uIGF0dHJpYnV0ZVxuXHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSwgJHN0YXRlKSB7XG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHR9XG5cdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblx0fVxuXG59XG5AbWl4aW4gZ3JpZGxlX2dyaWQoXG5cdCRjb2x1bW5zLFxuXHQkY29udGV4dCA6IG51bGxcbikge1xuXHRAaWYgJGNvbHVtbnMgPT0gZ3JvdyB7XG5cdFx0QGluY2x1ZGUgZ3JpZGxlX2dyaWRfZ3JvdygpO1xuXHR9IEBlbHNlIGlmICRjb2x1bW5zID09IGFkYXB0IHtcblx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF9hZGFwdCgpO1xuXHR9IEBlbHNlIHtcblxuXHRcdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChncmlkKSB7XG5cblx0XHRcdC8vIHZhcnNcblx0XHRcdCRuYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSk7XG5cdFx0XHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHRcdFx0JGNvbnRleHQgOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb250ZXh0KTtcblx0XHRcdH1cblx0XHRcdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdFx0JGd1dHRlci1sZWZ0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZ3V0dGVyLWxlZnQpO1xuXHRcdFx0JGd1dHRlci1yaWdodCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGd1dHRlci1yaWdodCk7XG5cdFx0XHQkY29sdW1uLXdpZHRoIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29sdW1uLXdpZHRoKTtcblxuXHRcdFx0Ly8gbWFuYWdlIGNvbHVtbnNcblx0XHRcdEBpZiB0eXBlLW9mKCRjb2x1bW5zKSAhPSBudW1iZXIgYW5kIGdyaWRsZV9oYXNfY29sdW1uKCRjb2x1bW5zKSB7XG5cdFx0XHRcdC8vIHRoZSBjb2x1bW5zIGlzIGEgc2F2ZWQgb25lLCBnZXQgdGhlIGNvbnRleHQgYW5kIGNvbHVtbiB2YWx1ZVxuXHRcdFx0XHQkY29sdW1uIDogbWFwLWdldCgkX2dyaWRsZV9jb2x1bW5zLCAkY29sdW1ucyk7XG5cdFx0XHRcdCRjb250ZXh0IDogbWFwLWdldCgkY29sdW1uLCBjb250ZXh0KTtcblx0XHRcdFx0JGNvbHVtbnMgOiBtYXAtZ2V0KCRjb2x1bW4sIGNvbHVtbnMpO1xuXHRcdFx0fSBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIge1xuXHRcdFx0XHQvLyBjaGVjayBpZiB3ZSBoYXZlIGEgcmF0aW9cblx0XHRcdFx0QGlmICRjb2x1bW5zIDwgMSB7XG5cdFx0XHRcdFx0JGNvbHVtbnMgOiAkY29udGV4dCAvIDEwMCAqICgkY29sdW1ucyAqIDEwMCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JGNvbHVtbnMgOiAkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3I7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0QGVycm9yIFwidGhlIGNvbHVtbiAjeyRjb2x1bW5zfSBkb2VzIG5vdCBleGlzdC4uLlwiO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyB3aWR0aCA6XG5cdFx0XHQkd2lkdGggOiAwO1xuXHRcdFx0QGlmICRjb2x1bW4td2lkdGgge1xuXHRcdFx0XHQkd2lkdGggOiAkY29sdW1uLXdpZHRoICogJGNvbHVtbnM7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0JHdpZHRoIDogcGVyY2VudGFnZSgxIC8gJGNvbnRleHQgKiAkY29sdW1ucyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIHNldCB2YWx1ZSA6XG5cdFx0XHR3aWR0aDokd2lkdGg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEdyaWQgdGFibGVcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fZ3JpZF90YWJsZShcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX2dyaWRfdGFibGUoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGdyaWQtdGFibGUpIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdH1cbn1cblxuXG4vL1xuLy8gUm93IGZ1bGxcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcm93X2Z1bGwoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9yb3dfZnVsbChcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwocm93LWZ1bGwpIHtcblx0XHQkZGlyZWN0aW9uIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyZWN0aW9uKTtcblx0XHR3aWR0aDogMTAwdnc7XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gbHRyIHtcblx0XHRcdG1hcmdpbi1sZWZ0OjUwJSAhaW1wb3J0YW50O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OjAgIWltcG9ydGFudDtcblx0XHRcdEBpZiAkZ3JpZGxlLXZlbmRvci1wcmVmaXgge1xuXHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHR9XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6NTAlICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7XG5cdFx0XHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcblx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcblx0XHRcdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHR9XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcblx0XHR9XG5cdFx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUpIHtcblx0XHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OjUwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6MCAhaW1wb3J0YW50O1xuXHRcdFx0XHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0XHQtbW96LXRyYW5zaXRpb246IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHRcdFx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0fVxuXHRcdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OjUwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRtYXJnaW4tbGVmdDowICFpbXBvcnRhbnQ7XG5cdFx0XHRcdEBpZiAkZ3JpZGxlLXZlbmRvci1wcmVmaXgge1xuXHRcdFx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiB0cmFuc2xhdGVYKDUwJSk7XG5cdFx0XHRcdFx0LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0XHRcdC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBncmlkIGFkYXB0XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2dyaWRfYWRhcHQoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR3aWR0aDoxcHg7XG5cdHdoaXRlLXNwYWNlOm5vd3JhcCAhaW1wb3J0YW50O1xuXHRAaWYgJGdyaWRsZS12ZW5kb3ItcHJlZml4IHtcblx0XHQtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIoKTtcbn1cbkBtaXhpbiBncmlkbGVfZ3JpZF9hZGFwdChcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoZ3JpZC1hZGFwdCkge1xuXHR9XG59XG5cblxuLy9cbi8vIEdyb3dcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fZ3JpZF9ncm93KFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0d2lkdGg6OTk5OTlweDtcblx0QGlmICRncmlkbGUtdmVuZG9yLXByZWZpeCB7XG5cdFx0LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcblx0fVxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKCk7XG5cbn1cbkBtaXhpbiBncmlkbGVfZ3JpZF9ncm93KFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChncmlkLWdyb3cpIHtcblx0fVxufVxuXG5cbi8vXG4vLyBPcmRlclxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9vcmRlcihcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX29yZGVyKFxuXHQkcG9zaXRpb25cbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwob3JkZXIpIHtcblx0fVxufVxuXG5cbi8vXG4vLyBDbGVhciBlYWNoXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2NsZWFyX2VhY2goXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9jbGVhcl9lYWNoKFxuXHQkY2xlYXJFYWNoLFxuXHQkY2xlYXJXaGF0IDogYm90aFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChjbGVhci1lYWNoKSB7XG5cdFx0JGdyaWQgOiBtYXAtZ2V0KCRfZ3JpZGxlLXBhY2thZ2VzLCBncmlkKTtcblx0XHQkc2VsIDogbWFwLWdldCgkZ3JpZCwgZ2VuZXJpYy1zZWxlY3Rvcik7XG5cdFx0QGlmIG5vdCAkc2VsIHtcblx0XHRcdCRzZWwgOiBfZ3JpZGxlX2dldF9nZW5lcmljX3NlbGVjdG9yKGdyaWQpO1xuXHRcdH1cblxuXHRcdD4gI3skc2VsfTpudGgtb2YtdHlwZSgjeyRjbGVhckVhY2h9bisxKSB7XG5cdFx0XHRjbGVhciA6ICRjbGVhcldoYXQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIEFsaWduIDpcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcm93X2FsaWduKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cblxuQG1peGluIGdyaWRsZV9yb3dfYWxpZ24oXG5cdCRhbGlnbiA6IG1pZGRsZVxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChyb3ctYWxpZ24pIHtcblx0XHQvLyBuZWVkIHRvIGNoYW5nZSB0aGUgd2F5IGdyaWRzIGl0ZW1zIGFyZSBsYXllZCBvdXRcblx0XHRAaWYgaW4tbWFwKCRhbGlnbiwgdG9wKSBvZiBpbi1tYXAoJGFsaWduLCBtaWRkbGUpIG9yIGluLW1hcCgkYWxpZ24sIGJvdHRvbSkge1xuXHRcdFx0Zm9udC1zaXplOjA7XG5cdFx0XHRjbGVhcjpib3RoO1xuXG5cdFx0XHQ+ICoge1xuXHRcdFx0XHRmbG9hdDpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdEBpZiBpbi1tYXAoJGFsaWduLCB0b3ApIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjp0b3A7XG5cdFx0XHRcdH0gQGVsc2VpZiBpbi1tYXAoJGFsaWduLCBtaWRkbGUpIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOmJvdHRvbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb250LXNpemU6MXJlbTtcblx0XHRcdFx0QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblx0XHRcdFx0XHQmIHtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogLTAuNXB4OyAvLyBmaXggZmlyZWZveCB3ZWlyZCBpc3N1ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBlYWNoICRhIGluICRhbGlnbiB7XG5cdFx0XHRAaWYgJGEgPT0gbGVmdCB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9IEBlbHNlIGlmICRhID09IGNlbnRlciB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH0gQGVsc2UgaWYgJGEgPT0gcmlnaHQge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH0gQGVsc2UgaWYgJGEgPT0gdG9wIHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdH0gQGVsc2UgaWYgJGEgPT0gbWlkZGxlIHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdH0gQGVsc2UgaWYgJGEgPT0gYm90dG9tIHtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaWYgaW4tbWFwKCRhbGlnbiwgY2VudGVyKSBvciBpbi1tYXAoJGFsaWduLCByaWdodCkge1xuXHRcdFx0Ly8gcmVzdG9yZSB0ZXh0IGFsaWduIG9mIHRoZSBncmlkIGl0ZW1zXG5cdFx0XHQ+ICoge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiQG1peGluIGNvbnRhaW5lcigpIHtcclxuICBAaW5jbHVkZSBncmlkbGVfcm93KCk7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAxMTcwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtaXhpbiByb3coKSB7XHJcbiAgQGluY2x1ZGUgZ3JpZGxlX3JvdygpO1xyXG59XHJcbiIsIi8vXG4vLyBMYXlvdXQgaGVscGVyXG4vL1xuQG1peGluIGdyaWRsZV9sYXlvdXQoXG5cdCRsYXlvdXQsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgkY29udGV4dCkge1xuXHRcdEBpbmNsdWRlIGdyaWRsZV9yb3coKTtcblx0XHRAZWFjaCAkc2VsLCAkbCBpbiAkbGF5b3V0IHtcblx0XHRcdD4gI3skc2VsfSB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZSgkbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vXG4vLyBHcmlkbGUgc3RhdGVcbi8vXG4vLyBAcGFyYW0gXHRzdHJpbmd8bWFwfGxpc3QgXHQkc3RhdGVzIFx0XHRBIGxpc3Qgb2Ygc3RhdGVzLCBhIHN0YXRlIG5hbWUgb3IgYSBzdGF0ZSBtYXBcbi8vIEBwYXJhbSBcdGJvb2xlYW4gXHRcdFx0JGhhcy1wYXJlbnQgXHRNb3N0bHkgYWx3YXlzIHRydWUsIG1lYW4gdGhhdCB0aGUgbWl4aW4gaXMgdXNlZCBpbiBhIGNzcyBzZWxlY3RvciBhbmQgbm90IGluIGNzcyByb290IGxldmVsXG4vL1xuQG1peGluIGdyaWRsZV9zdGF0ZShcblx0JHN0YXRlcyxcblx0JGhhcy1wYXJlbnQgOiB0cnVlXG4pIHtcblxuXHQvLyBjaGVjayBpZiBpcyBhIG1pbi1tYXggd2l0ZGggcXVlcnkgKGNvbXBhdGliaWxpdHkgbGF5ZXIpXG5cdEBpZiB0eXBlLW9mKCRzdGF0ZXMpID09IG51bWJlciBhbmQgdHlwZS1vZigkaGFzLXBhcmVudCkgPT0gbnVtYmVyIHtcblxuXHRcdC8vIGdldCBhIG5ldyBzdGF0ZSBmcm9tIHNldHRpbmdzIHBhc3NlZFxuXHRcdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoKFxuXHRcdFx0bWluLXdpZHRoIDogJHN0YXRlcyxcblx0XHRcdG1heC13aWR0aCA6ICRoYXMtcGFyZW50XG5cdFx0KSk7XG5cblx0XHQvLyBtYWtlIGEgcXVlcnlcblx0XHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cblx0fSBAZWxzZWlmIHR5cGUtb2YoJHN0YXRlcykgPT0gbGlzdFxuXHRcdG9yIHR5cGUtb2YoJHN0YXRlcykgPT0gc3RyaW5nIHtcblxuXHRcdC8vIGxvb3Agb24gZWFjaCBzdGF0ZXMgOlxuXHRcdEBlYWNoICRzdGF0ZSBpbiAkc3RhdGVzXG5cdFx0e1xuXHRcdFx0Ly8gbWFrZSBzdXJlIHdlIGhhdmUgdGhlIHN0YXRlIG9iamVjdFxuXHRcdFx0JHN0YXRlIDogZ3JpZGxlX2dldF9zdGF0ZSgkc3RhdGUpO1xuXG5cdFx0XHQvLyBtYWtlIGdyaWRsZSBzdGF0ZVxuXHRcdFx0QGluY2x1ZGUgX2dyaWRsZV9zdGF0ZSgkc3RhdGUsICRoYXMtcGFyZW50LCB0cnVlKSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlaWYgdHlwZS1vZigkc3RhdGVzKSA9PSBtYXAge1xuXG5cdFx0Ly8gZ2V0IGEgc3RhdGUgZnJvbSB0aGUgcGFzc2VkIG9uZVxuXHRcdCRzdGF0ZSA6IGdyaWRsZV9nZXRfc3RhdGUoJHN0YXRlcyk7XG5cblx0XHQvLyBtYWtlIGdyaWRsZSBzdGF0ZVxuXHRcdEBpbmNsdWRlIF9ncmlkbGVfc3RhdGUoJHN0YXRlLCAkaGFzLXBhcmVudCwgdHJ1ZSkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5cbi8vXG4vLyBFbGVtZW50IHF1ZXJpZXNcbi8vXG5AbWl4aW4gZ3JpZGxlX2VxKFxuXHQkdmFyLFxuXHQkaGVpZ2h0IDogZmFsc2Vcbikge1xuXHQkb3AgOiBcIm1pbi13aWR0aFwiO1xuXHRAaWYgJGhlaWdodCB7XG5cdFx0QGlmICR2YXIgPCAwIHtcblx0XHRcdCRvcCA6IFwibWF4LWhlaWdodFwiO1xuXHRcdFx0JHZhciA6ICR2YXIgKiAtMTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdCRvcCA6IFwibWluLWhlaWdodFwiO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGlmICR2YXIgPCAwIHtcblx0XHRcdCRvcCA6IFwibWF4LXdpZHRoXCI7XG5cdFx0XHQkdmFyIDogJHZhciAqIC0xO1xuXHRcdH1cblx0fVxuXG5cdCZbI3skb3B9fj1cIiN7JHZhcn1cIl0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cblxuLy9cbi8vIEdyaWRsZSB1c2Ugc3RhdGVcbi8vIFRoaXMgbWl4aW4gd2lsbCBvbmx5IHNldCB0aGUgY3VycmVudCBzdGF0ZSB0byB1c2UgYW5kIE5PVCBwcmludCBvdXQgYW55IG1lZGlhIHF1ZXJ5XG4vL1xuQG1peGluIGdyaWRsZV91c2Vfc3RhdGUoXG5cdCRzdGF0ZVxuKSB7XG5cdC8vIGdldCB0aGUgc3RhdGVcblx0JHN0YXRlIDogZ3JpZGxlX2dldF9zdGF0ZSgkc3RhdGUpO1xuXHQkc3RhdGVOYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKTtcblxuXHQvLyBzYXZlIHRoZSBjdXJyZW50IHN0YXRlXG5cdCRzYXZlZFN0YXRlIDogJF9ncmlkbGVfY3VycmVudF9zdGF0ZTtcblx0JHNhdmVkU3RhdGVOYW1lIDogJF9ncmlkbGVfY3VycmVudF9zdGF0ZU5hbWU7XG5cblx0Ly8gc2V0IHRoZSBjdXJyZW50IHN0YXRlXG5cdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGUgOiAkc3RhdGUgIWdsb2JhbDtcblx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZU5hbWUgOiAkc3RhdGVOYW1lICFnbG9iYWw7XG5cblx0Ly8gZ2VuZXJhdGUgY29udGVudFxuXHRAY29udGVudDtcblxuXHQvLyByZXNldCB0aGUgc3RhdGVcblx0JF9ncmlkbGVfY3VycmVudF9zdGF0ZSA6ICRzYXZlZFN0YXRlICFnbG9iYWw7XG5cdCRfZ3JpZGxlX2N1cnJlbnRfc3RhdGVOYW1lIDogJHNhdmVkU3RhdGVOYW1lICFnbG9iYWw7XG59XG5cblxuLy9cbi8vIEdyaWRsZSBzZWxlY3RvclxuLy9cbkBtaXhpbiBncmlkbGVfc2VsZWN0b3IoXG5cdCRmb3IsXG5cdCRzdGF0ZXMgOiBudWxsXG4pIHtcblx0I3tncmlkbGVfc2VsZWN0b3IoJGZvciwgJHN0YXRlcyl9IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5cbi8vXG4vLyBHcmlkbGUgaGVscGVyXG4vL1xuQG1peGluIGdyaWRsZSgkbGF5b3V0KSB7XG5cdCRtYXAgOiBfZ3JpZGxlX2dldF9ncmlkbGVfc2V0X21hcF9mcm9tX2xpc3QoJGxheW91dCk7XG5cdEBpZiB0eXBlLW9mKCRtYXApID09IG1hcCB7XG5cdFx0QGluY2x1ZGUgZ3JpZGxlX3NldCgkbWFwKTtcblx0fVxufVxuXG5cbi8vXG4vLyBIZWxwZXIgdG8gYXBwbHkgbXVsdGlwbGUgY29uZmlnIGZvciBhIGNlcnRhaW4gc3RhdGUgd2l0aCBvbmUgbWl4aW5cbi8vXG5AbWl4aW4gZ3JpZGxlX3NldChcblx0JHNldHRpbmdzLFxuXHQkc3RhdGUgOiBjdXJyZW50XG4pIHtcblx0Ly8gaW5pdCBpZiBuZWVkZWRcblx0QGluY2x1ZGUgZ3JpZGxlX2luaXQoKTtcblx0Ly8gd3JhcCBpbiBtZWRpYSBxdWVyeVxuXHRAaW5jbHVkZSBncmlkbGVfc3RhdGUoJHN0YXRlKSB7XG5cdFx0QGluY2x1ZGUgX2dyaWRsZV9zZXQoJHNldHRpbmdzKTtcblx0fVxufVxuQG1peGluIF9ncmlkbGVfc2V0KFxuXHQkc2V0dGluZ3Ncbikge1xuXHQvLyBsb29wIG9uIGVhY2ggc2V0dGluZ3Ncblx0QGVhY2ggJHNldHRpbmdOYW1lLCAkc2V0dGluZ1ZhbHVlIGluICRzZXR0aW5nc1xuXHR7XG5cdFx0JHNuIDogdW5xdW90ZShcIiN7JHNldHRpbmdOYW1lfVwiKTtcblx0XHQkc3YgOiAkc2V0dGluZ1ZhbHVlO1xuXG5cdFx0Ly8gY2hlY2sgaWYgc2V0dGluZyBuYW1lIGlzIGEgc3RhdGUgOlxuXHRcdEBpZiBncmlkbGVfaGFzX3N0YXRlKCRzbikge1xuXHRcdFx0Ly8gcHJvY2VzcyB0aGUgc3RhdGVcblx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zZXQoJHN2LCAkc24pO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QGlmICRzbiA9PSBjb250YWluZXIge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jb250YWluZXIoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gZ3JpZCB7XG5cdFx0XHRcdEBpZiBsZW5ndGgoJHN2KSA9PSAyIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZChudGgoJHN2LDEpLCBudGgoJHN2LDIpKTtcblx0XHRcdFx0fSBAZWxzZSBpZiB0eXBlLW9mKCRzdikgPT0gbGlzdCBhbmQgbGVuZ3RoKCRzdikgPT0gMSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2dyaWQobnRoKCRzdiwxKSk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkKCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGdyaWQtZ3JvdyB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2dyaWRfZ3JvdygpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBncmlkLWFkYXB0IHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF9hZGFwdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBncmlkLXRhYmxlIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3JpZF90YWJsZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBwdXNoIHtcblx0XHRcdFx0QGlmIGxlbmd0aCgkc3YpID09IDIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9wdXNoKG50aCgkc3YsMSksIG50aCgkc3YsMikpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcHVzaCgkc3YpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBwdWxsIHtcblx0XHRcdFx0QGlmIGxlbmd0aCgkc3YpID09IDIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9wdWxsKG50aCgkc3YsMSksIG50aCgkc3YsMikpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfcHVsbCgkc3YpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBwcmVmaXgge1xuXHRcdFx0XHRAaWYgbGVuZ3RoKCRzdikgPT0gMiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3ByZWZpeChudGgoJHN2LDEpLCBudGgoJHN2LDIpKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3ByZWZpeCgkc3YpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBzdWZmaXgge1xuXHRcdFx0XHRAaWYgbGVuZ3RoKCRzdikgPT0gMiB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N1ZmZpeChudGgoJHN2LDEpLCBudGgoJHN2LDIpKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3N1ZmZpeCgkc3YpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBjbGVhci1lYWNoIHtcblx0XHRcdFx0QGlmIGxlbmd0aCgkc3YpID09IDIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9jbGVhcl9lYWNoKG50aCgkc3YsMSksIG50aCgkc3YsMikpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfY2xlYXJfZWFjaCgkc3YpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBncmlkLWNlbnRlcmVkIGFuZCAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ncmlkX2NlbnRlcmVkKCk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSByb3cgYW5kICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3JvdygpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gcm93LWZ1bGwgYW5kICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Jvd19mdWxsKCk7XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBjb2wgYW5kICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NvbCgpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gcm93LWFsaWduIHtcblx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX3Jvd19hbGlnbigkc3YpO1xuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gbm93cmFwIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfbm93cmFwKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV93cmFwKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHdyYXAge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV93cmFwKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub3dyYXAoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gb3JkZXIge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfb3JkZXIoJHN2KTtcblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGhpZGUge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9oaWRlKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zaG93KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHNob3cge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9zaG93KCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9oaWRlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHZpc2libGUge1xuXHRcdFx0XHRAaWYgJHN2ID09IHRydWUge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV92aXNpYmxlKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ub3RfdmlzaWJsZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmICRzbiA9PSBub3QtdmlzaWJsZSB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vdF92aXNpYmxlKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV92aXNpYmxlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IHNob3ctaW5saW5lIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfc2hvd19pbmxpbmUoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2hpZGUoKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiAkc24gPT0gZmxvYXQge1xuXHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZmxvYXQoJHN2KTtcblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGNsZWFyIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfY2xlYXIoKTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2NsZWFyKCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IG5vLWd1dHRlciB7XG5cdFx0XHRcdEBpZiAkc3YgPT0gdHJ1ZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX25vX2d1dHRlcigpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfbm9fZ3V0dGVyKCRzdik7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgJHNuID09IGd1dHRlciBvciAkc24gPT0gZ3V0dGVyLXdpZHRoIHtcblx0XHRcdFx0QGlmICRzdiA9PSB0cnVlIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBncmlkbGVfZ3V0dGVyKCk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9ndXR0ZXIoJHN2KTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdC8vIHdlIGRvIG5vdGhpbmdcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gUHVzaFxuLy9cbkBtaXhpbiBfZ3JpZGxlX2NvbW1vbl9wdXNoKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY3NzXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHQvLyBoYW5kbGUgZGlyZWN0aW9uIGF0dHJpYnV0ZVxuXHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSwgJHN0YXRlKSB7XG5cdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0fVxuXHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHR9XG5cdH1cbn1cbkBtaXhpbiBncmlkbGVfcHVzaChcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChwdXNoKSB7XG5cdFx0Ly8gdmFyaWFibGVzIDpcblx0XHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHRcdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCk7XG5cdFx0fVxuXHRcdCRkaXJlY3Rpb24gOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXJlY3Rpb24pO1xuXHRcdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdCRjb2x1bW4td2lkdGggOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb2x1bW4td2lkdGgpO1xuXG5cdFx0Ly8gdmFycyA6XG5cdFx0JHdpZHRoIDogMDtcblx0XHRAaWYgJGNvbHVtbi13aWR0aCB7XG5cdFx0XHQkd2lkdGggOiAkY29sdW1uLXdpZHRoICogKCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkd2lkdGggOiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCkgKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9XG5cdFx0Ly8gQGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgJHdpZHRoIDogJHdpZHRoKi0xOyB9XG5cdFx0Ly8gbGVmdDokd2lkdGg7XG5cdFx0Ly8gQGlmICRkaXJlY3Rpb24gPT0gbHRyIHtcblx0XHQvLyBcdFtkaXI9XCJydGxcIl0gJiB7XG5cdFx0Ly8gXHRcdGxlZnQ6ICR3aWR0aCAqIC0xO1xuXHRcdC8vIFx0fVxuXHRcdC8vIH1cblxuXHRcdC8vIHNldCB2YWx1ZSA6XG5cdFx0QGlmICRkaXJlY3Rpb24gPT0gcnRsIHsgcmlnaHQ6JHdpZHRoO2xlZnQ6YXV0bzsgfVxuXHRcdEBlbHNlIHsgbGVmdDokd2lkdGg7cmlnaHQ6YXV0bzsgfVxuXHRcdC8vIGhhbmRsZSBkaXJlY3Rpb24gYXR0cmlidXRlXG5cdFx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUpIHtcblx0XHRcdFtkaXI9XCJydGxcIl0gJiB7XG5cdFx0XHRcdHJpZ2h0OiAkd2lkdGg7XG5cdFx0XHR9XG5cdFx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0XHRsZWZ0OiAkd2lkdGg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIFB1bGxcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcHVsbChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNzc1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Ly8gaGFuZGxlIGRpcmVjdGlvbiBhdHRyaWJ1dGVcblx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUsICRzdGF0ZSkge1xuXHRcdFtkaXI9XCJydGxcIl0gJiB7XG5cdFx0XHRyaWdodDogYXV0bztcblx0XHR9XG5cdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5AbWl4aW4gZ3JpZGxlX3B1bGwoXG5cdCRjb2x1bW5zLFxuXHQkY29udGV4dCA6IG51bGxcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwocHVsbCkge1xuXHRcdC8vIHZhcmlhYmxlcyA6XG5cdFx0QGlmIHR5cGUtb2YoJGNvbnRleHQpICE9IG51bWJlciB7XG5cdFx0XHQkY29udGV4dCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGNvbnRleHQpO1xuXHRcdH1cblx0XHQkZGlyZWN0aW9uIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyZWN0aW9uKTtcblx0XHQkbmFtZS1tdWx0aXBsaWNhdG9yIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHQkY29sdW1uLXdpZHRoIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29sdW1uLXdpZHRoKTtcblxuXHRcdC8vIHZhcnMgOlxuXHRcdCR3aWR0aCA6IDA7XG5cdFx0QGlmICRjb2x1bW4td2lkdGgge1xuXHRcdFx0JHdpZHRoIDogJGNvbHVtbi13aWR0aCAqICgkY29sdW1ucyAvICRuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JHdpZHRoIDogcGVyY2VudGFnZSgxIC8gJGNvbnRleHQpICogKCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0fVxuXHRcdC8vIEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7ICR3aWR0aCA6ICR3aWR0aCotMTsgfVxuXHRcdC8vIHJpZ2h0OiR3aWR0aDtcblx0XHQvLyBAaWYgJGRpcmVjdGlvbiA9PSBsdHIge1xuXHRcdC8vIFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHQvLyBcdFx0bGVmdDogJHdpZHRoICogLTE7XG5cdFx0Ly8gXHR9XG5cdFx0Ly8gfVxuXG5cdFx0Ly8gc2V0IHZhbHVlIDpcblx0XHRAaWYgJGRpcmVjdGlvbiA9PSBydGwgeyBsZWZ0OiR3aWR0aDtyaWdodDphdXRvOyB9XG5cdFx0QGVsc2UgeyByaWdodDokd2lkdGg7bGVmdDphdXRvOyB9XG5cdFx0Ly8gaGFuZGxlIGRpcmVjdGlvbiBhdHRyaWJ1dGVcblx0XHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSkge1xuXHRcdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdFx0bGVmdDogJHdpZHRoO1xuXHRcdFx0fVxuXHRcdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdFx0cmlnaHQ6ICR3aWR0aDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gUHJlZml4XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3ByZWZpeChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdC8vIGhhbmRsZSBkaXJlY3Rpb24gYXR0cmlidXRlXG5cdEBpZiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXItYXR0cmlidXRlLCAkc3RhdGUpIHtcblx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0fVxuXHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5AbWl4aW4gZ3JpZGxlX3ByZWZpeChcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChwcmVmaXgpIHtcblx0XHQvLyB2YXJzIDpcblx0XHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHRcdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCk7XG5cdFx0fVxuXHRcdCRkaXJlY3Rpb24gOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXJlY3Rpb24pO1xuXHRcdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdCRjb2x1bW4td2lkdGggOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb2x1bW4td2lkdGgpO1xuXG5cdFx0Ly8gdmFycyA6XG5cdFx0JHdpZHRoIDogMDtcblx0XHRAaWYgJGNvbHVtbi13aWR0aCB7XG5cdFx0XHQkd2lkdGggOiAkY29sdW1uLXdpZHRoICogKCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkd2lkdGggOiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCkgKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9XG5cblx0XHQvLyBzZXQgdmFsdWUgOlxuXHRcdEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7IG1hcmdpbi1yaWdodDokd2lkdGg7IH1cblx0XHRAZWxzZSB7IG1hcmdpbi1sZWZ0OiR3aWR0aDsgfVxuXHRcdC8vIGhhbmRsZSBkaXJlY3Rpb24gYXR0cmlidXRlXG5cdFx0QGlmIGdyaWRsZV9nZXRfc3RhdGVfdmFyKGRpci1hdHRyaWJ1dGUpIHtcblx0XHRcdFtkaXI9XCJydGxcIl0gJiB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogJHdpZHRoO1xuXHRcdFx0fVxuXHRcdFx0W2Rpcj1cImx0clwiXSAmIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICR3aWR0aDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gU3VmZml4XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3N1ZmZpeChcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdEBpZiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXItYXR0cmlidXRlLCAkc3RhdGUpIHtcblx0XHRbZGlyPVwicnRsXCJdICYge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdH1cblx0XHRbZGlyPVwibHRyXCJdICYge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0fVxuXHR9XG59XG5AbWl4aW4gZ3JpZGxlX3N1ZmZpeChcblx0JGNvbHVtbnMsXG5cdCRjb250ZXh0IDogbnVsbFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChzdWZmaXgpIHtcblx0XHQvLyB2YXJzIDpcblx0XHRAaWYgdHlwZS1vZigkY29udGV4dCkgIT0gbnVtYmVyIHtcblx0XHRcdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCk7XG5cdFx0fVxuXHRcdCRkaXJlY3Rpb24gOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihkaXJlY3Rpb24pO1xuXHRcdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IpO1xuXHRcdCRjb2x1bW4td2lkdGggOiBncmlkbGVfZ2V0X3N0YXRlX3Zhcihjb2x1bW4td2lkdGgpO1xuXG5cdFx0Ly8gdmFycyA6XG5cdFx0JHdpZHRoIDogMDtcblx0XHRAaWYgJGNvbHVtbi13aWR0aCB7XG5cdFx0XHQkd2lkdGggOiAkY29sdW1uLXdpZHRoICogKCRjb2x1bW5zIC8gJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkd2lkdGggOiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCkgKiAoJGNvbHVtbnMgLyAkbmFtZS1tdWx0aXBsaWNhdG9yKTtcblx0XHR9XG5cblx0XHQvLyBzZXQgdmFsdWUgOlxuXHRcdEBpZiAkZGlyZWN0aW9uID09IHJ0bCB7IG1hcmdpbi1sZWZ0OiR3aWR0aDsgfVxuXHRcdEBlbHNlIHsgbWFyZ2luLXJpZ2h0OiR3aWR0aDsgfVxuXG5cdFx0Ly8gaGFuZGxlIGRpcmVjdGlvbiBhdHRyaWJ1dGVcblx0XHRAaWYgZ3JpZGxlX2dldF9zdGF0ZV92YXIoZGlyLWF0dHJpYnV0ZSkge1xuXHRcdFx0W2Rpcj1cInJ0bFwiXSAmIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6ICR3aWR0aDtcblx0XHRcdH1cblx0XHRcdFtkaXI9XCJsdHJcIl0gJiB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogJHdpZHRoO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vXG4vLyBSb3cgZGVidWdcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fcm93X2RlYnVnKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfcm93X2RlYnVnKFxuXHQkc3RhdGVzIDogbnVsbFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChyb3ctZGVidWcpIHtcblx0XHQvLyB2YXJpYWJsZXMgOlxuXHRcdCRjb250ZXh0IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY29udGV4dCk7XG5cblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHR6LWluZGV4Ojk5OTk5O1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0Y29udGVudDonJztcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0dG9wOjA7IGxlZnQ6MDtcblx0XHRcdHdpZHRoOjEwMCU7IGhlaWdodDo5OTk5OXB4O1xuXHRcdFx0Ly8gdmFycyA6XG5cdFx0XHQkd2lkdGggOiBwZXJjZW50YWdlKDEgLyAkY29udGV4dCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwwLDAsMCkgNTAlICwgcmdiYSgwLDAsMCwuMDIpIDUwJSk7IC8vIFN0YW5kYXJkIHN5bnRheFxuXHRcdFx0YmFja2dyb3VuZC1zaXplOigkd2lkdGgqMikgMTAwJTtcblx0XHRcdHotaW5kZXg6OTk5OTk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIERlYnVnXG4vL1xuQG1peGluIGdyaWRsZV9kZWJ1Zyhcblx0JHdoYXQsXG5cdCRvdXRwdXQgOiBzaGVsbFxuKSB7XG5cdEBpZiAkZ3JpZGxlLWRlYnVnIHtcblx0XHRAaWYgJG91dHB1dCA9PSBzaGVsbCB7XG5cdFx0XHRAZGVidWcoaW5zcGVjdCgkd2hhdCkpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QGlmIHR5cGUtb2YoJHdoYXQpID09IG1hcCB7XG5cdFx0XHRcdEBpbmNsdWRlIGdyaWRsZV9kZWJ1Z19tYXAoJHdoYXQpO1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdEBfIHtcblx0XHRcdFx0XHQje3R5cGUtb2YoJHdoYXQpfSA6IGluc3BlY3QoJHdoYXQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLy9cbi8vIERlYnVnIGEgbWFwXG4vL1xuQG1peGluIGdyaWRsZV9kZWJ1Z19tYXAoJG1hcCwgJG5hbWUgOiAnJykge1xuXHRAYXQtcm9vdCB7XG5cdFx0QF8gI3skbmFtZX0ge1xuXHRcdFx0QGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuXHRcdFx0XHRAaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ3JpZGxlX2RlYnVnX21hcCgkdmFsdWUsICRrZXkpO1xuXHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHQjeyRrZXl9OiBpbnNwZWN0KCR2YWx1ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gQ29udGFpbmVyXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2NvbnRhaW5lcihcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cblxufVxuQG1peGluIGdyaWRsZV9jb250YWluZXIoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGNvbnRhaW5lcikge1xuXHR9XG59XG5cblxuLy9cbi8vIENlbnRlcmVkXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2dyaWRfY2VudGVyZWQoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xuXHRkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XG5cdGZsb2F0Om5vbmUgIWltcG9ydGFudDtcblx0bWFyZ2luLWxlZnQ6YXV0byAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRjbGVhcjpib3RoICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZ3JpZGxlX2dyaWRfY2VudGVyZWQoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGdyaWQtY2VudGVyZWQpIHtcblx0fVxufVxuXG5cbi8vXG4vLyBIaWRlXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2hpZGUoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9oaWRlKFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChoaWRlKSB7XG5cdFx0ZGlzcGxheTpub25lO1xuXHR9XG59XG5cblxuLy9cbi8vIE5vdCB2aXNpYmxlIG9uXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX25vdF92aXNpYmxlKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfbm90X3Zpc2libGUoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKG5vdC12aXNpYmxlKSB7XG5cdFx0dmlzaWJpbGl0eTpoaWRkZW47XG5cdH1cbn1cblxuXG4vL1xuLy8gU2hvdyBvblxuLy9cbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRtZWRpYSBcdFdoYXQgdG8gaGlkZSAob25lIG9mIHRoZSAzIHN0YXRlIGNsYXNzZXMgbmFtZSlcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fc2hvdyhcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX3Nob3coXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHNob3cpIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHR9XG59XG5cblxuLy9cbi8vIFNob3cgaW5saW5lXG4vL1xuLy8gQHBhcmFtIFx0U3RyaW5nIFx0XHQkc3RhdGUgXHRcdFRoZSBzdGF0ZSBuYW1lXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3Nob3dfaW5saW5lKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfc2hvd19pbmxpbmUoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKHNob3ctaW5saW5lKSB7XG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdH1cbn1cblxuXG4vL1xuLy8gVmlzaWJsZSBvbiA6XG4vLyBAcGFyYW0gXHRTdHJpbmcgXHQkbWVkaWEgXHRPbiB3aGF0IHN0YXRlXG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX3Zpc2libGUoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV92aXNpYmxlKFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbCh2aXNpYmxlKSB7XG5cdFx0dmlzaWJpbGl0eTp2aXNpYmxlO1xuXHR9XG59XG5cblxuLy9cbi8vIEZsb2F0IDpcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fZmxvYXQoXG5cdCRzdGF0ZSA6IGRlZmF1bHRcbikge1xufVxuQG1peGluIGdyaWRsZV9mbG9hdChcblx0JGZsb2F0LWRpcmVjdGlvbiA6IGxlZnRcbikge1xuXHRAaW5jbHVkZSBfZ3JpZGxlX2NhbGwoZmxvYXQpIHtcblx0XHRmbG9hdDojeyRmbG9hdC1kaXJlY3Rpb259O1xuXHR9XG59XG5cblxuLy9cbi8vIEdyaWRsZSBjbGVhciA6XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2NsZWFyKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfY2xlYXIoXG5cdCRjbGVhci1kaXJlY3Rpb24gOiBib3RoXG4pIHtcblx0QGluY2x1ZGUgX2dyaWRsZV9jYWxsKGNsZWFyKSB7XG5cdFx0Y2xlYXI6I3skY2xlYXItZGlyZWN0aW9ufTtcblx0fVxufVxuXG5cbi8vXG4vLyBHcmlkbGUgbm8gZ3V0dGVyIDpcbi8vXG5AbWl4aW4gX2dyaWRsZV9jb21tb25fbm9fZ3V0dGVyKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcbn1cbkBtaXhpbiBncmlkbGVfbm9fZ3V0dGVyKFxuXHQkc2lkZSA6IHRvcCByaWdodCBib3R0b20gbGVmdFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChuby1ndXR0ZXIpIHtcblx0XHRAZWFjaCAkcyBpbiAkc2lkZSB7XG5cdFx0XHRwYWRkaW5nLSN7JHN9IDogMDtcblx0XHR9XG5cdH1cbn1cblxuXG4vL1xuLy8gR3JpZGxlIGd1dHRlciA6XG4vL1xuQG1peGluIF9ncmlkbGVfY29tbW9uX2d1dHRlcihcblx0JHN0YXRlIDogZGVmYXVsdFxuKSB7XG59XG5AbWl4aW4gZ3JpZGxlX2d1dHRlcihcblx0JHNpZGUtb3Itc2l6ZSA6IHRvcCByaWdodCBib3R0b20gbGVmdFxuKSB7XG5cdEBpbmNsdWRlIF9ncmlkbGVfY2FsbChndXR0ZXIpIHtcblxuXHRcdC8vIGdldCBhIGd1dHRlciBtYXBcblx0XHQkZ3V0dGVycyA6IF9ncmlkbGVfZm9yZ2VfZ3V0dGVyc19tYXAoJHNpZGUtb3Itc2l6ZSk7XG5cblx0XHQvLyBjaGVjayB0aGF0IHdlIGhhdmUgYSBndXR0ZXIgbWFwXG5cdFx0QGVhY2ggJHNpZGUsICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG5cdFx0XHRAaWYgJHZhbHVlIGFuZCAkdmFsdWUgPiAwIHtcblx0XHRcdFx0cGFkZGluZy0jeyRzaWRlfSA6ICR2YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxufVxuIiwiLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gfCBGdW5jdGlvbnNcbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIFN0ciByZXBsYWNlXG4vL1xuLy8gQHBhcmFtIHtzdHJpbmd9ICAkc3RyaW5nICAgIFN0cmluZyB0aGF0IHlvdSB3YW50IHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7c3RyaW5nfSAgJHN1YnN0ciAgICBTdHJpbmcgdGhhdCBpcyB0byBiZSByZXBsYWNlZCBieSBgJG5ld3N1YnN0cmBcbi8vIEBwYXJhbSB7c3RyaW5nfSAgJG5ld3N1YnN0ciBTdHJpbmcgdGhhdCByZXBsYWNlcyBgJHN1YnN0cmBcbi8vIEBwYXJhbSB7bnVtYmVyKn0gJGFsbCAgICAgICBGbGFnIGZvciByZXBsYWNlaW5nIGFsbCAoMSspIG9yIG5vdCAoMClcbi8vIEByZXR1cm4ge3N0cmluZ31cbi8vXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHN1YnN0ciwgJG5ld3N1YnN0ciwgJGFsbDogMCkge1xuXHQkcG9zaXRpb24tZm91bmQ6IHN0ci1pbmRleCgkc3RyaW5nLCAkc3Vic3RyKTtcblx0JHByb2Nlc3NlZDogKCk7XG5cblx0QHdoaWxlICgkcG9zaXRpb24tZm91bmQgYW5kICRwb3NpdGlvbi1mb3VuZCA+IDApIHtcblx0XHQkbGVuZ3RoLXN1YnN0cjogc3RyLWxlbmd0aCgkc3Vic3RyKTtcblx0XHQkcHJvY2Vzc2VkOiBhcHBlbmQoJHByb2Nlc3NlZCwgc3RyLXNsaWNlKCRzdHJpbmcsIDAsICRwb3NpdGlvbi1mb3VuZCAtIDEpKTtcblx0XHQkcHJvY2Vzc2VkOiBhcHBlbmQoJHByb2Nlc3NlZCwgJG5ld3N1YnN0cik7XG5cdFx0JHN0cmluZzogc3RyLXNsaWNlKCRzdHJpbmcsICRwb3NpdGlvbi1mb3VuZCArICRsZW5ndGgtc3Vic3RyKTtcblxuXHRcdCRwb3NpdGlvbi1mb3VuZDogMDtcblxuXHRcdEBpZiAoJGFsbCA+IDApIHtcblx0XHRcdCRwb3NpdGlvbi1mb3VuZDogc3RyLWluZGV4KCRzdHJpbmcsICRzdWJzdHIpO1xuXHRcdH1cblx0fVxuXG5cdCRwcm9jZXNzZWQ6IGFwcGVuZCgkcHJvY2Vzc2VkLCAkc3RyaW5nKTtcblx0JHN0cmluZzogXCJcIjtcblxuXHRAZWFjaCAkcyBpbiAkcHJvY2Vzc2VkIHtcblx0XHQkc3RyaW5nOiAjeyRzdHJpbmd9I3skc307XG5cdH1cblxuXHRAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vXG4vLyBNYXAgc2V0XG4vL1xuLy8gQHBhcmFtIFx0TWFwIFx0JG1hcCBcdFx0VGhlIG1hcCB0byB1c2Vcbi8vIEBwYXJhbSBcdFN0cmluZyBcdCRrZXkgXHRcdFRoZSBrZXkgdG8gdXBkYXRlXG4vLyBAcGFyYW0gXHRNaXhlZCBcdCR2YWx1ZSBcdFx0VGhlIG5ldyB2YWx1ZVxuLy8gQHJldHVybiBcdE1hcCBcdFx0XHRUaGUgbmV3IG1hcFxuLy9cbkBmdW5jdGlvbiBtYXAtc2V0KCRtYXAsICRrZXksICR2YWx1ZSkge1xuXHQkbmV3OiAoJGtleTogJHZhbHVlKTtcblx0QHJldHVybiBtYXAtbWVyZ2UoJG1hcCwgJG5ldyk7XG59XG5cbi8vXG4vLyBSZW1vdmUgaXRlbSBmcm9tIGxpc3Rcbi8vXG5AZnVuY3Rpb24gcmVtb3ZlLW50aCgkbGlzdCwgJGluZGV4KSB7XG4gICRyZXN1bHQ6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJGluZGV4KSAhPSBudW1iZXIge1xuXHRAd2FybiBcIiRpbmRleDogI3txdW90ZSgkaW5kZXgpfSBpcyBub3QgYSBudW1iZXIgZm9yIGByZW1vdmUtbnRoYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmICRpbmRleCA9PSAwIHtcblx0QHdhcm4gXCJMaXN0IGluZGV4IDAgbXVzdCBiZSBhIG5vbi16ZXJvIGludGVnZXIgZm9yIGByZW1vdmUtbnRoYC5cIjtcbiAgfVxuXG4gIEBlbHNlIGlmIGFicygkaW5kZXgpID4gbGVuZ3RoKCRsaXN0KSB7XG5cdEB3YXJuIFwiTGlzdCBpbmRleCBpcyAjeyRpbmRleH0gYnV0IGxpc3QgaXMgb25seSAje2xlbmd0aCgkbGlzdCl9IGl0ZW0gbG9uZyBmb3IgYHJlbW92ZS1udGhgLlwiO1xuICB9XG5cbiAgQGVsc2Uge1xuXHQkcmVzdWx0OiAoKTtcblx0JGluZGV4OiBpZigkaW5kZXggPCAwLCBsZW5ndGgoJGxpc3QpICsgJGluZGV4ICsgMSwgJGluZGV4KTtcblxuXHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuXHQgIEBpZiAkaSAhPSAkaW5kZXgge1xuXHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG5cdCAgfVxuXHR9XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vXG4vLyBMaXN0IHNoaWZ0XG4vL1xuLy8gQHBhcmFtIFx0TGlzdCBcdCRsaXN0IFx0XHRUaGUgbGlzdCB0byB1c2Vcbi8vIEByZXR1cm4gXHRMaXN0IFx0XHRcdFx0VGhlIHByb2Nlc3NlZCBsaXN0XG4vL1xuQGZ1bmN0aW9uIGxpc3Qtc2hpZnQoJGxpc3QpIHtcblx0QHJldHVybiByZW1vdmUtbnRoKCRsaXN0LDEpO1xufVxuXG4vL1xuLy8gTGlzdCBwb3Bcbi8vXG4vLyBAcGFyYW0gXHRMaXN0IFx0JGxpc3QgXHRcdFRoZSBsaXN0IHRvIHVzZVxuLy8gQHJldHVybiBcdExpc3QgXHRcdFx0XHRUaGUgcHJvY2Vzc2VkIGxpc3Rcbi8vXG5AZnVuY3Rpb24gbGlzdC1wb3AoJGxpc3QpIHtcblx0QHJldHVybiByZW1vdmUtbnRoKCRsaXN0LGxlbmd0aCgkbGlzdCkpO1xufVxuXG4vL1xuLy8gSW4gbWFwXG4vLyBEZXRlcm1pbmUgaWYgc29tZXRoaW5nIGlzIGluIHRoZSBwcm92aWRlZCBtYXBcbi8vXG4vLyBAcGFyYW0gXHRNYXAgXHQkbWFwIFx0XHRUaGUgbWFwIHRvIHVzZVxuLy8gQHBhcmFtIFx0TWl4ZWQgXHQkbmVlZGxlXHRcdFdoYXQgdG8gc2VhcmNoXG4vLyBAcmV0dXJuIFx0Qm9vbGVhblx0XHRcdFx0VHJ1ZXxmYWxzZVxuLy9cbkBmdW5jdGlvbiBpbi1tYXAoJG1hcCwgJG5lZWRsZSkge1xuXHRAZWFjaCAkdiBpbiAkbWFwIHtcblx0XHRAaWYgJHYgPT0gJG5lZWRsZSB7XG5cdFx0XHRAcmV0dXJuIHRydWU7XG5cdFx0fVxuXHR9XG5cdEByZXR1cm4gZmFsc2U7XG59XG5cblxuLy9cbi8vIEdldCBzdGF0ZXMgY291bnRcbi8vXG4vLyBAcmV0dXJuIFx0aW50IFx0VGhlIG51bWJlciBvZiBzdGF0ZXMgZGVmaW5lZFxuLy9cbkBmdW5jdGlvbiBncmlkbGVfc3RhdGVzX2NvdW50KCkge1xuXHRAcmV0dXJuIGxlbmd0aCgkX2dyaWRsZV9zdGF0ZXMpO1xufVxuXG5cbi8vXG4vLyBHZXQgdGhlIGN1cnJlbnQgc3RhdGVcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2N1cnJlbnRfc3RhdGUoKSB7XG5cdEByZXR1cm4gJF9ncmlkbGVfY3VycmVudF9zdGF0ZTtcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBjdXJyZW50IHN0YXRlIG5hbWVcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2N1cnJlbnRfc3RhdGVfbmFtZSgpIHtcblx0QHJldHVybiAkX2dyaWRsZV9jdXJyZW50X3N0YXRlTmFtZTtcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBjb2x1bW4gd2lkdGggaW4gcGVyY2VudCBmb3IgdGhlIGdsb2JhbCBvciBhIHNwZWNpZmljIGNvbnRleHRcbi8vXG4vLyBAcGFyYW0gXHRpbnQgXHRcdCRjb2x1bW5zIFx0XHRcdFx0XHRUaGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gY2FsY3VsYXRlXG4vLyBAcGFyYW0gXHRpbnQgXHRcdCRjb250ZXh0IDogJGdyaWRsZS1jb2x1bW5zLWNvdW50IFx0IFx0VGhlIGNvbnRleHQgdG8gdXNlXG4vLyBAcmV0dXJuIFx0cGVyY2VudGFnZSBcdFx0XHRcdFx0XHRcdFRoZSB3aWR0aCBpbiBwZXJjZW50XG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9jb2x1bW5fd2lkdGgoXG5cdCRjb2x1bW5zIDogMSxcblx0JHN0YXRlTWFwLW9yLXN0YXRlTmFtZSA6IGN1cnJlbnRcbikge1xuXHQkY29udGV4dCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGNvbnRleHQsICRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUpO1xuXHRAcmV0dXJuIHBlcmNlbnRhZ2UoMSAvICRjb250ZXh0ICogJGNvbHVtbnMpO1xufVxuXG5cbi8vXG4vLyAgR2V0IGEgc3RhdGUgbWFwXG4vL1xuLy8gQHBhcmFtIFx0c3RyaW5nIFx0XHQkbmFtZSBcdFx0VGhlIG5hbWUgb2YgdGhlIHN0YXRlIHRvIGdldFxuLy8gQHJldHVybiBcdG1hcCBcdFx0XHRcdEEgc3RhdGUgbWFwIG9iamVjdFxuLy9cbkBmdW5jdGlvbiBncmlkbGVfZ2V0X3N0YXRlKFxuXHQkc3RhdGVNYXAtb3Itc3RhdGVOYW1lIDogY3VycmVudFxuKSB7XG5cblx0Ly8gY2hlY2sgaWYgbmVlZCB0byByZXR1cm4gdGhlIGN1cnJlbnQgc3RhdGVcblx0QGlmICRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgPT0gY3VycmVudCB7XG5cdFx0QHJldHVybiBncmlkbGVfY3VycmVudF9zdGF0ZSgpO1xuXHR9XG5cblx0Ly8gY2hlY2sgaWYgaGFzIGEgc3RhdGUgbmFtZWQgbGlrZSB0aGlzXG5cdEBpZiAodHlwZS1vZigkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKSA9PSBzdHJpbmdcblx0XHRhbmQgIG1hcC1oYXMta2V5KCRfZ3JpZGxlX3N0YXRlcywgdW5xdW90ZShcIiN7JHN0YXRlTWFwLW9yLXN0YXRlTmFtZX1cIikpKVxuXHR7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRfZ3JpZGxlX3N0YXRlcywgdW5xdW90ZShcIiN7JHN0YXRlTWFwLW9yLXN0YXRlTmFtZX1cIikpO1xuXHR9XG5cblx0Ly8gY2hlY2sgaWYgaXQncyBhIHJlZ2lzdGVyZWQgc3RhdGUgYXMgbWFwIHBhc3NlZFxuXHRAaWYgdHlwZS1vZigkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKSA9PSBtYXBcblx0XHRhbmQgbWFwLWdldCgkc3RhdGVNYXAtb3Itc3RhdGVOYW1lLCBuYW1lKSB7XG5cdFx0JG5hbWUgOiBtYXAtZ2V0KCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUsIG5hbWUpO1xuXHRcdEBpZiBncmlkbGVfaGFzX3N0YXRlKCRuYW1lKSB7XG5cdFx0XHRAcmV0dXJuICRzdGF0ZU1hcC1vci1zdGF0ZU5hbWU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gYSBtYXAgaXMgcGFzc2VkLCBzbyBpdCdzIGEgc3RhdGUgaGltc2VsZlxuXHRAaWYgJHN0YXRlTWFwLW9yLXN0YXRlTmFtZVxuXHRcdGFuZCB0eXBlLW9mKCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUpID09IG1hcFxuXHR7XG5cdFx0Ly8gcHJlcGFyZSBzdGF0ZVxuXHRcdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgOiBfZ3JpZGxlX3ByZXBhcmVfc3RhdGVfc2V0dGluZ3MoJHN0YXRlTWFwLW9yLXN0YXRlTmFtZSk7XG5cdFx0Ly8gY3JlYXRlIGEgbmV3IHN0YXRlIGJ5IG1lcmdpbmcgZ2l2ZW4gb25lIHdpdGggZGVmYXVsdCBvbmVcblx0XHQkc3RhdGUgOiBtYXAtbWVyZ2UoJF9ncmlkbGUtc2V0dGluZ3MsICRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUpO1xuXHRcdC8vIHNldCB0aGUgbmFtZSB3aXRoIHJhbmRvbSBuYW1lXG5cdFx0JHN0YXRlIDogbWFwLXNldCgkc3RhdGUsIG5hbWUsIHVuaXF1ZS1pZCgpKTtcblx0XHQvLyByZXR1cm4gdGhlIGN1c3RvbSBzdGF0ZVxuXHRcdEByZXR1cm4gJHN0YXRlO1xuXHR9XG5cblx0Ly8gcmV0dXJuIHRoZSBkZWZhdWx0IG9uZSBpZiBleGlzdFxuXHRAaWYgbWFwLWhhcy1rZXkoJF9ncmlkbGVfc3RhdGVzLCBkZWZhdWx0KVxuXHR7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRfZ3JpZGxlX3N0YXRlcywgZGVmYXVsdCk7XG5cdH1cblxuXHQvLyBub3RoaW5nIGZpbmRlZCwgcmV0dXJuIHRoZSBkZWZhdWx0IHN0YXRlXG5cdEByZXR1cm4gJF9ncmlkbGUtc2V0dGluZ3M7XG59XG5cblxuLy9cbi8vIENoZWNrIGlmIGEgc3RhdGUgZXhpc3QgOlxuLy9cbi8vIEBwYXJhbSBcdHN0cmluZyBcdFx0JG5hbWUgXHRcdFRoZSBuYW1lIG9mIHRoZSBzdGF0ZSB0byBjaGVja1xuLy8gQHJldHVybiBcdEJvb2xlYW4gXHRcdFx0dHJ1ZSBpcyBleGlzdFxuLy9cbkBmdW5jdGlvbiBncmlkbGVfaGFzX3N0YXRlKFxuXHQkc3RhdGVOYW1lXG4pIHtcblx0QGlmICRzdGF0ZU5hbWUgPT0gY3VycmVudCB7XG5cdFx0QHJldHVybiB0cnVlO1xuXHR9XG5cdEBpZiBtYXAtaGFzLWtleSgkX2dyaWRsZV9zdGF0ZXMsIHVucXVvdGUoXCIjeyRzdGF0ZU5hbWV9XCIpKSB7XG5cdFx0QHJldHVybiB0cnVlO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cblxuLy9cbi8vIEdldCBhIHZhcmlhYmxlXG4vL1xuLy8gQHBhcmFtIFx0U3RyaW5nIFx0XHQkdmFyTmFtZSBcdFx0XHRcdFx0VGhlIHZhcmlhYmxlIG5hbWVcbi8vIEBwYXJhbSAgXHRTdHJpbmcgXHRcdCRzdGF0ZU1hcC1vci1zdGF0ZU5hbWUgXHQgXHRUaGUgc3RhdGUgbmFtZSBvciBhIG1hcCBzdGF0ZSB2YWx1ZVxuLy8gQHJldHVybiBcdE1peGVkIFx0XHRcdFx0XHRcdFx0XHRcdFRoZSBmaW5kZWQgdmFsdWVcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2dldF9zdGF0ZV92YXIoXG5cdCR2YXJOYW1lLFxuXHQkc3RhdGVNYXAtb3Itc3RhdGVOYW1lIDogY3VycmVudFxuKSB7XG5cdC8vIGlmIGlzIGEgc3RhdGUgOlxuXHQkc3RhdGUgOiBudWxsO1xuXG5cdC8vIGdldCB0aGUgc3RhdGUgKGlmIG5vIHN0YXRlIGZpbmQsIHJldHVybiB0aGUgY3VycmVudCBvbmUpIDpcblx0JHN0YXRlIDogZ3JpZGxlX2dldF9zdGF0ZSgkc3RhdGVNYXAtb3Itc3RhdGVOYW1lKTtcblxuXHQvLyBjaGVjayBpZiBoYXMga2V5XG5cdEBpZiBtYXAtaGFzLWtleSgkc3RhdGUsIHVucXVvdGUoXCIjeyR2YXJOYW1lfVwiKSkge1xuXHRcdEByZXR1cm4gbWFwLWdldCgkc3RhdGUsIHVucXVvdGUoXCIjeyR2YXJOYW1lfVwiKSk7XG5cdH1cblxuXHQvLyBub3RoaW5nIGZpbmRlZCA6XG5cdEByZXR1cm4gbnVsbDtcbn1cblxuXG4vL1xuLy8gU2V0IGEgdmFyaWFibGUgaW4gYSBzdGF0ZVxuLy8gQHBhcmFtIFx0TWl4ZWQgJHN0YXRlTmFtZS1vci1zdGF0ZUluZGV4IFx0VGhlIHN0YXRlIG5hbWUgb2Ygc3RhdGUgaW5kZXhcbi8vIEBwYXJhbSAgXHRTdHJpbmcgJHZhciAgICAgICAgICAgICAgICAgICAgXHRcdFZhcmlhYmxlIG5hbWUgdG8gYXNzaWduXG4vLyBAcGFyYW0gIFx0TWl4ZWQgJG5ld1ZhbHVlICAgICAgICAgIFx0XHRUaGUgbmV3IHZhbHVlIHRvIGFzc2lnblxuLy8gQHJldHVybiBcdExpc3QgICAgICAgICAgICAgICAgICAgICAgICAgXHRcdFx0VGhlIHN0YXRlcyBsaXN0IChmdWxsKVxuLy9cbkBmdW5jdGlvbiBncmlkbGVfc2V0X3N0YXRlX3Zhcihcblx0JHZhcixcblx0JG5ld1ZhbHVlLFxuXHQkc3RhdGVOYW1lIDogZGVmYXVsdFxuKSB7XG5cdC8vIGdldCB0aGUgc3RhdGUgOlxuXHQkc3RhdGUgOiBncmlkbGVfZ2V0X3N0YXRlKCRzdGF0ZU5hbWUpO1xuXG5cdC8vIGNoZWNrIGlnIHN0YXRlIGFuZCBpZiBoYXMgdGhlIHZhcmlhYmxlIDpcblx0QGlmICRzdGF0ZVxuXHRcdCAgYW5kIG1hcC1oYXMta2V5KCRzdGF0ZSx1bnF1b3RlKFwiI3skdmFyfVwiKSlcblx0e1xuXHRcdC8vIHNldCBuZXcgdmFsdWUgaW4gc3RhdGUgOlxuXHRcdCRzdGF0ZSA6IG1hcC1zZXQoJHN0YXRlLCB1bnF1b3RlKFwiI3skdmFyfVwiKSwgJG5ld1ZhbHVlKTtcblxuXHRcdC8vIHNldCBzdGF0ZXMgOlxuXHRcdCRfZ3JpZGxlX3N0YXRlcyA6IG1hcC1zZXQoJF9ncmlkbGVfc3RhdGVzLCB1bnF1b3RlKFwiI3skc3RhdGVOYW1lfVwiKSwgJHN0YXRlKTtcblxuXHRcdC8vIHJldHVybiBuZXcgc3RhdGUgOlxuXHRcdEByZXR1cm4gJHN0YXRlO1xuXHR9XG5cblx0Ly8gbm90aGluZyBnZXR0ZWQgOlxuXHRAcmV0dXJuIG51bGw7XG59XG5cblxuLy9cbi8vIGdldCB0aGUgcmVnaXN0ZXJlZCBncmlkbGUgc3RhdGVzXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9nZXRfc3RhdGVzKCkge1xuXHRAcmV0dXJuICRfZ3JpZGxlX3N0YXRlcztcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBzdGF0ZXMgbmFtZXNcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2dldF9zdGF0ZXNfbmFtZXMoKSB7XG5cdCRsaXN0IDogKCk7XG5cdEBlYWNoICRzdGF0ZU5hbWUsICRzdGF0ZSBpbiAkX2dyaWRsZV9zdGF0ZXMge1xuXHRcdCRsaXN0IDogYXBwZW5kKCRsaXN0LCAkc3RhdGVOYW1lKTtcblx0fVxuXHRAcmV0dXJuICRsaXN0O1xufVxuQGZ1bmN0aW9uIGdyaWRsZV9zdGF0ZXNfbmFtZXMoKSB7XG5cdEByZXR1cm4gZ3JpZGxlX2dldF9zdGF0ZXNfbmFtZXMoKTtcbn1cblxuXG4vL1xuLy8gR2V0IHRoZSBhcHBseSBjc3MgZm9yIG1hcCBmb3IgYSBjZXJ0YWluIGNsYXNzIGFuZCBzdGF0ZVxuLy9cbkBmdW5jdGlvbiBncmlkbGVfZ2V0X2FwcGx5X2Nzc19mb3JfbWFwKFxuXHQkZm9yLFxuXHQkc3RhdGVOYW1lIDogZGVmYXVsdFxuKSB7XG5cdC8vIGNoZWNrIGlmIGhhcyBzb21lIGV4dGVuZCBmb3IgdGhpcyBzdGF0ZVxuXHQkbWFwIDogbWFwLWdldCgkX2dyaWRsZV9hcHBseV9jc3NfZm9yLCAkc3RhdGVOYW1lKTtcblx0QGlmICRtYXAgPT0gbnVsbCB7IEByZXR1cm4gbnVsbDsgfVxuXG5cdC8vIGNoZWNrIGlmIGhhcyBzb21lIGV4dGVuZCBmb3IgdGhlIHJlcXVlc3RlZCBmb3Jcblx0JGV4dGVuZCA6IG1hcC1nZXQoJG1hcCwgJGZvcik7XG5cblx0Ly8gcmV0dXJuIHRoZSByZXN1bHRpbmcgZXh0ZW5kIG1hcFxuXHRAcmV0dXJuICRleHRlbmQ7XG59XG5cblxuLy9cbi8vIEdldCB0aGUgZXh0ZW5kIG1hcCBmb3IgYSBjZXJ0YWluIGNsYXNzIGFuZCBzdGF0ZVxuLy9cbkBmdW5jdGlvbiBncmlkbGVfZ2V0X2V4dGVuZF9jbGFzc19tYXAoXG5cdCRmb3IsXG5cdCRzdGF0ZU5hbWUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gY2hlY2sgaWYgaGFzIHNvbWUgZXh0ZW5kIGZvciB0aGlzIHN0YXRlXG5cdCRtYXAgOiBtYXAtZ2V0KCRfZ3JpZGxlX2V4dGVuZF9iYXNlX2NsYXNzZXMsICRzdGF0ZU5hbWUpO1xuXHRAaWYgJG1hcCA9PSBudWxsIHsgQHJldHVybiBudWxsOyB9XG5cblx0Ly8gY2hlY2sgaWYgaGFzIHNvbWUgZXh0ZW5kIGZvciB0aGUgcmVxdWVzdGVkIGZvclxuXHQkZXh0ZW5kIDogbWFwLWdldCgkbWFwLCAkZm9yKTtcblxuXHQvLyByZXR1cm4gdGhlIHJlc3VsdGluZyBleHRlbmQgbWFwXG5cdEByZXR1cm4gJGV4dGVuZDtcbn1cblxuXG4vL1xuLy8gR2VuZXJhdGUgYSBjb2x1bW5cbi8vXG4vLyBAcGFyYW0gXHRTdHJpbmcgXHRcdCRuYW1lIFx0XHRcdFx0VGhlIGNvbHVtbiBuYW1lIChvZnRlbiBjb3VudClcbi8vIEBwYXJhbSBcdGludCBcdFx0JGNvbHVtbnMgXHRcdFx0VGhlIGNvbHVtbiBjb3VudCB0aGF0IHRoZSBjb2x1bW4gd2lsbCB0YWtlXG4vLyBAcGFyYW0gXHRpbnQgXHRcdCRjb250ZXh0IFx0XHRcdFRoZSBjb250ZXh0IG9uIHdoaWNoIHRoZSB3aWR0aCB3aWxsIGJlIGNhbGN1bGVkXG4vLyBAcGFyYW0gXHRCb29sZWFuIFx0JGdlbmVyYXRlQ2xhc3NlcyBcdFNldCBpZiB0aGUgY29sdW1uIGhhcyB0byBiZSBnZW5lcmF0ZWQgaW4gY3NzXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfY3JlYXRlX2NvbHVtbihcblx0JG5hbWUsXG5cdCRjb2x1bW5zLFxuXHQkY29udGV4dCxcblx0JG5hbWUtbXVsdGlwbGljYXRvciA6IDEgLy8gdXNlZCB0byBleHRlbmQgdGhlIHN0YXRlIG9uIGN1c3RvbSByZWdpc3RlcmVkIGNvbHVtbnNcbikge1xuXHRAcmV0dXJuIChcblx0XHRuYW1lIDogJG5hbWUsXG5cdFx0Y29sdW1ucyA6ICRjb2x1bW5zLFxuXHRcdGNvbnRleHQgOiAkY29udGV4dCxcblx0XHRuYW1lLW11bHRpcGxpY2F0b3IgOiAkbmFtZS1tdWx0aXBsaWNhdG9yXG5cdCk7XG59XG5cblxuLy8gZ2V0IGNvbHVtbnMgbmFtZXMgaW4gYSBsaXN0XG5AZnVuY3Rpb24gZ3JpZGxlX2dldF9jb2x1bW5zKFxuXHQkc3RhdGUgOiBkZWZhdWx0XG4pIHtcblx0Ly8gZ2V0IHZhcmlhYmxlc1xuXHQkY29udGV4dCA6IGdyaWRsZV9nZXRfc3RhdGVfdmFyKGNvbnRleHQsICRzdGF0ZSk7XG5cdCRuYW1lLW11bHRpcGxpY2F0b3IgOiBncmlkbGVfZ2V0X3N0YXRlX3ZhcihuYW1lLW11bHRpcGxpY2F0b3IsICRzdGF0ZSk7XG5cblx0Ly8gZ2V0IHNwZWNpYWxzIGNvbHVtbnNcblx0JGNvbHVtbnNNYXAgOiBtYXAtbWVyZ2UoKCksICRfZ3JpZGxlX2NvbHVtbnMpO1xuXG5cdC8vIGxvb3AgdGhyb3VnaCBjb250ZXh0XG5cdEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbnRleHQge1xuXG5cdFx0Ly8gbmFtZVxuXHRcdCRjb2x1bW5OYW1lIDogXCIjeyRpKiRuYW1lLW11bHRpcGxpY2F0b3J9XCI7XG5cdFx0JGNvbHVtbldpZHRoIDogJGkgKiAkbmFtZS1tdWx0aXBsaWNhdG9yO1xuXG5cdFx0Ly8gLy8gY3JlYXRlIGEgY29sdW1uXG5cdFx0JGNvbCA6IF9ncmlkbGVfY3JlYXRlX2NvbHVtbigkY29sdW1uTmFtZSwgJGNvbHVtbldpZHRoLCAkY29udGV4dCwgJG5hbWUtbXVsdGlwbGljYXRvcik7XG5cblx0XHQvLyAvLyBhZGQgY29sdW1uIGluIGNvbHVtbnMgbWFwXG5cdFx0JGNvbHVtbnNNYXAgOiBtYXAtc2V0KCRjb2x1bW5zTWFwLCAkY29sdW1uTmFtZSwgICRjb2wpO1xuXHR9XG5cblx0Ly8gcmV0dXJuIGNvbHVtbnNcblx0QHJldHVybiAkY29sdW1uc01hcDtcbn1cblxuXG4vL1xuLy8gQ2hlY2sgaWYgaGFzIGNvbHVtblxuLy9cbkBmdW5jdGlvbiBncmlkbGVfaGFzX2NvbHVtbihcblx0JG5hbWVcbikge1xuXHQkY29sdW1uIDogbWFwLWdldCgkX2dyaWRsZV9jb2x1bW5zLCRuYW1lKTtcblx0QGlmICRjb2x1bW4ge1xuXHRcdEByZXR1cm4gdHJ1ZTtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxufVxuXG5cbkBmdW5jdGlvbiBfZ3JpZGxlX3ByZXBhcmVfc3RhdGVfc2V0dGluZ3MoXG5cdCRzZXR0aW5nc1xuKSB7XG5cdC8vIG1hbmFnZSBndXR0ZXJzXG5cdCRndXR0ZXItdG9wIDogbWFwLWdldCgkc2V0dGluZ3MsIGd1dHRlci10b3ApO1xuXHQkZ3V0dGVyLWJvdHRvbSA6IG1hcC1nZXQoJHNldHRpbmdzLCBndXR0ZXItYm90dG9tKTtcblx0JGd1dHRlci1sZWZ0IDogbWFwLWdldCgkc2V0dGluZ3MsIGd1dHRlci1sZWZ0KTtcblx0JGd1dHRlci1yaWdodCA6IG1hcC1nZXQoJHNldHRpbmdzLCBndXR0ZXItcmlnaHQpO1xuXHQkZ3V0dGVyLXdpZHRoIDogbWFwLWdldCgkc2V0dGluZ3MsIGd1dHRlci13aWR0aCk7XG5cdCRndXR0ZXItaGVpZ2h0IDogbWFwLWdldCgkc2V0dGluZ3MsIGd1dHRlci1oZWlnaHQpO1xuXHRAaWYgJGd1dHRlci1yaWdodCBhbmQgJGd1dHRlci1sZWZ0IHtcblx0XHQvLyBjYWxjdWxhdGUgdGhlIGd1dHRlci13aWR0aFxuXHRcdCRzZXR0aW5ncyA6IG1hcC1zZXQoJHNldHRpbmdzLCBndXR0ZXItd2lkdGgsICRndXR0ZXItbGVmdCArICRndXR0ZXItcmlnaHQpO1xuXHR9IEBlbHNlIGlmICRndXR0ZXItd2lkdGgge1xuXHRcdC8vIGNhbGN1bGF0ZSB0aGUgZ3V0dGVyLWxlZnQgYW5kIHJpZ2h0XG5cdFx0JHNldHRpbmdzIDogbWFwLXNldCgkc2V0dGluZ3MsIGd1dHRlci1sZWZ0LCAkZ3V0dGVyLXdpZHRoICogLjUpO1xuXHRcdCRzZXR0aW5ncyA6IG1hcC1zZXQoJHNldHRpbmdzLCBndXR0ZXItcmlnaHQsICRndXR0ZXItd2lkdGggKiAuNSk7XG5cdH1cblx0QGlmICRndXR0ZXItdG9wIGFuZCAkZ3V0dGVyLWJvdHRvbSB7XG5cdFx0Ly8gY2FsY3VsYXRlIHRoZSBndXR0ZXItaGVpZ2h0XG5cdFx0JHNldHRpbmdzIDogbWFwLXNldCgkc2V0dGluZ3MsIGd1dHRlci1oZWlnaHQsICRndXR0ZXItYm90dG9tICsgJGd1dHRlci10b3ApO1xuXHR9IEBlbHNlIGlmICRndXR0ZXItaGVpZ2h0IHtcblx0XHQvLyBjYWxjdWxhdGUgdGhlIGd1dHRlci1ib3R0b20gYW5kIHRvcFxuXHRcdCRzZXR0aW5ncyA6IG1hcC1zZXQoJHNldHRpbmdzLCBndXR0ZXItYm90dG9tLCAkZ3V0dGVyLWhlaWdodCAqIC41KTtcblx0XHQkc2V0dGluZ3MgOiBtYXAtc2V0KCRzZXR0aW5ncywgZ3V0dGVyLXRvcCwgJGd1dHRlci1oZWlnaHQgKiAuNSk7XG5cdH1cblxuXHQvLyByZXR1cm4gcHJlcGFyZWQgc2V0dGluZ3Ncblx0QHJldHVybiAkc2V0dGluZ3M7XG59XG5cblxuLy9cbi8vIEV4dGVuZCBhIHN0YXRlXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfaW5oZXJpdF9zdGF0ZShcblx0JHN0YXRlLFxuXHQkZXh0ZW5kLXN0YXRlXG4pIHtcblx0JGV4dGVuZC1zdGF0ZS1uYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJGV4dGVuZC1zdGF0ZSk7XG5cdCRzdGF0ZS1uYW1lIDogZ3JpZGxlX2dldF9zdGF0ZV92YXIobmFtZSwgJHN0YXRlKTtcblx0JGhhcy1zdGF0ZSA6IGdyaWRsZV9oYXNfc3RhdGUoJHN0YXRlLW5hbWUpO1xuXHQkaGFzLWV4dGVuZC1zdGF0ZSA6IGdyaWRsZV9oYXNfc3RhdGUoJGV4dGVuZC1zdGF0ZS1uYW1lKTtcblx0QGlmICRoYXMtc3RhdGUgYW5kICRoYXMtZXh0ZW5kLXN0YXRlIHtcblx0XHQvLyB3ZSBkbyBub3RoaW5nIGlmIHRoaXMgaXMgbmVzdGVkIGV4aXN0aW5nIHN0YXRlc1xuXHRcdEByZXR1cm4gJHN0YXRlO1xuXHR9IEBlbHNlIGlmICRoYXMtZXh0ZW5kLXN0YXRlIHtcblx0XHQvLyBpZiB0aGUgYmFzZSBzdGF0ZSBpcyBhIHJlZ2lzdGVyZWQgb25lXG5cdFx0Ly8ga2VlcCB0aGUgZXh0ZW5kIHN0YXRlIGFuZCBleHRlbmQgaXQgd2l0aCB0aGUgd2FudGVkIHN0YXRlXG5cdFx0QHJldHVybiBtYXAtbWVyZ2UoJGV4dGVuZC1zdGF0ZSwgJHN0YXRlKTtcblx0fSBAZWxzZSB7XG5cdFx0Ly8gb3RoZXJ3aXNlLCB0aGUgYmFzZSBzdGF0ZSBpcyBhIGN1c3RvbSBvbmUgc28gd2Uga2VlcFxuXHRcdC8vIGl0IGFuZCBleHRlbmQgdGhlIHdhbnRlZCBzdGF0ZSB3aXRoIGl0XG5cdFx0JG5ldy1zdGF0ZSA6IG1hcC1yZW1vdmUoJGV4dGVuZC1zdGF0ZSwgbmFtZSk7IC8vIHJlbW92ZSB0aGUgbmFtZSBpcyBpbXBvcnRhbnQgaGVyZSFcblx0XHRAcmV0dXJuIG1hcC1tZXJnZSgkc3RhdGUsICRuZXctc3RhdGUpO1xuXHR9XG59XG5cblxuLy9cbi8vIEdldCB0aGUgcGFkZGluZyB2YWx1ZVxuLy9cbkBmdW5jdGlvbiBfZ3JpZGxlX2ZvcmdlX2d1dHRlcnNfbWFwKFxuXHQkc2lkZS1vci1zaXplLFxuXHQkc3RhdGUgOiBjdXJyZW50XG4pIHtcblx0JG1hcCA6ICgpO1xuXHQvLyBjaGVjayBpZiBpcyBudW1iZXIgcGFzc2VkXG5cdEBpZiB0eXBlLW9mKCRzaWRlLW9yLXNpemUpID09IG1hcCB7XG5cdFx0QGVhY2ggJHNpZGUgaW4gKHRvcCByaWdodCBib3R0b20gbGVmdCkge1xuXHRcdFx0QGlmIG1hcC1nZXQoJHNpZGUtb3Itc2l6ZSwgJHNpZGUpIHtcblx0XHRcdFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgJHNpZGUsIG1hcC1nZXQoJHNpZGUtb3Itc2l6ZSwgJHNpZGUpKTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc2lkZSwgMCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJHNpZGUtb3Itc2l6ZSkgPT0gbnVtYmVyIHtcblx0XHQkbWFwIDogKFxuXHRcdFx0dG9wIDogMCxcblx0XHRcdHJpZ2h0IDogJHNpZGUtb3Itc2l6ZSAqIC41LFxuXHRcdFx0Ym90dG9tIDogMCxcblx0XHRcdGxlZnQgOiAkc2lkZS1vci1zaXplICogLjVcblx0XHQpO1xuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJHNpZGUtb3Itc2l6ZSkgPT0gbGlzdCBvciB0eXBlLW9mKCRzaWRlLW9yLXNpemUpID09IHN0cmluZyB7XG5cblx0XHQvLyBjaGVjayBpZiBpcyBhIGZ1bGwgbnVtYmVyIGxpc3Rcblx0XHQkbGlzdC1udW1iZXIgOiB0cnVlO1xuXHRcdEBlYWNoICRzIGluICRzaWRlLW9yLXNpemUge1xuXHRcdFx0QGlmIHR5cGUtb2YoJHMpICE9IG51bWJlciB7XG5cdFx0XHRcdCRsaXN0LW51bWJlciA6IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpZiAkbGlzdC1udW1iZXIge1xuXG5cdFx0XHRAaWYgbGVuZ3RoKCRzaWRlLW9yLXNpemUpID09IDIge1xuXHRcdFx0XHQkdmFsMSA6IG50aCgkc2lkZS1vci1zaXplLDEpICogLjU7XG5cdFx0XHRcdCR2YWwyIDogbnRoKCRzaWRlLW9yLXNpemUsMikgKiAuNTtcblx0XHRcdFx0JG1hcCA6IChcblx0XHRcdFx0XHR0b3AgOiAkdmFsMSxcblx0XHRcdFx0XHRyaWdodCA6ICR2YWwyLFxuXHRcdFx0XHRcdGJvdHRvbSA6ICR2YWwxLFxuXHRcdFx0XHRcdGxlZnQgOiAkdmFsMlxuXHRcdFx0XHQpXG5cdFx0XHR9IEBlbHNlIGlmIGxlbmd0aCgkc2lkZS1vci1zaXplKSA9PSA0IHtcblx0XHRcdFx0JG1hcCA6IChcblx0XHRcdFx0XHR0b3AgOiBudGgoJHNpZGUtb3Itc2l6ZSwxKSxcblx0XHRcdFx0XHRyaWdodCA6IG50aCgkc2lkZS1vci1zaXplLDIpLFxuXHRcdFx0XHRcdGJvdHRvbSA6IG50aCgkc2lkZS1vci1zaXplLDMpLFxuXHRcdFx0XHRcdGxlZnQgOiBudGgoJHNpZGUtb3Itc2l6ZSw0KVxuXHRcdFx0XHQpXG5cdFx0XHR9XG5cblx0XHR9IEBlbHNlIHtcblx0XHRcdC8vIGZvcmdlIHRoZSBtYXAgd2l0aCByZWdpc3RlcmVkIHZhbHVlc1xuXHRcdFx0QGVhY2ggJHNpZGUgaW4gKHRvcCByaWdodCBib3R0b20gbGVmdCkge1xuXHRcdFx0XHRAaWYgaW5kZXgoJHNpZGUtb3Itc2l6ZSwgJHNpZGUpIHtcblx0XHRcdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc2lkZSwgZ3JpZGxlX2dldF9zdGF0ZV92YXIoXCJndXR0ZXItI3skc2lkZX1cIiwgJHN0YXRlKSk7XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsICRzaWRlLCAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Ly8gQGRlYnVnKFwiZ2V0IGd1dHRlcnMgZnJvbSByZWdpc3RlcmVkICN7aW5zcGVjdCgkbWFwKX1cIik7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHQvLyB1bmFibGUgdG8gZ2VuZXJhdGUgYSBndXR0ZXIgbWFwXG5cdFx0QHJldHVybiBmYWxzZTtcblx0fVxuXG5cdC8vIHJldHVybiB0aGUgcGFkZGluZyBtYXBcblx0QHJldHVybiAkbWFwO1xufVxuXG5cbi8vXG4vLyBHZXQgdGhlIGF0dHJpYnV0ZSBzZWxlY3RvclxuLy9cbkBmdW5jdGlvbiBncmlkbGVfc2VsZWN0b3IoXG5cdCRmb3IsXG5cdCRzdGF0ZXMgOiBudWxsLFxuXHQkdmFsdWVzIDogbnVsbFxuKSB7XG5cdCRzZWwgOiAoKTtcblxuXHRAaWYgbGVuZ3RoKCRmb3IpID4gMSB7XG5cdFx0QGVhY2ggJGYgaW4gJGZvciB7XG5cdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIGdyaWRsZV9zZWxlY3RvcigkZiwgJHN0YXRlcywgJHZhbHVlcyksIGNvbW1hKTtcblx0XHR9XG5cdH0gQGVsc2Uge1xuXG5cdFx0Ly8gZ2V0IGFsbCBzdGF0ZXMgaWYgbm90IHNwZWNpZmllZFxuXHRcdEBpZiAkc3RhdGVzID09IG51bGwge1xuXHRcdFx0JHN0YXRlcyA6IGdyaWRsZV9nZXRfc3RhdGVzX25hbWVzKCk7XG5cdFx0fVxuXG5cdFx0Ly8gZ2V0IHRoZSBwYXR0ZXJuXG5cdFx0JHBhdHRlcm4gOiBtYXAtZ2V0KCRfZ3JpZGxlLXBhY2thZ2VzLCAkZm9yKTtcblx0XHQkcGF0dGVybiA6IG1hcC1nZXQoJHBhdHRlcm4sIGNsYXNzbmFtZSk7XG5cblx0XHRAZWFjaCAkc3RhdGVOYW1lIGluICRzdGF0ZXMge1xuXHRcdFx0QGlmICR2YWx1ZXMgIT0gbnVsbCB7XG5cdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgJHZhbHVlcyksIGNvbW1hKTtcblx0XHRcdH0gQGVsc2UgaWYgaW5kZXgoJHBhdHRlcm4sICclY29sdW1uJykge1xuXHRcdFx0XHRAZWFjaCAkY29sdW1uTmFtZSwgJGNvbHVtbiBpbiBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhjb2x1bW4pIHtcblx0XHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUsICRjb2x1bW5OYW1lKSwgY29tbWEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmIGluZGV4KCRwYXR0ZXJuLCAnJWNvbHVtbi1jb3VudCcpIHtcblx0XHRcdFx0QGZvciAkaSBmcm9tIDAgdGhyb3VnaCBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhjb2x1bW4tY291bnQpIHtcblx0XHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUsICRpKSwgY29tbWEpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdEBpZiAkZm9yID09IGZsZXgtb3JkZXIge1xuXHRcdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgZmlyc3QpLCBjb21tYSk7XG5cdFx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCBsYXN0KSwgY29tbWEpO1xuXHRcdFx0XHR9XG5cdFx0XHR9IEBlbHNlIGlmIGluZGV4KCRwYXR0ZXJuLCAnJWFsaWduJykge1xuXHRcdFx0XHRAZWFjaCAkYSBpbiBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhhbGlnbikge1xuXHRcdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgJGEpLCBjb21tYSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgaW5kZXgoJHBhdHRlcm4sICclY291bnQnKSBhbmQgJGZvciA9PSBjbGVhci1lYWNoIHtcblx0XHRcdFx0QGVhY2ggJGlkeCwgJGNsZWFyRWFjaCBpbiBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhjb3VudCkge1xuXHRcdFx0XHRcdCRjb3VudCA6IG1hcC1nZXQoJGNsZWFyRWFjaCwgY2xlYXJFYWNoKTtcblx0XHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUsICRjb3VudCksIGNvbW1hKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiBpbmRleCgkcGF0dGVybiwgJyVzaWRlJykge1xuXHRcdFx0XHRAZWFjaCAkc2lkZSBpbiBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhzaWRlKSB7XG5cdFx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCAkc2lkZSksIGNvbW1hKTtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSBpZiBpbmRleCgkcGF0dGVybiwgJyVmbG9hdCcpIHtcblx0XHRcdFx0QGVhY2ggJGZsb2F0IGluIF9ncmlkbGVfZ2V0X3BhdHRlcm5fdmFsdWVzKGZsb2F0KSB7XG5cdFx0XHRcdFx0JHNlbCA6IGFwcGVuZCgkc2VsLCBfZ3JpZGxlX2NsYXNzbmFtZSgkZm9yLCAkc3RhdGVOYW1lLCAkZmxvYXQpLCBjb21tYSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2UgaWYgaW5kZXgoJHBhdHRlcm4sICclcmV2ZXJzZScpIHtcblx0XHRcdFx0QGVhY2ggJHJldmVyc2UgaW4gX2dyaWRsZV9nZXRfcGF0dGVybl92YWx1ZXMocmV2ZXJzZSkge1xuXHRcdFx0XHRcdCRzZWwgOiBhcHBlbmQoJHNlbCwgX2dyaWRsZV9jbGFzc25hbWUoJGZvciwgJHN0YXRlTmFtZSwgJHJldmVyc2UpLCBjb21tYSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkc2VsIDogYXBwZW5kKCRzZWwsIF9ncmlkbGVfY2xhc3NuYW1lKCRmb3IsICRzdGF0ZU5hbWUpLCBjb21tYSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdEByZXR1cm4gJHNlbDtcbn1cblxuXG4vL1xuLy8gR2VuZXJhdGUgY2xhc3NuYW1lXG4vL1xuLy8gQHBhcmFtIFx0TGlzdCBcdFx0JHBhdHRlcm4gXHRUaGUgcGF0dGVybiB0byB1c2UgdG8gZ2VuZXJhdGUgY2xhc3NuYW1lXG4vLyBAcGFyYW0gXHRTdHJpbmcgXHRcdCRzdGF0ZSBcdFx0VGhlIHN0YXRlXG4vLyBAcGFyYW0gXHRpbnQgXHRcdCRjb3VudCBcdFx0VGhlIGNvbHVtbiBjb3VudFxuLy9cbkBmdW5jdGlvbiBfZ3JpZGxlX2NsYXNzbmFtZShcblx0JGZvcixcblx0JHN0YXRlIDogbnVsbCxcblx0JHZhbHVlIDogbnVsbFxuKSB7XG5cblx0Ly8gZ2V0IHRoZSBwYXR0ZXJuXG5cdCRwYXR0ZXJuIDogJGZvcjtcblx0QGlmIHR5cGUtb2YoJGZvcikgPT0gc3RyaW5nIHtcblx0XHQkcGF0dGVybiA6IG1hcC1nZXQoJF9ncmlkbGUtcGFja2FnZXMsICRmb3IpO1xuXHRcdCRwYXR0ZXJuIDogbWFwLWdldCgkcGF0dGVybiwgY2xhc3NuYW1lKTtcblx0fVxuXG5cdC8vIGRlbGV0ZSBkZWZhdWx0IDpcblx0QGlmIHVucXVvdGUoXCIjeyRzdGF0ZX1cIikgPT0gZGVmYXVsdCB7XG5cdFx0JHN0YXRlIDogbnVsbDtcblx0fVxuXG5cdC8vIGNvbnN0cnVjdCBjbGFzcyBuYW1lIDpcblx0JHJlbW92ZVNlcGFyYXRvciA6IGZhbHNlO1xuXHRAZm9yICRpIGZyb20gbGVuZ3RoKCRwYXR0ZXJuKSB0aHJvdWdoIDEge1xuXHRcdCR2YXIgOiBudGgoJHBhdHRlcm4sICRpKTtcblxuXHRcdEBpZiAkdmFyID09ICdAJyB7XG5cdFx0XHQkcGF0dGVybiA6IHNldC1udGgoJHBhdHRlcm4sICRpLCAnXFxcXEAnKTtcblx0XHR9XG5cblx0XHRAaWYgaW5kZXgoJF9ncmlkbGVfbmFtZXMtc2VwYXJhdG9ycywgJHZhcikge1xuXHRcdFx0Ly8gY2hlY2sgaWYgbmVlZCB0byByZW1vdmUgc2VwYXJhdG9yXG5cdFx0XHRAaWYgJHJlbW92ZVNlcGFyYXRvciB7XG5cdFx0XHRcdCRwYXR0ZXJuIDogc2V0LW50aCgkcGF0dGVybiwgJGksIG51bGwpO1xuXHRcdFx0fVxuXHRcdFx0JHJlbW92ZVNlcGFyYXRvciA6IGZhbHNlO1xuXHRcdH0gQGVsc2UgaWYgJHZhciA9PSBcIiVzdGF0ZVwiIHtcblx0XHRcdEBpZiAkc3RhdGUgPT0gbnVsbCB7XG5cdFx0XHRcdCRwYXR0ZXJuIDogc2V0LW50aCgkcGF0dGVybiwgJGksIG51bGwpO1xuXHRcdFx0XHQkcmVtb3ZlU2VwYXJhdG9yIDogdHJ1ZTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkcGF0dGVybiA6IHNldC1udGgoJHBhdHRlcm4sICRpLCAkc3RhdGUpO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgJHZhciBhbmQgc3RyLWluZGV4KCR2YXIsICclJykgPT0gMSB7XG5cdFx0XHQkdG9rZW4gOiBzdHItc2xpY2UoJHZhciwgMik7XG5cdFx0XHQvLyBjaGVjayB0aGF0IHRoZSB2YWx1ZSBpcyBwYXJ0IG9mIHRoZSB0b2tlblxuXHRcdFx0JHRva2VucyA6IG1hcC1nZXQoJF9ncmlkbGUtbmFtZXMtdG9rZW5zLCAkdG9rZW4pO1xuXHRcdFx0QGlmICR0b2tlbnMge1xuXHRcdFx0XHQkcGF0dGVybiA6IHNldC1udGgoJHBhdHRlcm4sICRpLCAkdmFsdWUpO1xuXHRcdFx0XHRAaWYgJHZhbHVlID09IG51bGwge1xuXHRcdFx0XHRcdCRyZW1vdmVTZXBhcmF0b3IgOiB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSBpZiAkdmFyID09IG51bGwge1xuXHRcdFx0JHJlbW92ZVNlcGFyYXRvciA6IHRydWU7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyBjbGVhbiBzZWxlY3RvclxuXHQkbGlzdDogKCk7XG5cdEBlYWNoICR2YXIgaW4gJHBhdHRlcm4ge1xuXHRcdEBpZiAkdmFyIHtcblx0XHRcdCRsaXN0OiBhcHBlbmQoJGxpc3QsICR2YXIpO1xuXHRcdH1cblx0fVxuXHQkcGF0dGVybiA6ICRsaXN0O1xuXG5cdC8vIGJ1aWxkIHNlbGVjdG9yXG5cdCRzZWwgOiBcIlwiO1xuXHQkcHJlZml4IDogZ3JpZGxlX2dldF9zdGF0ZV92YXIoY2xhc3Nlcy1wcmVmaXgsICRzdGF0ZSk7XG5cdEBlYWNoICRwYXJ0IGluICRwYXR0ZXJuIHtcblx0XHRAaWYgJHBhcnQge1xuXHRcdFx0JHNlbCA6IFwiI3skc2VsfSN7JHBhcnR9XCI7XG5cdFx0fVxuXHR9XG5cdEBpZiAkcHJlZml4IGFuZCBzdHItc2xpY2UoJHNlbCwxLHN0cl9sZW5ndGgoJHByZWZpeCkpICE9ICRwcmVmaXgge1xuXHRcdCRzZWwgOiBcIi4jeyRwcmVmaXh9I3skc2VsfVwiO1xuXHR9IEBlbHNlIHtcblx0XHQkc2VsIDogXCIuI3skc2VsfVwiO1xuXHR9XG5cblx0Ly8gcmV0dXJuIGdlbmVyYXRlZCBjbGFzcyA6XG5cdEByZXR1cm4gdW5xdW90ZSgkc2VsKTtcbn1cblxuXG4vL1xuLy8gVW5tYXRjaGVkIHBhdHRlcm5zXG4vL1xuLy8gQHBhcmFtIFx0TGlzdCBcdFx0JHBhdHRlcm4gXHRUaGUgcGF0dGVybiB0byB1c2UgdG8gZ2VuZXJhdGUgY2xhc3NuYW1lXG4vLyBAcmV0dXJuICBNYXAgICAgICAgICAgICAgICAgICAgICBNYXAgb2YgdW5tYXRjaGVkIHBhdHRlcm4gaW5kZXg6cGF0dGVyblxuLy9cbkBmdW5jdGlvbiBfZ3JpZGxlX3VubWF0Y2hlZF9wYXR0ZXJucyhcblx0JHBhdHRlcm5cbikge1xuXHQkdW5tYXRjaGVkIDogKCk7XG5cblx0Ly8gTG9vcCBlYWNoIHBhcnRlcm5cblx0QGZvciAkaSBmcm9tIGxlbmd0aCgkcGF0dGVybikgdGhyb3VnaCAxIHtcblx0XHQkdmFyIDogbnRoKCRwYXR0ZXJuLCAkaSk7XG5cdFx0QGlmICR2YXIgYW5kIHN0ci1pbmRleCgkdmFyLCAnJScpID09IDEge1xuXHRcdFx0JHRva2VuIDogc3RyLXNsaWNlKCR2YXIsIDIpO1xuXHRcdFx0Ly8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgaXMgcGFydCBvZiB0aGUgdG9rZW5cblx0XHRcdCR0b2tlbnMgOiBtYXAtZ2V0KCRfZ3JpZGxlLW5hbWVzLXRva2VucywgJHRva2VuKTtcblx0XHRcdEBpZiAkdG9rZW5zID09IG51bGwge1xuXHRcdFx0XHQkdW5tYXRjaGVkIDogbWFwLXNldCgkdW5tYXRjaGVkLCAkaSwgJHZhcik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QHJldHVybiAkdW5tYXRjaGVkO1xufVxuXG5cbi8vXG4vLyBtYXRjaGVkIHBhdHRlcm5zXG4vL1xuLy8gQHBhcmFtIFx0TGlzdCBcdFx0JHBhdHRlcm4gXHRUaGUgcGF0dGVybiB0byB1c2UgdG8gZ2VuZXJhdGUgY2xhc3NuYW1lXG4vLyBAcmV0dXJuICBNYXAgICAgICAgICAgICAgICAgICAgICBNYXAgb2YgbWF0Y2hlZCBwYXR0ZXJuIGluZGV4OnBhdHRlcm5cbi8vXG5AZnVuY3Rpb24gX2dyaWRsZV9tYXRjaGVkX3BhdHRlcm5zKFxuXHQkcGF0dGVyblxuKSB7XG5cdCRtYXRjaGVkIDogKCk7XG5cblx0Ly8gTG9vcCBlYWNoIHBhcnRlcm5cblx0QGZvciAkaSBmcm9tIGxlbmd0aCgkcGF0dGVybikgdGhyb3VnaCAxIHtcblx0XHQkdmFyIDogbnRoKCRwYXR0ZXJuLCAkaSk7XG5cdFx0QGlmICR2YXIgYW5kIHN0ci1pbmRleCgkdmFyLCAnJScpID09IDEge1xuXHRcdFx0JHRva2VuIDogc3RyLXNsaWNlKCR2YXIsIDIpO1xuXHRcdFx0Ly8gY2hlY2sgdGhhdCB0aGUgdmFsdWUgaXMgcGFydCBvZiB0aGUgdG9rZW5cblx0XHRcdCR0b2tlbnMgOiBtYXAtZ2V0KCRfZ3JpZGxlLW5hbWVzLXRva2VucywgJHRva2VuKTtcblx0XHRcdEBpZiAkdG9rZW5zICE9IG51bGwge1xuXHRcdFx0XHQkbWF0Y2hlZCA6IG1hcC1zZXQoJG1hdGNoZWQsICRpLCAkdmFyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuICRtYXRjaGVkO1xufVxuXG5cbi8vXG4vLyBHZXQgZHluYW1pYyBwYXR0ZXJuIHZhbHVlc1xuLy9cbi8vIEBwYXJhbSBcdFN0cmluZyBcdFx0JGZvciBcdFx0XHROYW1lIG9mIHRoZSB0b2tlblxuLy8gQHJldHVybiBcdE1peGVkIFx0XHRcdFx0XHQgICAgVmFsdWVzIG9mIHRoZSB0b2tlblxuLy9cbkBmdW5jdGlvbiBfZ3JpZGxlX2dldF9wYXR0ZXJuX3ZhbHVlcyhcblx0JGZvclxuKXtcblx0QGlmICRmb3IgPT0gY29sdW1uIHtcblx0XHRAcmV0dXJuIGdyaWRsZV9nZXRfY29sdW1ucygpO1xuXHR9XG5cblx0QGlmICRmb3IgPT0gY29sdW1uLWNvdW50IHtcblx0XHRAcmV0dXJuIGxlbmd0aChncmlkbGVfZ2V0X2NvbHVtbnMoKSk7XG5cdH1cblxuXHRAaWYgJGZvciA9PSBjb3VudCB7XG5cdFx0QHJldHVybiAkX2dyaWRsZV9jbGVhcl9jbGFzc2VzO1xuXHR9XG5cblx0QHJldHVybiBtYXAtZ2V0KCRfZ3JpZGxlLW5hbWVzLXRva2VucywgJGZvcik7XG59XG5cblxuLy9cbi8vIEdldCB0aGUgY3VycmVudCBkcml2ZXJcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2dldF9kcml2ZXIoKSB7XG5cdEByZXR1cm4gJF9ncmlkbGUtZHJpdmVyO1xufVxuXG5cbi8vXG4vLyBJcyBkcml2ZXJcbi8vXG5AZnVuY3Rpb24gZ3JpZGxlX2lzX2RyaXZlcigkZHJpdmVyKSB7XG5cdEBlYWNoICRkIGluICRkcml2ZXIge1xuXHRcdEBpZiAkZCA9PSBncmlkbGVfZ2V0X2RyaXZlcigpIHtcblx0XHRcdEByZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblx0QHJldHVybiBmYWxzZTtcbn1cblxuXG4vL1xuLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBnZW5lcmF0ZSB0aGUgY2xhc3Mgb3Igbm90XG4vL1xuLy8gQHBhcmFtIFx0TGlzdCBcdFx0JGZvciBcdFx0XHROYW1lIG9mIHRoZSBjbGFzcyBtYXBcbi8vIEBwYXJhbSBcdExpc3QgXHRcdCR3aGF0IFx0XHRcdFRoZSBtYXAgdGhhdCBzZXQgd2hpY2ggY2xhc3MgbWFwIHRvIGluY2x1ZGUgYW5kIGV4Y2x1ZGVcbi8vIEByZXR1cm4gXHRCb29sZWFuIFx0XHRcdFx0XHR0cnVlIGlmIG5lZWQgdG8gZ2VuZXJhdGUsIGZhbHNlIGlmIG5vdFxuLy9cbkBmdW5jdGlvbiBfZ3JpZGxlX25lZWRfdG9fZ2VuZXJhdGUoXG5cdCRwYWNrYWdlLFxuXHQkd2hhdFxuKSB7XG5cdC8vIGNoZWNrIHRoYXQgdGhlIHdhbnRlZCBwYWNrYWdlIGV4aXN0IGluIHN5c3RlbVxuXHRAaWYgbWFwLWdldCgkX2dyaWRsZS1wYWNrYWdlcywgJHBhY2thZ2UpIHtcblx0XHQkcGFja2FnZSA6IG1hcC1nZXQoJF9ncmlkbGUtcGFja2FnZXMsICRwYWNrYWdlKTtcblx0XHQkcGFja2FnZSA6IG1hcC1nZXQoJHBhY2thZ2UsIHBhY2thZ2UpO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gaWYgd2UgaGF2ZSBhIHdoYXQgcGFyYW0sIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHBhY2thZ2UgaXMgbmVlZGVkXG5cdEBpZiAkd2hhdCBhbmQgJHdoYXQgIT0gYWxsIHtcblxuXHRcdC8vIGNoZWNrIGlmIHdlIGhhdmUgb25seSBzb21lIC0gaW4gdGhlIHN0YXRlcyBsaXN0XG5cdFx0Ly8gbWVhbiB0aGF0IHdlIHdhbnQgdG8gb25seSByZW1vdmUgdGhlc2Ugc3BlY2lmaWVkIHN0YXRlc1xuXHRcdC8vIGZyb20gdGhlIGFsbCBzdGF0ZXMgbGlzdFxuXHRcdCRvbmx5UmVtb3ZlIDogdHJ1ZTtcblx0XHRAZWFjaCAkdyBpbiAkd2hhdCB7XG5cdFx0XHRAaWYgc3RyLXNsaWNlKCR3LDEsMSkgIT0gJy0nIHtcblx0XHRcdFx0JG9ubHlSZW1vdmUgOiBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaWYgJG9ubHlSZW1vdmUge1xuXHRcdFx0QGVhY2ggJG5hbWUgaW4gJHBhY2thZ2Uge1xuXHRcdFx0XHRAaWYgaW5kZXgoJHdoYXQsIHVucXVvdGUoXCItI3skbmFtZX1cIikpIHtcblx0XHRcdFx0XHRAcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAcmV0dXJuIHRydWU7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRAZWFjaCAkbmFtZSBpbiAkcGFja2FnZSB7XG5cdFx0XHRcdEBpZiBpbmRleCgkd2hhdCwgdW5xdW90ZShcIiN7JG5hbWV9XCIpKSB7XG5cdFx0XHRcdFx0QHJldHVybiB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRAcmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXHQvLyB3ZSBkb24ndCBoYXZlIGEgd2hhdCBwYXJhbSBzbyB0aGUgcGFja2FnZSBpc1xuXHRAcmV0dXJuIHRydWU7XG59XG5cblxuLy9cbi8vIEdldCBnZW5lcmljIHNlbGVjdG9yIGZvciBhIGNsYXNzXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfZ2V0X2dlbmVyaWNfc2VsZWN0b3IoXG5cdCRwYWNrYWdlXG4pIHtcblx0JHAgOiBtYXAtZ2V0KCRfZ3JpZGxlLXBhY2thZ2VzLCAkcGFja2FnZSk7XG5cdCRzZWwgOiBtYXAtZ2V0KCRwLCBnZW5lcmljLXNlbGVjdG9yKTtcblx0QGlmICRzZWwge1xuXHRcdEByZXR1cm4gdW5xdW90ZSgkc2VsKTtcblx0fVxuXHQkc2VsIDogbWFwLWdldCgkcCwgY2xhc3NuYW1lKTtcblx0JGdlbmVyaWMgOiBcIlwiO1xuXHQkZW5kIDogZmFsc2U7XG5cdCRpIDogMTtcblx0QGVhY2ggJHBhcnQgaW4gJHNlbCB7XG5cdFx0QGlmIG5vdCAkZW5kIHtcblx0XHRcdC8vIGlmIHdlIGhhdmUgYSBzZXBhcmF0b3IsIGNoZWNrIHRoZSBuZXh0IHZhbHVlIHRvIHNlZSBpZiBpdCdzIGEgdmFyaWFibGVcblx0XHRcdEBpZiBpbmRleCgkX2dyaWRsZS1uYW1lcy1zZXBhcmF0b3JzLCAkcGFydCkgYW5kICRpIDwgbGVuZ3RoKCRzZWwpIHtcblx0XHRcdFx0QGlmIG50aCgkc2VsLCRpICsgMSkgIT0gJyVzdGF0ZScge1xuXHRcdFx0XHRcdCRnZW5lcmljIDogI3skZ2VuZXJpY30jeyRwYXJ0fTtcblx0XHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdFx0JGVuZCA6IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRAaWYgc3RyLXNsaWNlKCRwYXJ0LDEsMSkgIT0gJyUnIHtcblx0XHRcdFx0XHQkZ2VuZXJpYyA6ICN7JGdlbmVyaWN9I3skcGFydH07XG5cdFx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHRcdCRlbmQgOiB0cnVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCRpIDogJGkgKyAxO1xuXHR9XG5cdEByZXR1cm4gdW5xdW90ZSgnW2NsYXNzKj1cIiN7JGdlbmVyaWN9XCJdJyk7XG59XG5cblxuLy9cbi8vIENoZWNrIGlmIGdyaWRsZSBpcyBpbiBnZW5lcmF0aW9uIHBoYXNlXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfaXNfaW5fZ2VuZXJhdGVfcGhhc2UoKSB7XG5cdEByZXR1cm4gJF9ncmlkbGVfaXNfaW5fZ2VuZXJhdGVfcGhhc2U7XG59XG5cblxuLy9cbi8vIFBhcnNlIGdyaWRsZSBtaXhpbiBsaXN0XG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfcGFyc2VfZ3JpZGxlX21peGluX2xpc3QoXG5cdCRsaXN0XG4pIHtcblx0Ly8gbWFwXG5cdCRtYXAgOiAoKTtcblxuXHQvLyBjb250ZXh0XG5cdCRjb250ZXh0IDogbnVsbDtcblx0JG9mIDogaW5kZXgoJGxpc3QsIG9mKTtcblx0QGlmICRvZiB7XG5cdFx0JGNvbnRleHQgOiBudGgoJGxpc3QsICgkb2YgKyAxKSk7XG5cdFx0JGxpc3QgOiByZW1vdmUtbnRoKCRsaXN0LCRvZik7XG5cdFx0JGxpc3QgOiByZW1vdmUtbnRoKCRsaXN0LCRvZik7XG5cdH0gQGVsc2Uge1xuXHRcdCRjdHggOiBpbmRleCgkbGlzdCwgY29udGV4dCk7XG5cdFx0QGlmICRjdHgge1xuXHRcdFx0JGNvbnRleHQgOiBudGgoJGxpc3QsICgkY3R4ICsgMSkpO1xuXHRcdFx0JGxpc3QgOiByZW1vdmUtbnRoKCRsaXN0LCRjdHgpO1xuXHRcdFx0JGxpc3QgOiByZW1vdmUtbnRoKCRsaXN0LCRjdHgpO1xuXHRcdH1cblx0fVxuXG5cdC8vIGdyaWRcblx0JGdyIDogbnRoKCRsaXN0LCAxKTtcblx0QGlmIHR5cGUtb2YoJGdyKSA9PSBudW1iZXIgb3IgJGdyID09IGFkYXB0IG9yICRnciA9PSBncm93IG9yIGdyaWRsZV9oYXNfY29sdW1uKCRncikge1xuXHRcdCRtYXAgOiBtYXAtc2V0KCRtYXAsIGdyaWQsICRnciAkY29udGV4dCk7XG5cdFx0JGxpc3QgOiByZW1vdmUtbnRoKCRsaXN0LDEpO1xuXHR9XG5cblx0Ly8gcHJlZml4XG5cdCRwcmVmaXggOiBudWxsO1xuXHQkYXQgOiBpbmRleCgkbGlzdCwgYXQpO1xuXHRAaWYgJGF0IHtcblx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCBwcmVmaXgsIG50aCgkbGlzdCwoJGF0ICsgMSkpICRjb250ZXh0KTtcblx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsJGF0KTtcblx0XHQkbGlzdCA6IHJlbW92ZS1udGgoJGxpc3QsJGF0KTtcblx0fVxuXG5cdC8vIGxvb3Agb24gZWFjaCBwYXJhbWV0ZXJzXG5cdCRwcm9wX3ZhbHVlcyA6ICgpO1xuXHQkcHJvcF9uYW1lIDogbnVsbDtcblx0JGxpc3QgOiBhcHBlbmQoJGxpc3QsIF9ncmlkbGUtbGFzdCk7XG5cdEBlYWNoICRwYXJhbSBpbiAkbGlzdCB7XG5cblx0XHRAaWYgJHBhcmFtICE9IHdpdGggYW5kICRwYXJhbSAhPSAnYW5kJyB7XG5cdFx0XHRAaWYgbWFwLWdldCgkX2dyaWRsZS1wYWNrYWdlcywgJHBhcmFtKSBvciAkcGFyYW0gPT0gX2dyaWRsZS1sYXN0IHtcblx0XHRcdFx0QGlmICRwcm9wX25hbWUge1xuXHRcdFx0XHRcdCR2YWx1ZXMgOiB0cnVlO1xuXHRcdFx0XHRcdEBpZiBsZW5ndGgoJHByb3BfdmFsdWVzKSA+IDAge1xuXHRcdFx0XHRcdFx0JHZhbHVlcyA6ICRwcm9wX3ZhbHVlcztcblx0XHRcdFx0XHRcdEBpZiBsZW5ndGgoJHByb3BfdmFsdWVzKSA9PSAxIHtcblx0XHRcdFx0XHRcdFx0JHZhbHVlcyA6IG50aCgkcHJvcF92YWx1ZXMsMSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQkcHJvcF92YWx1ZXMgOiAoKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgJHByb3BfbmFtZSwgJHZhbHVlcyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0JHByb3BfbmFtZSA6ICRwYXJhbTtcblx0XHRcdH0gQGVsc2Uge1xuXHRcdFx0XHQkcHJvcF92YWx1ZXMgOiBhcHBlbmQoJHByb3BfdmFsdWVzLCAkcGFyYW0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0Ly8gLy8gY2hlY2sgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgZ3V0dGVyIHBhcmFtZXRlcnNcblx0Ly8gQGlmIG5vdCBtYXAtZ2V0KCRtYXAsIGd1dHRlcikgYW5kIG5vdCBtYXAtZ2V0KCRtYXAsIG5vLWd1dHRlcikge1xuXHQvLyBcdCRtYXAgOiBtYXAtc2V0KCRtYXAsIGd1dHRlciwgdHJ1ZSk7XG5cdC8vIH1cblxuXHQvLyByZXR1cm4gdGhlIG1hcFxuXHRAcmV0dXJuICRtYXA7XG59XG5cblxuLy9cbi8vIEdldCBzZXQgbWFwIGZyb20gc3RyaW5nXG4vL1xuQGZ1bmN0aW9uIF9ncmlkbGVfZ2V0X2dyaWRsZV9zZXRfbWFwX2Zyb21fbGlzdChcblx0JGxpc3Rcbikge1xuXHQvLyBsb29wIG9uIGVhY2ggbGlzdCBlbGVtZW50IHRvIHNwbGl0IGludG8gc3RhdGVzIGxpc3RzXG5cdCRzdGF0ZSA6IGN1cnJlbnQ7XG5cdCRtYXAgOiAoKTtcblx0QGVhY2ggJHByb3AgaW4gJGxpc3Qge1xuXHRcdEBpZiBtYXAtZ2V0KCRtYXAsICRzdGF0ZSkgPT0gbnVsbCB7XG5cdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc3RhdGUsICgpKTtcblx0XHR9XG5cdFx0QGlmIHR5cGUtb2YoJHByb3ApID09IHN0cmluZyBhbmQgZ3JpZGxlX2hhc19zdGF0ZSgkcHJvcCkge1xuXHRcdFx0JHN0YXRlIDogJHByb3A7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkbHMgOiBtYXAtZ2V0KCRtYXAsICRzdGF0ZSk7XG5cdFx0XHQkbHMgOiBhcHBlbmQoJGxzLCAkcHJvcCk7XG5cdFx0XHQkbWFwIDogbWFwLXNldCgkbWFwLCAkc3RhdGUsICRscyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gbG9vcCBvbiBlYWNoIHN0YXRlc1xuXHRAZWFjaCAkc3RhdGVOYW1lLCAkcHJvcHMgaW4gJG1hcCB7XG5cdFx0QGlmIGxlbmd0aCgkcHJvcHMpID4gMCB7XG5cdFx0XHQkcHJvcHNfbWFwIDogX2dyaWRsZV9wYXJzZV9ncmlkbGVfbWl4aW5fbGlzdCgkcHJvcHMpO1xuXHRcdFx0QGlmIHR5cGUtb2YoJHByb3BzX21hcCkgPT0gbWFwIHtcblx0XHRcdFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgJHN0YXRlTmFtZSwgJHByb3BzX21hcCk7XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0JG1hcCA6IG1hcC1zZXQoJG1hcCwgJHN0YXRlTmFtZSwgbnVsbCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHRAcmV0dXJuICRtYXA7XG59XG5cblxuLy9cbi8vIEdldCB0aGUgbWVkaWEgcXVlcnkgZm9yIGEgcGFydGljdWxhciBzdGF0ZSwgb3Igd2lkdGgsIGV0Yy4uLlxuLy9cbi8vIEBwYXJhbSBcdE1peGVkIFx0XHQkc3RhdGUtb3ItbWluLXdpZHRoIFx0XHRUaGUgc3RhdGUgbmFtZSBvZiB0aGUgbWluIHdpZHRoXG4vLyBAcGFyYW0gXHRNaXhlZCBcdFx0JG1heC13aWR0aCBcdFx0XHRUaGUgbWF4IHdpZHRoIGlmIGZpcnN0IHBhcmFtIGlzIGEgbWluIHdpZHRoXG4vLyBAcmV0dXJuIFx0U3RyaW5nIFx0XHRcdFx0XHRcdFRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgd2l0aG91dCB0aGUgQG1lZGlhXG4vL1xuQGZ1bmN0aW9uIGdyaWRsZV9nZXRfbWVkaWFfcXVlcnkoXG5cdCRzdGF0ZS1vci1zZXR0aW5ncyA6IGN1cnJlbnRcbikge1xuXHQvLyBjaGVjayBpZiBpcyBhIHN0cmluZyA6XG5cdCRzdGF0ZSA6IG51bGw7XG5cdEBpZiB0eXBlLW9mKCRzdGF0ZS1vci1zZXR0aW5ncykgPT0gc3RyaW5nXG5cdHtcblx0XHQkc3RhdGUgOiBncmlkbGVfZ2V0X3N0YXRlKCRzdGF0ZS1vci1zZXR0aW5ncyk7XG5cdH1cblx0QGVsc2UgaWYgJHN0YXRlLW9yLXNldHRpbmdzID09IG51bGxcblx0e1xuXHRcdCRzdGF0ZSA6ICRfZ3JpZGxlLXNldHRpbmdzO1xuXHR9XG5cdEBlbHNlXG5cdHtcblx0XHQkc3RhdGUgOiBtYXAtbWVyZ2UoJF9ncmlkbGUtc2V0dGluZ3MsICRzdGF0ZS1vci1zZXR0aW5ncyk7XG5cdH1cblxuXHQvLyBpZiBpdCdzIHNvbWUgc2V0dGluZ3Mgb3IgYSBzdGF0ZSA6XG5cdEBpZiAkc3RhdGUge1xuXG5cdFx0Ly8gZ2V0IHZhcnMgOlxuXHRcdCRuYW1lIDogbWFwLWdldCgkc3RhdGUsIG5hbWUpO1xuXHRcdCRtaW4td2lkdGggOiBtYXAtZ2V0KCRzdGF0ZSwgbWluLXdpZHRoKTtcblx0XHQkbWF4LXdpZHRoIDogbWFwLWdldCgkc3RhdGUsIG1heC13aWR0aCk7XG5cdFx0JHF1ZXJ5IDogbWFwLWdldCgkc3RhdGUsIHF1ZXJ5KTtcblxuXHRcdC8vIGRpcmVjdCBxdWVyeSA6XG5cdFx0QGlmICRxdWVyeVxuXHRcdHtcblx0XHRcdEByZXR1cm4gJHF1ZXJ5O1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkbWluLXdpZHRoIGFuZCAkbWF4LXdpZHRoXG5cdFx0e1xuXHRcdFx0QHJldHVybiBcInNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSkgYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pXCI7XG5cdFx0fVxuXHRcdEBlbHNlIGlmICRtaW4td2lkdGhcblx0XHR7XG5cdFx0XHRAcmV0dXJuIFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KVwiO1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkbWF4LXdpZHRoXG5cdFx0e1xuXHRcdFx0QHJldHVybiBcInNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSlcIjtcblx0XHR9XG5cdFx0QGVsc2Vcblx0XHR7XG5cdFx0XHRAcmV0dXJuIG51bGw7XG5cdFx0fVxuXG5cdH1cblx0QGVsc2Vcblx0e1xuXHRcdEByZXR1cm4gbnVsbDtcblx0fVxufVxuIiwiLmxpc3Qge1xyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogLTMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZmY7XHJcbiAgICAgICAgYm94LXNoYWRvdzogM3B4IDNweCAxNXB4IHJnYmEoMCwwLDAsIC41KSwgaW5zZXQgMHB4IDBweCAyMHB4IHJnYmEoMCwgMCwgMCwgLjMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemUteGxhcmdlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG5cclxuICAgICAgICAmLS1sYXJnZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWNlbnRlcmVkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5idG4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDE2cHggNDBweDtcclxuICAgIG1pbi13aWR0aDogMjAwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNHMgZWFzZS1pbi1vdXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgJiA+ICoge1xyXG4gICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLW1hcmdpbiB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLXJpZ2h0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbjogMCAtMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMzBweDtcclxuXHJcbiAgICAgICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXJlZCB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNjNzIzNWEsICM5NTIwNDcpO1xyXG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICM5NTIwNDc7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRjb2xvci1ibHVlLCBkYXJrZW4oJGNvbG9yLWJsdWUsIDE1JSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1ibHVlIHtcclxuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG5cclxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icm93bjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZnVsbCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWJvcmRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsdWU7XHJcblxyXG4gICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0teHNtYWxsIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLXNtYWxsIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtaW4td2lkdGg6IGluaXRpYWw7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAmLS1sZXZlbCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzNTBweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXRyYW5zcGFyZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLS1zYXZlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjYzcyMzVhLCAjOTUyMDQ3KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZG93biB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Fycm93LWRvd24ucG5nJyk7XHJcbiAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBtYXJnaW46IDEwcHggYXV0bztcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgfVxyXG59XHJcbiIsIi5oZWFkaW5nIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBmb250LXNpemU6IDUwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNmRlZyk7XHJcblxyXG4gICAgJi0tc21hbGwge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAzOHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggYXV0bztcclxuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9ub3RlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG4iLCIudGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgICAgICBib3gtc2hhZG93OiA1cHggNXB4IDIwcHggcmdiYSgwLCAwLCAwLCAuNSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgICZfX3Njcm9sbCB7XHJcbiAgICAgICAgaGVpZ2h0OiA0NTBweDtcclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5qc3BEcmFnIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX190ZXh0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1vcmFuZ2U7XHJcblxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYm9keSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuXHJcbiAgICAgICAgdHIge1xyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2YzZjNmMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjNmM2YzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wb3NpdGlvbixcclxuICAgICZfX3BvaW50cyB7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZS1sYXJnZTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiLnNyLW9ubHkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxcHg7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG5cclxuYTpmb2N1cy12aXNpYmxlLFxyXG5idXR0b246Zm9jdXMtdmlzaWJsZSB7XHJcbiAgb3V0bGluZTogM3B4IHNvbGlkICMwMTRkYTM7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcclxufVxyXG5cclxuLnNraXAgeyAgXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC0xMDAwMHB4O1xyXG4gIHRvcDogYXV0bztcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY29sb3I6ICMwMTRkYTM7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbn1cclxuXHJcbi5za2lwOmZvY3VzIHtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxufSIsIi5oZWFkZXItaGVscGVye1xyXG4gIGhlaWdodDogMTUwcHg7XHJcbiAgd2lkdGg6MTAwJTtcclxufVxyXG4uaGVhZGVyIHtcclxuICAkdGhpczogJjtcclxuICB6LWluZGV4OiA2NjY7XHJcblxyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIHBhZGRpbmc6IDM1cHggMDtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLy90b3A6IC0xMDAlO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMXMgZWFzZS1pbjtcclxuXHJcbiAgJi0tc3VicGFnZSxcclxuICAmLS1maXhlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggMTBweCByZ2JhKDAsIDAsIDAsIC4xKTtcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3dhdmUucG5nJykgcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1maXhlZCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICB9XHJcblxyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAmID4gYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgJiA+IGltZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdkZXNrdG9wJykge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG5cclxuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19tb2JpbGUge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogNDQ0O1xyXG4gICAgdG9wOiA2MHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDI1cHggNTBweDtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgNXB4IDE5cHggLTVweCByZ2JhKDAsIDAsIDAsIC4zKTtcclxuXHJcbiAgICBhOm5vdCguYnRuKSB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJvd247XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAtMTBweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlLWluLW91dDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbmF2IHtcclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2FjY291bnQge1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgcCwgbGksIGEge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtaXRlbSB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNHMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYtLWFjdGl2ZSxcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjo6YWZ0ZXIsXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1saXN0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgIG1hcmdpbjogMCAtMjBweDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi1pdGVtIHtcclxuICAgICAgICBtYXJnaW46IDAgMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fb3BlbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIHNwYW4ge1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG5cclxuICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGxlZnQ6IC01MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saXN0IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBtYXJnaW46IDAgMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGluayB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJvd247XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6OmJlZm9yZSxcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBib3R0b206IC0xMHB4O1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLS1hY3RpdmUsXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6OmFmdGVyLFxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuI21tZW51IHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi5mb290ZXIge1xyXG4gICZfX3RvcCB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcblxyXG4gICAgJi5zZWN0aW9uLS1icm93biB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjNiMzA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gICZfX2NvbHVtbixcclxuICAmX19sb2dvLWNvbHVtbiB7XHJcbiAgICAvL3dpZHRoOiAyMCU7XHJcbiAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC50aXRsZS1hcnJvd3tcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgLmpzX19zaG93LW1vcmV7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgLnRpdGxlLWFycm93e1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAsLmhlYWRlci1mb290ZXJ7XHJcbiAgICAgIG1hcmdpbi10b3A6NXB4O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBtYXJnaW4tdG9wOjFweDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL25ldy13aW5kb3cuc3ZnXCIpIDEwMCUgNTAlLzIwcHggMTRweCBuby1yZXBlYXQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2xvZ28tY29sdW1ue1xyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jb2x1bW4ge1xyXG5cclxuICAgIC5mb290ZXItc3dpdGNoe1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy93aWR0aDogODAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdWx7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAuZm9vdGVyLXN3aXRjaHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZDogIzIwNjNhMDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2NvbWx1bW4tLXBheW1lbnR7XHJcbiAgICBwe1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGltZ3tcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweFxyXG4gICAgfVxyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLmNvb2tpZXMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiA5OTk5OTtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcclxuICAmID4gZGl2IHtcclxuICB9XHJcblxyXG4gIC5jYy13aW5kb3cge1xyXG4gICAgQGV4dGVuZCAjeycuY29udGFpbmVyJ307XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjVweCAwICFpbXBvcnRhbnQ7XHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNjLW1lc3NhZ2Uge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMzlweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDVlbTtcclxuICAgIGEge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1ZW07XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAxMjRweDtcclxuICAgICAgaGVpZ2h0OiAxMjRweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJvdHRvbTogLTE1cHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgLy9iYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljby1jb29raWVzLnBuZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICB0b3A6LTYycHhcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAwIDE1cHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNjLWRpc21pc3N7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XHJcbiAgfVxyXG5cclxuICAuY2MtY29tcGxpYW5jZSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG59XHJcbiIsIi8qXHJcbiAqIEZvcm1zIGFuZCBmb3JtIGZpZWxkc1xyXG4gKi9cclxuXHJcbi8qIElucHV0IHN0eWxlICovXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnNlbGVjdCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3QsXHJcbmxhYmVsLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbmlucHV0W3R5cGU9XCJpbWFnZVwiXSxcclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuYnV0dG9uW2Rpc2FibGVkXSxcclxuc2VsZWN0W2Rpc2FibGVkXSxcclxubGFiZWxbZGlzYWJsZWRdLFxyXG5pbnB1dFtkaXNhYmxlZF1bdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFtkaXNhYmxlZF1bdHlwZT1cImJ1dHRvblwiXSxcclxuaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJpbWFnZVwiXSxcclxuaW5wdXRbZGlzYWJsZWRdW3R5cGU9XCJzdWJtaXRcIl0sXHJcbmlucHV0W2Rpc2FibGVkXVt0eXBlPVwicmFkaW9cIl0sXHJcbmlucHV0W2Rpc2FibGVkXVt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gb3ZlcndyaXRlIG5vcm1hbGl6ZVxyXG59XHJcblxyXG5zZWxlY3QsXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuaW5wdXRbdHlwZT1cInVybFwiXSxcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcclxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcclxuaW5wdXRbdHlwZT1cImNvbG9yXCJdIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgXHJcbiAgXHJcbiAgJjpmb2N1cyxcclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgJiB+IC5jLWJ0bi0tZmlsZSB7XHJcbiAgICAgIG91dGxpbmU6IDNweCBzb2xpZCAkY29sb3ItYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZvcm0ge1xyXG4gIG1hcmdpbjogMzBweCAwO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAuYWxlcnQuYWxlcnQtZGFuZ2VyIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgYmFja2dyb3VuZDogZGFya2VuKCRjb2xvci1yZWQsIDEwJSk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgLmZvcm0tZXJyb3ItbWVzc2FnZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMTAwcHggYXV0bztcclxuICAgIG1heC13aWR0aDogNjUwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIG1hcmdpbjogNTBweCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWlubGluZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc21hbGwtbWFyZ2luIHtcclxuICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ncm91cCxcclxuICAmLWdyb3VwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICBib3JkZXI6IDA7XHJcblxyXG4gICAgJi0taW5saW5lIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19sYWJlbCxcclxuICBsYWJlbCxcclxuICAuY29sLWZvcm0tbGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG5cclxuICAgICYtLWlubGluZSB7XHJcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faW5wdXQsXHJcbiAgJl9fdGV4dGFyZWEsXHJcbiAgJi1jb250cm9sIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYnJvd247XHJcbiAgICBjb2xvcjogJGNvbG9yLWJyb3duO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgJi0tY29kZXtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICBpbnB1dHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICBidXR0b246ZGlzYWJsZWR7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgfVxyXG4gICAgICBidXR0b257XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMCFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXQsIGJ1dHRvbntcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtaW52YWxpZCB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXJlZDtcclxuICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XHJcblxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1yZWQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1hdXRvY29tcGxldGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctc21hbGwtZG93bi5wbmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDk3JSA1MCU7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0ZXh0YXJlYSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgfVxyXG5cclxuICAmX19hdXRvY29tcGxldGUtbGlzdCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgei1pbmRleDogNDtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB0b3A6IC0zMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGNvbG9yLWJsdWUsIDEwJSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0Ymx1ZTtcclxuICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0Ymx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY2hlY2tib3gtZ3JvdXAsXHJcbiAgZmllbGRzZXQuZm9ybS1ncm91cCA+IGRpdiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWFyZ2luOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fY2hlY2tib3gtY29udGFpbmVyLFxyXG4gICYtY2hlY2sge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICAmLWhhbGYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC5mb3JtX19ncm91cCxcclxuICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYtYWdyZWUtLWxpc3Qge1xyXG4gICAgYS5qc19fc2hvdy1hZ3JlZS1tb3JlIHtcclxuICAgICAgY29sb3I6ICM0MTMwMjU7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC53cmFwcGVyLWFncmVlLS1tb3JlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuXHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xyXG4gICAgICBtYXJnaW46IDAgMCAwIDMwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTdweDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS1jaGVjay1sYWJlbCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi1jb21wYW55LS13cmFwcGVyIHtcclxuICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gICZfX2NoZWNrYm94e1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNiYjlmN2E7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZDogI0EyODY2MTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2lucHV0LXdyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgJl9fcmFkaW8sXHJcbiAgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYyg1MCUgLSAxMHB4KTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuXHJcbiAgICAmICsgbGFiZWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNBMjg2NjE7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyOiA0cHggc29saWQgI2ZmZjtcclxuICAgICAgYmFja2dyb3VuZDogI0EyODY2MTtcclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzLXZpc2libGUgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgICBvdXRsaW5lOiAzcHggc29saWQgIzAxNGRhMyAhaW1wb3J0YW50O1xyXG4gICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm0tY2hlY2staW5wdXQge1xyXG4gICAgbGVmdDogMjVweDtcclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICRjb2xvci1icm93bjtcclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5mb3JtX19yYWRpbyArIGxhYmVsOmJlZm9yZXtcclxuXHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0EyODY2MTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB9XHJcblxyXG4gICZfX3Bhc3N3b3JkLXJldmVhbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMTVweDtcclxuICAgIGJvdHRvbTogMTVweDtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2ljby1leWUuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICB9XHJcblxyXG4gICZfX3RleHQsXHJcbiAgLmZvcm0tdGV4dCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gICZfX2ZpbGUtY29udGFpbmVyLFxyXG4gIC5jdXN0b20tZmlsZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgaW5wdXQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ZpbGUtdGV4dCxcclxuICAuY3VzdG9tLWZpbGUtbGFiZWwge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYnJvd247XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnICc7XHJcbiAgICAgIH1cclxuICAgICAgJi0tcGRmIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnV2dyYWogcHJvamVrdCB3IHBsaWt1IFBERic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgdG9wOiAtMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9pY28tZmlsZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgLmpjZi1zZWxlY3Qge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1icm93bjtcclxuICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG5cclxuICAgIC5qY2Ytc2VsZWN0LW9wZW5lciB7XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9hcnJvdy1zbWFsbC1kb3duLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmpjZi1mb2N1cyAqIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5qY2Ytc2VsZWN0IC5qY2Ytc2VsZWN0LXRleHQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgfVxyXG5cclxuICBmaWVsZHNldC5mb3JtLWdyb3VwIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5mb3JtLWdyb3VwIHtcclxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuXHJcbiAgICAgICYgKyBsYWJlbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDYycHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG5cclxuICAgICAgICAvLyY6YmVmb3JlIHtcclxuICAgICAgICAvLyAgY29udGVudDogJyc7XHJcbiAgICAgICAgLy8gIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2ljby1maWxlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIC8vICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgICAgICAgLy8gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAvLyAgbGVmdDogMDtcclxuICAgICAgICAvLyAgdG9wOiAtNHB4O1xyXG4gICAgICAgIC8vICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvLyAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgLy8gIGhlaWdodDogNDBweDtcclxuICAgICAgICAvL31cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpmb2N1cyxcclxuICAgICAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgICAgICAmIH4gLmMtYnRuLS1maWxlIHtcclxuICAgICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCAkY29sb3ItYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS13YXJuIHtcclxuICAgICAgbGFiZWwgLmZvcm0tZXJyb3ItbWVzc2FnZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1yZWQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb3JtLWNvbXBhbnktLXdyYXBwZXIge1xyXG4gIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuZm9ybSB7XHJcbiAgI29yZGVyc19wcm9kdWN0X3RlbXBsYXRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICNvcmRlcnNfcHJvZHVjdF9wcm9qZWN0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICNvcmRlcnNfdXNlcl9wb2ludF9pZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAjb3JkZXJzX2Fub255bW91c19wb2ludF9pZCxcclxuICBsYWJlbFtmb3I9b3JkZXJzX2Fub255bW91c19wb2ludF9pZF17XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuYm9keSA+IC5qY2Ytc2VsZWN0LWRyb3Age1xyXG4gIHotaW5kZXg6IDIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmpjZi1zZWxlY3QtZHJvcCAuamNmLXNlbGVjdC1kcm9wLWNvbnRlbnQge1xyXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgbWFyZ2luOiAwIDE1cHg7XHJcbn1cclxuXHJcbi5qY2YtbGlzdC1jb250ZW50IGxpIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbi5mb3JtX19jb250YWluZXItLXF1ZXN0aW9ubmFyaWV7XHJcbiAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4uZm9ybS1xdWVzdGlvbm5haXJle1xyXG4gIC5mb3JtLWVycm9yLWljb257XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAuZm9ybS1lcnJvci1tZXNzYWdle1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogcmVkO1xyXG4gIH1cclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIGZpZWxkc2V0LmZvcm0tZ3JvdXAgPiBkaXYge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgdGV4dGFyZWF7XHJcbiAgICB3aWR0aDogOTIlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4udGV4dC1yZWd1bGF0aW9uIHtcclxuICBtYXJnaW4tbGVmdDogMzBweDtcclxuICBsaW5lLWhlaWdodDogMS42O1xyXG59XHJcbiIsIi8qXHJcbiAqIFN0eWxlcyBmb3IgV1lTSVdZRyBlZGl0b3JzIGxpa2UgVGlueU1DRSBvciBDS0VkaXRvclxyXG4gKi9cclxuLnd5c2l3eWcge1xyXG4gIC8vIFNwYWNlIGJldHdlZW4gZWxlbWVudHNcclxuICAqICsgaDEsXHJcbiAgKiArIGgyLFxyXG4gICogKyBoMyxcclxuICAqICsgaDQsXHJcbiAgKiArIGg1LFxyXG4gICogKyBoNixcclxuICAqICsgcCxcclxuICAqICsgYmxvY2txdW90ZSxcclxuICAqICsgb2wsXHJcbiAgKiArIHVsLFxyXG4gICogKyBkbCxcclxuICAqICsgdGFibGUsXHJcbiAgKiArIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkd3lzaXd5Zy1zcGFjZTtcclxuICB9XHJcblxyXG4gIC8vIExpc3RzXHJcbiAgbGkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJ8K7JztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJiArICYge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIG9sLFxyXG4gICAgdWwge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wgPiBsaSB7XHJcbiAgICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZC1saXN0O1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogY291bnRlcihvcmRlcmVkLWxpc3QpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZHQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICB9XHJcblxyXG4gIC8vIEhlYWRsaW5lc1xyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogJHd5c2l3eWctaDEtZm9udC1zaXplO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3eXNpd3lnLWgxLWZvbnQtd2VpZ2h0O1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiAkd3lzaXd5Zy1oMi1mb250LXNpemU7XHJcbiAgICBmb250LXdlaWdodDogJHd5c2l3eWctaDItZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6ICR3eXNpd3lnLWgzLWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd3lzaXd5Zy1oMy1mb250LXdlaWdodDtcclxuICB9XHJcbiAgaDQge1xyXG4gICAgZm9udC1zaXplOiAkd3lzaXd5Zy1oNC1mb250LXNpemU7XHJcbiAgICBmb250LXdlaWdodDogJHd5c2l3eWctaDQtZm9udC13ZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBoNSB7XHJcbiAgICBmb250LXNpemU6ICR3eXNpd3lnLWg1LWZvbnQtc2l6ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkd3lzaXd5Zy1oNS1mb250LXdlaWdodDtcclxuICB9XHJcblxyXG4gIGg2IHtcclxuICAgIGZvbnQtc2l6ZTogJHd5c2l3eWctaDYtZm9udC1zaXplO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3eXNpd3lnLWg2LWZvbnQtd2VpZ2h0O1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJHd5c2l3eWctbGluay1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogJHd5c2l3eWctbGluay1kZWNvcmF0aW9uO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJHd5c2l3eWctbGluay1jb2xvci1ob3ZlcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkd3lzaXd5Zy1saW5rLWRlY29yYXRpb24taG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBJbWFnZXNcclxuICBpbWcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG4gIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLFxyXG4gIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSxcclxuICBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sXHJcbiAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHd5c2l3eWctaW1nLXBhZGRpbmc7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHd5c2l3eWctaW1nLXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSxcclxuICBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0ge1xyXG4gICAgcGFkZGluZy1yaWdodDogJHd5c2l3eWctaW1nLXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuICBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sXHJcbiAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICR3eXNpd3lnLWltZy1wYWRkaW5nO1xyXG4gIH1cclxuXHJcbiAgZmlndXJlIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC8vIEJsb2NrcXVvdGVzXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xyXG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zdWJwYWdlIHtcclxuICAmX19pbWFnZSB7XHJcbiAgICBoZWlnaHQ6IDYzNXB4O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdkZXNrdG9wJykge1xyXG4gICAgICBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBoZWlnaHQ6IDI1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faGVhZGluZyB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgY29sb3I6ICM3Njc1NzU7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdkZXNrdG9wJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtY29udGFpbmVyIHtcclxuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICBwYWRkaW5nOiA2MHB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdkZXNrdG9wJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTgwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTYwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWRlc2NyaXB0aW9uIHtcclxuICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gIHBhZGRpbmc6IDMwcHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgcGFkZGluZzogMTVweCAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgJi0tY29uZmlndXJhdG9yIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJi0tZ3JleSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xyXG4gIH1cclxuXHJcbiAgJi0taGVhZGluZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy93YXZlLnBuZycpO1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tZ3JleS1uZXh0IHtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvd2F2ZS1ncmV5LnBuZycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tYnJvd24ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctY2hvY29sYXRlLmpwZycpO1xyXG4gIH1cclxuXHJcbiAgJi0tYmx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iZy1ibHVlLmpwZycpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTc5Y2I7XHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmctYmx1ZS1tb2JpbGUuanBnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1iMmIge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLWNob2NvbGF0ZS0xLmpwZycpLCB1cmwoJy4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtMi5qcGcnKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMzAlLCAwJSA3MCU7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYtLWNvbnRhY3Qge1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvY29hLTEucG5nJyksIHVybCgnLi4vaW1hZ2VzL2JnLWNob2NvbGF0ZS00LnBuZycpLCB1cmwoJy4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNS5qcGcnKSwgdXJsKCcuLi9pbWFnZXMvYmctY2hvY29sYXRlLTYucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDcwJSwgMCUgMjAlLCAxMDAlIDEwJSwgMCUgOTAlO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tcGFkZGluZyB7XHJcbiAgICBwYWRkaW5nOiAxMDBweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLS1wYWRkaW5nLTIge1xyXG4gICAgcGFkZGluZzogNDBweCAwO1xyXG4gIH1cclxuXHJcbiAgJi0tYWNjb3VudCB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IC0xMDBweDtcclxuICB9XHJcblxyXG4gICYtLXRoYW5rLXlvdSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6ICB1cmwoJy4uL2ltYWdlcy9iZy1jaG9jb2xhdGUtNS5qcGcnKSwgdXJsKCcuLi9pbWFnZXMvYmctY2hvY29sYXRlLTYucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMTAlIC0yMCUsIC0xMCUgMTAwJTtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIH1cclxuICAgIC5zdWJoZWFkaW5nIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xyXG4gICAgICBmb250LXNpemU6IDM1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19vcmRlci1oZWFkaW5nIHtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faGVhZGluZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9ibHVlLXBhdHRlcm4uanBnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA1MDBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDgwJTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuc3ViaGVhZGluZ19fc2Vjb25kYXJ5LS13aGl0ZSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faGVhZGluZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAuc2xpZGVyX19kb3RzLS1icm93biAuc2xpY2stZG90cyBsaTpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3JvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gICAgbWFyZ2luOiAzMHB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXBsYWNlcyB7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgIG1hcmdpbjogMCAtNDBweDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAuYm94e1xyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDE1cHggYXV0bztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbHVtbiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgcGFkZGluZzogMCAyMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLS1mb3JtIHtcclxuICAgICAgcGFkZGluZzogMHB4IDUwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tY2VudGVyZWQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgJi1jZW50ZXJ7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgcHtcclxuICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxufVxyXG4iLCIudGFibGUge1xyXG4gIG1hcmdpbjogODBweCAwO1xyXG5cclxuICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgIG1hcmdpbjogNDBweCAwO1xyXG4gIH1cclxuXHJcbiAgdGhlYWQge1xyXG4gICAgdGgge1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICB0Ym9keSB7XHJcbiAgICB0ciB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTllOWU5O1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4ge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICBmb250LXNpemU6IDZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRkIHtcclxuICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmhvbWUge1xyXG4gICZfX2hlYWRpbmcge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiA0cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdkZXNrdG9wJykge1xyXG4gICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG4gICAgICBmb250LXNpemU6IDkwcHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ2Rlc2t0b3AnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19tYWluLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgJi1yb3cge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWltYWdlIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBsZWZ0OiAtODBweDtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbWFpbi1iYWRnZXMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3NsaWRlci1kb3RzIHtcclxuICAgIC5zbGljay1kb3RzIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zbGlkZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICBwOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcbi5jYWtlLW1vYmlsZXtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMjc5cHgpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zbGlkZXJfX2NvbnRhaW5lcntcclxuICAuc2xpZGVyX19hcnJvd3N7XHJcbiAgICB6LWluZGV4OiAxIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLnNsaWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDI7XHJcblxyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICAmX19saW5rIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYnJvd247XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICZfX2ltYWdlIHtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICZfX3NsaWRlIHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAmX19kb3RzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuc2xpY2stYWN0aXZlIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tYnJvd24ge1xyXG4gICAgICAuc2xpY2stZG90cyB7XHJcbiAgICAgICAgbGk6OmJlZm9yZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmI5ZjdhO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2lkdGg6IDA7XHJcbiAgICAgIGhlaWdodDogMDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2Fycm93cyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTA4JTtcclxuICAgIGxlZnQ6IC00JTtcclxuICAgIGhlaWdodDogNzJweDtcclxuICAgIHRvcDogY2FsYyg1MCUgLSAzNnB4KTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG4gICAgfVxyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgd2lkdGg6IDM4cHg7XHJcbiAgICAgIGhlaWdodDogNzJweDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvYXJyb3ctbGVmdC1ibHVlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAmLnNsaWNrLW5leHQge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1icm93biB7XHJcbiAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYXJyb3ctbGVmdC1icm93bi5wbmcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIucHJvZHVjdHMge1xyXG4gIC5zdWJoZWFkaW5nLnRleHQtLWNlbnRlcmVkOmFmdGVyIHtcclxuXHJcbiAgfVxyXG5cclxuICAmX19ib3hlcyB7XHJcbiAgICBtYXJnaW46IDQwcHggLTJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fZmluZC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogNjBweCAwIDEwMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDAgMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbGlnaHQ7XHJcbiAgICAgIHdpZHRoOiA4MyU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcmlnaHQ6IC0xMDVweDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbHVtbiB7XHJcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xyXG4gICAgbWFyZ2luOiAwIDJweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RvcC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcbiIsIi5ib3gge1xyXG4gICR0aGlzOiAmO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgcGFkZGluZzogMzBweDtcclxuICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIC4xKTtcclxuICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcclxuICBtYXJnaW46IDIwcHg7XHJcblxyXG4gIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAmLS1tb2RhbCB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgJi0tZnVsbCB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAmX19oZWFkaW5nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmX19zdWJoZWFkaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2RldGFpbC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICB9XHJcblxyXG4gICZfX2RldGFpbC1maWd1cmUge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMzBweDtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDE1cHgpO1xyXG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0NXB4IDM1cHggIzQxMzAyNTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19kZXRhaWwtaW1hZ2Uge1xyXG4gICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUsXHJcbiAgJl9fYWRkcmVzcyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2FkZHJlc3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcblxyXG4gICZfX3N1YnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgYmFja2dyb3VuZDogI2RmZDJjMTtcclxuICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tc2Vjb25kYXJ5IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19yb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZ3JvdzogMDtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jb2x1bW4ge1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICBmbGV4LWdyb3c6IDA7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICB3aWR0aDogNTUlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgd2lkdGg6IDQ1JTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tYm90dG9tIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ljb24ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXRlbCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY28tdGVsLnBuZycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1lbWFpbCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY28tZW1haWwucG5nJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtLW1hcCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY28tcGluLnBuZycpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogdXJsKCcuLi9pbWFnZXMvYXJyb3ctcmlnaHQtc21hbGwucG5nJyk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1kYXRlIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljby10aW1lLnBuZycpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogdXJsKCcuLi9pbWFnZXMvYXJyb3ctcmlnaHQtc21hbGwucG5nJyk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IC0xNXB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi1ub3JtYWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2RhdGUtdGV4dCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICZfX2RhdGUtdGV4dC0tdG90YWwge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYnJvd247XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi5pbmZvLWJveCB7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBsaW5lLWhlaWdodDogMjhweDtcclxuICBwYWRkaW5nOiA4cHggMTBweCA4cHggNTBweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmIHVybCgnLi4vaW1hZ2VzL2ljby1pbmZvLnBuZycpIG5vLXJlcGVhdCBsZWZ0IDE1cHggdG9wIDE1cHg7XHJcbiAgY29sb3I6ICM0MTMwMjU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICBtYXJnaW46IDM1cHggMDtcclxuICBib3gtc2hhZG93OiAwIDAgMjBweCAwcHggcmdiYSgwLCAwLCAwLCAuMSk7XHJcblxyXG4gICYtLWZvbnQtYmlne1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJi0tbm8tbWFyZ2luIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgJi0tc2l6ZS0xNSB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICB9XHJcbiAgJi0tY2VudGVyIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiA4MzBweDtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogIzQxMzAyNTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmFydGljbGVzIHtcclxuICAmX19ib3hlcy1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbjogMCAtMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5hcnRpY2xlIHtcclxuICAmX19oZWFkaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDgwcHggOTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgYXNpZGUge1xyXG4gICAgICBAaW5jbHVkZSBncmlkbGUoNCk7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkbGUoMTIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aW1lIHtcclxuICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaHIge1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcclxuICAgICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGFydGljbGUge1xyXG4gICAgICBAaW5jbHVkZSBncmlkbGUoNyBwdXNoIDEpO1xyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICBAaW5jbHVkZSBncmlkbGUoMTIgcHVzaCAwKTtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcbiAgJl9fdGh1bWJuYWlsIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IHVybCgnLi4vaW1hZ2VzL2ljby1nbGFzcy5wbmcnKTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMTBweDtcclxuICAgICAgei1pbmRleDogMztcclxuICAgICAgYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgaGVpZ2h0OiAxNzBweDtcclxuICAgICAgd2lkdGg6IDE3MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgIHJpZ2h0OiAtMTAwcHg7XHJcbiAgICAgIGJvdHRvbTogLTEwMHB4O1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgcmlnaHQ6IC05MHB4O1xyXG4gICAgICBib3R0b206IC05MHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYXJ0aWNsZSB7XHJcbiAgaDIge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBmb250LXNpemU6IDIycHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICBsaSxcclxuICBibG9ja3F1b3RlLFxyXG4gIHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsIGxpOmJlZm9yZSB7XHJcbiAgICB0b3A6IDEycHggIWltcG9ydGFudDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB0b3A6IDZweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbCwgdWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIGJsb2NrcXVvdGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMTVweCAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJi5hcnRpY2xlLS1zZWNvbmRhcnkge1xyXG4gICAgbWF4LXdpZHRoOiA5NTBweDtcclxuICAgIG1hcmdpbjogNTBweCBhdXRvO1xyXG5cclxuICAgICYgPiBvbCB7XHJcbiAgICAgIGNvdW50ZXItcmVzZXQ6IG1haW47XHJcblxyXG4gICAgICAmID4gbGkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbWFpbjtcclxuICAgICAgICAgIGNvbnRlbnQ6ICfCpycgY291bnRlcihtYWluKTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XHJcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiBvbCB7XHJcblxyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiA+IHVsLFxyXG4gICAgICAgICAgICAmID4gb2wge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiA+IHVsIHtcclxuICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmID4gb2wge1xyXG4gICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGxvd2VyLWFscGhhO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiA+IHVsIHtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiA+IHVsLFxyXG4gICAgICAgICAgICAmID4gb2wge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuYmFkZ2Uge1xyXG4gICR0aGlzOiAmO1xyXG5cclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDM7XHJcbiAgd2lkdGg6IDIyMHB4O1xyXG4gIGhlaWdodDogMjIwcHg7XHJcblxyXG4gIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgaGVpZ2h0OiAxODBweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvYmFkZ2UucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgei1pbmRleDogMjtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGhlaWdodDogNTAlO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDQ1cHggMzVweCAjNDEzMDI1O1xyXG4gICAgb3BhY2l0eTogMC4zO1xyXG4gIH1cclxuXHJcbiAgJi0tc21hbGwge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIC5iYWRnZV9faW1hZ2Uge1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190ZXh0IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAkY29sb3ItYnJvd247XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtLXNlY29uZGFyeSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLWNvbnRlbnQge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiAtMjZweDtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXNlY29uZGFyeTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgZmxleC1ncm93OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJi0tc2Vjb25kYXJ5IHtcclxuICAgICAgd2lkdGg6IDI1JTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICY6Zm9jdXMtdmlzaWJsZSxcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgI3skdGhpc31fX2JhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICN7JHRoaXN9IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYmFkZ2UtaG92ZXIucG5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAjeyR0aGlzfV9fY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbGluayB7XHJcbiAgICAgICN7JHRoaXN9IHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICAjeyR0aGlzfSB7XHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9iYWRnZS1ob3Zlci1zZWNvbmRhcnkucG5nJyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ltYWdlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICZfX2JhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA2MCUgNjAlO1xyXG4gIH1cclxuXHJcbiAgJl9fY29udGFpbmVyLXRleHQge1xyXG4gICAgZm9udC1zaXplOiA3MHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGlzdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZ3JvdzogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbnRlbnQge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgfVxyXG59XHJcbiIsIi50YWJzIHtcclxuICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgbWFyZ2luOiA2MHB4IGF1dG87XHJcblxyXG4gIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgfVxyXG5cclxuICAmX19uYXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAxNTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgcGFkZGluZzogMCA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUsXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjYmU5MzVlO1xyXG4gICAgICBib3R0b206IDA7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgbGVmdDogMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI2JlOTM1ZSwgdHJhbnNwYXJlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYmU5MzVlLCB0cmFuc3BhcmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgJi1pdGVtIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgcGFkZGluZzogMjBweCAzMHB4O1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYmU5MzVlO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjYmU5MzVlO1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fc2luZ2xlLXRhYiB7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNob2NvbGF0ZS1tYXAge1xyXG4gICR0aGlzOiAmICFkZWZhdWx0O1xyXG5cclxuICAmX19jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbWFwIHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9tYXAucG5nJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0LWxhcmdlJykge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX21vZGFsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgdG9wOiA1MHB4O1xyXG4gICAgbGVmdDogNTBweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vZGFsX19jbG9zZSB7XHJcbiAgICAgIHRvcDogMzJweDtcclxuICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICAgIHRvcDogMjBweDtcclxuICAgICAgICByaWdodDogMjBweDtcclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAmX19jaXR5IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiB1cmwoJy4uL2ltYWdlcy9pY28tcGluLnBuZycpO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IC0yMHB4O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saXN0IHtcclxuICAgIG1heC1oZWlnaHQ6IDI2NXB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBsaSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGZkMmMxO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgcDpub3QoLmNob2NvbGF0ZS1tYXBfX25hbWUpIHtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ21vYmlsZScpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcGluLWNvdW50ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDZweDtcclxuICAgIHRvcDogNnB4O1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICAmX19udW1iZXIge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gIH1cclxuXHJcbiAgJl9fcG9pbnQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcblxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICB6LWluZGV4OiA0O1xyXG5cclxuICAgICAgI3skdGhpc31fX21vZGFsIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgICAgI3skdGhpc31fX3BpbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGluLWJsdWUucG5nJyksIHVybCgnLi4vaW1hZ2VzL3Bpbi1iZy5wbmcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcGluIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvcGluLWJsYWNrLnBuZycpLCB1cmwoJy4uL2ltYWdlcy9waW4tYmcucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3Bpbi1ibHVlLnBuZycpLCB1cmwoJy4uL2ltYWdlcy9waW4tYmcucG5nJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib3gtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib3gge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJyb3duO1xyXG4gICAgcGFkZGluZzogNDBweCAyMHB4IDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlX3N0YXRlKCd0YWJsZXQtbGFyZ2UnKSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICYtY291bnRlciB7XHJcbiAgICAgIG1hcmdpbjogLTcwcHggYXV0byAwO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBmb250LXNpemU6IDEyMHB4O1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xyXG5cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWltYWdlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB6LWluZGV4OiAgMjtcclxuICAgICAgcmlnaHQ6IC0zODBweDtcclxuICAgICAgdG9wOiAtMTAwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19idG4ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xyXG4gICAgbWF4LXdpZHRoOiA4MCU7XHJcbiAgfVxyXG5cclxuICAmX190aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDM2cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICB9XHJcblxyXG4gICZfX3NlY3Rpb24taW1hZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLm1hcCB7XHJcbiAgaGVpZ2h0OiA2MDBweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgJi0tc21hbGwge1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuICB9XHJcblxyXG4gICZfX3BvcHVwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC0xMDAlKTtcclxuICAgIHBhZGRpbmc6IDIwcHggMzVweCAyMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggMTBweCAxcHggcmdiYSgwLDAsMCwwLjIpO1xyXG4gICAgbWluLXdpZHRoOiAxNTBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbnRlbnQtdGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4gICAgJi0tc21hbGwge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZV9zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYnV0dG9uLWNsb3NlIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1hZ2VzL2ljby1jcm9zcy5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6ICAxMHB4O1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fY29udGVudC1hZGRyZXNzIHtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICYtLXNtYWxsIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGVfc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMThweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIubW9kYWwge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcblxyXG4gICZfX2hlYWRpbmcge1xyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA3MDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICYtLWRpc2FibGVkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1pbmxpbmUge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvaWNvLWNyb3NzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICByaWdodDogMjBweDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcblxyXG4gICZfX292ZXJsYXkge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjIpO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJl9fY29udGVudCB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmLS1wYWRkaW5nIHtcclxuICAgICAgcGFkZGluZzogNTBweDtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RvcCB7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fbWFwIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgfVxyXG59XHJcbiIsIi50b29sdGlwIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZTtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB6LWluZGV4OiAyO1xyXG4gIGxlZnQ6IDBweDtcclxuICB0b3A6IDBweDtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICBwIHtcclxuICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2NvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIC50b29sdGlwIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuYmFza2V0IHtcclxuICAmX19pdGVtLWNvbnRhaW5lciB7XHJcbiAgICAkY29udGFpbmVyOiAmO1xyXG5cclxuICAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCA0MHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBtYXJnaW46IDUwcHggMCAzMHB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICAmLS1zbWFsbCB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbiAgICAmLS1kaXNhYmxlZCB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9faXRlbS10b3Age1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG5cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcclxuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMTVweCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDQ1cHggMzVweCAjNDEzMDI1O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXRfX2ltYWdlIHtcclxuICAgICAgd2lkdGg6IDEzMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYgPiAqIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGV4dC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAmLS1zbWFsbCB7XHJcbiAgICAgIHdpZHRoOiA2MCU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1icm93bjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9pY28taW5mby5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRvcDogNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fcXVhbnRpdHkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDQwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmLS1zbWFsbCB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2Vycm9yIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgfVxyXG5cclxuICAmX19xdWFudGl0eS1jb250YWluZXIsXHJcbiAgJl9fcHJpY2UtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2VtcHR5LW1lc3NhZ2Uge1xyXG4gICAgbWFyZ2luOiAxMDBweCAwO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGNvbG9yOiAjNjY2O1xyXG4gIH1cclxuXHJcbiAgJl9fbnVtYmVyIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdXJsKCcuLi9pbWFnZXMvaWNvLW51bWJlci5wbmcnKSBjZW50ZXIgY2VudGVyO1xyXG4gICAgd2lkdGg6IDQycHg7XHJcbiAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgJi1idXR0b24ge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3JlbW92ZS1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9pY28tYmluLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgJl9fcHJpY2Uge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuXHJcbiAgICAmLS1zbWFsbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuXHJcbiAgICAmLWNvbnRhaW5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1MCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdG9wOiAyNSU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2RmZDJjMTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX25hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG4gICAgJi0tc21hbGwge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2l0ZW0tYm90dG9tIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fbGluayB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJyb3duO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIG1hcmdpbjogNXB4IDE1cHggNXB4IDVweDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldC1sYXJnZScpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tY3JlYXRlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvLXBsdXMucG5nJyk7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY28tcGx1cy1ibHVlLnBuZycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICYtLXNhdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY28tZG93bmxvYWQucG5nJyk7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY28tZG93bmxvYWQtYmx1ZS5wbmcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi0tdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgY29sb3I6ICRjb2xvci1icm93bjtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIC50aXRsZSxcclxuICAgIC5zdW0sXHJcbiAgICAudmFsdWUsXHJcbiAgICAuY29kZSxcclxuICAgIC5kZWxpdmVyeSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50aXRsZSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZkMmMxO1xyXG4gICAgfVxyXG4gICAgLnN1bSB7XHJcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGZkMmMxO1xyXG4gICAgfVxyXG4gICAgLnZhbHVlLFxyXG4gICAgLmNvZGUge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvZGUge1xyXG4gICAgICBjb2xvcjogIzMxZTM1ZjtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC50aXRsZSxcclxuICAgIC5zdW0sXHJcbiAgICAudmFsdWUsXHJcbiAgICAuY29kZSxcclxuICAgIC5kZWxpdmVyeSB7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlbGl2ZXJ5IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMHB4O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTs7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBzbWFsbCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDc1JTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMTJweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi1zbWFsbCB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgLnZhbHVlLFxyXG4gICAgICAuY29kZSxcclxuICAgICAgLnN1bSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnZhbHVlIHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RmZDJjMTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgfVxyXG4gICAgICAuc3VtIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRpdGxlLWJveHtcclxuICAgICAgbWFyZ2luOiAxMHB4IDAgNXB4IDAgO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB9XHJcbiAgICAuZGVzYy1zbWFsbHtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBmb250LXdlaWdodDogMjAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLS1mb3JtLWNvZGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IHdyYXA7XHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYnRuIHtcclxuICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuY29kZS1lcnJvciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmRpc2FibGVkLWJveHtcclxuICBvcGFjaXR5OiAwLjM7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbiIsIi5jb25maWd1cmF0b3Ige1xyXG4gICZfX25hdiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgbWFyZ2luOiA1MHB4IDAgMDtcclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcclxuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDI1cHg7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcclxuICAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1cHggY2VudGVyO1xyXG5cclxuICAgICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCdtb2JpbGUnKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDlweDtcclxuICAgICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvLXNpemUucG5nJyk7XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljby1ib3JkZXIucG5nJyk7XHJcbiAgICAgIH1cclxuICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljby1wcm9qZWN0LnBuZycpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgLjEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX190YWJzIHtcclxuICAgIHBhZGRpbmc6IDIwcHggNjBweDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwcHggcmdiYSgwLCAwLCAwLCAuMSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgZ3JpZGxlLXN0YXRlKCd0YWJsZXQnKSB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19oZWFkaW5nIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xyXG4gICAgbWFyZ2luOiAwIDAgMzBweDtcclxuICAgIGZvbnQtc2l6ZTogMjZweDtcclxuXHJcbiAgICBAaW5jbHVkZSBncmlkbGUtc3RhdGUoJ3RhYmxldCcpIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMTAwcHg7XHJcbiAgfVxyXG5cclxuICAmX19yYWRpby1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgnbW9iaWxlJykge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgaW5wdXQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICYgKyBsYWJlbCB7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGdyaWRsZS1zdGF0ZSgndGFibGV0Jykge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMjBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAyNXB4KTtcclxuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAyNXB4KTtcclxuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMTUwcHggMCByZ2JhKDAsIDAsIDAsIDEpO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1zaXplLXMucG5nJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1zaXplLXMucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctc2l6ZS1tLnBuZycpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctc2l6ZS1tLnBuZycpLCAgdXJsKCcuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmcnKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgOTMlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgaW5wdXQgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29uZmlnLXNpemUtbC5wbmcnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0OmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29uZmlnLXNpemUtbC5wbmcnKSwgIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8sIDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1zaXplLXMucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY29uZmlnLXNpemUtbS5wbmcnKSwgIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bywgOTMlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1zaXplLWwucG5nJyksICB1cmwoJy4uL2ltYWdlcy9jb25maWctYm9yZGVyLnBuZycpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8sIDEwMCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tYm9yZGVyIHtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAuZm9ybS1ncm91cCB7XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgICAmICsgbGFiZWwge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweDtcclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMS5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMS5wbmcnKSwgdXJsKCcuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMi5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMi5wbmcnKSwgdXJsKCcuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMy5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItMy5wbmcnKSwgdXJsKCcuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNC5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNC5wbmcnKSwgdXJsKCcuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICBpbnB1dCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNS5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXItNS5wbmcnKSwgdXJsKCcuLi9pbWFnZXMvY29uZmlnLWJvcmRlci5wbmcnKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctYm9yZGVyLTEucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctYm9yZGVyLTIucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctYm9yZGVyLTMucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctYm9yZGVyLTQucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOm50aC1jaGlsZCg1KSB7XHJcbiAgICAgICAgICAgIGlucHV0ICsgbGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb25maWctYm9yZGVyLTUucG5nJyksIHVybCgnLi4vaW1hZ2VzL2NvbmZpZy1ib3JkZXIucG5nJyk7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlLCAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udGFicyB7XHJcbiAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gIC50YWIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAuZm9ybS1ncm91cC0tZmlsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG5cclxuICAgICAgJiArIGxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogdXJsKCcuLi9pbWFnZXMvaWNvLXBsdXMtYmx1ZS5wbmcnKTtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIFxyXG4gICAgICAmOmZvY3VzLFxyXG4gICAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgICYgfiAuYy1idG4tLWZpbGUge1xyXG4gICAgICAgICAgb3V0bGluZTogM3B4IHNvbGlkICRjb2xvci1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5zaXRlbWFwIHsgXHJcbiAgJl9fbGlzdCB7IFxyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gIH1cclxuXHJcbiAgJl9faXRlbSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiAjMTUxNDFBO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfSBcclxuXHJcbn0iXX0= */
