*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  -webkit-touch-callout: none;
  -ms-touch-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  height: 100%;
}

body {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.darkroom:after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #555;
  background-color: rgba(0, 0, 0, 0.7);
}

body .darkroom-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: transparent;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}

body .darkroom-banner > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  background-color: #fefefe;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
  font-size: 20px;
}

button,
input,
select,
textarea {
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 13px;
}

input {
  line-height: normal;
}

input[type='text'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input[type='password'] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  border: 1px solid #808080;
  outline: 0;
  padding: 3px;
}

input.required {
  color: #ff0000;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  background-color: #ffffff;
  border: 2px solid #9768EB;
  color: #9768EB;
  font-weight: 500;
  letter-spacing: 1px;
  min-width: 110px;
  outline: 0;
  padding: 0 10px;
  text-transform: uppercase;
}

button.short {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

button.small {
  min-width: 80px;
}

button.medium {
  max-width: 150px;
  min-width: 150px;
  width: 150px;
}

button.primary,
button.blue {
  background-color: #9768EB;
  color: #ffffff;
}

button.disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button:disabled {
  color: #cdcdcd;
  border-color: #cdcdcd;
  cursor: default;
}

button.resume {
  background-color: #D1404B;
  color: #ffffff;
  font-weight: bold;
}

button:focus {
  outline: 0;
}

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

button + button {
  margin-left: 8px;
}

.input-checkbox {
  color: #9768EB;
  font-size: 20px;
}

.input-checkbox.disabled {
  color: #cdcdcd;
}

.footer-content {
  /*
  @include flex(1 0 auto);
  @include flex-row-center();
  @include flex-justify-content(center);
  */
  padding: 10px 0;
  background-color: #E1E1E6;
  border-top: none;
  color: #32254F;
}

.footer-content a {
  text-decoration: none;
  color: #9768EB;
}

[ng\:cloak],
[ng-cloak],
.ng-cloak {
  display: none !important;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 90px;
  min-height: 90px;
  height: 90px;
}

.header-content .logo {
  max-height: 90px;
  min-height: 90px;
  height: 90px;
  max-width: 140px;
  min-width: 140px;
  width: 140px;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: -5px;
  margin-left: 5px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px 30px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 16px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 28px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 15px;
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 25px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

.menu-content {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

@media (max-width: 768px) {
  .menu-content.resp-menu {
    background: none;
    position: absolute;
    pointer-events: none;
  }
}

.body-content {
  margin: 0;
  padding: 0;
}

.red-background {
  background-color: #c42a3b;
}

.yellow-background {
  background-color: #dfc03f;
}

.green-background {
  background-color: #20b769;
}

.blue-text {
  color: #9768EB;
}

.red-text {
  color: #c42a3b;
}

.grey-text {
  color: #808080;
}

.light-grey-text {
  color: #a7a7a7;
}

.yellow-text {
  color: #dfc03f;
}

.green-text {
  color: #20b769;
}

.whitebg {
  background-color: #ffffff;
}

.greybg {
  background-color: #efefef;
}

.drkgreybg {
  background-color: #2e2e2e;
}

.bluebg {
  background-color: #9768EB;
}

.main-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
}

.view-flex {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-static {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.view-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-stack {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.view-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
}

.view-container.centered {
  -webkit-align-items: center;
  align-items: center;
}

.view-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.view-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.view-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.view-container.middle {
  -webkit-align-self: center;
  align-self: center;
}

.view-container.column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.view-container.column.center {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.column-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.column-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.column-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.column-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.column-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.column-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.column-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.column-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.column-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.column-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.row-container.full {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.row-container.top {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.row-container.bottom {
  -webkit-align-items: flex-end;
  align-items: flex-end;
}

.row-container.center {
  -webkit-align-items: center;
  align-items: center;
}

.row-container.middle {
  -webkit-justify-content: center;
  justify-content: center;
}

.row-container.divided {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.row-container.spaced {
  -webkit-justify-content: space-around;
  justify-content: space-around;
}

.row-container.start {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.row-container.end {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.row-container.wrap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.hidden {
  display: none;
}

input[type=range] {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
  -moz-appearance: none;
  margin: 0;
  width: 100%;
  padding: 0;
  border-radius: 8px;
  background: transparent;
  background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #9768EB), color-stop(0, #e8e8e8));
  cursor: pointer;
}

input[type=range]:focus {
  outline: none;
}

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
  margin-top: -15px;
}

input[type=range]::-webkit-slider-runnable-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-range-thumb {
  -moz-appearance: none;
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-moz-range-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  border-radius: 8px;
  background: transparent;
}

input[type=range]::-moz-focus-outer {
  border: 0;
  outline: 0;
}

input[type=range]::-ms-track {
  width: 100%;
  height: 10px;
  cursor: pointer;
  background: transparent;
  border-color: transparent;
  border-width: 16px 0;
  color: transparent;
}

input[type=range]::-ms-thumb {
  border: 1px solid #b4b4b4;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  background: #e8e8e8;
  cursor: pointer;
}

input[type=range]::-ms-tooltip {
  display: none;
}

input[type=range]::-ms-fill-lower {
  background: #9768EB;
  border: 0.2px solid #9768EB;
  border-radius: 8px;
}

input[type=range]::-ms-fill-upper {
  background: #e8e8e8;
  border: 0.2px solid #e8e8e8;
  border-radius: 8px;
}

input[type=range]:focus::-ms-fill-lower {
  background: #9768EB;
}

input[type=range]:focus::-ms-fill-upper {
  background: #e8e8e8;
}

.program-exercise.daily-exercise {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  padding: 20px;
  gap: 10px;
}

.program-exercise.daily-exercise .daily-exercise-actions {
  min-width: 54px !important;
  max-width: 54px !important;
  width: 54px !important;
}

.program-exercise.daily-exercise .info .attributes {
  gap: 10px;
}

.program-exercise.daily-exercise .info .attributes > div {
  margin: 0 !important;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1000;
  overflow: hidden;
  background-color: #c4c4c4;
  background-color: rgba(196, 196, 196, 0.7);
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave {
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-overlay.ng-enter,
.modal-overlay.ng-leave.ng-leave-active {
  opacity: 0;
}

.modal-overlay.ng-enter.ng-enter-active,
.modal-overlay.ng-leave {
  opacity: 1;
}

.modal-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  overflow: hidden;
  pointer-events: none;
}

.modal-view .modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 100px;
  min-width: 200px;
  pointer-events: auto;
  -webkit-transition: .2s linear all;
  -moz-transition: .2s linear all;
  -o-transition: .2s linear all;
  transition: .2s linear all;
}

.modal-view .modal.ng-leave {
  transform: translateY(0%);
}

.modal-view .modal.ng-leave.ng-leave-active {
  transform: translateY(-200%);
}

.modal-view.ng-enter .modal {
  transform: translateY(-200%);
}

.modal-view.ng-enter.ng-enter-active .modal {
  transform: translateY(0);
}

.modal-animate-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 770px;
  min-width: 770px;
  width: 770px;
  overflow: hidden;
}

.modal-animate-container > .modal-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-transition: .125s linear all;
  -moz-transition: .125s linear all;
  -o-transition: .125s linear all;
  transition: .125s linear all;
}

.modal-animate-container > .modal-container.ng-leave.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.slide-right {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-left,
.modal-animate-container > .modal-container.ng-hide-add.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-leave.ng-leave-active.slide-right,
.modal-animate-container > .modal-container.ng-hide-add.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-left,
.modal-animate-container > .modal-container.ng-hide-remove.slide-left {
  transform: translateX(-100%);
}

.modal-animate-container > .modal-container.ng-enter.slide-right,
.modal-animate-container > .modal-container.ng-hide-remove.slide-right {
  transform: translateX(100%);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-left {
  transform: translateX(0px);
}

.modal-animate-container > .modal-container.ng-enter.ng-enter-active.slide-right {
  transform: translateX(0px);
}

.modal-container {
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 8px 8px 20px 0px #4a4a4a;
}

.modal-container.large {
  width: 970px;
}

.modal-container header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  border-top-left-radius: 8px;
  border-top-right-radius: 6px;
}

.modal-container header button.link {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  min-height: 30px;
  line-height: 20px;
  font-size: 12px;
}

.modal-container header button.link i.left {
  margin-right: 5px;
}

.modal-container header.alert {
  background-color: #c42a3b;
  color: #ffffff;
}

.modal-container header.confirm {
  background-color: #9768EB;
  color: #ffffff;
}

.modal-container header label {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
  margin-left: 10px;
  text-align: center;
}

.modal-container header label i.fa {
  margin: 0 4px;
}

.modal-container header label span {
  font-weight: 500;
}

.modal-container header .close {
  background-color: transparent;
  border: none;
  color: #000;
  font-size: 16px;
  font-weight: 700;
  margin: 0 8px;
  min-width: 0;
  opacity: .2;
  text-shadow: 0 1px 0 #ccc;
  text-transform: none;
}

.modal-container header .close:hover {
  cursor: pointer;
  opacity: 1;
}

.modal-container section {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 10px;
  min-height: 80px;
  min-width: 300px;
}

.modal-container footer {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.modal-container footer button:last-of-type {
  margin-right: 8px;
}

.loading-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f9f9f9;
  background-color: rgba(125, 125, 125, 0.5);
}

.loading-view .loading-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 200px;
  min-width: 200px;
}

.loading-view .loading-container .fa-spinner {
  color: #fff;
  font-size: 60px;
}

.athlete-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  background-color: #efefef;
}

.athlete-selection > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ccc;
  color: #cbcbcb;
  cursor: default;
  font-size: 14px;
  min-width: 200px;
  padding: 0 10px;
}

.athlete-selection > div.active {
  background-color: #dbdbdb;
  color: #75787b;
}

.athlete-selection > div.active .status {
  color: #9768EB;
}

.athlete-selection > div.active .close {
  cursor: pointer;
}

.athlete-selection > div:not(.active):hover {
  background-color: #dbdbdb;
  color: #75787b;
  cursor: pointer;
}

.athlete-selection > div .status {
  font-size: 8px;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div .name {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-selection > div .close {
  font-size: 18px;
  font-weight: 400;
  min-width: 25px;
  max-width: 25px;
  text-align: center;
}

.athlete-selection > div.team-nav {
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 20px;
  font-weight: 200;
  line-height: 30px;
  min-width: 65px;
  padding: 0;
  border: 0;
}

.athlete-selection > div.team-nav:hover {
  cursor: pointer;
  color: #ffffff;
  background-color: #9768EB;
}

.athlete-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-bottom: 35px;
}

.athlete-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
  border-top: 1px solid #ccc;
  font-size: 13px;
  width: 100%;
}

.athlete-menu .athlete-search {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  border-right: 1px solid #cdcdcd;
  width: 140px;
}

.athlete-menu .athlete-search input[type='text'] {
  border: none;
  font-size: 20px;
  font-weight: 300;
  height: 50px;
  text-indent: 15px;
  width: 95%;
}

.athlete-menu .athlete-search ::-webkit-input-placeholder {
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-right: 1px solid #ccc;
  cursor: pointer;
  color: #6d6e72;
}

.athlete-menu .athlete-reset-view:hover {
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 100px;
  -ms-flex: 1 0 100px;
  flex: 1 0 100px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  font-size: 23px;
}

.athlete-menu .athlete-toggle-view > i {
  cursor: pointer;
  margin: 8px;
  color: #cdcdcd;
}

.athlete-menu .athlete-toggle-view > i:hover {
  color: #6d6e72;
}

.athlete-menu .athlete-toggle-view > i.active {
  color: #9768EB;
}

.athlete-menu .athlete-mobile-filters-btn {
  display: none;
}

.athlete-menu .athlete-filter-sort {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-width: 600px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #ccc;
  color: #6d6e72;
  cursor: pointer;
  min-width: 110px;
  position: relative;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 110px;
  width: 110px;
  padding: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
  position: absolute;
  top: 35%;
  right: 10px;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
  position: absolute;
  top: 52px;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item:hover {
  background-color: #dedfde;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .options-item-selected {
  font-weight: bold;
  padding-left: 3px;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .options .sort-item-selected {
  font-weight: bold;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle {
  margin-left: 7px;
  margin-right: 3px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-circle.not-active {
  color: transparent;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-asc {
  margin-left: 4px;
  margin-right: 3px;
  margin-top: 4px;
  text-align: center;
}

.athlete-menu .athlete-filter-sort > .athlete-sort-box .fa-sort-desc {
  margin-bottom: 4px;
  margin-left: 3px;
  margin-right: 4px;
  text-align: center;
}

@media (max-width: 768px) {
  body .athlete-menu {
    flex-wrap: wrap;
    height: auto;
    min-height: 0;
    max-height: none;
  }

  body .athlete-menu .athlete-mobile-filters-btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    order: 2;
    height: 48px;
    padding: 0 14px;
    gap: 7px;
    cursor: pointer;
    border-left: 1px solid #ccc;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #6d6e72;
  }

  body .athlete-menu .athlete-search {
    order: 1;
    height: 48px;
    min-width: 0;
  }

  body .athlete-menu .athlete-toggle-view {
    order: 3;
    min-width: unset;
    max-width: 70px;
    width: 70px;
    height: 48px;
  }

  body .athlete-menu .athlete-filter-sort {
    display: none !important;
    order: 4;
    width: 100%;
    min-width: unset;
    border-top: 1px solid #ccc;
  }

  body .athlete-menu .athlete-filter-sort.mobile-open {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
    flex-direction: column;
    background-color: #fff;
    overflow: visible;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    height: 50px;
    min-height: 50px;
    max-height: none;
    min-width: unset;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid #eee;
    overflow: visible;
    position: relative;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box:last-child {
    border-bottom: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box::after {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    font-family: FontAwesome;
    content: "\F0D7";
    color: #6d6e72;
    font-size: 13px;
    pointer-events: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box div.label {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    max-width: none;
    height: auto;
    min-height: 0;
    max-height: none;
    display: flex;
    align-items: center;
    overflow: visible;
    padding: 0 30px 0 20px;
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box div.label::after {
    content: none;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name] {
    font-size: 0;
    padding-right: 30px !important;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name]::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label-placeholder[data-field-name]::after {
    content: 'All';
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    position: static;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value] {
    font-size: 0;
    padding-right: 30px !important;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value]::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label[data-sort-value]::after {
    content: attr(data-sort-value);
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    font-family: inherit;
    position: static;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .options {
    top: 50px;
    left: 0;
    z-index: 100;
    min-width: 100%;
  }

  body .athlete-menu .athlete-reset-view {
    order: 5;
    display: none;
    width: 100%;
    min-width: unset;
    max-width: unset;
    min-height: 50px;
    max-height: 50px;
    height: 50px;
    border-left: none;
    border-right: none;
    border-top: 1px solid #ccc;
  }

  body .athlete-menu--filters-open .athlete-reset-view {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }

  body .label[data-field-name]:not(.label-placeholder):not([data-sort-value])::before {
    content: attr(data-field-name) ":";
    font-size: 13px;
    font-weight: 400;
    color: #6d6e72;
    flex-grow: 1;
    flex-shrink: 0;
  }
}

.athlete-list-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.athlete-list-view .athlete-list-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
}

.athlete-list-view .athlete-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 12px;
  background-color: #e1e1e1;
}

.athlete-list-view .athlete-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  background-color: #e1e1e1;
  color: #6d6e72;
  text-transform: uppercase;
  font-weight: 600;
}

.athlete-list-view .athlete-header .athlete-number {
  min-width: 70px;
}

.athlete-list-view .athlete-header .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 170px;
}

.athlete-list-view .athlete-header .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  min-width: 100px;
}

.athlete-list-view .athlete-header .athlete-programs {
  min-width: 140px;
}

.athlete-list-view .athlete-header .athlete-last-activity {
  min-width: 170px;
}

.athlete-list-view .athlete-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-align-content: center;
  align-content: center;
  font-size: 20px;
}

.athlete-list-view .athlete-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 53px;
  min-height: 53px;
  height: 53px;
}

.athlete-list-view .athlete-row .athlete-number {
  color: #939497;
  min-width: 70px;
  padding-left: 20px;
}

.athlete-list-view .athlete-row .athlete-name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  color: #f7f7f7;
  min-width: 170px;
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-stat {
  -webkit-flex: 0.5;
  -ms-flex: 0.5;
  flex: 0.5;
  -webkit-justify-content: center;
  justify-content: center;
  letter-spacing: 1.25px;
  min-width: 100px;
}

.athlete-list-view .athlete-row .athlete-programs {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 140px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row .athlete-programs > div {
  cursor: pointer;
}

.athlete-list-view .athlete-row .athlete-programs i {
  padding-right: 12px;
}

.athlete-list-view .athlete-row .athlete-last-activity {
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 13px;
  min-width: 170px;
  text-transform: uppercase;
}

.athlete-list-view .athlete-row:nth-child(even) > div {
  background-color: #fefefe;
}

.athlete-list-view .athlete-row:nth-child(even) .athlete-number,
.athlete-list-view .athlete-row:nth-child(even) .athlete-name {
  background-color: #2e2e2e;
}

.athlete-list-view .athlete-row:nth-child(odd) > div {
  background-color: #efefef;
}

.athlete-list-view .athlete-row:nth-child(odd) .athlete-number,
.athlete-list-view .athlete-row:nth-child(odd) .athlete-name {
  background-color: #242424;
}

.athlete-dashboard-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  background-color: #eef0ef;
}

.athlete-dashboard-layout .athlete-dashboard-layout-side {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.athlete-dashboard {
  font-size: 12px;
  margin-bottom: 20px;
  margin-top: 15px;
}

.athlete-dashboard .athlete-dashboard-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-height: 85px;
  padding-left: 10px;
  width: 990px;
}

.athlete-dashboard .athlete-dashboard-menu > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-right: 35px;
  text-transform: uppercase;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child {
  font-size: 18px;
  margin-right: 7px;
}

.athlete-dashboard .athlete-dashboard-menu > div > span:first-child > i:last-child {
  font-size: 13px;
}

.athlete-dashboard .athlete-dashboard-container {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 20px;
  width: 100%;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  height: auto;
  min-height: 0;
  max-height: none;
  min-width: 0;
  width: calc((100% - 40px) / 3);
  background-color: #ffffff;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-slot {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  flex: 1 0 100%;
  margin-top: 10px;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-slot button i {
  font-size: 18px;
  margin-right: 8px;
  vertical-align: middle;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.athlete-dashboard-actions {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 35px;
}

.athlete-dashboard-actions .action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  cursor: pointer;
  margin-bottom: 8px;
}

.athlete-dashboard-actions .action.disabled {
  cursor: default;
  color: #cdcdcd;
}

.athlete-dashboard-actions .action.disabled .action-icon,
.athlete-dashboard-actions .action.disabled .action-text {
  color: #cdcdcd;
}

.athlete-dashboard-actions .action .action-icon {
  font-size: 36px;
  margin-right: 5px;
}

.athlete-dashboard-actions .action .action-text {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-right: 20px;
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 0 40px;
  -ms-flex: 1 0 40px;
  flex: 1 0 40px;
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #9768EB;
  color: #ffffff;
  font-size: 18px;
  font-weight: 500;
  cursor: pointer;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-name {
  margin-left: 15px;
}

.athlete-info-box .bio-header .athlete-number + .athlete-name {
  margin-left: 10px;
}

.athlete-info-box .bio-header:hover {
  background-color: rgba(17, 38, 75, 0.85);
}

.athlete-info-box .bio-body {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  padding: 17px;
}

.athlete-info-box .bio-body > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-align-items: center;
  align-items: center;
  max-width: 120px;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic-thumb {
  position: relative;
  width: 100px;
  height: 100px;
  overflow: hidden;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  border: 1px solid #ccc;
  height: 130px;
  margin: 0 0 10px;
  width: 120px;
  cursor: pointer;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic img {
  position: absolute;
  left: 50%;
  top: 50%;
  height: 100%;
  width: auto;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.athlete-info-box .bio-body .athlete-profile .athlete-position {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
}

.athlete-info-box .bio-body .athlete-profile .athlete-weight {
  font-size: 12px;
  text-transform: uppercase;
}

.athlete-info-box .bio-body .athlete-stats {
  padding-left: 15px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 14px;
  line-height: 10px;
}

.athlete-info-box .bio-body .athlete-stats .athlete-score-tl-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 20px;
  line-height: 10px;
  padding-top: 10px;
}

.athlete-info-box .bio-body .athlete-stats .test-type {
  border-bottom: 1px solid #ccc;
  font-size: 22px;
  line-height: 22px;
  min-height: 30px;
}

.athlete-info-box .bio-body .athlete-stats .test-score {
  font-size: 40px;
  line-height: 40px;
  min-height: 50px;
  text-align: center;
}

.athlete-info-box .bio-footer {
  -webkit-flex: 1 0 50px;
  -ms-flex: 1 0 50px;
  flex: 1 0 50px;
  background-color: #f5f5f5;
  max-height: 50px;
}

.athlete-info-box .bio-footer > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  font-size: 12px;
  text-transform: uppercase;
  cursor: pointer;
  color: #6d6e72;
  letter-spacing: 0.6px;
}

.athlete-info-box .bio-footer > div i {
  font-size: 13px;
  margin-right: 8px;
}

.athlete-info-box .bio-footer > div i.icon-test {
  font-size: 18px;
}

.athlete-info-box .bio-footer > div:hover {
  background-color: #E8E8E8;
  color: #9768EB;
}

.athlete-info-box .bio-footer > div + div {
  border-left: 1px solid #E8E8E8;
}

.profile-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.menu-item + .menu-item {
  margin-left: 45px;
}

.menu-item {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.menu-item.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.menu-item:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.menu-item a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.menu-item span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.profile-detail {
  max-width: 210px;
  min-width: 210px;
  width: 210px;
}

@media (max-width: 768px) {
  .profile-detail.profile-detail {
    display: none;
  }
}

.profile-detail .data-emphasis {
  font-weight: 600;
}

.profile-detail .profile-pic {
  max-height: 175px;
  min-height: 175px;
  height: 175px;
  max-width: 200px;
  min-width: 200px;
  width: 200px;
  overflow: hidden;
}

.profile-detail .profile-pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-detail .profile-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #9768EB;
  color: #ffffff;
  height: 50px;
  width: 200px;
  cursor: pointer;
}

.profile-detail .profile-action i {
  font-size: 17px;
  margin-right: 5px;
}

.profile-detail .profile-action span {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.profile-detail .profile-action.invisible {
  visibility: hidden;
}

.profile-detail .profile-data-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-data-container .profile-data > span:first-child {
  margin-right: 5px;
}

.profile-detail .profile-group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 14px;
  margin-top: 15px;
}

.profile-detail .profile-group-container .group-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #D9DAD9;
  border: 0;
  border-radius: 6px;
  margin: 6px 0 0;
  height: 30px;
  width: 115px;
  position: relative;
}

.profile-detail .profile-group-container .group-container .group-icon {
  border: 1px solid #999;
  margin-right: 8px;
  height: 16px;
  width: 12px;
}

.profile-detail .profile-group-container .group-container .group-save {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  background-color: #9768EB;
  color: #fff;
}

.profile-detail .profile-group-container .group-container .group-close {
  position: absolute;
  right: 5px;
  cursor: pointer;
  font-size: 22px;
}

.profile-data-container.mobile-profile-data {
  display: none;
}

@media (max-width: 768px) {
  .profile-data-container.mobile-profile-data {
    display: block;
  }
}

.profile-group-container.mobile-profile-group {
  display: none;
}

@media (max-width: 768px) {
  .profile-group-container.mobile-profile-group {
    display: block;
  }
}

@media (max-width: 768px) {
  .resp-month-view {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .resp-score-today {
    flex-direction: column-reverse;
  }
}

@media only screen and (max-width: 600px) {
  body .profile-summary > .row-container.divided.resp-score-today > div + div {
    padding-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  body .profile-summary {
    padding-left: 0px !important;
  }
}

.profile-summary {
  max-width: 780px;
  min-width: 780px;
  width: 780px;
}

.profile-summary .mobile-pic {
  display: none;
}

@media (max-width: 768px) {
  .profile-summary .mobile-pic {
    display: block;
    flex-shrink: 0;
    align-self: flex-start;
    margin-right: 16px;
  }

  .profile-summary .mobile-pic img {
    display: block;
    width: 120px;
    height: auto;
    aspect-ratio: 200 / 175;
    object-fit: contain;
  }
}

.profile-summary .profile-name {
  margin-bottom: 5px;
}

.profile-summary .profile-name > div {
  font-size: 24px;
  margin-right: 6px;
}

.profile-summary .profile-activity {
  margin-bottom: 10px;
  color: #999;
  font-size: 13px;
}

@media (max-width: 768px) {
  .profile-summary .profile-activity {
    flex-direction: column;
  }
}

.profile-summary .profile-activity > div:nth-child(n+2):before {
  color: #ccc;
  content: '|';
  margin: 0 9px;
}

@media (max-width: 768px) {
  .profile-summary .profile-activity > div:nth-child(n+2):before {
    margin: 0;
    content: '';
  }
}

.profile-summary .profile-activity > div > span:first-child {
  margin-right: 6px;
}

.profile-summary .profile-activity .blue-text {
  cursor: pointer;
}

.profile-summary .score-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .score-container {
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  padding-top: 20px;
}

.profile-summary .score-container .profile-score {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 85px;
  min-height: 85px;
  height: 85px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score.label-only {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.profile-summary .score-container .profile-score .profile-score-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 15px;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-name {
  letter-spacing: .25px;
  font-size: 16px;
  color: #AEAEAE;
  font-weight: 500;
}

.profile-summary .score-container .profile-score .profile-score-info .profile-score-date {
  font-size: 14px;
  font-weight: 500;
  line-height: 25px;
  color: #AEAEAE;
}

.profile-summary .score-container .profile-score .profile-score-graph-canvas {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  max-width: 330px;
  min-width: 330px;
  width: 330px;
}

.profile-summary .score-container .profile-score .profile-score-label {
  color: #9768EB;
  font-size: 22px;
  font-weight: 400;
  margin-left: auto;
  text-align: right;
}

.profile-summary .score-container .profile-score .profile-score-label .profile-tl-change {
  color: #9768EB;
  font-size: 12px;
  margin-left: auto;
  text-align: right;
}

.profile-summary .today-label {
  font-size: 12px;
  font-weight: 600;
  margin: 20px 0 10px;
  min-height: 20px;
  text-transform: uppercase;
}

.profile-summary .today-program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 380px;
  min-width: 380px;
  width: 380px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
  cursor: pointer;
}

.profile-summary .today-program > div {
  margin-left: 10px;
}

.profile-summary .today-program > div:first-child {
  color: #ccc;
  font-size: 22px;
}

.profile-summary .today-program div.icon-checkbox-checked {
  color: #AFB0AE;
}

.profile-summary .today-program div.icon-checkbox-checked.blue-check {
  color: #9768EB;
}

.profile-summary .today-program .program {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  font-size: 16px;
  font-weight: 500;
}

.profile-summary .today-program .program .light-grey-text {
  color: #AFB1B3;
}

.profile-summary .today-notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  background-color: #ffffff;
  border: 1px solid #efefef;
  border-radius: 8px;
  margin-bottom: 7px;
  padding: 0 6px;
}

.profile-summary .today-notice > div {
  margin-left: 20px;
}

.profile-summary .today-notice .notice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding-bottom: 6px;
  font-size: 14px;
  font-weight: 500;
}

.profile-summary .today-notice .notice-button > button {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 12px;
  font-weight: 600;
}

.profile-summary .today-notice.yellow {
  background-color: #dfc03f;
}

.profile-summary .today-notice.yellow .notice {
  color: #fefefe;
}

.profile-summary .today-notice.yellow .notice-button > button {
  background-color: #ceb74e;
  border-color: transparent;
  color: #fefefe;
}

.spaced-top-large {
  margin-top: 45px;
}

.spaced-bottom-medium {
  margin-bottom: 35px;
}

.burger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  padding: 0;
  margin: 0;
  line-height: 1;
  padding-bottom: 7px;
  pointer-events: auto;
}

.menu-mobile {
  pointer-events: auto;
}

.menu-desktop {
  display: flex;
}

.menu-mobile {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background: #1c1c1c;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  z-index: 1000;
}

.menu-mobile .menu-item {
  padding: 15px 20px;
  border-bottom: 1px solid #333;
  margin-left: 0;
}

.menu-divider {
  height: 1px;
  background: #333;
  margin: 10px 0;
}

/* MOBILE BREAKPOINT */

@media (max-width: 768px) {
  .menu-desktop {
    display: none;
  }

  .burger {
    display: block;
  }

  .menu-mobile {
    display: flex;
    width: 100vw;
  }

  .profile-menu {
    width: unset !important;
    justify-content: center;
    align-items: center;
    max-height: 59px;
    height: 59px;
    min-height: 59px;
  }
}

.athlete-nav {
  display: none;
  position: relative;
}

@media (max-width: 768px) {
  .athlete-nav {
    display: block;
    padding: 8px 0 4px;
  }
}

.athlete-nav__burger {
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  line-height: 1;
  margin-left: 15px;
}

.athlete-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  background: #1c1c1c;
  z-index: 1000;
  min-width: 150px;
}

.athlete-nav__item {
  padding: 14px 20px;
  color: #a0a4a8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #333;
  white-space: nowrap;
}

.athlete-nav__item.active {
  color: #efefef;
}

.athlete-nav__item:hover {
  color: #efefef;
}

.catalog-feature {
  position: relative;
  background-color: #cfcfcf;
  height: 400px;
}

.catalog-feature .feature-container {
  background-size: cover;
  background-position-x: center;
  background-position-y: top;
  min-height: 400px;
  position: relative;
}

.catalog-feature .feature-container.running-man {
  background-image: url("/images/program_catalog_background.png");
}

.catalog-feature .feature-container.running-man .feature-content {
  line-height: 0.9;
  width: 400px;
}

.catalog-feature .feature-container.running-man .message-text {
  font-size: 24px;
  margin-top: 15px;
}

.catalog-feature .feature-container .feature-content {
  position: absolute;
  top: 40px;
  left: 80px;
  width: 400px;
  color: #efefef;
  font-weight: 300;
  line-height: 0.95;
}

.catalog-feature .feature-container .feature-content h2 {
  margin: 0;
  padding: 0;
  font-weight: 300;
}

.catalog-feature .feature-container .feature-content p {
  margin: 0;
  padding: 0;
}

.catalog-feature .feature-container .feature-content h2,
.catalog-feature .feature-container .feature-content .title-text {
  font-size: 55px;
  text-transform: uppercase;
}

.catalog-feature .feature-container .feature-content p,
.catalog-feature .feature-container .feature-content .message-text {
  margin-top: 2px;
  font-size: 18px;
  line-height: 1.3;
}

.catalog-feature .feature-container .feature-button {
  position: absolute;
  bottom: 35px;
  left: 80px;
  color: #efefef;
  font-weight: 300;
}

.catalog-feature .markers {
  position: absolute;
  bottom: 0;
  height: 40px;
  width: 100%;
}

.catalog-feature .markers .marker {
  background-color: #fff;
  border-radius: 50%;
  margin: 6px;
  height: 10px;
  width: 10px;
}

.catalog-feature .markers .marker.active {
  background-color: #41baed;
}

.catalog-selected {
  padding: 35px;
}

@media (max-width: 768px) {
  .catalog-selected {
    padding: 20px;
  }
}

.catalog-selected .title-container {
  height: 100px;
}

@media (max-width: 768px) {
  .catalog-selected .title-container {
    height: auto;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
}

.catalog-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.catalog-selected .title-container .name {
  font-size: 26px;
}

.catalog-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .catalog-selected .title-container .return-link {
    margin-top: 0px;
    margin-bottom: 0px;
  }
}

.catalog-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.catalog-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.catalog-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.catalog-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container {
    flex-direction: column;
  }
}

.catalog-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row-header > div {
  height: 20px;
  width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.catalog-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 260px;
}

.catalog-selected .detail-container .info-row > div {
  height: 90px;
  width: 130px;
}

.catalog-selected .detail-container .info-row > div > div {
  text-align: center;
}

.catalog-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.catalog-selected .detail-container .info-row .info {
  font-size: 26px;
}

.catalog-selected .detail-container .info-row .label {
  font-size: 16px;
}

.catalog-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .description-row {
    max-width: 100%;
    margin-bottom: 5px;
  }
}

.catalog-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.catalog-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .button-container {
    width: 100%;
  }
}

.catalog-selected .detail-container .button-container button {
  width: 100%;
}

.catalog-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.catalog-selected .detail-container .sample-container {
  margin-left: 10px;
}

@media (max-width: 768px) {
  .catalog-selected .detail-container .sample-container {
    margin-left: 0;
  }
}

.catalog-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.catalog-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.catalog-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.catalog-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.catalog-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected {
  padding: 35px;
}

.exercise-selected .title-container {
  height: 100px;
}

@media (max-width: 768px) {
  .exercise-selected .title-container {
    height: auto;
    margin-bottom: 10px;
    flex-direction: column-reverse;
  }
}

.exercise-selected .title-container .title {
  font-size: 26px;
  line-height: 26px;
}

.exercise-selected .title-container .name {
  font-size: 18px;
}

.exercise-selected .title-container .return-link {
  margin-top: 20px;
  width: 120px;
  cursor: pointer;
}

@media (max-width: 768px) {
  .exercise-selected .title-container .return-link {
    margin-top: 0px;
    margin-bottom: 10px;
  }
}

.exercise-selected .title-container .return-link > div {
  min-height: 30px;
  line-height: 20px;
}

.exercise-selected .title-container .return-link > div:hover {
  text-decoration: underline;
}

.exercise-selected .title-container .return-link > div > i {
  margin-left: 5px;
  line-height: 30px;
}

.exercise-selected .detail-container {
  margin-top: 20px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container {
    flex-direction: column;
  }
}

.exercise-selected .detail-container .info-row-header {
  font-size: 12px;
  font-weight: 600;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row-header > div {
  min-height: 20px;
  min-width: 130px;
  text-align: center;
  text-transform: uppercase;
}

.exercise-selected .detail-container .info-row {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  max-width: 400px;
}

.exercise-selected .detail-container .info-row > div {
  min-height: 90px;
  min-width: 130px;
}

.exercise-selected .detail-container .info-row > div > div {
  text-align: center;
}

.exercise-selected .detail-container .info-row > div + div {
  border-left: 1px solid #ccc;
}

.exercise-selected .detail-container .info-row .info {
  font-size: 26px;
}

.exercise-selected .detail-container .info-row .label {
  font-size: 14px;
}

.exercise-selected .detail-container .description-row {
  font-size: 12px;
  margin: 20px 0;
  max-width: 400px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .description-row {
    max-width: 100%;
    margin-bottom: 5px;
  }
}

.exercise-selected .detail-container .description-row .label {
  font-weight: 600;
  margin: 10px 0;
  text-transform: uppercase;
}

.exercise-selected .detail-container .button-container {
  margin: 20px 0;
  width: 200px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .button-container {
    width: 100%;
  }
}

.exercise-selected .detail-container .button-container button {
  width: 100%;
}

.exercise-selected .detail-container .button-container button + button {
  margin-top: 20px;
  margin-left: 0;
}

.exercise-selected .detail-container .sample-container {
  margin-left: 10px;
}

@media (max-width: 768px) {
  .exercise-selected .detail-container .sample-container {
    margin-left: 0;
  }
}

.exercise-selected .detail-container .sample-container .video-label {
  font-size: 12px;
  font-weight: 600;
  max-width: 300px;
}

.exercise-selected .detail-container .sample-container .video-label > div {
  height: 20px;
  text-transform: uppercase;
}

.exercise-selected .detail-container .sample-container .video-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  max-height: 239px;
  max-width: 425px;
  min-height: 239px;
}

.exercise-selected .detail-container .sample-container .video-container > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.exercise-selected .detail-container .sample-container .video-container .missing-media {
  border: 1px solid #ccc;
  color: #ccc;
  font-size: 24px;
  font-weight: 300;
  width: 99%;
}

.exercise-selected .exercise-info-container {
  -webkit-flex: 0 0 400px;
  -ms-flex: 0 0 400px;
  flex: 0 0 400px;
}

.exercise-selected .sample-container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
}

.exercise-selected .sample-container .file-input-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 5px;
}

.exercise-selected .sample-container .file-input-wrapper > button {
  min-height: 35px;
  max-height: 35px;
}

.exercise-selected .sample-container .file-input-wrapper > input[type="file"] {
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
}

.exercise-selected .form-fields .week-selection {
  min-height: 60px;
  margin-bottom: 25px;
  cursor: default;
}

.exercise-selected .form-fields .week-selection > div {
  min-width: 80px;
  line-height: 50px;
  font-size: 14px;
  border-bottom: 2px solid #9768EB;
  border-top: 2px solid #9768EB;
  text-align: center;
  text-transform: uppercase;
  color: #9768EB;
}

.exercise-selected .form-fields .week-selection > div:first-child {
  border-left: 2px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:last-child {
  border-right: 2px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.exercise-selected .form-fields .week-selection > div:hover:not(.active) {
  color: #efefef;
  cursor: pointer;
  background-color: #9bd7ea;
}

.exercise-selected .form-fields .week-selection > div.active {
  color: #fefefe;
  cursor: default;
  background-color: #9768EB;
}

.exercise-selected .form-fields label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
  min-height: 50px;
  padding: 2px;
}

.exercise-selected .form-fields label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
  font-size: 18px;
  letter-spacing: 0.32px;
  line-height: 27px;
}

.exercise-selected .form-fields label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  font-size: 21px;
  letter-spacing: 0.4px;
}

.exercise-selected .form-fields label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0;
  outline: 0;
  font-size: 21px;
  text-indent: 3px;
}

.exercise-selected .form-fields label select:focus {
  outline: 0;
}

.exercise-selected .form-fields label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.exercise-selected .form-fields label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 8px;
}

.catalog-history {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 275px;
}

.catalog-history .link-container {
  font-size: 18px;
  height: 70px;
  padding-left: 40px;
  padding-right: 10px;
  background-color: #efefef;
}

@media (max-width: 768px) {
  .catalog-history .link-container {
    font-size: 16px;
  }
}

.catalog-history .link-container .link {
  margin-right: 35px;
  min-height: 35px;
  min-width: 100px;
  color: #aaa;
  cursor: pointer;
}

.catalog-history .link-container .link span {
  min-height: 35px;
}

.catalog-history .link-container .link span.active {
  border-bottom: 4px solid #9768EB;
  color: #75787b;
  cursor: default;
}

.catalog-history .notify-container {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background-color: #efefef;
  padding: 5px 40px;
}

.catalog-history .notify-container > div {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  min-height: 55px;
  border-radius: 6px;
}

.catalog-history .notify-container > div .icon {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.catalog-history .notify-container > div .message {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin: 0 10px;
  width: calc(100% - 140px);
  padding: 16px 0;
}

.catalog-history .notify-container > div .close {
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  line-height: 55px;
  cursor: pointer;
}

.catalog-history .notify-container .warning {
  /* background-color: #f3d95e; */
  background-color: #dac255;
  color: #fefefe;
  font-size: 15px;
  font-weight: 500;
}

.catalog-history .notify-container .warning .icon {
  /* background-color: #e9d25e; */
  background-color: #ceb74e;
}

.catalog-history .notify-container .warning .close {
  font-size: 35px;
  font-weight: 300;
  text-align: center;
}

.catalog-history .list {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-bottom: 60px;
  background-color: #efefef;
}

.catalog-history .list.scrollable-table {
  overflow: auto;
}

.catalog-history .list .list-scroll-container {
  -webkit-flex: 1 0 100%;
  -ms-flex: 1 0 100%;
  flex: 1 0 100%;
  overflow-y: auto;
}

.catalog-history .list .list-scroll-container .list-scroll {
  min-height: 177px;
  max-height: 0px;
}

.catalog-history .list .list-scroll-container .list-scroll .schedule-program {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
}

.catalog-history .list .row {
  font-size: 14px;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  padding: 0 40px;
  color: #888;
  min-width: fit-content;
}

.catalog-history .list .row:nth-child(even) {
  background-color: #fff;
}

.catalog-history .list .row.header {
  height: 50px;
  text-transform: uppercase;
  color: #aaa;
}

.catalog-history .list .row .text-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 200px;
}

.catalog-history .list .row .date-column {
  min-width: 100px;
  text-align: center;
}

.catalog-history .list .row .action-column {
  min-width: 100px;
  font-weight: 600;
  text-align: center;
  text-transform: uppercase;
  cursor: pointer;
}

.catalog-history .list .row .action-column span {
  font-weight: normal;
  font-size: 20px;
  padding: 0 6px;
}

.program-header-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit-header {
  min-height: 85px;
  margin-bottom: 30px !important;
}

.program-type-selection {
  min-height: 50px;
}

.program-type-selection > .type-item {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border-bottom: 2px solid transparent;
  font-size: 18px;
  color: #ddd;
  cursor: pointer;
}

.program-type-selection > .type-item .pill {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  display: inline-block;
  line-height: 25px;
  vertical-align: top;
  margin-left: 3px;
  padding: 0 10px;
  white-space: nowrap;
  background: #AFB1B4;
  color: #FFFFFF;
  border-radius: 5px;
  text-transform: uppercase;
}

.program-type-selection > .type-item.active {
  border-color: #9768EB;
  color: #75787b;
  cursor: default;
}

.program-type-selection > .type-item:hover:not(.active) {
  border-color: #9768EB;
}

.program-type-selection > .type-item + .type-item {
  margin-left: 30px;
}

.program-type-selection > .copy-controls {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-top: 8px;
}

.program-schedule-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 5px;
  margin-bottom: 5px;
}

.program-schedule-container button {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
}

.program-edit {
  margin-top: 20px;
  margin-bottom: 0px;
}

.program-edit .program-strategy-container {
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy {
  font-size: 24px;
  margin-bottom: 20px;
}

.program-edit .program-strategy-container .program-strategy i {
  -webkit-flex: 0 30px;
  -ms-flex: 0 30px;
  flex: 0 30px;
  width: 20px;
  text-align: center;
}

.program-edit .program-strategy-container .program-strategy .strategy-name {
  -webkit-flex: 1 auto;
  -ms-flex: 1 auto;
  flex: 1 auto;
  margin-left: 15px;
}

.program-edit .program-strategy-container .program-strategy .strategy-action {
  -webkit-flex: 0 180px;
  -ms-flex: 0 180px;
  flex: 0 180px;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  font-size: 12px;
  text-align: center;
  text-transform: uppercase;
  line-height: 30px;
  padding: 0px;
}

.program-edit .program-strategy-container + .program-strategy-container {
  margin-top: 20px;
}

.program-edit .program-technique {
  font-size: 20px;
  color: #efefef;
}

.program-edit .program-technique .counter {
  height: 100%;
  width: 40px;
  line-height: 45px;
  flex: 0 0 auto;
}

.program-edit .program-technique .name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.program-edit .program-technique .name > span {
  margin-left: 15px;
  line-height: 24px;
  padding: 4px 0;
}

.program-edit .program-technique .action {
  margin-right: 30px;
  font-size: 12px;
  font-weight: 600;
  color: #9768EB;
  cursor: pointer;
}

.program-edit .program-technique .action .icon-plus {
  font-size: 8px;
}

.program-edit .program-technique .action > span {
  margin-left: 5px;
  text-transform: uppercase;
}

.program-edit .program-exercise-container {
  min-height: 80px;
}

.program-edit .program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 0px;
  margin: 1px 0;
  min-height: 80px;
  width: 100%;
}

.program-edit .program-exercise-container > div.active-item {
  z-index: 1;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-edit .program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:first-child .sort-icons .icon:first-child {
  visibility: hidden;
}

.program-edit .program-exercise-container > div:last-child .sort-icons .icon:last-child {
  visibility: hidden;
}

.program-edit .program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-edit .program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

@media (max-width: 768px) {
  .program-edit .program-exercise-container .program-exercise {
    min-width: 0;
  }
}

.program-edit .program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  text-align: center;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon {
  color: #dedede;
  font-size: 14px;
  cursor: pointer;
}

.program-edit .program-exercise-container .program-exercise .sort-icons .icon:hover {
  color: #9768EB;
}

.program-edit .program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-edit .program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 400;
}

.program-edit .program-exercise-container .program-exercise .info .attributes {
  gap: 5px 25px;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div {
  margin-top: 0;
  width: auto;
}

.program-edit .program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-edit .program-exercise-container .program-exercise .actions {
  max-height: 38px;
  min-height: 38px;
  height: 38px;
  max-width: 180px;
  min-width: 180px;
  width: 180px;
  color: #ddd;
  font-size: 19px;
}

.program-edit-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 15px 30px;
}

.whiteboard {
  min-width: 640px;
  width: 100%;
}

.whiteboard > section {
  margin: 15px 30px;
}

.whiteboard-schedule {
  width: 100%;
}

.whiteboard-schedule .whiteboard-program {
  background-color: #ffffff;
  padding: 30px 0 15px;
}

.whiteboard-program {
  max-height: 140px;
  min-height: 140px;
  height: 140px;
  background-color: #f9f9f9;
  padding: 30px 30px 15px;
}

.whiteboard-program .name {
  font-size: 30px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .origin {
  font-size: 26px;
  line-height: 30px;
  min-height: 30px;
}

.whiteboard-program .edit {
  margin-top: 5px;
  min-height: 25px;
}

.whiteboard-program .edit span {
  font-size: 10px;
  margin-left: 8px;
  text-transform: uppercase;
}

.whiteboard-date span {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
}

.whiteboard-date .date-input {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 130px;
  min-width: 130px;
  width: 130px;
  margin-bottom: 15px;
}

.whiteboard-date .date-input input {
  border: 1px solid #bbb;
  border-right: none;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  width: 100px;
  height: 30px;
  line-height: 30px;
  text-indent: 5px;
  outline: 0;
}

.whiteboard-date .date-input .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-left: none;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.whiteboard-date .date-input .input-icon i.fa {
  font-size: 16px;
}

.whiteboard-date .date-disabled .input-icon {
  background-color: #cdcdcd;
  border: 1px solid #cdcdcd;
}

.week-list {
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  background-color: #f9f9f9;
  padding: 10px 30px;
}

.week-list .week-item {
  font-size: 16px;
  margin-right: 20px;
  min-height: 28px;
}

.week-list .week-item.active {
  border-bottom: 2px solid #9768EB;
}

.week-list .week-item:hover:not(.active) {
  cursor: pointer;
}

.week-list .week-copy {
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.day-list {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  margin: 20px 0;
}

.day-list .day-item {
  -webkit-justify-content: center;
  justify-content: center;
  border-top: 1px solid #9768EB;
  border-bottom: 1px solid #9768EB;
  color: #9768EB;
  font-size: 12px;
  min-height: 45px;
  min-width: 80px;
  text-transform: uppercase;
}

.day-list .day-item.active {
  background-color: #9768EB;
  color: #fefefe;
}

.day-list .day-item:hover:not(.active) {
  background-color: rgba(65, 187, 231, 0.5);
  color: #ffffff;
  cursor: pointer;
}

.day-list .day-item:first-child {
  border-left: 1px solid #9768EB;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.day-list .day-item:last-child {
  border-right: 1px solid #9768EB;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.day-list-schedule .day-item {
  background-color: #bbb;
  border-radius: 6px;
}

.day-list-schedule .day-item .drag-icon {
  max-height: 20px;
  min-height: 20px;
  height: 20px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  cursor: move;
  font-size: 12px;
  text-align: center;
}

.day-list-schedule .day-item .name {
  text-transform: uppercase;
}

.day-list-schedule .day-item + .day-item {
  margin-left: 10px;
}

.program-section {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
}

.program-section.accept-drop {
  background-color: #fff;
  border: 1px solid #999;
  border-radius: 6px;
  padding: 10px;
}

.program-section.accept-drop .action-with-icon {
  display: none;
}

.program-section.accept-drop .name > i {
  display: none;
}

.program-section .name {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 18px;
}

.program-section .name span {
  margin-right: 8px;
}

.program-section .action {
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 110px;
  min-width: 110px;
  width: 110px;
  font-size: 12px;
}

.program-section .action span {
  margin-right: 8px;
  text-transform: uppercase;
}

.program-section .action i.fa {
  font-size: 15px;
}

.program-section-placeholder > div {
  -webkit-justify-content: center;
  justify-content: center;
  border: 1px dashed #bbb;
  border-radius: 6px;
  margin: 4px;
  width: 100%;
}

.program-section-placeholder > div span.text {
  color: #bbb;
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

.program-exercise-container {
  min-height: 86px;
}

.program-exercise-container > div {
  background-color: #f9f9f9;
  border-radius: 6px;
  margin: 2px;
  min-height: 80px;
  width: 100%;
}

.program-exercise-container > div.active-item {
  z-index: 1;
}

.program-exercise-container > div.active-item .program-exercise .drag-icon {
  visibility: hidden;
}

.program-exercise-container > div.active-item .program-exercise .actions {
  visibility: hidden;
}

.program-exercise-container .add-exercise {
  -webkit-justify-content: center;
  justify-content: center;
  color: #aaa;
  font-size: 16px;
  border: 2px dashed #CDD3D7;
  background-color: #EFEFEF;
}

.program-exercise-container .add-exercise span {
  font-weight: 600;
  letter-spacing: 1px;
  font-size: 13px;
  color: #CDD3D7;
  text-transform: uppercase;
}

.program-exercise-container .program-note {
  margin-bottom: 20px;
  margin-left: 90px;
  max-width: 400px;
}

.program-exercise-container .program-exercise {
  min-height: 80px;
  min-width: 600px;
  width: 100%;
}

@media (max-width: 768px) {
  .program-exercise-container .program-exercise {
    min-width: 0;
  }
}

.program-exercise-container .program-exercise .drag-icon {
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  color: #bbb;
  cursor: pointer;
  font-size: 19px;
  text-align: center;
}

.program-exercise-container .program-exercise .info {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.program-exercise-container .program-exercise .info .title {
  font-size: 19px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .info .attributes {
  gap: 5px 25px;
}

.program-exercise-container .program-exercise .info .attributes > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .actions {
  color: #ddd;
  font-size: 19px;
}

.accept-drop-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.accept-drop-container > span {
  text-align: center;
}

.accept-drop-container.hidden {
  display: none;
}

.sort-order-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  background-color: #cdcdcd;
  background-color: rgba(225, 225, 225, 0.5);
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
}

.sort-order-container > span {
  text-align: center;
}

.sort-order-container.hidden {
  display: none;
}

.schedule-selected-athletes {
  margin-left: 50px;
  margin-bottom: auto;
}

.schedule-selected-athletes span {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  margin-bottom: 8px;
  margin-top: 12px;
}

.schedule-selected-athletes .athlete-names {
  max-width: 600px;
}

.schedule-selected-athletes .athlete-names .athlete-names-more {
  color: #9768EB;
  cursor: pointer;
  margin-left: 5px;
}

.bulk-schedule-divider {
  margin-top: 50px;
  text-align: center;
  width: 47px;
}

.bulk-schedule-divider i {
  color: #D7D9DA;
  font-size: 20px;
}

.whiteboard-footer {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.calendar-menu {
  margin: 20px 0;
}

.calendar-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
}

@media only screen and (max-width: 1053px) {
  .calendar-menu > div {
    font-size: 16px;
  }
}

.calendar-menu > div.active {
  border-bottom: 2px solid #9768EB;
  cursor: default;
}

.calendar-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.calendar-menu > div + div {
  margin-left: 40px;
}

.calendar-parent {
  position: relative;
}

.calendar-month {
  -webkit-flex: 1 0 690px;
  -ms-flex: 1 0 690px;
  flex: 1 0 690px;
  max-width: 690px;
  min-width: 690px;
  width: 690px;
  margin: 1px 0 0;
}

.calendar-month .calendar-header {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border: 1px solid #ccc;
  border-top: 0;
  font-size: 18px;
  margin: -1px 0 0 -1px;
}

.calendar-month .calendar-header .fa {
  font-size: 24px;
  padding: 10px;
  box-sizing: content-box;
}

.calendar-month .calendar-header > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.calendar-month .calendar-header > div:first-child {
  margin-right: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header > div:last-child {
  margin-left: auto;
  max-width: 20px;
  min-width: 20px;
  width: 20px;
  cursor: pointer;
}

.calendar-month .calendar-header .year-container {
  position: relative;
}

.calendar-month .calendar-header .year-container select.year-select {
  -webkit-appearance: menulist;
  -moz-appearance: menulist;
  appearance: menulist;
  -webkit-flex: 0.1 0 0;
  -ms-flex: 0.1 0 0;
  flex: 0.1 0 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  color: #808080;
  text-indent: 0px;
}

.calendar-month .calendar-header .year-container select.year-select:focus {
  outline: 0;
}

.calendar-month .calendar-header .year-container select.year-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.calendar-month .calendar-header .year-container select.year-select::-ms-expand {
  display: none;
}

.calendar-month .calendar-header .year-container select.year-select + i.icon-caret-down {
  position: absolute;
  top: 10px;
  right: -12px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.calendar-month .week-day-labels {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  background-color: #dfdfdf;
  color: #c0c0c0;
}

.calendar-month .week-day-labels.left > div {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-left: 6px;
}

.calendar-month .week-day-labels > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid transparent;
  color: #999;
  font-size: 13px;
  margin: -1px 0 0 -1px;
}

.calendar-month .week-day-labels > div .accept-drop-container {
  max-width: 97.5px;
  min-width: 97.5px;
  width: 97.5px;
  right: initial;
  left: initial;
}

.calendar-month .week-day-labels div:first-child {
  border-left-color: #ccc;
}

.calendar-month .week-day-labels div:last-child {
  border-right-color: #ccc;
}

.calendar-month .calendar-days {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.calendar-month .calendar-days .calendar-day {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  max-width: 99.5px;
  min-width: 99.5px;
  width: 99.5px;
  border: 1px solid #ccc;
  font-size: 18px;
  margin: -1px 0 0 -1px;
  padding: 8px 12px;
}

.calendar-month .calendar-days .calendar-day.day-activities {
  background: #00B96D;
  color: #fff;
}

.calendar-month .calendar-days .calendar-day.current-day {
  background-color: #ffffff;
  border-bottom: 6px solid #9768EB;
}

.calendar-month .calendar-days .calendar-day.program-range {
  background-color: #ffffff;
}

.calendar-month .calendar-days .calendar-day.empty {
  background-color: #efefef;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number {
  margin-bottom: 5px;
  font-size: 16px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-number > .month-abbrev {
  font-size: 15px;
  line-height: 28px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern,
.calendar-month .calendar-days .calendar-day .calendar-day-existing {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  min-height: 15px;
  font-size: 11px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern i,
.calendar-month .calendar-days .calendar-day .calendar-day-existing i {
  margin: 2px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-concern {
  margin-top: 10px;
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 9px;
}

@media (max-width: 768px) {
  .calendar-month .calendar-days .calendar-day .calendar-day-scheduled {
    max-width: 100%;
    min-width: unset;
  }
}

.calendar-month .calendar-days .calendar-day .calendar-day-scheduled i {
  margin: 2px;
}

.calendar-month.input-ctl {
  -webkit-flex: 1 0 280px;
  -ms-flex: 1 0 280px;
  flex: 1 0 280px;
  max-width: 280px;
  min-width: 280px;
  width: 280px;
  box-shadow: 6px 6px 18px 0px #4a4a4a;
  background-color: #fff;
  position: absolute;
  top: 40px;
  left: 0;
  z-index: 10;
  margin: 1px 0;
  font-weight: 500;
}

.calendar-month.input-ctl.right {
  left: inherit;
  right: 0;
}

.calendar-month.input-ctl .calendar-header {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  border-top: 1px solid #ccc;
  font-size: 14px;
  cursor: default;
}

.calendar-month.input-ctl .calendar-header .icon {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-week-header {
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 28px;
  min-height: 28px;
  height: 28px;
  background-color: #aaa;
}

.calendar-month.input-ctl .calendar-week-header > div {
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  color: #dfdfdf;
  cursor: default;
  font-weight: 600;
  text-align: center;
  border: 2.1275px solid transparent;
  margin: 2px;
}

.calendar-month.input-ctl .calendar-days {
  margin-bottom: 5px;
}

.calendar-month.input-ctl .calendar-days .calendar-day {
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 35px;
  min-width: 35px;
  width: 35px;
  margin: 2px;
  border: 2.1275px solid transparent;
  border-radius: 100%;
  padding: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.empty {
  border-radius: 0;
  background-color: transparent;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-day {
  border: 2.1275px solid #9768EB;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range {
  background-color: #def5fd;
  border-radius: 0;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range:hover {
  border-radius: 100%;
}

.calendar-month.input-ctl .calendar-days .calendar-day.current-range .calendar-day-number {
  color: #8d8d8d;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty) {
  cursor: pointer;
}

.calendar-month.input-ctl .calendar-days .calendar-day:not(.empty):hover {
  background-color: #eee;
}

.calendar-month.input-ctl .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  text-align: center;
  margin-bottom: 0;
}

.calendar-day-info {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
}

.calendar-day-info .day-date {
  border-bottom: 1px solid #ccc;
  font-size: 13px;
  font-weight: 600;
  margin: 35px 0 20px;
  min-height: 40px;
  text-transform: uppercase;
}

.calendar-day-info .day-date > .icon-calendar {
  background-color: #9768EB;
  border: 1px solid #9768EB;
  border-radius: 3px;
  padding: 5px;
  margin-left: 7px;
  line-height: 28px;
  font-size: 15px;
  color: #efefef;
}

.calendar-day-info .day-program {
  max-width: 295px;
  min-width: 295px;
  width: 295px;
  letter-spacing: 0.75px;
  margin-bottom: 25px;
  font-size: 16px;
  font-weight: 500;
}

.calendar-day-info .day-program .light-grey-text {
  color: #A7A8A7;
}

.calendar-day-info .day-program.action {
  cursor: pointer;
}

.week-main-wrapper {
  padding: 0 !important;
}

.week-wrapper {
  padding: 0 !important;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  min-height: 425px;
  /* height: 425; */
}

.week-wrapper.small {
  min-height: 225px;
  /* height: 225px; */
}

.week-wrapper .week-button-column {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 36px;
  font-weight: 700;
  min-width: 20px;
}

.week-wrapper .week-button-column > div {
  cursor: pointer;
}

@media only screen and (min-width: 1054px) {
  .week-wrapper .week-button-column .fa-angle-left {
    margin-left: -25px;
  }

  .week-wrapper .week-button-column .fa-angle-right {
    margin-right: -25px;
  }
}

.week-wrapper .week-day-column {
  border-left: 1px solid #ddd;
  min-width: 140px;
}

.week-wrapper .week-day-column .day-number {
  -webkit-align-self: flex-start;
  align-self: flex-start;
  color: #aaa;
  font-size: 16px;
  margin: 10px 15px;
}

.week-wrapper .week-day-column .week-day-info-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 100%;
  padding-bottom: 5px;
}

.week-wrapper .week-day-column .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #aaa;
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program {
  width: 130px;
  max-width: 100%;
  background-color: #fefefe;
  border-radius: 6px;
  color: #bbb;
  font-size: 13px;
  font-weight: 200;
  margin: 4px 0;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
}

@media (max-width: 768px) {
  .week-wrapper .week-day-column .week-day-info-container .week-day-program {
    flex-direction: column;
    gap: 4px;
  }
}

.week-wrapper .week-day-column .week-day-info-container .week-day-program.action {
  cursor: pointer;
}

.week-wrapper .week-day-column:nth-last-child(2) {
  border-right: 1px solid #ddd;
}

.week-wrapper .week-day-column.current-day {
  background-color: #ffffff;
}

.week-wrapper .week-day-column.current-day .day-number {
  color: #808080;
}

.week-wrapper .week-day-column.current-day .week-day-info-container:not(:empty) {
  border-bottom: 4px solid #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program {
  background-color: #f4f4f4;
  color: inherit;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-title:not(.light-grey-text) {
  color: #9768EB;
}

.week-wrapper .week-day-column.current-day .week-day-info-container .week-day-program .week-day-program-name:not(.light-grey-text) {
  color: #888888;
}

.chart-menu {
  margin: 50px 0 30px 0;
}

.chart-menu .chart-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  font-size: 20px;
  line-height: 1;
  font-weight: 500;
  color: #a0a4a8;
  margin-right: 40px;
}

@media only screen and (max-width: 1053px) {
  .chart-menu .chart-menu-item {
    font-size: 16px;
  }
}

.chart-menu .chart-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.chart-menu .chart-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.line-chart {
  margin: 25px 0 0 0;
}

.line-chart .line-chart-canvas {
  max-height: 350px;
  min-height: 350px;
  height: 350px;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
}

.line-chart .line-chart-canvas.small {
  max-height: 275px;
  min-height: 275px;
  height: 275px;
  max-width: 550px;
  min-width: 550px;
  width: 550px;
}

.line-chart .line-chart-menu {
  font-size: 14px;
  margin: 25px 0;
}

.program-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-content: flex-start;
  align-content: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 700px;
  min-width: 700px;
  width: 700px;
  margin: 25px 0 0 0;
  min-height: 350px;
}

.program-chart .program-complete {
  margin: 5px 15px;
}

.program-chart .program-complete .program-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 6px;
}

.program-chart .program-complete .program-info .program-title {
  font-weight: 600;
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .program-name {
  text-transform: uppercase;
}

.program-chart .program-complete .program-info .icon {
  color: #cdcdcd;
  font-size: 10px;
}

.program-chart .program-complete canvas {
  height: 60px;
  width: 310px;
}

.selection-component {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  position: relative;
}

.selection-component:after {
  color: #ffffff;
  content: '>';
  font: 600 12px 'Consolas', monospace;
  position: absolute;
  top: 6px;
  right: 12px;
  padding: 0 0 3px;
  pointer-events: none;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.selection-component:before {
  background-color: #9768EB;
  content: '';
  display: block;
  position: absolute;
  top: 0px;
  right: 6px;
  width: 20px;
  height: inherit;
  pointer-events: none;
}

.selection-component select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #9768EB;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  height: 30px;
  margin: 0;
  outline: none;
  padding-left: 10px;
  text-transform: uppercase;
  width: 100%;
}

.chart-legend {
  font-size: 14px;
  margin: 0 20px;
}

.chart-legend > .fa {
  margin-right: 5px;
}

.chart-legend > .fa.average {
  color: rgba(207, 218, 220, 0.5);
}

.chart-legend > .fa.score {
  color: rgba(0, 182, 235, 0.9);
}

.chart-legend > .fa.team-average {
  color: rgba(125, 125, 125, 0.75);
}

.chart-legend > .fa.completed {
  color: rgba(32, 183, 105, 0.8);
}

.chart-legend > .fa.scheduled {
  color: #dfdfdf;
}

.chart-details {
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  margin-top: 16px;
}

.chart-details .chart-date-header {
  border-bottom: 1px solid #ccc;
  padding-bottom: 4px;
  margin-bottom: 4px;
  -webkit-align-items: center;
  align-items: center;
}

.chart-details .chart-date-header i {
  font-size: 18px;
  display: none;
}

.chart-details .chart-date {
  max-height: 22px;
  min-height: 22px;
  height: 22px;
  color: #75777A;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}

.chart-details .main-score {
  margin-top: 5px;
}

.chart-details .value-badge {
  color: #9768EB;
  font-size: 48px;
  font-weight: 100;
  margin-bottom: -6px;
}

.chart-details .value-label {
  text-align: center;
  max-width: 120px;
}

.chart-details .value-large {
  font-size: 56px;
  font-weight: 100;
  line-height: 56px;
  margin-right: 20px;
}

.chart-details .value-change-icon.fa-sort-asc {
  font-weight: 100;
  margin-top: 4px;
}

.chart-details .value-change-icon.fa-sort-desc {
  font-weight: 100;
  margin-bottom: 6px;
}

.chart-details .value-change-icon.unchanged {
  color: #808080;
}

.chart-details .value-change-icon.increase {
  color: #20b769;
}

.chart-details .value-change-icon.decrease {
  color: #c42a3b;
}

.chart-details .value-change {
  font-size: 14px;
  font-weight: 500;
  margin-left: 6px;
}

.chart-details .value-change.unchanged {
  color: #808080;
}

.chart-details .value-change.increase {
  color: #20b769;
}

.chart-details .value-change.decrease {
  color: #c42a3b;
}

.chart-details .info-label {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.chart-details .chart-stats-container {
  margin-top: 20px;
}

.chart-details .test-results-button-container {
  flex: 1;
  padding: 15px 0px;
}

.chart-details .chart-stats {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
  padding: 15px 0;
}

.chart-details .chart-stats .name {
  font-size: 12px;
}

.chart-details .chart-stats .value {
  font-size: 26px;
  font-weight: 100;
  line-height: 34px;
}

.chart-details .chart-stats-grid .chart-stats {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  border-top: none;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(-n+2) {
  border-top: 1px solid #ccc;
}

.chart-details .chart-stats-grid .chart-stats:nth-child(odd) {
  border-right: 1px solid #ccc;
}

.chart-details .pie-chart-container {
  margin-top: 20px;
  margin-bottom: -20px;
}

.chart-details .pie-chart {
  color: #aaa;
  font-size: 13px;
  margin-bottom: 20px;
}

.chart-details .pie-chart > div {
  margin-top: 10px;
}

.chart-details .pie-chart .pie-chart-canvas {
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  max-width: 70px;
  min-width: 70px;
  width: 70px;
}

.chart-details .rpe-container {
  margin-top: 10px;
}

.chart-details .rpe-container .red-text,
.chart-details .rpe-container .green-text {
  font-weight: 500;
  margin-left: 3px;
}

.chart-details .rpe-container div + div {
  margin-left: 20px;
}

.chart-details .program-week {
  margin-top: 20px;
  padding: 18px 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}

.chart-details .trophies {
  margin-top: 20px;
}

.chart-details .trophies .trophy-image {
  margin-right: 6px;
  display: inline-block;
  width: 28px;
  position: relative;
  margin-top: -13px;
}

.chart-details .trophies .trophy-image.trophy-image--badge {
  margin-top: 0;
  width: 24px;
}

.chart-details .trophies .trophy-icon {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  max-width: 28px;
  min-width: 28px;
  width: 28px;
  margin-top: -11px;
  margin-right: 5px;
}

.chart-details .trophies .trophy-icon img {
  display: block;
}

.chart-details .trophies .trophy-place {
  padding: 0 6px;
  font-size: 30px;
  font-weight: 100;
}

.chart-details .trophies .trophy-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin-left: 13px;
  font-size: 14px;
  line-height: 16px;
}

.chart-details .no-details {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 300px;
  min-width: 300px;
  width: 300px;
  padding-bottom: 100px;
}

.notes-menu {
  margin: 15px 0;
}

.notes-menu .notes-menu-item {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  font-size: 18px;
  line-height: 20px;
}

.notes-menu .notes-menu-item.active {
  border-bottom: 2px solid #9768EB;
  color: #333;
  cursor: default;
}

.notes-menu .notes-menu-item:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.notes-menu .notes-menu-item + .notes-menu-item {
  margin-left: 45px;
}

.notes-calendar {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  max-width: 492px;
  min-width: 492px;
  width: 492px;
}

.notes-calendar .calendar-header {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  margin: 1px 1px 0 -1px;
  background-color: #efefef;
  border: 1px solid #ccc;
  font-size: 16px;
  cursor: default;
}

.notes-calendar .calendar-header .icon {
  cursor: pointer;
}

.notes-calendar .week-day-labels {
  margin: 0 1px 0 0;
}

.notes-calendar .week-day-labels > div {
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  font-size: 12px;
  color: #999;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 3px;
  align-items: center;
  justify-content: center;
}

.notes-calendar .calendar-days {
  margin: 0 1px 5px 0;
  background-color: #efefef;
}

.notes-calendar .calendar-days .calendar-day {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 0;
  max-width: none;
  width: 14.28571%;
  min-height: 0;
  max-height: none;
  height: 62px;
  margin: -1px 0px 0px -1px;
  border: 1px solid #cdcdcd;
  font-size: 16px;
  padding: 0;
  color: #cdcdcd;
}

.notes-calendar .calendar-days .calendar-day.current-day {
  color: #9768EB;
}

.notes-calendar .calendar-days .calendar-day.day-activities {
  background-color: #2d8b00;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities) {
  cursor: pointer;
}

.notes-calendar .calendar-days .calendar-day:not(.empty):not(.day-activities):hover {
  opacity: 0.8;
}

.notes-calendar .calendar-days .calendar-day .calendar-day-number {
  padding: 1px;
  line-height: 32px;
  text-align: left;
  padding: 8px 12px;
  font-size: 18px;
  font-size: 16px;
}

.bc-section,
.tl-section,
.soap-section {
  margin-top: 20px;
}

.soap-label.fields-header.high-level-field-label {
  margin-top: 20px;
  margin-bottom: 0px;
}

.bc-bodyfat {
  position: relative;
}

.bc-bodyfat > .basic-input.small {
  width: 80px;
}

.bc-bodyfat:after {
  content: '%';
  position: absolute;
  top: 0;
  left: 60px;
  line-height: 38px;
  font-size: 18px;
  color: #bbb;
}

.bc-alert {
  width: 75%;
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .bc-alert {
    width: 100%;
  }
}

.tl-total-load {
  margin-left: 15px;
}

.tl-total-load > .basic-input.small {
  width: 70px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
  color: #9768EB;
}

.bc-entry-header > .field-label + .field-label,
.bc-entry > .field-label + .field-label {
  margin-left: 20px;
}

@media (max-width: 568px) {
  .bc-entry-header > .field-label + .field-label,
  .bc-entry > .field-label + .field-label {
    margin-left: 10px;
  }
}

.bc-entry-header .bc-input,
.bc-entry .bc-input {
  min-width: 160px;
  max-width: 160px;
}

.bc-entry-header .bc-filler,
.bc-entry .bc-filler {
  min-width: 10px;
  max-width: 10px;
}

@media (max-width: 568px) {
  .bc-filler-resp {
    min-width: 0 !important;
    max-width: 0 !important;
    margin-left: 0 !important;
  }
}

.tl-entry-header > .field-label + .field-label,
.tl-entry > .field-label + .field-label {
  margin-left: 20px;
}

.tl-entry-header .tl-select,
.tl-entry .tl-select {
  min-width: 215px;
  max-width: 215px;
}

.tl-entry-header .tl-input,
.tl-entry .tl-input {
  min-width: 100px;
  max-width: 100px;
}

.tl-entry-header .tl-filler,
.tl-entry .tl-filler {
  min-width: 10px;
  max-width: 10px;
}

.resp-notes-column {
  overflow: auto;
}

.bc-entry .bc-input {
  display: inline-flex;
  align-items: center;
  position: relative;
}

.bc-entry .bc-input > .basic-input.small {
  width: 130px;
  height: 38px;
  line-height: 38px;
  padding: 0 28px 0 13px;
  box-sizing: border-box;
}

.bc-entry .bc-input-bf {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-left: 0 !important;
}

.bc-entry .bc-input-bf > .basic-input.small {
  width: 80px;
  height: 38px;
  line-height: 38px;
  padding: 0 28px 0 13px;
  box-sizing: border-box;
}

.bc-entry .bc-unit {
  margin-left: -34px;
  pointer-events: none;
  font-size: 18px;
  line-height: 38px;
  color: #bbb;
  white-space: nowrap;
}

.bc-entry .bc-unit-bf {
  margin-left: -24px;
  pointer-events: none;
  font-size: 18px;
  line-height: 38px;
  color: #bbb;
  white-space: nowrap;
}

.tl-entry .tl-select-input {
  position: relative;
  border: 2px solid #d8d8d8;
  border-radius: 4px;
  padding: 5px 13px;
  font-size: 16px;
}

.tl-entry .tl-select-input .select-toggle {
  min-width: 185px;
  max-width: 185px;
}

.tl-entry .tl-select-input .select-toggle i {
  position: absolute;
  top: 14px;
  right: 10px;
  font-size: 6px;
}

.tl-entry .tl-select-input .options {
  position: absolute;
  top: 37px;
  left: 0px;
  overflow-y: auto;
  background-color: #dfdfdf;
  min-width: 220px;
  max-height: 180px;
  z-index: 2;
}

.tl-entry .tl-select-input .options > div {
  margin-top: 1px;
  margin-bottom: 3px;
  padding-left: 12px;
  min-height: 28px;
  line-height: 28px;
  cursor: pointer;
}

.tl-entry .tl-select-input .options > div:hover {
  background-color: #efefef;
}

.tl-entry .tl-input > .basic-input.small {
  width: 100px;
}

.tl-entry .tl-calculated-load > .basic-input.small {
  width: 100px;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #cdcdcd;
}

.tl-entry .tl-delete {
  font-size: 20px;
  color: #9768EB;
  cursor: pointer;
}

.bc-free-form,
.tl-free-form {
  width: 75%;
  font-size: 16px;
}

@media (max-width: 768px) {
  .bc-free-form,
  .tl-free-form {
    width: 100%;
  }
}

.soap-date > * {
  width: 170px;
}

.soap-date .date-input > .input-icon {
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 35px;
  min-width: 40px;
  max-width: 40px;
  margin-right: 3px;
  background-color: #9768EB;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  font-size: 20px;
  color: #ffffff;
}

.soap-text-container {
  page-break-inside: avoid;
}

.soap-treatments .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-options {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-options .checkbox-input {
  margin-bottom: 8px;
}

.soap-treatments .soap-treatment-text {
  padding-left: 24px;
}

.soap-treatments .soap-treatment-text .basic-input {
  width: 180px;
  margin-bottom: 8px;
}

.soap-objective.field div textarea {
  height: 85px;
  margin-bottom: 10px;
}

.fa-notes {
  margin: -10px 0px 0px 12px;
  color: #9768EB;
  font-size: 7px;
}

@media (max-width: 568px) {
  .resp-form-post-buttons {
    -webkit-flex-direction: column;
    flex-direction: column;
    margin: 20px 0 60px 0 !important;
    gap: 8px;
    width: 100%;
  }

  .resp-form-post-buttons > button {
    width: 100% !important;
    margin: 0 !important;
  }
}

.time-span-question {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.time-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-top: 24px;
}

.time-label {
  width: 103px;
  display: block;
  font-size: 13px;
  letter-spacing: .21px;
  line-height: 19px;
  color: #6C6D6C;
  text-transform: uppercase;
}

.button-select {
  display: inline-block;
  cursor: pointer;
}

.button-select + .button-select {
  margin-left: 6px;
}

.button-select.secondary .select-trigger {
  background: #D9DBDC;
}

.button-select.small .select-trigger {
  width: 69px;
}

.button-select.indented .select-trigger {
  padding-left: 15px;
}

.button-select .select-trigger {
  color: #fff;
  background: #9768EB;
  border-radius: 3px;
  width: 69px;
  position: relative;
}

.button-select .select-trigger .current-selection {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 10px 8px 10px 10px;
}

.button-select .select-trigger .current-selection .current {
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 14px;
  font-weight: bold;
  color: #fff;
}

.button-select .select-trigger .current-selection .icon-caret-down {
  font-size: 5px;
  bottom: -4px;
  position: relative;
}

.button-select .select-trigger .time-options-hidden {
  display: none;
}

.button-select .select-trigger .time-options {
  color: #9768EB;
  border-color: #9768EB;
  background: #fff;
  font-size: 13px;
  letter-spacing: 1px;
  line-height: 17px;
  font-weight: bold;
  border-style: solid;
  border-top-width: 0px;
  border-radius: 0px 0px 3px 3px;
  width: 69px;
  position: absolute;
  z-index: 10;
}

.button-select .select-trigger .time-options.secondary {
  color: #D9DBDC;
  border-color: #D9DBDC;
}

.button-select .select-trigger .time-options.secondary .time-option:hover {
  color: #fff;
  background: #D9DBDC;
}

.button-select .select-trigger .time-options .time-option {
  padding: 3px 14px 3px 7px;
}

.button-select .select-trigger .time-options .time-option:hover {
  color: #fff;
  background: #9768EB;
}

.tooltipHidden {
  display: none;
}

.tooltip,
.tooltip-right,
.tooltip-bottom,
.tooltip-autoschedule,
.tooltip-left {
  position: absolute;
  min-width: 300px;
  max-width: 360px;
  width: max-content;
  width: -webkit-max-content;
  min-height: 72px;
  top: -130%;
  left: 65px;
  z-index: 10;
  border-radius: 6px;
  padding: 20px 25px;
  font-size: 16px;
  font-family: Nudista-web;
  background-color: #2e2e2e;
  color: white;
  line-height: 24px;
  text-align: left;
  letter-spacing: .35px;
}

.tooltip .ttContent,
.tooltip-right .ttContent,
.tooltip-bottom .ttContent,
.tooltip-autoschedule .ttContent,
.tooltip-left .ttContent {
  color: #929392;
  font-weight: 400;
  text-transform: none;
}

.tooltip .ttTitle,
.tooltip-right .ttTitle,
.tooltip-bottom .ttTitle,
.tooltip-autoschedule .ttTitle,
.tooltip-left .ttTitle {
  height: 40px;
  text-transform: none;
}

@media (max-width: 768px) {
  .tooltip,
  .tooltip-right,
  .tooltip-bottom,
  .tooltip-autoschedule,
  .tooltip-left {
    font-size: 14px;
    padding: 15px 18px;
  }
}

.tooltip-bottom {
  top: 55px;
  left: -125px;
}

.tooltip-autoschedule {
  left: -85px;
  top: -290px;
}

.tooltip-left {
  left: inherit;
  right: 45px;
}

.tooltip:after,
.tooltip-right:after,
.tooltip-bottom:after,
.tooltip-autoschedule:after,
.tooltip-left:after {
  position: absolute;
  left: -20px;
  top: 15px;
  border-color: transparent #2e2e2e;
  border-style: solid;
  border-width: 20px 20px 20px 0px;
  height: 0px;
  width: 0px;
  content: " ";
}

@media (max-width: 768px) {
  .tooltip:after,
  .tooltip-right:after,
  .tooltip-bottom:after,
  .tooltip-autoschedule:after,
  .tooltip-left:after {
    display: none;
  }
}

.tooltip-bottom:after {
  left: 130px;
  top: -20px;
  border-color: #2e2e2e transparent;
  border-width: 0px 20px 20px 20px;
}

.tooltip-autoschedule:after {
  left: 160px;
  top: 250px;
  border-color: #2e2e2e transparent;
  border-width: 20px 20px 0px 20px;
}

.tooltip-left:after {
  left: inherit;
  right: -20px;
  border-width: 20px 0px 20px 20px;
}

.tooltipClose {
  float: right;
  padding: 0px 10px 3px 0px;
  color: lightblue;
  cursor: default;
  font-size: 24px;
}

.chart-tooltip {
  position: absolute;
  min-width: 255px;
  max-width: 300px;
  min-height: 100px;
  padding: 10px;
  background-color: #2e2e2e;
  z-index: 1;
  cursor: default;
  pointer-events: none;
}

.chart-tooltip .header {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  text-align: center;
  color: #efefef;
}

.chart-tooltip .content {
  font-size: 13px;
  margin-top: 6px;
  margin-bottom: 6px;
}

.chart-tooltip .content > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 20px;
  max-height: 20px;
}

.chart-tooltip .content > div > i {
  min-width: 16px;
}

.chart-tooltip .content > div > div {
  margin-left: 6px;
}

.chart-tooltip .content > div.completed {
  color: #16884e;
}

.chart-tooltip.hidden {
  visiblity: hidden;
}

.chart-tooltip.bottom:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.bottom-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  bottom: -8px;
  border-color: #2e2e2e transparent;
  border-width: 10px 10px 0 10px;
}

.chart-tooltip.top:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 0;
  right: 0;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  left: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.top-right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  right: 10px;
  top: -8px;
  border-color: #2e2e2e transparent;
  border-width: 0 10px 10px 10px;
}

.chart-tooltip.left:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  left: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 10px 10px 0;
}

.chart-tooltip.right:after {
  position: absolute;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  content: '';
  top: 0;
  bottom: 0;
  right: -8px;
  border-color: transparent #2e2e2e;
  border-width: 10px 0 10px 10px;
}

.fa {
  transform: none !important;
}

.upload-container .upload-section {
  max-height: 200px;
  min-height: 200px;
  height: 200px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  border: 2px dashed #ddd;
  font-size: 20px;
  color: #bbb;
  cursor: pointer;
  position: relative;
}

.upload-container .upload-section > .upload-message {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  text-align: center;
}

.upload-container .upload-section > .upload-preview {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background-color: #fefefe;
}

.upload-container > input[type='file'] {
  opacity: 0;
}

div.image-control {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  max-height: 280px;
  min-height: 280px;
  height: 280px;
  margin-top: 40px;
}

div.image-control .image-label {
  padding-top: 40px;
}

div.image-control .silent-file-input {
  width: 240px;
}

.image-buttons button {
  max-height: 25px;
  min-height: 25px;
  height: 25px;
  max-width: 85px;
  min-width: 85px;
  width: 85px;
  font-size: 11px;
}

.active-upload {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
}

.active-upload .file-info {
  margin-bottom: 10px;
  font-size: 14px;
}

.active-upload .file-info .file-info-size {
  font-size: 12px;
}

.active-upload .progress-bar-container {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #dedede;
}

.active-upload .progress-bar-container > .progress-bar {
  max-height: 18px;
  min-height: 18px;
  height: 18px;
  border-radius: 6px;
  background-color: #9768EB;
  font-size: 12px;
  font-weight: 600;
  color: #efefef;
  text-indent: 6px;
}

.active-upload .progress-bar-container > .progress-bar.success {
  background-color: #9768EB;
}

.active-upload .progress-bar-container > .progress-bar.error {
  background-color: #af0a2f;
}

.active-upload .message {
  margin-top: 10px;
}

.exercise_container {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  position: relative;
}

.exercise_nav {
  -webkit-flex: 1 0 400px;
  -ms-flex: 1 0 400px;
  flex: 1 0 400px;
  max-width: 400px;
  min-width: 400px;
  width: 400px;
  background-color: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.exercise_nav .search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
}

.exercise_nav .search input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  border: none;
  font-size: 20px;
  font-weight: 200;
  height: 49px;
  line-height: 20px;
  text-indent: 15px;
  outline: none;
}

.exercise_nav .search button[type='reset'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  max-width: 60px;
  min-width: 60px;
  width: 60px;
  background-color: #bbb;
  border: none;
  color: #fefefe;
  font-size: 12px;
  margin: 0 10px;
  min-height: 30px;
}

.exercise_nav .search button[type='submit'] {
  -webkit-flex: 0;
  -ms-flex: 0;
  flex: 0;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  background-color: transparent;
  border: none;
  color: #fefefe;
  margin: 0px;
  min-height: 30px;
}

.exercise_nav .search i.fa {
  font-size: 20px;
  color: #bbb;
}

.exercise_nav .add {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
  padding: 10px;
}

.exercise_nav .add i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise_nav .add strong {
  -webkit-flex: 0.975;
  -ms-flex: 0.975;
  flex: 0.975;
}

.exercise_nav .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  border-right: 1px solid #bbb;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_nav .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #bbb;
}

.exercise_nav .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_nav .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_nav .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_nav .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_nav .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_nav .list {
    height: 0;
  }
}

.exercise_select {
  -webkit-flex: 1 0 300px;
  -ms-flex: 1 0 300px;
  flex: 1 0 300px;
  background-color: #ffffff;
  overflow-y: auto;
}

.exercise_select .list {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-height: 10px;
  overflow-y: auto;
}

.exercise_select .list > div:not(.filler) {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  border-bottom: 1px solid #ddd;
}

.exercise_select .list > div:not(.filler) .exercise-item > div {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.exercise_select .list > div:not(.filler) .exercise-item .name {
  font-size: 18px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-size: 14px;
  width: 40px;
  height: 40px;
  line-height: 36px;
  text-align: center;
  margin: 0 12px;
}

.exercise_select .list > div:not(.filler) .exercise-item .circled-icon:hover {
  color: #9768EB;
  border-color: #9768EB;
}

.exercise_select .list > div:not(.filler) .detail {
  margin-left: 30px;
  margin-right: 20px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail {
  border: 1px solid #bbb;
  padding: 4px 8px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon {
  color: #9768EB;
  font-size: 17px;
  margin: 0 6px;
}

.exercise_select .list > div:not(.filler) .detail .view-detail .icon.inactive {
  color: #ccc;
}

.exercise_select .list > div:not(.filler) .detail .body-sides {
  margin: 20px 0;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div label span {
  margin-right: 9px;
}

.exercise_select .list > div:not(.filler) .detail .body-sides > div + div {
  margin-left: 25px;
}

.exercise_select .list > div:not(.filler) .detail.hidden {
  display: none;
}

.exercise_select .list > div.filler {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
}

@-moz-document url-prefix()  {
  .exercise_select .list {
    height: 0;
  }
}

.filters {
  max-height: 100px;
  min-height: 100px;
  height: 100px;
}

.filters > fusion-drop-down,
.filters > fusion-ordered-drop-down,
.filters > div {
  -webkit-flex: 1 0 50%;
  -ms-flex: 1 0 50%;
  flex: 1 0 50%;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  /***** NOTE ******
    since the height is being recalculated
    only set the min-height
    @include lock-height(50px);
    ***** EBD NOTE ******/
  max-width: 50%;
  min-height: 50px;
  position: relative;
  border-bottom: 1px solid #bbb;
  border-right: 1px solid #bbb;
  padding-left: 20px;
  padding-right: 10px;
}

.filters > fusion-drop-down .select-toggle,
.filters > fusion-ordered-drop-down .select-toggle,
.filters > div .select-toggle {
  width: 100%;
  cursor: pointer;
}

.filters > fusion-drop-down .select-toggle.disabled,
.filters > fusion-ordered-drop-down .select-toggle.disabled,
.filters > div .select-toggle.disabled {
  cursor: default;
}

.filters > fusion-drop-down .select-toggle.disabled span,
.filters > fusion-ordered-drop-down .select-toggle.disabled span,
.filters > div .select-toggle.disabled span {
  font-style: italic;
}

.filters > fusion-drop-down .select-toggle.disabled i,
.filters > fusion-ordered-drop-down .select-toggle.disabled i,
.filters > div .select-toggle.disabled i {
  display: none;
}

.filters > fusion-drop-down .select-toggle span,
.filters > fusion-ordered-drop-down .select-toggle span,
.filters > div .select-toggle span {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.filters > fusion-drop-down .select-toggle i.fa,
.filters > fusion-ordered-drop-down .select-toggle i.fa,
.filters > div .select-toggle i.fa {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.filters > fusion-drop-down .options,
.filters > fusion-ordered-drop-down .options,
.filters > div .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 215px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

.filters > fusion-drop-down .options > div,
.filters > fusion-ordered-drop-down .options > div,
.filters > div .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: nowrap;
}

.filters > fusion-drop-down .options > div:hover,
.filters > fusion-ordered-drop-down .options > div:hover,
.filters > div .options > div:hover {
  background-color: #ccc;
}

.filters > fusion-drop-down > div,
.filters > fusion-ordered-drop-down > div {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 48px;
  min-height: 48px;
  height: 48px;
}

.filters > fusion-drop-down.required .select-toggle > span,
.filters > fusion-ordered-drop-down.required .select-toggle > span {
  color: #ff0000;
}

.exercise-item {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  background-color: #ffffff;
  margin: 10px;
}

.exercise-item .icon {
  -webkit-flex: 0.1;
  -ms-flex: 0.1;
  flex: 0.1;
}

.exercise-item .icon.toggle {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  max-width: 30px;
  min-width: 30px;
  width: 30px;
  font-size: 6px;
}

.exercise-item .icon.toggle.down {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  padding-top: 24px;
}

.exercise-item .icon.toggle.right {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.exercise-item .name {
  -webkit-flex: 0.9;
  -ms-flex: 0.9;
  flex: 0.9;
}

.exercise-item .name .no-wrap-ellipse {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exercise-item.active-item {
  z-index: 1;
}

.exercise-item.active-item .icon {
  visibility: hidden;
}

.exercise-item.dragging-element {
  max-height: 65px;
  min-height: 65px;
  height: 65px;
  transform: scale(1.1, 1.1) !important;
  transform-origin: right center !important;
}

.exercise-item.dragging-element .icon {
  visibility: hidden;
}

.no-match {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  font-size: 16px;
  font-weight: 600;
  margin: 10px;
}

/* modal junk */

.modal-container.modal-exercise-detail header {
  /* @include lock-height(75px); */
  border: none;
}

.modal-container.modal-exercise-detail header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-detail footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-detail section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-detail section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-detail section.video-view {
  max-width: 600px;
  min-width: 600px;
}

.modal-container.modal-exercise-detail section.image-view {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-exercise-detail section.image-view > img {
  max-width: 360px;
  min-width: 360px;
}

.modal-container.modal-exercise-detail .missing-media {
  width: 100%;
  border: 1px solid #efefef;
  color: #dedede;
  font-size: 24px;
  font-weight: 300;
}

.modal-container.modal-exercise-form header {
  border: none;
}

.modal-container.modal-exercise-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-exercise-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-exercise-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-exercise-form form label button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.modal-container.modal-exercise-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-exercise-form section:first-of-type {
  margin-top: 10px;
}

.modal-container.modal-exercise-form section:last-of-type {
  margin-top: 20px;
  margin-bottom: 40px;
}

.modal-container.modal-exercise-form section .filters {
  background-color: #f9f9f9;
  width: 100%;
}

.modal-container.modal-exercise-form section span {
  font-size: 16px;
}

.modal-container.modal-exercise-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-exercise-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-exercise-form section textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #bbb;
  font-size: 16px;
  font-weight: normal;
  margin: 10px 40px 10px 0;
  height: 140px;
  outline: 0;
  padding-top: 4px;
  padding-left: 4px;
}

.modal-container.modal-exercise-form section textarea.large {
  min-height: 300px;
}

.modal-container.modal-exercise-form section textarea.larger {
  min-height: 450px;
}

.modal-container.modal-exercise-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  position: relative;
  border-top: 1px solid #bbb;
  min-height: 25px;
}

.modal-container.modal-exercise-form section label:last-of-type {
  border-bottom: 1px solid #bbb;
}

.modal-container.modal-exercise-form section label span {
  margin: 10px;
  margin-left: 40px;
  min-width: 150px;
}

.modal-container.modal-exercise-form section label input {
  -webkit-flex: 1 1 50%;
  -ms-flex: 1 1 50%;
  flex: 1 1 50%;
  border: none;
  font-size: 16px;
  line-height: 30px;
  margin: 1px;
  outline: 0;
}

.modal-container.modal-exercise-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-left: 1px solid #bbb;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-exercise-form section label select:focus {
  outline: 0;
}

.modal-container.modal-exercise-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-exercise-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-exercise-form section label select + i.fa {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  color: #ccc;
  font-size: 16px;
  width: 20px;
  height: 20px;
  margin: auto 0;
  pointer-events: none;
  text-align: center;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div label {
  border: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div span {
  font-size: 18px;
  margin: 0;
  min-width: 0;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div i {
  font-size: 18px;
  margin-left: 10px;
  cursor: pointer;
}

.modal-container.modal-exercise-form section.single-line-form-fields label .body-sides > div + div {
  margin-left: 25px;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label {
  border-top: none;
  border-bottom: none;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label > select {
  border-left: none;
  text-indent: 40px;
  font-size: 18px;
  color: #75777a;
}

.modal-container.modal-exercise-form section.single-line-form-fields .even-cols label + label > select {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-exercise-form .week-selection {
  padding: 5px 15px;
  cursor: default;
}

.modal-container.modal-exercise-form .week-selection > div {
  margin: 0 10px;
  min-height: 28px;
  font-size: 18px;
  color: #a0a4a8;
  border-bottom: 2px solid transparent;
  cursor: pointer;
}

.modal-container.modal-exercise-form .week-selection > div.active {
  color: #75777a;
  border-bottom-color: #9768EB;
}

/* drag-n-drop junk */

/* should be moved to own file (clearly) */

.drag-hidden {
  visibility: hidden;
}

.drag-move-scroll-anchor {
  position: fixed;
  left: 0;
  right: 0;
  background-color: rgba(155, 155, 155, 0.275);
  height: 20px;
  z-index: 1;
}

.drag-move-scroll-anchor.top {
  top: 0;
}

.drag-move-scroll-anchor.bottom {
  bottom: 0;
}

.drop-hidden {
  display: none;
}

.drop-target:not(.drop-empty) {
  border: 2px dashed #cdd3d7;
}

.drop-target.drop-target-over:not(.add-section) {
  border: 2px dashed #4cbb17 !important;
}

.drop-target.drop-target-over.add-section > div {
  border-color: #4cbb17 !important;
}

.drop-target.drop-target-over .add-exercise {
  display: none;
}

.dragging-element {
  position: absolute;
  border: 2px solid #888;
  transform: scale(0.9, 0.9) !important;
  transform-origin: left center !important;
  z-index: 10;
  pointer-events: none;
}

@media (max-width: 768px) {
  .resp-program-menu {
    flex-direction: column;
    justify-content: flex-start;
  }

  .resp-program-menu .catalog_container > div {
    position: static;
    overflow: visible;
  }

  .resp-program-menu .opened-container,
  .resp-program-menu .closed-container {
    flex: none;
    height: auto;
    max-height: none;
  }

  .resp-program-menu .catalog-banner,
  .resp-program-menu .catalog-search,
  .resp-program-menu .catalog_nav_wrapper {
    height: auto;
  }

  .resp-program-menu .catalog_container {
    flex: none;
    min-height: auto;
    height: auto;
    position: static;
  }

  .resp-program-menu ul.catalog_nav {
    margin-bottom: 20px;
  }
}

.catalog_container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
  min-height: 500px;
  position: relative;
}

.catalog_container > div.catalog-scrollable {
  overflow-y: auto;
}

.catalog_container > div {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
}

.catalog_container > div > div.opened-container {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  height: 100%;
}

.catalog_container > div > div.closed-container {
  -webkit-flex: 1 1 52px;
  -ms-flex: 1 1 52px;
  flex: 1 1 52px;
  max-height: 52px;
}

.catalog-banner {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
  background-color: #9768EB;
  margin: 1px 0;
}

.catalog-banner i.circled-icon {
  margin: 0 15px;
  border: 2px solid #9768EB;
  color: #9768EB;
}

.catalog-banner span {
  color: #efefef;
  font-size: 16px;
}

.catalog-search {
  max-height: 50px;
  min-height: 50px;
  height: 50px;
  border-right: 1px solid #ebebeb;
}

.catalog-search form {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: #fefefe;
}

.catalog-search form input[type='text'] {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background-color: transparent;
  border: none;
  font-size: 20px;
  font-weight: 500;
  height: 49px;
  letter-spacing: 0.39px;
  text-indent: 15px;
  outline: none;
}

.catalog-search form button[type='reset'] {
  background-color: #dedede;
  border: none;
  border-radius: 4px;
  color: #fefefe;
  font-size: 13px;
  font-weight: bold;
  height: 33px;
  line-height: 33px;
  margin: 0px 10px;
  margin-left: 7px;
  min-height: 30px;
  min-width: auto;
  width: auto;
}

.catalog_nav_wrapper {
  height: 100%;
}

.catalog_nav {
  max-width: 350px;
  min-width: 350px;
  width: 350px;
  background-color: #ffffff;
  border-right: 1px solid #ebebeb;
  overflow-y: auto;
  height: auto;
}

.catalog_nav .category-icon {
  margin: 0 18px;
  min-width: 20px;
  font-size: 24px;
}

.catalog_nav .add-icon {
  font-size: 12px;
  margin: 0 15px;
  min-width: 12px;
}

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

ul.catalog_nav li {
  background-color: #f0f0f0;
  font-size: 18px;
  font-weight: 400;
  margin: 5px 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  cursor: pointer;
}

ul.catalog_nav li > span {
  min-height: 45px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

ul.catalog_nav li .category-state {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  font-size: 12px;
  margin: 0 20px;
  min-width: 12px;
}

ul.catalog_nav li .category-open .category-state:before {
  content: "\E620";
}

ul.catalog_nav li .category-close .category-state:before {
  content: "\E62F";
}

ul.catalog_nav li.exercise-technique > span {
  text-indent: 20px;
  font-size: 16px;
}

ul.catalog_nav li.exercise-technique > ul {
  padding: 0;
}

ul.catalog_nav li.exercise-technique > ul li {
  font-weight: normal;
  min-height: 24px;
}

ul.catalog_nav li.exercise-technique > ul li:hover {
  text-decoration: underline;
}

ul.catalog_nav li.exercise-technique > ul li > span {
  min-height: 24px;
  text-indent: 30px;
  text-transform: none;
}

ul.catalog_nav li > ul {
  background-color: #fff;
  margin: 0;
  padding: 10px 0 0 0;
}

ul.catalog_nav li > ul li {
  background-color: #fff;
  font-size: 12px;
  font-weight: 600;
}

ul.catalog_nav li > ul li > span {
  min-height: 30px;
  text-indent: 30px;
  text-transform: uppercase;
}

ul.catalog_nav li > ul li > ul {
  padding: 0;
}

ul.catalog_nav li > ul li > ul li {
  font-weight: normal;
  min-height: 30px;
  text-indent: 50px;
}

ul.catalog_nav li > ul li > ul li:hover {
  text-decoration: underline;
}

.login-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #efefef;
}

.login-container .login-modal {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  max-width: 476px;
  min-width: 476px;
  width: 476px;
  background-color: #FCFCFC;
  border: 1px solid #efefef;
  border-radius: 6px;
  padding: 47px 0 22px;
}

.login-container .login-modal > img {
  -webkit-align-self: center;
  align-self: center;
}

.login-container .login-modal .login-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 32px;
  margin: 28px 15px 30px;
  color: #9768EB;
}

.login-container .login-modal .login-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .login-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .login-form > input {
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .login-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
  font-size: 15px;
}

.login-container .login-modal .login-form > input + input {
  border-top: 0;
}

.login-container .login-modal .login-form .login-buttons {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-evenly;
  justify-content: space-evenly;
  margin: 0px 30px;
}

.login-container .login-modal .login-form .login-buttons > button {
  -webkit-align-self: center;
  align-self: center;
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 100%;
}

.login-container .login-modal .reset-form {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-content: center;
  align-content: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.login-container .login-modal .reset-form > input::-ms-clear {
  display: none;
}

.login-container .login-modal .reset-form > input {
  margin: 28px 0 0;
  max-height: 51px;
  min-height: 51px;
  height: 51px;
  border-top: 1px solid #ddd;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  text-align: center;
}

.login-container .login-modal .reset-form > input::-webkit-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input::-moz-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input:-ms-input-placeholder {
  color: #75777A;
  text-align: center;
  opacity: 1;
}

.login-container .login-modal .reset-form > input + input {
  border-top: 0;
}

.login-container .login-modal .reset-form .secondPassword {
  margin: 0 0 0;
}

.login-container .login-modal .reset-form .button-collection {
  -webkit-align-self: center;
  align-self: center;
  margin: 28px 0 0;
}

.login-container .login-modal .reset-form .button-collection > button {
  max-height: 57px;
  min-height: 57px;
  height: 57px;
  width: 200px;
}

.login-container .login-modal .message {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 11px 15px;
}

.login-container .login-modal .description {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  max-height: 70px;
  min-height: 70px;
  height: 70px;
  margin: 11px 15px;
}

.login-container .login-modal .login-link {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 12px;
}

.login-container .login-modal .login-link > a {
  color: #aaa;
  word-spacing: 2px;
}

.loginRememberMe {
  margin: 28px 0 0;
  -webkit-align-self: center;
  align-self: center;
  display: block;
}

.loginRememberMe .checkbox-input {
  -webkit-align-items: center;
  align-items: center;
}

.loginRememberMe .checkbox-input i {
  font-size: 25px;
}

.loginRememberMe .checkbox-input span {
  color: #75777A;
}

.loginForgotPassLink {
  margin: 31px 0 0;
  -webkit-align-self: center;
  align-self: center;
  cursor: pointer;
  color: #AAB0B7;
  text-decoration-line: underline;
  font-size: 14px;
}

.loginForgotPassLink a {
  color: inherit;
}

.modal-container section.profile-form {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 10px;
  min-width: 400px;
}

.modal-container section.profile-form label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  margin: 5px 9px;
  max-width: 325px;
}

.modal-container section.profile-form label span {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin-right: 6px;
  min-width: 100px;
}

.modal-container section.profile-form label input {
  width: 100%;
}

.modal-container.modal-athlete-form {
  overflow: auto;
  width: 740px;
}

.modal-container.modal-athlete-form header {
  border: none;
}

.modal-container.modal-athlete-form header label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.modal-container.modal-athlete-form footer {
  max-height: 75px;
  min-height: 75px;
  height: 75px;
  border: none;
}

.modal-container.modal-athlete-form footer.smaller {
  margin-top: 5px;
}

.modal-container.modal-athlete-form section {
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  min-height: 0;
  min-width: 600px;
}

.modal-container.modal-athlete-form section:first-of-type {
  margin-top: 10px;
  border-bottom: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section:not(:first-of-type) {
  margin-top: 20px;
}

.modal-container.modal-athlete-form section div.section-label {
  margin-left: 40px;
  margin-bottom: 10px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: bold;
  text-transform: uppercase;
}

.modal-container.modal-athlete-form section div.options-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}

.modal-container.modal-athlete-form section div.option-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-left: 40px;
  padding-bottom: 35px;
}

.modal-container.modal-athlete-form section div.option-container div.option-label {
  font-size: 13px;
  max-width: 115px;
  min-width: 115px;
  width: 115px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input {
  margin-right: 20px;
}

.modal-container.modal-athlete-form section div.option-container div.choices-container .radio-input > span {
  font-size: 13px;
}

.modal-container.modal-athlete-form section .row-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section .row-container:not(:first-of-type) {
  border-top: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section .row-container .space-between {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.modal-container.modal-athlete-form section > span {
  margin: 10px;
  margin-left: 40px;
}

.modal-container.modal-athlete-form section > span.modal-error {
  margin-left: 230px;
  color: red;
}

.modal-container.modal-athlete-form section .dob-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  border-right: 1px solid #ebebeb;
  width: 50%;
}

.modal-container.modal-athlete-form section .dob-field span {
  margin: 10px 10px 10px 40px;
}

.modal-container.modal-athlete-form section .dob-field input {
  border: none;
}

.modal-container.modal-athlete-form section label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-self: stretch;
  align-self: stretch;
  -webkit-flex: 1 1 0%;
  -ms-flex: 1 1 0%;
  flex: 1 1 0%;
  position: relative;
  min-height: 25px;
}

.modal-container.modal-athlete-form section label:not(:first-of-type) {
  border-left: 1px solid #ebebeb;
}

.modal-container.modal-athlete-form section label.feet-field {
  -webkit-flex: 0.6 1 0%;
  -ms-flex: 0.6 1 0%;
  flex: 0.6 1 0%;
}

.modal-container.modal-athlete-form section label.inches-field {
  -webkit-flex: 0.395 1 0%;
  -ms-flex: 0.395 1 0%;
  flex: 0.395 1 0%;
}

.modal-container.modal-athlete-form section label span {
  margin: 10px;
  margin-left: 40px;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
}

.modal-container.modal-athlete-form section label .invalid-input {
  border: 1px solid red;
}

.modal-container.modal-athlete-form section label .validation-container {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message {
  position: absolute;
  z-index: 10;
  top: 55px;
  padding: 3px 6px;
  border-radius: 5px;
  background-color: #2e2e2e;
  color: white;
  border: 1px solid #2e2e2e;
}

.modal-container.modal-athlete-form section label .validation-container .validation-message:after {
  position: absolute;
  left: 45%;
  top: -10px;
  border-color: #2e2e2e transparent;
  border-style: solid;
  border-width: 0px 10px 10px 10px;
  height: 0px;
  width: 0px;
  content: " ";
}

.modal-container.modal-athlete-form section label .validation-container .validation-message span {
  margin: 0px;
  color: inherit;
  font-weight: inherit;
}

.modal-container.modal-athlete-form section label input {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  border: none;
  border-radius: 0px;
  padding: 0px;
  font-size: 13px;
  line-height: 27px;
  outline: 0;
  margin: 1px;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label input.measurement {
  -webkit-flex: 0 0 auto;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 55px;
  min-width: 55px;
  width: 55px;
}

.modal-container.modal-athlete-form section label .date-input {
  width: 220px;
}

.modal-container.modal-athlete-form section label .imperial-height {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  min-width: 45%;
  position: relative;
}

.modal-container.modal-athlete-form section label .imperial-height.inches {
  min-width: 80%;
}

.modal-container.modal-athlete-form section label select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-align-self: stretch;
  align-self: stretch;
  background-color: transparent;
  border: none;
  border-radius: 0;
  margin: 1px;
  outline: 0;
  text-indent: 10px;
}

.modal-container.modal-athlete-form section label select:focus {
  outline: 0;
}

.modal-container.modal-athlete-form section label select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #000;
}

.modal-container.modal-athlete-form section label select::-ms-expand {
  display: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down {
  position: absolute;
  top: 25px;
  right: 20px;
  color: #D9DBDC;
  font-size: 6px;
  pointer-events: none;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.feet {
  top: 10px;
  right: 35px;
}

.modal-container.modal-athlete-form section label select + i.icon-caret-down.inches {
  top: 10px;
  right: 50px;
}

.modal-container.modal-athlete-form section label select.imperial {
  text-indent: 30px;
}

@media (max-width: 768px) {
  .modal-container.modal-athlete-form {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 0;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
  }

  .modal-container.modal-athlete-form footer {
    position: sticky;
    bottom: 0;
    background-color: #fff;
    border-top: 1px solid #ebebeb;
    z-index: 1;
  }

  .modal-container.modal-athlete-form section {
    min-width: 0;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) {
    flex-direction: column;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) label {
    flex: 1 1 auto;
    min-height: 44px;
  }

  .modal-container.modal-athlete-form section > .row-container:not(.height-fields-row) label:not(:first-of-type) {
    border-left: none;
    border-top: 1px solid #ebebeb;
  }

  .modal-container.modal-athlete-form section .dob-field {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ebebeb;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between {
    padding-top: 10px;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .options-container {
    width: 100%;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .options-container .option-container {
    margin-left: 40px;
    padding-bottom: 20px;
  }

  .modal-container.modal-athlete-form section > .row-container.space-between .image-control {
    width: 100%;
    padding: 10px 20px 20px 40px;
    border-top: 1px solid #ebebeb;
    margin-top: 0;
  }
}

.select-all {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 25px;
}

.select-athlete-list {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 45px 65px 45px 65px;
  padding: 15px 0px;
  min-height: 80px;
  max-height: 400px;
  min-width: 300px;
  overflow-x: auto;
}

.select-athlete-list .athletes {
  height: 300px;
}

.select-athlete-list .athletes .athlete-name {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
  margin-right: 15px;
}

.select-athlete-list .athletes .athlete-name.all {
  font-size: 14px;
}

.modal-container.modal-terms {
  overflow: auto;
  width: 740px;
  padding: 20px 40px;
}

.modal-container.modal-terms footer {
  margin-top: 25px;
}

.modal-container.modal-terms footer button {
  width: auto;
}

.admin-menu {
  -webkit-align-items: flex-end;
  align-items: flex-end;
  max-height: 65px;
  min-height: 65px;
  height: 65px;
}

.admin-menu > div {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  letter-spacing: 1px;
}

.admin-menu > div.active {
  border-bottom: 4px solid #9768EB;
  color: #efefef;
}

.admin-menu > div:not(.active):hover {
  border-bottom: 4px solid #a0a4a8;
  cursor: pointer;
}

.admin-menu > div a {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  border: none;
  color: inherit;
  display: inline-block;
  outline: none;
  text-decoration: none;
}

.admin-menu > div span.marker {
  position: absolute;
  top: 0;
  right: -30px;
  width: 23px;
  height: 22px;
  background-color: #ff0000;
  border-radius: 50%;
  text-align: center;
}

.admin-menu > div + div {
  margin-left: 35px;
}

.admin-sub-menu {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
  color: #a0a4a8;
  cursor: default;
  font-size: 13px;
  font-weight: normal;
  position: relative;
  letter-spacing: 1px;
  margin-top: 10px;
}

.admin-sub-menu > div {
  max-height: 30px;
  min-height: 30px;
  height: 30px;
}

.admin-sub-menu > div.active {
  border-bottom: 2px solid #9768EB;
  color: #efefef;
}

.admin-sub-menu > div:not(.active):hover {
  border-bottom: 2px solid #a0a4a8;
  cursor: pointer;
}

.admin-sub-menu > div + div {
  margin-left: 20px;
}

.tab-menu {
  max-height: 45px;
  min-height: 45px;
  height: 45px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0 10px;
}

.tab-menu span {
  font-weight: 600;
}

.tab-menu.selected {
  background-color: #9768EB;
}

.tab-menu.selected span {
  color: #fefefe;
}

.tab-menu:first-child {
  border-left: 1px solid #ddd;
}

.tab-view {
  border: 1px solid #ccc;
  padding: 5px;
}

.tab-view-list {
  list-style-type: none;
  padding-left: 0;
}

.test-container-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-top: 25px;
}

@media (max-width: 768px) {
  .test-container-header {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}

.test-container-header .title {
  margin: 0;
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
}

.test-container-header .main-col {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  padding-right: 20px;
}

.test-container-header .side-col {
  text-align: right;
}

@media (max-width: 768px) {
  .test-container-header .side-col {
    text-align: left;
  }
}

.test-container-header .side-col > div:not([class]) {
  font-size: 16.59px;
  letter-spacing: 0.31px;
  line-height: 22px;
}

.test-result-container {
  margin-bottom: 30px;
}

.test-result-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 0 10px;
}

.test-result-header .title {
  font-weight: 500;
  font-size: 34.5px;
  color: #9768EB;
  line-height: 40px;
  margin-bottom: 6px;
  letter-spacing: -0.6px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 46px;
  margin: 0 0 6px;
}

.input-results {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.results-column-container {
  -webkit-column-count: 2;
  -moz-column-count: 2;
  column-count: 2;
  -webkit-column-gap: 4em;
  -moz-column-gap: 4em;
  column-gap: 4em;
}

@media (max-width: 768px) {
  .results-column-container {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
  }
}

.exercise-details {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid-column;
  -moz-column-break-inside: avoid;
  -o-column-break-inside: avoid;
  -ms-column-break-inside: avoid;
  break-inside: avoid-column;
}

.linked-results-header {
  font-weight: 500;
  font-size: 34.5px;
  color: #75787B;
  line-height: 40px;
  letter-spacing: -0.6px;
}

.tested-by {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

.perform-additional-results {
  background-color: #efefef;
}

.performance-results {
  padding: 80px 0 80px;
  max-width: 778px;
  margin: 0 auto;
}

.performance-results .h2 {
  margin: 0 0 20px;
}

.performance-results section {
  page-break-inside: avoid;
  padding-bottom: 32px;
}

.performance-results section + section {
  padding-top: 32px;
}

.perform-notes-section {
  max-width: 778px;
  margin: 0 auto;
  padding: 0 0 120px 0;
}

.perform-notes-section .header {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
  padding: 0 0 12px;
}

.perform-notes-section .prose {
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.stress-index-block {
  margin-top: 45px;
}

.stress-index-block canvas {
  width: 1124px;
  height: 80px;
}

@media (max-width: 768px) {
  .stress-index-block canvas {
    width: 100%;
    height: auto;
  }
}

.stress-index-block img {
  max-width: 100%;
}

.stress-index-block > .header {
  margin-bottom: 6px;
}

.stress-index-block > .header .title {
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  text-transform: uppercase;
  margin: 0 0 18px;
}

.cat-header {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-weight: 400;
  font-size: 18px;
  color: #75787B;
  letter-spacing: 1px;
  line-height: 1;
  margin: 40px 0 18px;
}

.cat-score {
  color: #fff;
  padding: 3px 5px;
  margin-left: 20px;
}

.cat-score.green {
  background: #00B96D;
}

.cat-score.green + .dot {
  background: #00B96D;
}

.cat-score.yellow {
  background: #D7BB43;
}

.cat-score.yellow + .dot {
  background: #D7BB43;
}

.cat-score.red {
  background: #D1404B;
}

.cat-score.red + .dot {
  background: #D1404B;
}

.clinical-field {
  min-height: inherit;
  height: inherit;
}

textarea.clinical-notes {
  height: 70px;
  resize: none;
  margin-top: 10px;
}

.clinical-sub-note {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-left: 25px;
}

.tree-line {
  height: 35px;
  width: 25px;
  border-left: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}

.clinical-notes-section {
  margin: 38px 0 60px;
  max-width: 560px;
}

label.clinical-form-field {
  display: block;
  border: none;
  margin: 0 40px;
}

hr.clinical-report-line {
  border: none;
  padding: 0;
  height: 1px;
  background: #D8D8D8;
  margin: 40px 0;
  clear: both;
}

span.clinical-label {
  display: block;
  padding: 10px 0px;
  min-width: 0;
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 18px;
}

fusion-ordered-drop-down.clinical-drop-down {
  border: 1px solid #bbb;
  max-width: 626px;
  width: 626px;
  padding-left: 20px !important;
  max-height: 100px !important;
}

fusion-ordered-drop-down.clinical-drop-down > div.column-container {
  line-height: 20px;
  max-height: 100px;
  height: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options {
  position: absolute;
  top: 50px;
  left: 0;
  background-color: #ffffff;
  border-color: #999;
  box-shadow: 0 6px 10px 0 #999;
  max-height: 600px;
  min-width: 100%;
  overflow-y: scroll;
  z-index: 3;
}

fusion-ordered-drop-down.clinical-drop-down .options > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  white-space: inherit;
}

fusion-ordered-drop-down.clinical-drop-down .options > div:hover {
  background-color: #ccc;
}

.clinical-signature {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #929392;
  line-height: 1.5;
}

.clinical-signature > div {
  padding: 0px 15px 0px 15px;
}

.print-only {
  display: none;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.test-athlete-name {
  color: #75777A;
  font-size: 18px;
  letter-spacing: 0.32px;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: 0.32px;
}

.perform-select {
  min-width: 133px;
  font-size: 18px;
  color: #75777A;
  border: 2px solid #D8D8D8;
  border-radius: 4px;
  height: 38px;
}

.recommended {
  margin-left: 10px;
  font-weight: bold;
  font-size: 13px;
  color: #c42a3b;
  text-transform: uppercase;
  display: inline-block;
  position: relative;
  top: -2px;
}

.recommended label {
  margin-left: 3px;
  position: relative;
  top: -2px;
}

/* --------------------------------------------
R+R Daily Test v2
----------------------------------------------*/

h3 span {
  color: #9768EB;
}

.rr-menu {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  max-width: 700px;
  height: 55px;
  border: 1px solid #cdcdcd;
  border-radius: 5px;
  background: #fff;
  overflow: hidden;
}

.rr-menu .custom {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.rr-menu .custom:not(:first-child) {
  border-left: 1px solid #cdcdcd;
}

.rr-menu .custom input {
  position: absolute;
  opacity: 0;
}

.rr-menu .custom input:checked ~ label {
  color: #fff;
  background: #9768EB;
}

.rr-menu .custom label {
  display: block;
  height: 55px;
  line-height: 55px;
  text-align: center;
  cursor: pointer;
  font-weight: bold;
}

.rr-menu .custom label:hover {
  background: #eee;
}

.rr-key {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  max-width: 700px;
  margin-top: 10px;
  color: #9768EB;
}

.rr-key label {
  width: 33.3%;
}

.rr-key label:nth-child(2) {
  text-align: center;
}

.rr-key label:nth-child(3) {
  text-align: right;
}

.repeated-shift-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.repeated-shift-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row:first-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:last-of-type {
  margin-bottom: 5px;
}

.repeated-shift-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 15px;
}

.repeated-shift-layout .test-row .drop-off {
  color: #9768EB;
  font-size: 18px;
  line-height: 1.62;
}

.repeated-shift-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.repeated-shift-layout .test-row .measurement-field:first-of-type {
  margin-left: 289px;
}

.repeated-shift-layout .test-row .measurement-field:not(:first-of-type) {
  margin-left: 23px;
}

.repeated-shift-layout .measurement-label {
  color: #75777A;
  margin-right: 3px;
  padding-right: 18px;
  width: 10px;
}

.y-balance-layout {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.y-balance-layout .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.y-balance-layout .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.y-balance-layout .test-row .sub-label {
  padding-left: 35px;
}

.y-balance-layout .test-row .diff {
  margin-left: 51px;
  color: #9768EB;
  font-size: 18px;
  line-height: 1.92;
}

.y-balance-layout .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 10px;
}

.y-balance-layout .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.y-balance-layout .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.measurement-group {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.measurement-group .test-row {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-bottom: 5px;
}

.measurement-group .test-row:not(:first-of-type):not(:last-of-type) {
  margin-bottom: 20px;
}

.measurement-group .test-row .sub-label {
  padding-left: 35px;
}

.measurement-group .test-row .measurement-field {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin-right: 23px;
}

.measurement-group .test-row .measurement-field:first-of-type {
  margin-left: 275px;
}

.measurement-group .test-row .measurement-field .measurement-label {
  color: #75777A;
  margin-right: 3px;
  width: 10px;
}

.test-results-button {
  width: 100%;
  width: -webkit-fill-available;
}

@media (max-width: 768px) {
  .reports-resp-header {
    -webkit-flex-direction: column !important;
    flex-direction: column !important;
  }

  .reports-resp-header .resp-header-actions {
    justify-content: flex-start;
  }
}

.progress-report-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 30px 0 5px;
  gap: 10px;
  flex-wrap: wrap;
}

.progress-report-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
  gap: 20px;
}

@media (max-width: 768px) {
  .progress-report-options .date-ranges {
    margin-left: 0;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
  }
}

.progress-report-nodata {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.report-chart-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
  margin-left: 20px;
}

.report-chart-container .report-chart-details .report-chart-detail {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.report-chart-container .report-chart-details .report-chart-detail.team,
.report-chart-container .report-chart-details .report-chart-detail.total {
  margin-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail > div {
  min-width: 130px;
  min-height: 90px;
  margin: 0 10px;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail > div {
    min-width: calc(33% - 18px);
    max-width: calc(33% - 18px);
  }
}

.report-chart-container .report-chart-details .report-chart-detail .report-detail-chart-line > canvas {
  width: 130px;
  height: 20px;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail .report-detail-chart-line > canvas {
    width: 100% !important;
    height: 20px !important;
  }
}

.report-chart-container .report-chart-details .report-chart-detail .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  line-height: 30px;
  padding-top: 15px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .score {
  font-size: 30px;
  font-weight: 100;
}

@media (max-width: 768px) {
  .report-chart-container .report-chart-details .report-chart-detail .score-container .score {
    font-size: 24px;
  }
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase {
  color: #20b769;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease {
  color: #c42a3b;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-chart-container .report-chart-details .report-chart-detail .score-container .change i.fa {
  min-width: 12px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies {
  padding-top: 0px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-top: 10px;
}

.report-chart-container .report-chart-details .report-chart-detail .trophies .trophy-place {
  font-size: 30px;
  font-weight: 100;
  margin-left: 10px;
}

.report-summary-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 30px;
}

.report-summary-container .title {
  font-size: 20px;
}

.report-summary {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.report-summary > div {
  min-width: 240px;
  min-height: 90px;
  margin: 20px 10px 10px  0;
  border-right: 1px solid #ccc;
}

@media (max-width: 768px) {
  .report-summary > div {
    width: calc(50% - 10px) !important;
  }
}

@media (max-width: 580px) {
  .report-summary > div {
    width: 100% !important;
    border-right: none;
    border-bottom: 1px solid #ccc;
  }
}

.report-summary .summary-container {
  max-width: 220px;
}

@media (max-width: 768px) {
  .report-summary .summary-container {
    max-width: 100%;
  }
}

.report-summary .summary-container .summary-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 60px;
  margin: 0 3px;
}

@media (max-width: 768px) {
  .report-summary .summary-container .summary-info {
    max-width: 0 8px;
  }
}

.report-summary .summary-container .summary-info .score-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.report-summary .summary-container .summary-info .score-container .score {
  font-size: 24px;
  font-weight: 100;
}

.report-summary .summary-container .summary-info .score-container .change {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
}

.report-summary .summary-container .summary-info .score-container .change.increase {
  color: #20b769;
}

.report-summary .summary-container .summary-info .score-container .change.increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.decrease {
  color: #c42a3b;
}

.report-summary .summary-container .summary-info .score-container .change.decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-increase i.fa {
  margin-top: 8px;
}

.report-summary .summary-container .summary-info .score-container .change.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-summary .summary-container .summary-info .score-container .change i.fa {
  min-width: 12px;
}

.report-summary .summary-container .summary-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
}

.report-summary .summary-container .summary-chart > canvas {
  width: 220px;
  height: 30px;
}

@media (max-width: 768px) {
  .report-summary .summary-container .summary-chart > canvas {
    width: 100% !important;
    height: 30px !important;
  }
}

.report-details-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-top: 30px;
  background-color: #ffffff;
}

.report-details-container .title {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-self: center;
  align-self: center;
  max-width: 1024px;
  min-width: 1024px;
  width: 1024px;
  margin-bottom: 30px;
  font-size: 20px;
}

.report-details {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 50px;
}

@media (max-width: 768px) {
  .report-details {
    overflow: auto;
  }
}

.report-details > div {
  padding-bottom: 10px;
}

.report-details .change {
  position: absolute;
  top: 0;
  right: -8px;
  min-width: 70px;
  line-height: 20px;
}

.report-details .change > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 10px;
  font-size: 12px;
}

.report-details .change > div.increase {
  color: #20b769;
}

.report-details .change > div.increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.decrease {
  color: #c42a3b;
}

.report-details .change > div.decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div.perform-increase i.fa {
  margin-top: 8px;
}

.report-details .change > div.perform-decrease i.fa {
  margin-bottom: 4px;
}

.report-details .change > div i.fa {
  min-width: 12px;
}

.report-details .names-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-width: 250px;
}

.report-details .names-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  min-width: 180px;
  padding-left: 30px;
}

.report-details .names-container .header-row {
  background-color: #dfdfdf;
}

.report-details .names-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .names-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .names-container .detail-row > div {
  min-width: 180px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.report-details .names-container .detail-row:nth-child(odd) {
  background-color: #242424;
  color: #f7f7f7;
}

.report-details .names-container .detail-row:nth-child(even) {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-details .names-container .detail-row.sub-total {
  background-color: #d4d4d4;
  color: #75787b;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row.sub-total + .sub-total {
  background-color: #dfdfdf;
}

.report-details .names-container .detail-row.total {
  background-color: #9768EB;
  color: #f7f7f7;
  font-size: 12px;
  text-transform: uppercase;
}

.report-details .names-container .detail-row .detail-row-position {
  margin-left: 15px;
}

.report-details .info-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .info-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 110px;
}

.report-details .info-container .header-row {
  background-color: #dfdfdf;
}

.report-details .info-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .info-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .info-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .info-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  width: auto;
  white-space: nowrap;
  overflow-y: hidden;
  overflow-x: scroll;
  padding-right: 10px;
}

@media (max-width: 768px) {
  .report-details .scores-container {
    overflow-y: unset;
    overflow-x: unset;
  }
}

.report-details .scores-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.report-details .scores-container > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 40px;
  min-width: 210px;
}

.report-details .scores-container > div:first-child .header-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container > div:first-child .detail-row {
  border-left: 1px solid #ccc;
}

.report-details .scores-container .header-row {
  background-color: #dfdfdf;
  border-right: 1px solid #ccc;
}

.report-details .scores-container .header-row.right-left > span {
  min-width: 55px;
  text-align: center;
}

.report-details .scores-container .header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
}

.report-details .scores-container .header-row + .header-row {
  background-color: #d4d4d4;
}

.report-details .scores-container .detail-row {
  border-right: 1px solid #ccc;
}

.report-details .scores-container .detail-row:nth-child(odd) {
  background-color: #efefef;
}

.report-details .scores-container .detail-row:nth-child(even) {
  background-color: #fefefe;
}

.report-details .scores-container .detail-row > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: center;
  justify-content: center;
}

.report-details .scores-container .detail-row > div.right-left > span {
  min-width: 55px;
  font-size: 14px;
  text-align: center;
}

.report-details .scores-container .detail-row > div.change-container {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  position: relative;
}

.progress-report-bodymap {
  max-height: 213px;
  max-width: 100px;
}

.progress-report-hidden {
  visibility: hidden;
}

.program-group-dropdown-container {
  align-items: flex-end;
  width: 1024px;
  max-width: 100%;
  margin: 30px 0px 10px 0px;
  height: 50px;
}

.program-group-dropdown-container > span {
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  float: left;
  padding-left: 30px;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
}

.program-group-dropdown-container .program-type-button {
  display: inline-block;
  padding-left: 15px;
}

.report-programs-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  margin-bottom: 50px;
  padding-bottom: 10px;
  background-color: #ffffff;
  overflow-x: auto;
}

.report-programs-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  max-height: 40px;
  min-height: 40px;
  height: 40px;
  min-width: max-content;
}

.report-programs-container .header-row {
  background-color: #dfdfdf;
}

.report-programs-container .header-row span {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
}

.report-programs-container .header-row .program-data-chart {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.report-programs-container .data-row .program-name {
  max-height: 40px;
  min-height: 40px;
  height: 40px;
}

.report-programs-container .data-row:nth-child(odd) {
  background-color: #efefef;
}

.report-programs-container .data-row:nth-child(odd) .program-name {
  background-color: #242424;
  color: #f7f7f7;
}

.report-programs-container .data-row:nth-child(even) {
  background-color: #fefefe;
}

.report-programs-container .data-row:nth-child(even) .program-name {
  background-color: #2e2e2e;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name {
  background-color: #9768EB;
  color: #f7f7f7;
}

.report-programs-container .data-row.total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .data-row.position-total .program-name {
  background-color: #E1E3E5;
  color: #efefef;
}

.report-programs-container .data-row.position-total .program-name span {
  font-size: 12px;
  text-transform: uppercase;
}

.report-programs-container .program-name {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 346px;
  max-width: 500px;
  padding-left: 30px;
}

.report-programs-container .program-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 120px;
}

.report-programs-container .program-data.right {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  padding-right: 30px;
}

.report-programs-container .program-data-chart {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 320px;
}

.report-programs-container .program-filler {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 60px;
}

.page-header-back-nav {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
}

.page-header-back-nav label {
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}

.page-header-back-nav label i.icon {
  font-size: 16px;
}

.page-header-back-nav label span {
  margin-left: 8px;
  font-size: 13px;
}

.test-archives-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 30px 0 5px;
  row-gap: 10px;
}

.test-archives-options > div + div {
  margin-left: 10px;
}

.test-archives-options .date-ranges {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin-left: 30px;
  gap: 20px;
}

@media (max-width: 768px) {
  .test-archives-options .date-ranges {
    flex-basis: 100%;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 0;
    margin-top: 10px;
    gap: 10px;
  }
}

.archive-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.archive-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.archive-container > div span {
  font-size: 18px;
  cursor: default;
}

.archive-container > div i.icon {
  font-size: 16px;
  cursor: pointer;
}

.archive-container > div .archive-name,
.archive-container > div .archive-info,
.archive-container > div .archive-action {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.archive-container > div .archive-name {
  -webkit-flex: 1 1 auto;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 120px;
}

.archive-container > div .archive-name span {
  cursor: pointer;
}

.archive-container > div .archive-info,
.archive-container > div .archive-action {
  -webkit-justify-content: center;
  justify-content: center;
}

.archive-container > div .archive-info {
  min-width: 140px;
}

@media (max-width: 568px) {
  .archive-container > div .archive-info {
    min-width: 100px;
  }
}

.archive-container > div .archive-action {
  min-width: 60px;
}

.archive-container > div.header-row {
  min-height: 40px;
}

.archive-container > div.header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.header-content {
  -webkit-justify-content: initial;
  justify-content: initial;
  max-height: 80px;
  min-height: 80px;
  height: 80px;
  position: relative;
  border-bottom: 1px solid #ccc;
}

@media (max-width: 768px) {
  .header-content {
    max-height: 60px;
    min-height: 60px;
    height: 60px;
    align-items: center;
  }
}

.header-content .header-logo-container {
  position: relative;
  display: flex;
  align-items: center;
}

@media (max-width: 768px) {
  .header-content .header-logo-container {
    display: none;
  }
}

.header-content .header-prac-burger {
  display: none;
  font-size: 26px;
  cursor: pointer;
  color: #2e2e2e;
  padding: 0 15px;
  padding-bottom: 7px;
  margin: 0;
  line-height: 1;
}

@media (max-width: 768px) {
  .header-content .header-prac-burger {
    display: block;
  }
}

.header-content .header-prac-menu {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  background: #1c1c1c;
  display: flex;
  flex-direction: column;
  padding: 10px 0;
  z-index: 1000;
}

.header-content .header-prac-menu .header-prac-menu__item {
  display: flex;
  align-items: center;
  min-height: 60px;
  max-height: 60px;
  padding: 0 20px;
  border-bottom: 1px solid #333;
  color: #a0a4a8;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.header-content .header-prac-menu .header-prac-menu__item.active {
  color: #efefef;
}

.header-content .header-prac-menu .header-prac-menu__item:not(.active):hover {
  color: #efefef;
}

.header-content .header-prac-user {
  display: none;
}

@media (max-width: 768px) {
  .header-content .header-prac-user {
    display: flex;
  }
}

.header-content .header-logo {
  margin: 10px 35px;
}

.header-content .header-logo img {
  max-width: 180px;
  max-height: 70px;
}

@media (max-width: 768px) {
  .header-content .resp-center {
    display: none;
  }
}

.header-content .user {
  margin-left: auto;
}

.header-content .header-team-name,
.header-content .header-team-name-link {
  border-left: 1px solid #C8C8C9;
}

@media (max-width: 768px) {
  .header-content .header-team-name,
  .header-content .header-team-name-link {
    border-left: 0;
    margin-left: 40px;
  }
}

.header-content .header-team-name h3,
.header-content .header-team-name-link h3 {
  padding: 0px 18px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #11264b;
  text-transform: uppercase;
}

.header-content .header-team-name-resp {
  overflow: hidden;
}

.header-content .header-team-name-resp > h3 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header-content .header-team-name-link {
  cursor: pointer;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.header-content .team-switcher {
  cursor: pointer;
}

.header-content .team-switcher:after {
  position: absolute;
  top: 80%;
  left: 90%;
  font-family: FontAwesome;
  content: "\F0D7";
  color: #6d6e72;
}

.header-content .team-options {
  position: absolute;
  top: 102%;
  left: -1px;
  background-color: #f6f1f1;
  border: 1px solid #ebebeb;
  box-shadow: 0 2px 5px 0 rgba(68, 67, 76, 0.25);
  min-width: 130px;
  width: 100%;
  z-index: 3;
}

.header-content .team-options > div {
  padding: 5px 10px 5px 14px;
  white-space: nowrap;
}

.header-content .team-options > div:hover {
  background-color: #dedfde;
}

.header-content .white-field {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.header-content .white-field i.icon-shop {
  display: block;
  float: left;
  padding: 0px;
  margin-right: 1px;
  margin-left: 1px;
  font-size: 20px;
}

.header-content .white-field > div {
  -webkit-flex: 1 0 auto;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  max-height: 60px;
  min-height: 60px;
  height: 60px;
  margin: 0px;
}

.header-content .white-field > div > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 10px;
  font-size: 14px;
  cursor: pointer;
}

.header-content .white-field > div > div i {
  font-size: 26px;
  display: block;
  float: left;
  margin: -1px 8px 0px 0px;
}

.header-content .white-field > div > div:hover {
  color: #11264b;
}

.header-content .white-field > div > div.active {
  color: #11264b;
}

.header-content .white-field > div > div.current-athlete {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  border: none;
  font-size: 18px;
  font-weight: 600;
  min-width: auto;
  margin-right: auto;
}

.header-content .white-field > div > div.current-athlete span {
  cursor: pointer;
}

.header-content .white-field > div > div.current-athlete span:first-child {
  font-weight: normal;
}

.header-content .white-field > div > div.current-athlete span + span {
  margin-left: 10px;
}

.header-content .white-field > div > div.current-athlete span + span:hover {
  text-decoration: underline;
}

.header-content .white-field > div > div + div {
  margin-left: 5px;
}

.header-content .white-field > button.signout {
  max-height: 35px;
  min-height: 35px;
  height: 35px;
  max-width: 100px;
  min-width: 100px;
  width: 100px;
}

.header-content .white-field > button.signout:hover {
  background-color: #9768EB;
  color: white;
}

.header-content .white-field > button.shop {
  padding-top: 1px;
}

@media (max-width: 768px) {
  .header-content .white-field > button.shop {
    display: none;
  }
}

.header-content .white-field > button:first-child {
  margin: 0 7px 0 15px;
}

.header-content .white-field > button:last-child {
  margin: 0 25px 0 7px;
}

.header-content .white-field > button > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.header-content .white-field > button > div i.fa {
  font-size: 22px;
  margin-right: 4px;
}

@media (max-width: 768px) {
  .header-content--prac .header-team-name,
  .header-content--prac .header-content .header-team-name-link,
  .header-content .header-content--prac .header-team-name-link,
  .header-content--prac .header-team-name-link {
    margin-left: 0;
  }
}

@media only screen and (max-width: 1053px) {
  .header-content-v2 .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  .header-content-v2 .white-field > div > div + div {
    margin-left: 0;
  }

  .header-content-v2 .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  .header-content-v2 .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }
}

.whiteboard {
  min-width: 0;
}

ul.catalog_nav {
  max-width: none;
  min-width: 0;
  width: auto;
}

ul.catalog_nav li > span {
  padding: 11px 0;
  line-height: 1.2;
  min-height: 0;
}

ul.catalog_nav li > ul li > ul li {
  min-height: 0;
  text-indent: 0;
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 50px;
}

.catalog-selected .title-container .return-link {
  white-space: nowrap;
}

.athlete-info-box .bio-header {
  line-height: 1.1;
  padding: 0 15px;
}

.athlete-info-box .bio-header .athlete-number {
  margin-left: 0;
}

@media only screen and (max-width: 900px) {
  .athlete-info-box .bio-header {
    font-size: 15px;
    padding: 0 10px;
  }
}

.athlete-info-box .bio-body .athlete-profile {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.athlete-info-box .bio-body .athlete-profile .profile-pic {
  width: 100%;
  height: auto;
  display: block;
  max-height: 100px;
}

.athlete-info-box .bio-body .athlete-stats {
  -webkit-flex: 2;
  -ms-flex: 2;
  flex: 2;
}

.athlete-info-box .bio-body .athlete-stats > div + div {
  margin-top: 5px;
}

.athlete-info-box .bio-body canvas {
  width: 100%;
  display: block;
}

.athlete-list-view.view-layout .athlete-number {
  max-width: 53px;
  min-width: 53px;
  width: 53px;
  white-space: nowrap;
  line-height: 0.9;
  padding-left: 10px;
}

.athlete-list-view.view-layout .athlete-name {
  padding: 0 15px 0 5px;
  min-width: 0;
}

.profile-summary .today-program,
.profile-summary .today-notice {
  max-width: none;
  min-width: 0;
  width: auto;
  max-height: none;
  height: auto;
  padding: 10px 6px;
}

@media only screen and (min-width: 1054px) {
  .column-container.profile-score + div {
    width: 380px;
  }
}

@media only screen and (max-width: 1053px) {
  body .view-container {
    width: 994px;
    max-width: 100vw;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
  }

  body .view-container .view-container {
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
  }

  body .week-wrapper .week-day-column {
    min-width: 0;
    width: 100%;
  }

  body .header-content .white-field > div {
    margin: 0px 20px;
  }

  body .profile-detail {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-detail .profile-pic {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
    max-width: 200px;
    aspect-ratio: 200 / 175;
    overflow: hidden;
  }

  body .profile-detail .profile-pic img {
    width: 100%;
    display: block;
    height: 100%;
    object-fit: contain;
  }

  body .profile-detail .profile-action {
    width: 100%;
  }

  body .profile-summary {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 4;
    -ms-flex: 4;
    flex: 4;
    padding-left: 15px;
  }

  body .profile-summary > .row-container.divided > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body .profile-summary > .row-container.divided > div + div {
    padding-left: 15px;
  }

  body .profile-summary .score-container {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 20px;
  }

  body .profile-summary .score-container .profile-score {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 100%;
  }

  body .profile-summary .score-container .profile-score .profile-score-graph-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100%;
  }

  body .chart-menu .chart-menu-item {
    margin-right: 18px;
  }

  body .program-chart,
  body .line-chart {
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .program-chart {
    max-width: none;
    min-width: 0;
    width: auto;
    min-height: 0;
  }

  body .view-layout .view-container .line-chart .line-chart-canvas {
    max-width: none;
    min-width: 0;
    width: auto;
    max-height: none;
    min-height: 0;
    height: auto;
    width: 100% !important;
    height: auto !important;
  }

  body .chart-details {
    max-width: none;
    min-width: 0;
    width: auto;
    padding-left: 15px;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  body canvas {
    max-width: 100% !important;
    height: auto !important;
  }

  body .calendar-month {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 2;
    -ms-flex: 2;
    flex: 2;
  }

  body .calendar-month .week-day-labels {
    -webkit-flex: 1 1 auto;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  body .calendar-month .week-day-labels > div {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    max-width: none;
    min-width: 0;
  }

  body .calendar-month .calendar-days .calendar-day {
    max-width: none;
    min-width: 0;
    width: auto;
    width: 14.28571%;
  }

  body .calendar-month.notes-calendar {
    max-width: 492px;
  }

  body .calendar-day-info {
    max-width: none;
    min-width: 0;
    width: auto;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left: 15px;
  }
}

@media only screen and (max-width: 1053px) and (max-width: 768px) {
  body .schedule-calendar-layout {
    flex-wrap: wrap;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  body .schedule-calendar-layout .calendar-month {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
  }

  body .schedule-calendar-layout .calendar-day-info {
    flex: 1 0 100%;
    width: 100%;
    min-width: 0;
    padding-left: 0;
    margin-top: 20px;
    padding-bottom: 20px;
  }
}

@media only screen and (max-width: 1053px) {
  body .athlete-list-view.view-layout .athlete-stat {
    -webkit-flex: 0;
    -ms-flex: 0;
    flex: 0;
    max-width: 7.5%;
    min-width: 7.5%;
    width: 7.5%;
    letter-spacing: 0;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 18%;
    min-width: 18%;
    width: 18%;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 15px;
    letter-spacing: 0.5px;
  }

  body .modal {
    max-width: calc(100% - 30px);
  }

  body .modal-container {
    max-width: 100%;
  }

  body .tl-entry-header .tl-select,
  body .tl-entry .tl-select {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .tl-entry-header .tl-input,
  body .tl-entry .tl-input {
    max-width: 86px;
    min-width: 86px;
    width: 86px;
  }

  body .tl-entry .tl-input > .basic-input.small {
    width: 100%;
  }

  body .tl-entry-header .field-label {
    line-height: 1.2;
  }

  body input.basic-input,
  body div.basic-input,
  body div.basic-input-readonly {
    width: 100px;
  }

  body .athlete-menu .athlete-search {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    width: auto;
  }

  body .athlete-menu .athlete-filter-sort {
    min-width: 0;
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box {
    min-width: 0;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label {
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 15px 17px 15px 10px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-filter-sort > .athlete-sort-box .label:after {
    font-size: 9px;
    right: 7px;
    top: 38%;
  }

  body .athlete-menu .athlete-reset-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
    padding: 0 8px;
    font-size: 12px;
  }

  body .athlete-menu .athlete-toggle-view {
    -webkit-flex: initial;
    -ms-flex: initial;
    flex: initial;
    max-width: none;
    min-width: 0;
    width: auto;
  }

  body .header-content .white-field > div > div {
    font-size: 12px;
    padding: 5px;
  }

  body .header-content .white-field > div > div + div {
    margin-left: 0;
  }

  body .header-content .white-field > div > div i {
    margin-top: -5px;
    margin-right: 5px;
  }

  body .header-content .white-field i.icon-shop {
    margin: 0 5px 0 0;
  }

  body .header-content button {
    min-width: 0;
    padding: 0 5px;
  }

  body .header-content .logo {
    margin-left: 15px;
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .header-content .white-field > button:last-child {
    margin-right: 15px;
  }

  body .line-chart-menu .chart-legend {
    white-space: nowrap;
    margin: 0 0 0 16px;
  }

  body .line-chart-menu .chart-legend > .fa {
    margin-right: 2px;
  }

  body .prompt-box {
    padding: 15px;
  }

  body .test-landing .prompt-box {
    min-height: 196px;
  }
}

@media only screen and (max-width: 1053px) and (max-width: 768px) {
  body .test-landing {
    flex-direction: column;
  }

  body .test-landing > div {
    width: 100%;
    margin-left: 0 !important;
  }

  body .test-landing .prompt-box {
    min-height: 0;
  }
}

@media only screen and (max-width: 1053px) {
  body .report-chart-container {
    display: block;
  }

  body .report-chart-container .line-chart {
    display: block;
  }

  body .report-chart-container .report-chart-details {
    display: block;
    margin: 0;
  }

  body .report-summary > div {
    width: calc(33.33% - 10px);
  }

  body .report-details-container .title {
    max-width: none;
    min-width: 0;
    width: auto;
  }
}

@media only screen and (max-width: 900px) {
  body .admin-menu > div + div {
    margin-left: 18px;
  }

  body .catalog_container {
    -webkit-flex: 1 0 200px;
    -ms-flex: 1 0 200px;
    flex: 1 0 200px;
  }

  body .catalog-search form {
    padding: 0 5px;
    width: 100%;
  }

  body .catalog-search form input[type='text'] {
    min-width: 0;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-indent: 0;
    font-size: 15px;
  }

  body .catalog-search form button[type='reset'] {
    margin: 0;
    padding: 0 5px;
    font-size: 10px;
  }

  body .catalog-feature .feature-container .feature-content {
    left: 40px;
  }

  body .practitionersTable > .row-container > div > span,
  body .teamsTable > .row-container > div > span {
    margin-left: 10px !important;
    margin-right: 10px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(1) {
    max-width: 112px !important;
    min-width: 112px !important;
    width: 112px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(2) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(3) {
    max-width: 108px !important;
    min-width: 108px !important;
    width: 108px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .practitionersTable > .row-container > div:nth-child(5) {
    max-width: 110px !important;
    min-width: 110px !important;
    width: 110px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) {
    max-width: 88px !important;
    min-width: 88px !important;
    width: 88px !important;
  }

  body .practitionersTable > .row-container > div:nth-child(6) button {
    padding: 0 6px;
  }

  body .teamsTable > .row-container > div:nth-child(1) {
    max-width: 96px !important;
    min-width: 96px !important;
    width: 96px !important;
  }

  body .teamsTable > .row-container > div:nth-child(2) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(3) {
    max-width: 100px !important;
    min-width: 100px !important;
    width: 100px !important;
  }

  body .teamsTable > .row-container > div:nth-child(4) {
    min-width: 0 !important;
    max-width: none !important;
    -webkit-flex: 1 !important;
    -ms-flex: 1 !important;
    flex: 1 !important;
  }

  body .teamsTable > .row-container > div:nth-child(5) {
    max-width: 70px !important;
    min-width: 70px !important;
    width: 70px !important;
  }

  body .teamsTable > .row-container > div:nth-child(6) {
    max-width: 212px !important;
    min-width: 212px !important;
    width: 212px !important;
  }
}

@media only screen and (max-width: 900px) and (max-width: 1053px) {
  body .header-logo {
    margin: 0 15px;
  }

  body .header-logo img {
    width: 100%;
  }

  body .header-content .white-field > div > div i {
    display: none;
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: calc((100% - 20px) / 2);
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box .bio-body .athlete-profile .profile-pic {
    max-height: none;
  }
}

@media (max-width: 640px) {
  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 768px) {
  .modal-animate-container {
    width: calc(100% - 30px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
  }

  .modal-dialog {
    width: calc(100% - 30px);
    margin-top: 60px;
  }

  .modal-container section {
    min-width: 0 !important;
    -webkit-align-items: stretch;
    align-items: stretch;
  }

  label.clinical-form-field {
    margin: 0 15px;
  }

  fusion-ordered-drop-down.clinical-drop-down {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  fusion-ordered-drop-down.clinical-drop-down > div.column-container {
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-align-items: center;
    align-items: center;
    overflow: hidden;
  }

  fusion-ordered-drop-down.clinical-drop-down .select-toggle {
    overflow: hidden;
    flex: 1;
    min-width: 0;
  }

  fusion-ordered-drop-down.clinical-drop-down .select-toggle span.filtered {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
}

@media (max-width: 768px) {
  body .athlete-list-view.view-layout .athlete-header,
  body .athlete-list-view.view-layout .athlete-row {
    min-width: 680px;
  }

  body .athlete-list-view.view-layout .athlete-name {
    min-width: 130px;
  }

  body .athlete-list-view.view-layout .athlete-stat {
    max-width: 70px;
    min-width: 70px;
    width: 70px;
    font-size: 13px;
  }

  body .athlete-list-view.view-layout .athlete-programs {
    max-width: 110px;
    min-width: 110px;
    width: 110px;
  }

  body .athlete-list-view.view-layout .athlete-last-activity {
    max-width: 120px;
    min-width: 120px;
    width: 120px;
  }

  body .athlete-list-view.view-layout .athlete-row {
    font-size: 14px;
  }
}

.arrowTabs {
  display: flex;
  align-items: stretch;
  margin: 0 -2px;
}

.arrowTabs > * {
  padding: 0 2px;
}

.arrowTabs > span {
  flex: 1;
  display: block;
  text-align: center;
  display: flex;
  align-items: stretch;
  position: relative;
  cursor: pointer;
}

.arrowTabs > span:before {
  content: " ";
  position: absolute;
  left: 50%;
  margin-left: -8px;
  bottom: -6px;
  height: 0;
  width: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 6px solid #9768EB;
  display: none;
}

.arrowTabs > span span {
  padding: 12px 8px;
  display: block;
  width: 100%;
  background: #F2F4F5;
  color: #ABB0B3;
  font-weight: bold;
  font-size: 14px;
}

.arrowTabs > span:first-child span {
  border-radius: 5px 0 0 5px;
}

.arrowTabs > span:last-child span {
  border-radius: 0 5px 5px 0;
}

.arrowTabs > span.active:before {
  display: block;
}

.arrowTabs > span.active span {
  background: #9768EB;
  color: #fff;
}

.programScheduleTable {
  table-layout: fixed;
  text-align: center;
  border-collapse: collapse;
  width: 100%;
}

@media only screen and (min-width: 1164px) {
  .programScheduleTable {
    width: calc(100% + 70px);
    margin-left: -70px;
  }
}

.programScheduleTable tr > *:first-child {
  width: 70px;
  padding-right: 10px;
}

.programScheduleTable tr > * + * {
  width: calc((100/7*1%) - 10px);
}

.programScheduleTable tr > * + * + * {
  padding-left: 5px;
}

.programScheduleTable tr + tr > * {
  padding-top: 5px;
}

.programScheduleTable thead th {
  color: #BDC1C5;
  font-size: 14px;
  padding: 0 0 15px;
  font-weight: 400;
}

.programScheduleTable tbody th {
  text-align: left;
  vertical-align: middle;
  color: #848990;
  font-size: 14px;
  text-transform: uppercase;
}

.activityPillGroup {
  position: relative;
  background: #F2F4F5;
  border-radius: 8px;
  padding: 8px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 117.3px;
  width: 100%;
}

.activityPillGroup .activityPill {
  height: calc(33.333% - 2px);
}

.activityPillGroup .activityPill + .activityPill {
  margin-top: 3px;
}

.activityPillGroup .addIcon {
  display: none;
  color: #CDD3D7;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  font-size: 40px;
}

.activityPill {
  text-align: center;
  border-radius: 4px;
  padding: 0 5px;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.activityPill--prompt {
  background: #E4E9EC;
  color: #BDC1C5;
  cursor: pointer;
}

.activityPill--active {
  background: #9768EB;
  color: #fff;
  position: relative;
  padding: 0 15px;
}

.activityPill--active .closeIcon {
  position: absolute;
  top: 50%;
  margin-top: -5px;
  font-size: 10px;
  right: 5px;
  cursor: pointer;
}

.activityPillGroup--empty {
  cursor: pointer;
}

.activityPillGroup--empty .addIcon {
  display: block;
}

.selectAddPill {
  padding: 10px;
  background: #fff;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
  border-radius: 4px;
}

.selectAddPill .tl-entry .tl-select,
.selectAddPill .tl-entry .tl-select-input .select-toggle {
  min-width: 0;
  max-width: none;
}

.selectAddPill button.primary {
  max-height: none;
  min-height: 0;
  height: auto;
}

.selectAddPill > *:first-child {
  flex: 1;
}

.selectAddPill > * + * {
  margin-left: 15px;
}

.t_pageContentTitle {
  margin: 0;
  color: #9768EB;
  font-size: 24px;
  font-weight: 500;
}

.t_pageContentTitle.top {
  color: #75787B;
}

.ycenter-items {
  -webkit-align-items: center;
  align-items: center;
}

.xgapChildren > * + * {
  padding-left: 15px;
}

.inlineSpaced {
  display: block;
  position: relative;
}

.inlineSpaced > * {
  display: inline-block;
}

.inlineSpaced--align--top > * {
  vertical-align: top;
}

.inlineSpaced--align--middle > * {
  vertical-align: middle;
}

.inlineSpaced--compact {
  margin: -2px;
}

.inlineSpaced--compact > * {
  margin: 2px;
}

.inlineSpaced--spaced {
  margin: -8px;
}

.inlineSpaced--spaced > * {
  margin: 8px;
}

.inlineSpaced--spacedMed {
  margin: -4px;
}

.inlineSpaced--spacedMed > * {
  margin: 4px;
}

.inlineSpaced--optionInputs {
  margin-left: -10px;
  margin-right: -10px;
  margin-top: -4px;
  margin-bottom: -4px;
}

.inlineSpaced--optionInputs > * {
  margin-left: 10px;
  margin-right: 10px;
}

.inlineSpaced--optionInputs > * {
  margin-top: 4px;
  margin-bottom: 4px;
}

.inlineSpaced__child > *:first-child {
  margin-top: 0 !important;
}

.inlineSpaced__child > *:last-child {
  margin-bottom: 0 !important;
}

.color--bad {
  color: #c42a3b;
}

.color--good {
  color: #20b769;
}

.color--ok {
  color: #d8b62f;
}

.color--neutral {
  color: #808080;
}

.color--neutralBlue,
.color--link {
  color: #4AB3DA !important;
}

.flexRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.flexRow__flex {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

button.wide {
  min-width: 200px;
}

.scrollSideWrap__side {
  overflow: auto;
  background: #363A46;
}

@media only screen and (max-width: 900px) {
  .scrollSideWrap__side {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    background: #293040;
  }

  .scrollSideWrap__side .loggedInBlock {
    width: 240px;
  }

  .scrollSideWrap__side .sideBarMainContent {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  .scrollSideWrap__side .sideBarSection {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
  }

  .scrollSideWrap__side .sideBarSection + .sideBarSection {
    padding-top: 0;
  }

  .scrollSideWrap__side .sideBarSection__content {
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media only screen and (max-width: 900px) {
  .sideBarFilterFields {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
    flex-direction: row;
    margin: 0 -6px;
  }

  .sideBarFilterFields > * {
    padding: 0 6px;
  }

  .sideBarFilterFields > * {
    width: 50%;
  }
}

.scrollSideWrap__main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding: 20px;
  background: #EFF1F2;
}

.loggedInBlock {
  background: #9768EB;
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 11px;
  padding-bottom: 21px;
}

.loggedInBlock__name {
  margin: 0 0 7px;
  color: #fff;
  font-size: 26px;
  font-weight: 500;
}

.loggedInMenu__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  cursor: default;
}

.loggedInMenu__trigger__img img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: block;
}

.loggedInMenu__trigger__name {
  color: #fff;
  padding-left: 10px;
  font-weight: 600;
  font-size: 14px;
}

.loggedInMenu__trigger__icon {
  display: block;
  color: #fff;
  font-size: 6px;
  padding: 6px 0 0 5px;
}

.sideBarSection {
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
}

.sideBarSection--dark {
  background: #293040;
}

@media only screen and (max-width: 900px) {
  .sideBarSection__header {
    width: 110px;
  }
}

.sideBarSection__header__title {
  font-size: 20px;
  font-weight: 500;
}

.blockContent > *:first-child {
  margin-top: 0 !important;
}

.blockContent > *:last-child {
  margin-bottom: 0 !important;
}

.openField {
  display: block;
  width: 100%;
  height: 36px;
  border-radius: 4px;
  background: #F4F4F4;
  font-size: 14px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.openField > *:first-child {
  padding-left: 12px;
}

.openField > *:last-child {
  padding-right: 12px;
}

.openField input {
  padding: 5px 0;
}

.openFieldTall_btn {
  max-height: 46px;
  min-height: 46px;
  height: 46px;
}

.openField--rounded {
  border-radius: 20px;
}

.openField--rounded > *:first-child {
  padding-left: 20px;
}

.openField--rounded > *:last-child {
  padding-right: 20px;
}

.openField--darker input {
  color: #75787B;
}

.openField--darker input::-webkit-input-placeholder {
  color: #AAABAF;
}

.openField--darker input:-moz-placeholder {
  color: #AAABAF;
}

.openField--darker input::-moz-placeholder {
  color: #AAABAF;
}

.openField--darker input:-ms-input-placeholder {
  color: #AAABAF;
}

.openField--darker .openFieldSelect__trigger .text {
  color: #75787B;
}

.openField--darker .openFieldSelect__trigger .text.placeholder {
  color: #AAABAF;
  opacity: 1;
}

.openField--tall {
  height: 46px;
}

.openField--tall .openFieldSelect__trigger i {
  font-size: 8px;
  padding-top: 4px;
}

.openFieldSelect {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.openFieldSelect__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.openFieldSelect__trigger .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.openFieldSelect__trigger .text.placeholder {
  opacity: 0.38;
}

.openFieldSelect__trigger i {
  font-size: 6px;
  padding-left: 15px;
  opacity: 0.26;
}

.openFieldInput {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.openFieldInput > * + * {
  margin-left: 15px;
}

.openFieldInput input {
  min-width: 0;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: none;
  border: 0;
  font-size: inherit;
}

.openFieldInput .submitWrap {
  opacity: 0.36;
  cursor: pointer;
  -webkit-align-self: stretch;
  align-self: stretch;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.openFieldInput .submitWrap:hover {
  opacity: 1;
}

.openFieldInput .icon-search {
  font-size: 16px;
}

.openFieldSelect--dark {
  background: #51596F;
}

.openFieldInput--light {
  background: #fff;
}

.openFieldInput--dark {
  background: #41495C;
}

.openFieldInput--dark input {
  color: #fff;
}

.openFieldInput--dark input::-webkit-input-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input:-moz-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input::-moz-placeholder {
  opacity: 0.38;
}

.openFieldInput--dark input:-ms-input-placeholder {
  opacity: 0.38;
}

.darkSideLinks {
  margin: 50px -10px;
  padding: 0;
  list-style-type: none;
}

.darkSideLinks > li + li {
  margin-top: 5px;
}

.darkSideLinks a {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  background: #41495C;
  color: #fff;
  padding: 10px 17px;
  text-decoration: none;
  border-left: 5px solid transparent;
}

.darkSideLinks a.active {
  border-left-color: #9768EB;
  background: #51596F;
}

.darkSideLinks a.active .num {
  color: #fff;
}

.darkSideLinks .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-size: 16px;
}

.darkSideLinks .num {
  color: #707C97;
  font-size: 13px;
  font-weight: 700;
  padding-left: 15px;
}

.pageSectionBlock {
  position: relative;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  border-top: 5px solid #9768EB;
}

.pageSectionBlock__header {
  padding: 10px 15px 30px;
  border-bottom: 1px solid #EEEEEE;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.pageSectionBlock__header > * + * {
  padding-left: 15px;
}

.pageSectionBlock_preHeader {
  margin: 0 0 10px;
}

.actionsBar {
  padding: 8px 15px 8px 8px;
}

button.primary.small {
  font-size: 15px;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
  max-height: none;
  min-height: 0;
  height: 41px;
  padding: 0 14px;
  border-radius: 4px;
}

.btnIcon {
  vertical-align: middle;
  display: inline-block;
  font-size: 20px;
}

.btnIcon.icon-add-team {
  font-size: 20px;
}

.btnIcon.icon-add-person {
  font-size: 20px;
}

.btnIcon.icon-add-practitioner {
  font-size: 20px;
}

.btnIcon--left {
  padding-right: 10px;
}

.iconTextLink {
  white-space: nowrap;
  color: #9768EB;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}

.iconTextLink i {
  padding-right: 5px;
}

.pageSection + .pageSection {
  margin-top: 30px;
}

.tableFiltersWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  margin: 0 0 10px;
}

.tableFiltersWrap__main {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.tableFiltersWrap__side {
  padding-left: 15px;
  width: 25%;
  min-width: 180px;
}

.paginationInfo {
  font-size: 13px;
  color: #75787B;
}

.compactPagination {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.compactPagination > div {
  display: block;
  cursor: pointer;
  vertical-align: top;
  width: 31px;
  text-align: center;
  background: #9768EB;
  border-radius: 4px;
  opacity: 0.4;
}

.compactPagination > div + * {
  margin-left: 1px;
}

.compactPagination > div:hover {
  opacity: 1;
}

.compactPagination > div:first-child {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.compactPagination > div:last-child {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.compactPagination i {
  position: relative;
  top: -1px;
  display: inline-block;
  color: #fff;
  font-size: 22px;
  line-height: 28px;
  vertical-align: top;
}

.dropdown-wrapper.dropdown-wrapper--inline {
  display: inline-block;
}

.dropdown-wrapper.dropdown-wrapper--inline .trigger {
  border: 0;
  line-height: inherit;
}

.dropdown-wrapper.dropdown-wrapper--inline .trigger .icon-caret-dropdown {
  padding-left: 4px;
  padding-right: 4px;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu {
  background: #fff;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu li {
  min-width: 0;
  padding: 5px;
}

.dropdown-wrapper.dropdown-wrapper--inline > .submenu-wrapper > .submenu-content > .submenu li > span > span {
  padding-right: 0;
}

.icon--flip {
  display: inline-block;
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.sortedTableHeader {
  cursor: pointer;
}

.sortedTableHeader.sorted,
.sortedTableHeader:hover {
  background: #F7F7F7;
}

.sortIconWrap {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  height: 16px;
  width: 9px;
  margin-left: 3px;
}

.sortIconWrap:before,
.sortIconWrap:after {
  height: 0;
  width: 0;
  content: " ";
  display: block;
  position: absolute;
  left: 0;
  border-style: solid;
  border-color: transparent;
  border-top-width: 6px;
  border-bottom-width: 6px;
  border-left-width: 4px;
  border-right-width: 4px;
}

.sortIconWrap:before {
  border-bottom-color: #D8D8D8;
  top: -5px;
}

.sortIconWrap:after {
  border-top-color: #D8D8D8;
  bottom: -5px;
}

.sortedTableHeader--desc .sortIconWrap:before {
  display: none;
}

.sortedTableHeader--desc .sortIconWrap:after {
  border-top-color: #787B7E;
}

.sortedTableHeader--asc .sortIconWrap:before {
  border-bottom-color: #787B7E;
}

.sortedTableHeader--asc .sortIconWrap:after {
  display: none;
}

.actionIcon {
  font-size: 140%;
  color: #9768EB;
  cursor: pointer;
}

.actionIcon.icon-letter {
  font-size: 100%;
}

.actionIcon.icon-launch {
  font-size: 192%;
}

.iconActiveCheck {
  font-size: 110%;
  color: #DBDBDB;
}

.iconActiveCheck--active {
  color: #20b769;
}

.inlinePersonBadge {
  font-size: 100%;
  padding-left: 1px;
}

@media only screen and (min-width: 1054px) {
  .altTable tr > * {
    padding-left: 10px;
    padding-right: 10px;
  }

  .altTable tr > *:first-child {
    padding-left: 20px;
  }

  .altTable tr > *:last-child {
    padding-right: 20px;
  }

  .altTable__row {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 1053px) {
  .altTable tr > * {
    padding-left: 4px;
    padding-right: 4px;
  }

  .altTable tr > *:first-child {
    padding-left: 8px;
  }

  .altTable tr > *:last-child {
    padding-right: 8px;
  }

  .altTable__row {
    padding-left: 8px;
    padding-right: 8px;
  }
}

.altTable__innerWrap {
  color: #75787B;
  font-size: 13px;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

@media only screen and (max-width: 1053px) {
  .altTable__innerWrap {
    font-size: 12px;
  }
}

.altTable table {
  border-collapse: collapse;
  width: 100%;
  font-size: inherit;
}

.altTable tr > * {
  text-align: center;
  vertical-align: middle;
}

.altTable tr > *:first-child {
  text-align: left;
}

.altTable tr th {
  border-bottom: 1px solid #CFCFCF;
  font-weight: 600;
  padding-top: 14px;
  padding-bottom: 14px;
}

.altTable tr td {
  border-bottom: 1px solid #EEEEEE;
  padding-top: 12px;
  padding-bottom: 12px;
}

.altTable__simpleHeader {
  margin: 0 0 15px;
  color: #75787B;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 13px;
  font-weight: bold;
}

.altTable__footerBar {
  text-align: center;
  padding-top: 10px;
  padding-bottom: 10px;
}

.btn {
  display: inline-block;
  white-space: nowrap;
  cursor: pointer;
  text-align: center;
}

.shortWideBtn {
  min-width: 167px;
  line-height: 24px;
  border: 1px solid #9768EB;
  padding: 0 15px;
  font-weight: 500;
  font-size: 13px;
  color: #9768EB;
  border-radius: 3px;
}

.td--name {
  font-weight: 600;
}

.siteHeaderBar__logoGroup {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: stretch;
  align-items: stretch;
}

.siteHeaderBar__logoGroup > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  padding: 15px 20px;
}

.siteHeaderBar__logoGroup > div + div {
  border-left: 1px solid #C8C9C9;
}

.siteHeaderBar__actions {
  padding-right: 20px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.logo--fusSmall {
  width: 119px;
}

.textLink {
  color: #9768EB;
  cursor: pointer;
  font-size: 13px;
}

.textLink--bump {
  font-size: 18px;
}

.backBtn {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  vertical-align: middle;
  width: 45px;
  height: 39px;
  text-align: center;
  background: #9768EB;
  color: #fff;
  font-size: 15px;
  border-radius: 3px;
  cursor: pointer;
}

.flexForm fieldset {
  border: 0;
  margin: 0;
  padding: 12px 0;
}

.flexForm fieldset + fieldset {
  border-top: 1px solid #EFEFF0;
}

.flexFormFooter {
  border-top: 1px solid #EFEFF0;
  padding: 20px 12px;
  text-align: center;
}

.flexFormRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  padding: 0 12px;
  min-height: 46px;
}

.flexFormRow + .flexFormRow {
  margin-top: 12px;
}

.flexFormRow--largeSection {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding-top: 12px;
  padding-bottom: 12px;
}

.flexFormRow--largeSection .flexFormRow__labelCol {
  padding-top: 12px;
}

.flexFormRow__labelCol {
  min-height: 1px;
  width: 182px;
  text-align: right;
  font-size: 13px;
  color: #6C6D6C;
  padding-right: 27px;
}

.flexFormRow__fieldsCol {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.fieldsRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 0 -6px;
}

.fieldsRow > * {
  padding: 0 6px;
}

.fieldsRow--compressed {
  max-width: 500px;
}

.fieldsRow--twoCol > * {
  width: 50%;
}

.fieldsRow--threeCol > * {
  width: 33.33%;
}

.fieldsRow--fourCol > * {
  width: 25%;
}

.iconLabel {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.iconLabel i {
  font-size: 18px;
  color: #AC9EA5;
}

.iconLabel span {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  padding-left: 15px;
}

.uploadBlock {
  max-width: 390px;
  background: #F5F5F5;
  border-radius: 4px;
  padding: 20px 15px 20px 20px;
}

.inputInnerLabel {
  color: #AAABAF;
}

.collapsed__defaultElement {
  display: none;
}

.collapsed .collapsed__defaultElement {
  display: block;
}

.collapsed .collapsed__altElement {
  display: none;
}

.togglerBar {
  padding: 12px 17px;
  background: #F4F4F4;
  border-radius: 4px;
}

.togglerBar + .togglerBar {
  margin-top: 8px;
}

.togglerBar.collapsed .togglerBar__content {
  display: none;
}

.togglerBar__trigger {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.togglerBar__trigger__allToggleInput {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.togglerBar__trigger__icon {
  color: #9768EB;
  font-size: 11px;
  cursor: pointer;
  padding: 5px;
}

.togglerBar__content {
  padding: 24px 0 0;
}

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

.inputOptionsTree ul {
  list-style: none;
  margin: 0 0 0 30px;
  padding: 0;
}

.inputOptionsTree li + li,
.inputOptionsTree label + ul {
  margin-top: 8px;
}

.inputOptionsTree > li > label span {
  font-weight: 700;
}

.inputOptionsTree > li > ul {
  margin-bottom: 24px;
}

.inputOptionsTree > li > ul > li > ul {
  margin-bottom: 18px;
}

.columnsList {
  list-style: none;
  margin: 30px 0;
  padding: 0;
}

.columnsList > li {
  margin-bottom: 11px;
}

.columnsList--4 {
  -webkit-column-count: 4;
  -moz-column-count: 4;
  column-count: 4;
}

.closableButton {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  background: #E9F0F2;
  border-radius: 5px;
  padding: 8px 16px;
  color: #75787B;
}

.closableButton span {
  white-space: nowrap;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.9px;
}

.closableButton i {
  margin-left: 7px;
  padding: 3px 0;
  cursor: pointer;
  font-size: 18px;
}

label.checkbox-input span,
label.radio-input span {
  font-size: 13px;
  color: #75777A;
}

.responsiveShow {
  display: none;
}

@media only screen and (max-width: 900px) {
  .responsiveShow--smDown {
    display: block;
  }
}

.iconColCell {
  width: 20px;
}

.iconColCell .icon-edit {
  position: relative;
  top: -2px;
}

.openFieldWidth--max100 {
  max-width: 100%;
}

.openFieldWidth--small {
  width: 52px;
}

.openFieldWidth--medium {
  width: 148px;
}

.openFieldWidth--rpe {
  width: 200px;
}

.cellWidth--trainingLoad {
  width: 132px;
}

.scoreNum {
  font-weight: 500;
  font-size: 18px;
}

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

.tlFiltersHeader {
  padding: 15px 15px;
}

.tlFiltersHeaderMain {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.tlFiltersHeaderMain > * + * {
  padding-left: 15px;
}

.flTable tr > * {
  text-align: left;
  padding-right: 0;
  padding-left: 0;
}

.flTable tr > * + * {
  padding-left: 15px;
}

.flTable tr > *:first-child {
  padding-left: 15px;
}

.flTable tr > *:last-child {
  padding-right: 15px;
}

.flTable .proccessArrow {
  margin-right: -15px;
}

.flTableColWidth {
  box-sizing: content-box;
}

@media only screen and (min-width: 1054px) {
  .flTableColWidth--title {
    width: 300px;
  }

  .flTableColWidth--session {
    width: 300px;
  }
}

.flTableColWidth--durationTarget {
  width: auto;
}

.smallFieldLabel {
  padding: 0 0 7px;
  font-size: 14px;
  color: #75787B;
}

.tlFiltersHeaderSide {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.numName {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 18px;
}

.numName__num {
  opacity: 0.4;
}

.numName__name {
  padding-left: 15px;
}

.numName--light {
  color: #75777A;
}

.openField--medium {
  height: 39px;
}

.selectBar {
  background: #9768EB;
  color: #fff;
  font-size: 15px;
  border-radius: 4px;
  padding: 9px 15px;
  line-height: 21px;
}

.selectBar.tall {
  padding: 12.5px 15px;
}

.selectBar i {
  display: none;
  padding-left: 5px;
  font-size: 11px;
}

.selectBar.isSelected {
  background: #F4F4F4;
  color: #C7CBCE;
}

.selectBar.isSelected i {
  display: inline;
}

.submenu__numTextWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  font-size: 13px;
}

.submenu__numTextWrap .num {
  box-sizing: content-box;
  font-weight: 700;
  color: #6C6D6C;
  width: 15px;
  padding-right: 5px;
}

.submenu__numTextWrap .text {
  font-weight: 400;
  text-transform: none;
}

.contentWithProcessArrowWrap {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.contentWithProcessArrowWrap > *:first-child {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.contentWithProcessArrowWrap .proccessArrow {
  text-align: center;
  width: 40px;
  color: #EFF1F2;
  font-size: 15px;
}

@media only screen and (min-width: 1054px) {
  .contentWithProcessArrowWrap .proccessArrow {
    width: 100px;
  }
}

.openFieldSelect__trigger .icon-target {
  font-size: 19px;
  color: #AAABAF;
  padding-right: 8px;
}

.TL-Duration input:invalid {
  border: 1px solid #CC0000;
  border-radius: 4px;
  height: 100%;
  background: #FFCCCC;
}

.backToLink {
  margin: 0 0 20px;
  display: inline-block;
  color: #9768EB;
  cursor: pointer;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.backToLink i {
  font-size: 15px;
  display: block;
}

.backToLink .text {
  display: block;
  font-weight: 700;
  font-size: 13px;
  text-transform: uppercase;
  padding-left: 10px;
}

.compactFormStack > * + * {
  margin-top: 10px;
}

.inlineOverlayWrap {
  position: relative;
}

.inlineOverlay {
  position: absolute;
  z-index: 10;
  top: calc(100% - 15px);
  left: 50%;
  transform: translate(-50%, 0);
  background: #fff;
  width: 377px;
  max-width: calc(100% - 30px);
  padding: 15px;
  border: 1px solid #EEEEEE;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.13);
  border-radius: 4px;
}

.inlineOverlay__triangle {
  position: absolute;
  top: 3px;
  left: 50%;
  transform: translate(-50%, -100%);
  width: 29px;
  height: 17px;
  background: url(../images/overlay-triangle.png) center center no-repeat;
  background-size: contain;
}

.inlineOverlay__close {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 17px;
  color: #9768EB;
  cursor: pointer;
}

.inlineOverlay__title {
  margin: 0 0 20px;
  padding: 0 30px;
  font-size: 18px;
  font-weight: 500;
  color: #75787B;
  text-align: center;
}

.chart-date-header + .dlRow {
  margin: 10px 0 20px;
}

.dlRow {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.dlRow + .chart-date-header {
  margin-top: 30px;
}

.dlRow + .dlRow {
  margin-top: 20px;
}

.dlItem__label {
  font-weight: 500;
  color: #75777A;
  font-size: 14px;
}

.dlItem__num {
  font-weight: 100;
  font-size: 30px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.dlItem__num .scoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 8px;
}

.menu-pointer {
  cursor: pointer;
}

.weeklyScoreChangeIcon {
  font-size: 7px;
  vertical-align: middle;
  padding-right: 4px;
  margin-right: 4px;
}

.profileTLChangeIcon {
  font-size: 10px;
  vertical-align: middle;
  padding-right: 1px;
  padding-bottom: 3px;
}

.review-container .review-tabs + div {
  padding-top: 10px;
  border-top: 1px solid #0af;
}

.review-container .review-frame {
  display: flex;
  align-items: center;
  flex: 0.95;
  padding-left: 5px;
  min-height: 40px;
  font-size: 20px;
  border-bottom: solid 1px #c0c0c0;
  cursor: pointer;
}

.review-container .review-frame.error {
  font-size: 18px;
  font-weight: normal;
  color: #222;
  cursor: not-allowed;
}

.review-container .review-frame i.fa.fa-trash {
  color: #c0c0c0;
}

.review-container .review-frame i.fa.fa-trash:hover {
  color: #990000;
}

.review-container .review-frame img {
  max-width: 18px;
}

.review-container input[type=radio] {
  display: none;
}

.review-container input[type=radio]:checked + label {
  color: #0af;
  border: 1px solid #abc;
  border-top: 2px solid #0af;
  border-bottom: 1px solid #fff;
}

.review-container label[for*="Keypoints"],
.review-container label[for*="Reps"],
.review-container label[for*="Compensations"] {
  display: inline-block;
  margin: 0 0 -1px;
  padding: 10px 25px;
  font-size: 16px;
  text-align: center;
  color: #abc;
  border: 1px solid transparent;
}

.review-container label[for*="Keypoints"]:before,
.review-container label[for*="Reps"]:before,
.review-container label[for*="Compensations"]:before {
  font-family: fontawesome;
  font-weight: normal;
  margin-right: 10px;
}

.review-container label[for*="Keypoints"]:hover,
.review-container label[for*="Reps"]:hover,
.review-container label[for*="Compensations"]:hover {
  color: #789;
  cursor: pointer;
}

.review-container label[for*="Keypoints"]:before {
  content: '\F192';
}

.review-container label[for*="Reps"]:before {
  content: '\F0CB';
}

.review-container label[for*="Compensations"]:before {
  content: '\F1FE';
}

.review-container .comps input {
  display: none;
}

.review-container .comps label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
}

.review-container .comps label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

.review-container .comps label.hard {
  background-color: purple;
  border-color: purple;
}

.review-container .comps label.edge {
  background-color: #abc;
  border-color: #abc;
}

.assessment-container {
  margin-bottom: 40px;
}

.assessment-container a {
  text-decoration: none;
  color: #9768EB;
  cursor: pointer;
}

.assessment-container a:hover {
  text-decoration: underline;
}

.assessment-container.more {
  margin-top: 20px;
}

.assessment-container.more > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.assessment-container.info-only {
  margin-top: 60px;
}

.assessment-container.info-only > .list-container > div:not(.scroll-container) {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: 20px;
}

.assessment-container.info-only > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 40px;
  font-size: 16px;
  text-indent: 10px;
  text-transform: uppercase;
  border-bottom: 1px solid #c9c9c9;
}

.assessment-container > .list-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin: 30px 0;
}

.assessment-container > .list-container > div:not(.scroll-container) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.assessment-container > .list-container > div:not(.scroll-container) span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-width: 140px;
  max-width: 140px;
  padding: 0 4px;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info > a > span {
  cursor: pointer;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info.action {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  min-width: 60px;
}

.assessment-container > .list-container > div:not(.scroll-container) .list-info.action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container > .list-container > div:not(.scroll-container).header-row {
  min-height: 40px;
}

.assessment-container > .list-container > div:not(.scroll-container).header-row span {
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: default;
}

.assessment-container > .list-container > .scroll-container {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.assessment-container > .list-container > .scroll-container > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-right: 5px;
  min-height: 50px;
  border-bottom: 1px solid #ccc;
}

.assessment-container > .list-container > .scroll-container > div span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: default;
}

.assessment-container > .list-container > .scroll-container > div .list-info {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  min-width: 140px;
  max-width: 140px;
  padding: 0 4px;
}

.assessment-container > .list-container > .scroll-container > div .list-info.action {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  min-width: 60px;
}

.assessment-container > .list-container > .scroll-container > div .list-info.action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container > .no-data {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 250px;
  font-size: 20px;
}

.assessment-container .info-column {
  margin-right: 25px;
  min-width: 240px;
}

.assessment-container .info-column > .info-container {
  padding: 8px;
  border: 1px solid #c0c0c0;
}

.assessment-container .info-column > .info-container > .banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 8px 0px;
  min-height: 35px;
  background-color: #dcdcdc;
}

.assessment-container .info-column > .info-container > div:not(.banner) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
}

.assessment-container .info-column > .info-container > div:not(.banner) > div:first-of-type {
  min-width: 100px;
}

.assessment-container .info-column > .info-container > div:not(.banner) > div:last-of-type {
  max-width: 120px;
}

.assessment-container .info-column > .info-container > div:not(.banner).state-info {
  -webkit-align-items: flex-start;
  align-items: flex-start;
}

.assessment-container .info-column .info-container + .info-container {
  margin-top: 30px;
}

.assessment-container .media-column {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.assessment-container .video-column {
  position: relative;
  margin-bottom: 25px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.assessment-container .video-column > video,
.assessment-container .video-column > canvas {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 160px);
  width: auto;
  height: auto;
}

.assessment-container .video-column .video-play-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  cursor: pointer;
}

.assessment-container .video-column .video-play-overlay.is-hidden {
  display: none;
}

.assessment-container .video-column .video-play-overlay i {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  padding-left: 6px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-size: 38px;
  opacity: 0.9;
}

.assessment-container .detail-column {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.assessment-container .detail-column > div:first-of-type {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.assessment-container .detail-column > div:first-of-type > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 5px;
}

.assessment-container .detail-column > div:first-of-type > div.header {
  font-weight: 600;
}

.assessment-container .detail-column > div:first-of-type > div.header .name ~ div {
  min-width: 80px;
  text-align: center;
}

.assessment-container .detail-column > div:first-of-type > div.items {
  min-height: 50px;
  border-top: 1px solid #dadada;
}

.assessment-container .detail-column .exercise-list > .name {
  -webkit-flex: 0.6;
  -ms-flex: 0.6;
  flex: 0.6;
  cursor: pointer;
}

.assessment-container .detail-column .exercise-list > .status {
  -webkit-flex: 0.4;
  -ms-flex: 0.4;
  flex: 0.4;
  text-align: center;
}

.assessment-container .detail-column .exercise-list > .action {
  -webkit-justify-content: center;
  justify-content: center;
  min-width: 100px;
}

.assessment-container .detail-column .exercise-list > .action > button {
  min-height: 35px;
  max-height: 35px;
  padding: 0;
}

.assessment-container .detail-column .measurement-list > .name {
  min-width: 300px;
  max-width: 300px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.assessment-container .detail-column .measurement-list .name ~ div {
  margin-left: 5px;
}

.assessment-container .detail-column .measurement-list input[type=checkbox] {
  display: none;
}

.assessment-container .detail-column .measurement-list label {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  background-color: #00B96D;
  border: 1px solid #00B96D;
  border-radius: 5px;
  min-width: 80px;
  line-height: 35px;
  color: #ffffff;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
}

.assessment-container .detail-column .measurement-list label.inactive {
  cursor: not-allowed;
}

.assessment-container .detail-column .measurement-list label.inactive:not(.found) {
  background-color: #c0c0c0;
  border-color: #c0c0c0;
}

.assessment-container .detail-column .measurement-list label.found {
  background-color: #D1404B;
  border-color: #D1404B;
}

.assessment-container .detail-column .exercise-status {
  margin-top: 20px;
}

.assessment-container .detail-column .exercise-status > div {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  min-height: 52px;
  background-color: #c0c0c0;
  border: 1px solid #dadada;
}

.assessment-container .detail-column .exercise-status > div.pending {
  background-color: #00b96d;
}

.assessment-container .detail-column .exercise-status > div .text {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  padding-left: 10px;
  font-size: 16px;
}

.assessment-container .detail-column .exercise-status > div .text.manual {
  color: #fefefe;
}

.assessment-container .detail-column .exercise-status > div .text.pending {
  color: #efefef;
}

.assessment-container .detail-column .exercise-status > div .text.complete {
  color: #2d6b1d;
}

.assessment-container .detail-column .exercise-status > div .text.aborted {
  color: #2d1818;
}

.assessment-container .detail-column .exercise-status > div .button {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.assessment-container .detail-column .exercise-status > div .button > button {
  min-height: 40px;
  max-height: 40px;
}

.assessment-container .detail-column .measurement-save {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  margin: 20px 0;
}

.assessment-container .detail-column .measurement-save > button {
  min-width: 130px;
  text-transform: uppercase;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvc3JjL3Nhc3MvZnVzaW9uZXRpY3MtYW5ndWxhci1wcm90b3R5cGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYmFzZS5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9tZW51LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX2xpc3Quc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfZ3JpZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZmlsZV9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3JhbV9jYXRhbG9nLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fZWRpdC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fd2hpdGVib2FyZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhbGVuZGFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2hhcnRpbmcuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19ub3Rlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RpbWVfcGlja2VyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdG9vbHRpcC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3VwbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19leGVyY2lzZV9uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2F0YWxvZ19uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9naW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9wcm9maWxlX2Zvcm0uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbW9kYWxfYXRobGV0ZV9lZGl0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsX3NlbGVjdF9hdGhsZXRlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlcm1zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluX21haW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9yZXN1bHRzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2xpbmljYWxfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wZXJmb3JtX3Rlc3RzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3Jlc3NfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9hcmNoaXZlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2hlYWRlci5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19yZXNwb25zaXZlbmVzc190d2Vha3Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9ncmFtX2NhbGVuZGFycy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYWRtaW4yX21pc2Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluMl9zaWRlYmFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zMi5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19hZG1pbjJfdGFibGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RlYW0tdGwuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3JlcG9ydHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYXNzZXNzbWVudC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Jhc2VcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2FkaW5nXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9tZW51XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbGlzdFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZGFzaGJvYXJkX2dyaWRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9hdGhsZXRlXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9maWxlX2F0aGxldGVcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fY2F0YWxvZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9lZGl0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX3doaXRlYm9hcmRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2NhbGVuZGFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jaGFydGluZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbm90ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3RpbWVfcGlja2VyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90b29sdGlwXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS91cGxvYWRpbmdcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZXhlcmNpc2VfbmF2XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jYXRhbG9nX25hdlwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2dpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbW9kYWxfcHJvZmlsZV9mb3JtXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbF9hdGhsZXRlX2VkaXRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsX3NlbGVjdF9hdGhsZXRlc1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVybXNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW5fbWFpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVzdF9yZXN1bHRzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jbGluaWNhbF9yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wZXJmb3JtX3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmVzc19yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RfYXJjaGl2ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2hlYWRlclwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9yZXNwb25zaXZlbmVzc190d2Vha3NcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9jYWxlbmRhcnNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW4yX21pc2NcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2FkbWluMl9zaWRlYmFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9hZG1pbjJfdGFibGVcIjtcblxuXG4vLyB0aGlzIGlzIG5ldy4uLlxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVhbS10bFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcmVwb3J0c1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYXNzZXNzbWVudFwiOyIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICBAaW5jbHVkZSB1c2VyLXNlbGVjdChub25lKTtcbn1cblxuaHRtbCB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJi5kYXJrcm9vbTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuNyk7XG4gIH1cblxuICAuZGFya3Jvb20tYmFubmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICA+IC5iYW5uZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjgwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAmW3R5cGU9J3RleHQnXSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxuXG4gICZbdHlwZT0ncGFzc3dvcmQnXSB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDNweDtcbiAgfVxuXG4gICYucmVxdWlyZWQge1xuICAgIGNvbG9yOiAjZmYwMDAwO1xuICB9XG59XG5cbmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNnB4KTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAycHggc29saWQgJGJsdWU7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICYuc2hvcnQge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICB9XG5cbiAgJi5zbWFsbCB7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICB9XG5cbiAgJi5tZWRpdW0ge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTUwcHgpO1xuICB9XG5cbiAgJi5wcmltYXJ5LCAmLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG4gIFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgICBib3JkZXItY29sb3I6ICNjZGNkY2Q7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJi5yZXN1bWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMTQwNEI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuYnV0dG9uICsgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLmlucHV0LWNoZWNrYm94IHtcbiAgY29sb3I6ICRibHVlO1xuICBmb250LXNpemU6IDIwcHg7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjZGNkY2Q7XG4gIH1cbn1cblxuLmZvb3Rlci1jb250ZW50IHtcbiAgLypcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAqL1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMUUxRTY7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGNvbG9yOiAjMzIyNTRGO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzk3NjhFQjtcbiAgfVxufVxuXG5bbmdcXDpjbG9ha10sIFtuZy1jbG9ha10sIC5uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1jb250ZW50IHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoaW5pdGlhbCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDkwcHgpO1xuXG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg5MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE0MHB4KTtcbiAgfVxuXG4gIC53aGl0ZS1maWVsZCB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuXG4gICAgaS5pY29uLXNob3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweCAzMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogLTFweCA4cHggMHB4IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LWF0aGxldGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDI1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWVudS1jb250ZW50IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG4gICYucmVzcC1tZW51IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmJvZHktY29udGVudCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnJlZC1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogI2M0MmEzYjsgIH1cbi55ZWxsb3ctYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICNkZmMwM2Y7IH1cbi5ncmVlbi1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzIwYjc2OTsgfVxuLmJsdWUtdGV4dCB7IGNvbG9yOiAjOTc2OEVCOyB9XG4ucmVkLXRleHQgeyBjb2xvcjogI2M0MmEzYjsgfVxuLmdyZXktdGV4dCB7IGNvbG9yOiAjODA4MDgwOyB9XG4ubGlnaHQtZ3JleS10ZXh0IHsgY29sb3I6ICNhN2E3YTc7IH1cbi55ZWxsb3ctdGV4dCB7IGNvbG9yOiAjZGZjMDNmOyB9XG4uZ3JlZW4tdGV4dCB7IGNvbG9yOiAjMjBiNzY5OyB9XG5cbi53aGl0ZWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cblxuLmdyZXliZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5cbi5kcmtncmV5Ymcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYmx1ZWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcbn1cblxuLm1haW4tdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udmlldy1mbGV4IHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG59XG5cbi52aWV3LXN0YXRpYyB7XG4gIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xufVxuXG4udmlldy1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctc3RhY2sge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDI0cHgpO1xuXG4gICYuY2VudGVyZWQgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG4gICYubWlkZGxlIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IH1cblxuICAmLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAmLmNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4uY29sdW1uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgJi5mdWxsIHsgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7IH1cbiAgJi50b3AgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpOyB9XG4gICYuYm90dG9tIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7IH1cbiAgJi5jZW50ZXIgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5taWRkbGUgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyB9XG4gICYuZGl2aWRlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyB9XG4gICYuc3BhY2VkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYXJvdW5kKTsgfVxuICAmLnN0YXJ0IHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG59XG5cbi5yb3ctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAmLmZ1bGwgeyBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTsgfVxuICAmLnRvcCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IH1cbiAgJi5ib3R0b20geyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTsgfVxuICAmLmNlbnRlciB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5zcGFjZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpOyB9XG4gICYuc3RhcnQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTsgfVxuICAmLmVuZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTsgfVxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIHJhbmdlIGlucHV0IGF0dGVtcHRcbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzk3NjhFQiksIGNvbG9yLXN0b3AoMCwgI2U4ZThlOCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDE2cHggMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tcy10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5NzY4RUI7XG4gICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjOTc2OEVCO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGJvcmRlcjogMC4ycHggc29saWQgI2U4ZThlODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogIzk3NjhFQjtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLmRhaWx5LWV4ZXJjaXNlIHtcbiAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyMHB4O1xuICBnYXA6IDEwcHg7XG4gIC5kYWlseS1leGVyY2lzZS1hY3Rpb25zIHtcbiAgICBtaW4td2lkdGg6IDU0cHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDU0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogNTRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5pbmZvIC5hdHRyaWJ1dGVzIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luOiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOTYsIDE5NiwgMTk2LCAuNyk7XG5cbiAgJi5uZy1lbnRlciwgJi5uZy1sZWF2ZSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgfVxuXG4gICYubmctZW50ZXIsICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUsICYubmctbGVhdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLm1vZGFsLXZpZXcge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5tb2RhbCB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAvLyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAtby10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuXG4gICAgJi5uZy1sZWF2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIH1cblxuICAgICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZy1lbnRlciB7XG4gICAgLm1vZGFsIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgIC5tb2RhbCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1hbmltYXRlLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg3NzBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiAubW9kYWwtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAuMTI1cyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG5cbiAgICAmLm5nLWxlYXZlIHtcbiAgICAgICYuc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICB9XG5cbiAgICAmLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSwgJi5uZy1oaWRlLWFkZCB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1lbnRlciwgJi5uZy1oaWRlLXJlbW92ZSB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1lbnRlci5uZy1lbnRlci1hY3RpdmUge1xuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJveC1zaGFkb3c6IDhweCA4cHggMjBweCAwcHggIzRhNGE0YTtcblxuICAmLmxhcmdlIHtcbiAgICB3aWR0aDogOTcwcHg7XG4gIH1cblxuICBoZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuXG4gICAgYnV0dG9uLmxpbmsge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgIGkubGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5jb25maXJtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGkuZmEge1xuICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjY2NjO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgfVxuXG4gIGZvb3RlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuXG4gICAgYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmxvYWRpbmctdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgIFxuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgLjUpO1xuXG4gIC5sb2FkaW5nLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuXG4gICAgLmZhLXNwaW5uZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXRobGV0ZS1zZWxlY3Rpb24ge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGNvbG9yOiAjY2JjYmNiO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICAuc3RhdHVzICB7XG4gICAgICAgIGNvbG9yOiAjOTc2OEVCO1xuICAgICAgfVxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG4gICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuc3RhdHVzIHtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2LnRlYW0tbmF2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLXdpZHRoOiA2NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG59XG5cblxuLmF0aGxldGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLmF0aGxldGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ4cHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aWR0aDogMTAwJTtcblxuICAuYXRobGV0ZS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIHdpZHRoOiAxNDBweDtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cblxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS10b2dnbGUtdmlldyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuXG4gICAgJiA+IGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtbW9iaWxlLWZpbHRlcnMtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmF0aGxldGUtZmlsdGVyLXNvcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MDBweDtcblxuICAgICYgPiAuYXRobGV0ZS1zb3J0LWJveCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDM1JTtcbiAgICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUycHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYxZjE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5vcHRpb25zLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNHB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zLWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5zb3J0LWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1jaXJjbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYubm90LWFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1zb3J0LWFzYyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZhLXNvcnQtZGVzYyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkge1xuICAgIC5hdGhsZXRlLW1lbnUge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIFxuICAgICAgLmF0aGxldGUtbW9iaWxlLWZpbHRlcnMtYnRuIHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuICAgICAgICBnYXA6IDdweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gIFxuICAgICAgLmF0aGxldGUtc2VhcmNoIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgfVxuICBcbiAgICAgIC5hdGhsZXRlLXRvZ2dsZS12aWV3IHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgXG4gICAgICAuYXRobGV0ZS1maWx0ZXItc29ydCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgXG4gICAgICAgICYubW9iaWxlLW9wZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICBcbiAgICAgICAgJiA+IC5hdGhsZXRlLXNvcnQtYm94IHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIGRpdi5sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDIwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgLmxhYmVsLXBsYWNlaG9sZGVyW2RhdGEtZmllbGQtbmFtZV0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmllbGQtbmFtZSkgJzonO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnQWxsJztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC5sYWJlbFtkYXRhLXNvcnQtdmFsdWVdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHghaW1wb3J0YW50O1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLWZpZWxkLW5hbWUpICc6JztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXNvcnQtdmFsdWUpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gIFxuICAgICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgLmF0aGxldGUtcmVzZXQtdmlldyB7XG4gICAgICAgIG9yZGVyOiA1O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5hdGhsZXRlLW1lbnUtLWZpbHRlcnMtb3BlbiB7XG4gICAgICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC5sYWJlbFtkYXRhLWZpZWxkLW5hbWVdOm5vdCgubGFiZWwtcGxhY2Vob2xkZXIpOm5vdChbZGF0YS1zb3J0LXZhbHVlXSk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtZmllbGQtbmFtZSkgJzonO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICB9XG5cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmF0aGxldGUtbGlzdC12aWV3IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgLmF0aGxldGUtbGlzdC1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmF0aGxldGUtaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXN0YXQge1xuICAgICAgQGluY2x1ZGUgZmxleCguNSk7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hdGhsZXRlLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUzcHgpO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBjb2xvcjogIzkzOTQ5NztcbiAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweFxuICAgIH1cblxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjUpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjI1cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWxhc3QtYWN0aXZpdHkge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmMGVmO1xuXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1sYXlvdXQtc2lkZSB7XG4gICAgQGluY2x1ZGUgZmxleCguMSk7XG4gIH1cbn1cblxuLmF0aGxldGUtZGFzaGJvYXJkIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICRkYXNoYm9hcmQtd2lkdGg6IDk5MHB4O1xuXG4gIC5hdGhsZXRlLWRhc2hib2FyZC1tZW51IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBtaW4taGVpZ2h0OiA4NXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB3aWR0aDogJGRhc2hib2FyZC13aWR0aDtcblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG5cbiAgICAgICAgJiA+IGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICRhdGhsZXRlRGFzaGJvYXJkR2FwOiAyMHB4O1xuICAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6ICRhdGhsZXRlRGFzaGJvYXJkR2FwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5hdGhsZXRlLWluZm8tYm94IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uLWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skYXRobGV0ZURhc2hib2FyZEdhcCAqIDJ9KSAvIDMpO1xuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtYWRkLXNsb3Qge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgYnV0dG9uIGkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWluZm8tYm94ID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbi5hdGhsZXRlLWRhc2hib2FyZC1hY3Rpb25zIHtcbiAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICAuYWN0aW9uLWljb24sIC5hY3Rpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGlvbi1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgICAuYWN0aW9uLXRleHQge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWluZm8tYm94IHtcblxuICAuYmlvLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojOTc2OEVCOztcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciArIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTcsMzgsNzUsLjg1KTtcbiAgICB9XG4gIH1cblxuICAuYmlvLWJvZHkge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAxIDEwMCUpO1xuICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgfVxuICAgIC5hdGhsZXRlLXByb2ZpbGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWF4LXdpZHRoOiAxMjBweDtcblxuICAgICAgLnByb2ZpbGUtcGljLXRodW1iIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXBpYyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGhlaWdodDogMTMwcHg7XG4gICAgICAgIC8vIG1hcmdpbjogNXB4IDEwcHggJGF0aGxldFByb2ZpbGVTdWJQaWNHYXA7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG5cblxuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1wb3NpdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XG4gICAgICB9XG5cbiAgICAgIC5hdGhsZXRlLXdlaWdodCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0cyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgLy8gcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAvLyBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAuYXRobGV0ZS1zY29yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1zY29yZS10bC1kYXRhIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgfVxuXG5cbiAgICAgIC50ZXN0LXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICAgIC50ZXN0LXNjb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iaW8tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MCUpO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNnB4O1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgICYuaWNvbi10ZXN0ICB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFODtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2ICsgZGl2IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0U4RThFODtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2ZpbGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbn1cblxuLm1lbnUtaXRlbSArIC5tZW51LWl0ZW0ge1xuICBtYXJnaW4tbGVmdDogNDVweDtcbn1cblxuLm1lbnUtaXRlbSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICBjb2xvcjogI2EwYTRhODtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAmLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICB9XG5cbiAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBzcGFuLm1hcmtlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTMwcHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ucHJvZmlsZS1kZXRhaWwge1xuICAmLnByb2ZpbGUtZGV0YWlsIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMjEwcHgpO1xuXG4gIC5kYXRhLWVtcGhhc2lzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnByb2ZpbGUtcGljIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNzVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMDBweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYuaW52aXNpYmxlIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kYXRhLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5wcm9maWxlLWRhdGEgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q5REFEOTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmdyb3VwLWljb24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLXNhdmUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4ucHJvZmlsZS1kYXRhLWNvbnRhaW5lci5tb2JpbGUtcHJvZmlsZS1kYXRhIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5wcm9maWxlLWdyb3VwLWNvbnRhaW5lci5tb2JpbGUtcHJvZmlsZS1ncm91cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5yZXNwLW1vbnRoLXZpZXcge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi5yZXNwLXNjb3JlLXRvZGF5IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGJvZHkgLnByb2ZpbGUtc3VtbWFyeSA+IC5yb3ctY29udGFpbmVyLmRpdmlkZWQucmVzcC1zY29yZS10b2RheSA+IGRpdiArIGRpdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgYm9keSAucHJvZmlsZS1zdW1tYXJ5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnByb2ZpbGUtc3VtbWFyeSB7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNzgwcHgpO1xuXG4gIC5tb2JpbGUtcGljIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAyMDAgLyAxNzU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAucHJvZmlsZS1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpdml0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgICY6bnRoLWNoaWxkKG4rMik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgbWFyZ2luOiAwIDlweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsdWUtdGV4dCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnNjb3JlLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5zY29yZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzgwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIC5wcm9maWxlLXNjb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDg1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMzBweCk7XG5cbiAgICAgICYubGFiZWwtb25seSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1zY29yZS1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICAucHJvZmlsZS1zY29yZS1uYW1lIHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjI1cHg7XG5cblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogI0FFQUVBRTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1zY29yZS1kYXRlIHtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGNvbG9yOiAjQUVBRUFFO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXNjb3JlLWdyYXBoLWNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMzMHB4KTtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtc2NvcmUtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgLnByb2ZpbGUtdGwtY2hhbmdlIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgXG4gICAgfVxuICB9XG5cbiAgLnRvZGF5LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC50b2RheS1wcm9ncmFtIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5pY29uLWNoZWNrYm94LWNoZWNrZWQgIHtcbiAgICAgIGNvbG9yOiAjQUZCMEFFO1xuICAgICAgJi5ibHVlLWNoZWNrIHtcbiAgICAgICAgY29sb3I6ICM5NzY4RUI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyYW0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAubGlnaHQtZ3JleS10ZXh0ICB7XG4gICAgICAgIGNvbG9yOiAjQUZCMUIzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b2RheS1ub3RpY2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm5vdGljZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgLy8gbW9yZSByZXNwb25zaXZlIHRvIG5vIGZpeCBoZWlnaHRzXG4gICAgICAvLyBhbmQgaW5zdGVhZCB1c2UgcGFkZGluZy9tYXJnaW5zLi5cbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuXG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnllbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZjMDNmO1xuXG4gICAgICAubm90aWNlIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWI3NGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtaXNjIHNlY3Rpb24gc3BhY2luZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnNwYWNlZC10b3AtbGFyZ2UgIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cbi5zcGFjZWQtYm90dG9tLW1lZGl1bSAge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuXG5cbi5idXJnZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMyZTJlMmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ubWVudS1tb2JpbGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lbnUtZGVza3RvcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tZW51LW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2MHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTBweCAwO1xuICB6LWluZGV4OiAxMDAwO1xuXG4gIC5tZW51LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICBtYXJnaW4tbGVmdDogMDsgLy8g0LLQsNC20LvQuNCy0L5cbiAgfVxufVxuXG4ubWVudS1kaXZpZGVyIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4vKiBNT0JJTEUgQlJFQUtQT0lOVCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5tZW51LWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5tZW51LW1vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwdnc7XG4gIH1cblxuICAucHJvZmlsZS1tZW51IHtcbiAgICB3aWR0aDogdW5zZXQhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LWhlaWdodDogNTlweDtcbiAgICBoZWlnaHQ6IDU5cHg7XG4gICAgbWluLWhlaWdodDogNTlweDtcbiAgfVxufVxuXG4uYXRobGV0ZS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDhweCAwIDRweDtcbiAgfVxuXG4gICZfX2J1cmdlciB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxuXG4gICZfX2Ryb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzFjMWMxYztcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJcbi5jYXRhbG9nLWZlYXR1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmNmY2Y7XG4gIGhlaWdodDogNDAwcHg7XG5cbiAgLmZlYXR1cmUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogdG9wO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYucnVubmluZy1tYW4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL3Byb2dyYW1fY2F0YWxvZ19iYWNrZ3JvdW5kLnBuZycpO1xuICAgICAgXG4gICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogODBweDtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgaDIsIC50aXRsZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBwLCAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG5cbiAgLm1hcmtlcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1hcmtlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luOiA2cHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTBweDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiYWVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCB7XG4gIHBhZGRpbmc6IDM1cHg7XG4gICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgfVxuXG4gIC50aXRsZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuXG4gICAgLnJldHVybi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLXJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIHdpZHRoOiAxMzBweDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuaW5mbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIH1cblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbi1yb3cge1xuICAgICAgZm9udC1zaXplOjEycHg7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zYW1wbGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgfVxuXG4gICAgICAudmlkZW8tbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC52aWRlby1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMzlweDtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjVweDtcbiAgICAgICAgbWluLWhlaWdodDogMjM5cHg7XG4gICAgICAgIC8vIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgLy8gfVxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLXNlbGVjdGVkIHtcbiAgcGFkZGluZzogMzVweDtcblxuICAudGl0bGUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICAucmV0dXJuLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tcm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiArIGRpdiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cblxuICAgICAgLmluZm8ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tcm93IHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIH1cblxuICAgICAgLnZpZGVvLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjM5cHg7XG4gICAgICAgIG1heC13aWR0aDogNDI1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICAvLyBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAvLyBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vIH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pc3NpbmctbWVkaWEge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgd2lkdGg6IDk5JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5leGVyY2lzZS1pbmZvLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleCgwIDAgNDAwcHgpO1xuICB9XG5cbiAgLnNhbXBsZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDM1MHB4KTtcblxuICAgIC5maWxlLWlucHV0LXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1maWVsZHMgIHtcbiAgICBcbiAgICAud2Vlay1zZWxlY3Rpb24ge1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzliZDdlYTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCAge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAycHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpbnB1dCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDNweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCArIGkuaWNvbi1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWhpc3Rvcnkge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWluLWhlaWdodDogMjc1cHg7XG5cbiAgLmxpbmstY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICBjb2xvcjogI2FhYTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIHNwYW4uYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vdGlmeS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgcGFkZGluZzogNXB4IDQwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDU1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB9XG5cbiAgICAgIC5tZXNzYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndhcm5pbmcge1xuICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2YzZDk1ZTsgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWMyNTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2U5ZDI1ZTsgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYjc0ZTtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxpc3Qge1xuICAgICYuc2Nyb2xsYWJsZS10YWJsZSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXG4gICAgLmxpc3Qtc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDAlKTtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAgIC5saXN0LXNjcm9sbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE3N3B4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAwcHg7XG5cbiAgICAgICAgLnNjaGVkdWxlLXByb2dyYW0ge1xuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgIGNvbG9yOiAjODg4O1xuICAgICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmhlYWRlciB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kYXRlLWNvbHVtbiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1jb2x1bW4ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2dyYW0taGVhZGVyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSk7XG59XG5cbi5wcm9ncmFtLWVkaXQtaGVhZGVyIHtcbiAgbWluLWhlaWdodDogODVweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xufVxuXG4ucHJvZ3JhbS10eXBlLXNlbGVjdGlvbiB7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gID4gLnR5cGUtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLnBpbGwge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZDogI0FGQjFCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuICA+IC50eXBlLWl0ZW0gKyAudHlwZS1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuICA+IC5jb3B5LWNvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn1cblxuLnByb2dyYW0tc2NoZWR1bGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEzMHB4KTtcbiAgfVxufVxuXG4ucHJvZ3JhbS1lZGl0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5wcm9ncmFtLXN0cmF0ZWd5IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIGkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMzBweCk7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSBhdXRvKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwIDE4MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciArIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLXRlY2huaXF1ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIC5jb3VudGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgLm5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBcbiAgICAgIC5pY29uLXBsdXMge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIH1cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tZXhlcmNpc2UtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBtYXJnaW46IDFweCAwO1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi5hY3RpdmUtaXRlbSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvZ3JhbS1ub3RlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogMFxuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLnNvcnQtaWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmF0dHJpYnV0ZXMge1xuICAgICAgICAgIGdhcDogNXB4IDI1cHg7XG4gICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxODBweCk7XG4gICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWVkaXQtZm9vdGVyIHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICBtYXJnaW46IDE1cHggMzBweDtcbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi53aGl0ZWJvYXJkIHtcbiAgbWluLXdpZHRoOiA2NDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJiA+IHNlY3Rpb24ge1xuICAgIG1hcmdpbjogMTVweCAzMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXNjaGVkdWxlIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLndoaXRlYm9hcmQtcHJvZ3JhbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHggMCAxNXB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXByb2dyYW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAxNXB4O1xuXG4gIC5uYW1lIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgfVxuXG4gIC5vcmlnaW4ge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLmVkaXQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlYm9hcmQtZGF0ZSB7XG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHRleHQtaW5kZW50OiA1cHg7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC5pbnB1dC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcblxuICAgICAgaS5mYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZS1kaXNhYmxlZCB7XG4gICAgLmlucHV0LWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLndlZWstbGlzdCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG5cbiAgLndlZWstaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAud2Vlay1jb3B5IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIH1cbn1cblxuLmRheS1saXN0IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIC5kYXktaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NSwgMTg3LCAyMzEsIDAuNSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuLmRheS1saXN0LXNjaGVkdWxlIHtcblxuICAuZGF5LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAuZGF5LWl0ZW0gKyAuZGF5LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcblxuICAmLmFjY2VwdC1kcm9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAuYWN0aW9uLXdpdGgtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmFtZSA+IGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTBweCk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24tcGxhY2Vob2xkZXIge1xuXG4gICYgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbjogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgc3Bhbi50ZXh0IHtcbiAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDg2cHg7XG5cbiAgJiA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luOiAycHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYWN0aXZlLWl0ZW0ge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgLmRyYWctaWNvbiB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWRkLWV4ZXJjaXNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI0NERDNENztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiAjQ0REM0Q3O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1ub3RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1leGVyY2lzZSB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgbWluLXdpZHRoOiAwXG4gICAgfVxuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC5hdHRyaWJ1dGVzIHtcbiAgICAgICAgZ2FwOiA1cHggMjVweDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYWNjZXB0LWRyb3AtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgLjUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG5cbiAgPiBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc29ydC1vcmRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkY2RjZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjRweDtcblxuICA+IHNwYW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zY2hlZHVsZS1zZWxlY3RlZC1hdGhsZXRlcyB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBzcGFuIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbiAgLmF0aGxldGUtbmFtZXMge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgLmF0aGxldGUtbmFtZXMtbW9yZSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnVsay1zY2hlZHVsZS1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNDdweDtcbiAgaSB7XG4gICAgY29sb3I6ICNEN0Q5REE7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNhbGVuZGFyLW1lbnUge1xuICBtYXJnaW46IDIwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgXG4gICAgQGluY2x1ZGUgbGFyZ2UtdGFicy1zdHlsZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsYXJnZS10YWJzLXNwYWNpbmc7XG4gIH1cbn1cblxuLmNhbGVuZGFyLXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhbGVuZGFyLW1vbnRoIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNjkwcHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDY5MHB4KTtcbiAgbWFyZ2luOiAxcHggMCAwOyBcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgIFxuICAgIC5mYSAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgICAgICBcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnllYXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHNlbGVjdC55ZWFyLXNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UobWVudWxpc3QpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xIDAgMCk7ICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7ICAgICAgICBcbiAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgY29sb3I6ICNEOURCREM7XG4gICAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgIGNvbG9yOiAjYzBjMGMwO1xuXG4gICAgJi5sZWZ0IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgICAgLmFjY2VwdC1kcm9wLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoOTcuNXB4KTtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2NjO1xuICAgIH1cblxuICAgIGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItZGF5cyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cbiAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4OyBcblxuICAgICAgJi5kYXktYWN0aXZpdGllcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMEI5NkQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGJsdWU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYucHJvZ3JhbS1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJi5lbXB0eSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgID4gLm1vbnRoLWFiYnJldiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktY29uY2VybiwgLmNhbGVuZGFyLWRheS1leGlzdGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LWNvbmNlcm4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LXNjaGVkdWxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbnB1dC1jdGwge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDI4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4MHB4KTtcbiAgICBib3gtc2hhZG93OiA2cHggNnB4IDE4cHggMHB4ICM0YTRhNGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJi5yaWdodCB7XG4gICAgICBsZWZ0OiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIGNvbG9yOiAjZGZkZmRmO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAyLjEyNzVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWRheXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYuZW1wdHkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtcmFuZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWY1ZmQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XG4gICAgICAgICAgICBjb2xvcjogIzhkOGQ4ZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZW1wdHkpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzAwcHgpO1xuICBcbiAgLmRheS1kYXRlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDM1cHggMCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgID4gLmljb24tY2FsZW5kYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cbiAgfVxuXG4gIC5kYXktcHJvZ3JhbSB7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOTVweCk7XG4gICAgXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC5saWdodC1ncmV5LXRleHQgIHtcbiAgICAgIGNvbG9yOiAjQTdBOEE3O1xuICAgIH1cblxuICAgICYuYWN0aW9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLndlZWstbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG59XG5cbi53ZWVrLXdyYXBwZXIge1xuICBwYWRkaW5nOiAwIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIG1pbi1oZWlnaHQ6IDQyNXB4O1xuICAvKiBoZWlnaHQ6IDQyNTsgKi9cblxuICAmLnNtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAyMjVweDtcbiAgICAvKiBoZWlnaHQ6IDIyNXB4OyAqL1xuICB9XG4gIFxuICAud2Vlay1idXR0b24tY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7ICAgICAgICAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuICAgICAgJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDogLTI1cHg7XG4gICAgICAuZmEtYW5nbGUtbGVmdCAge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDtcbiAgICAgIH1cbiAgICAgIC5mYS1hbmdsZS1yaWdodCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw7XG4gICAgICB9IFxuICAgIH0gICBcbiAgfVxuXG4gIC53ZWVrLWRheS1jb2x1bW4ge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuXG4gICAgLmRheS1udW1iZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICAud2Vlay1kYXktaW5mby1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC53ZWVrLWRheS1wcm9ncmFtIHtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgbWFyZ2luOiA0cHggMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGdhcDogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3Rpb24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgICB9XG5cbiAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgLmRheS1udW1iZXIge1xuICAgICAgICBjb2xvcjogIzgwODA4MDtcbiAgICAgIH1cblxuICAgICAgLndlZWstZGF5LWluZm8tY29udGFpbmVyIHtcbiAgICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLndlZWstZGF5LXByb2dyYW0ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAud2Vlay1kYXktcHJvZ3JhbS10aXRsZTpub3QoLmxpZ2h0LWdyZXktdGV4dCkge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC53ZWVrLWRheS1wcm9ncmFtLW5hbWU6bm90KC5saWdodC1ncmV5LXRleHQpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjODg4ODg4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY2hhcnQtbWVudSB7XG4gIG1hcmdpbjogNTBweCAwIDMwcHggMDtcblxuICAuY2hhcnQtbWVudS1pdGVtIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4ubGluZS1jaGFydCB7XG4gIG1hcmdpbjogMjVweCAwIDAgMDtcblxuICAubGluZS1jaGFydC1jYW52YXMge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjc1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NTBweCk7XG4gICAgfVxuICB9XG5cbiAgLmxpbmUtY2hhcnQtbWVudSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMjVweCAwO1xuICB9XG59XG5cbi5wcm9ncmFtLWNoYXJ0IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcbiAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAucHJvZ3JhbS1jb21wbGV0ZSB7XG4gICAgbWFyZ2luOiA1cHggMTVweDtcblxuICAgIC5wcm9ncmFtLWluZm8ge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAucHJvZ3JhbS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FudmFzIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiAzMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdGlvbi1jb21wb25lbnQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiAnPic7XG4gICAgZm9udDogNjAwIDEycHggJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDAgM3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoYXJ0LWxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgJiA+IC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAmLmF2ZXJhZ2Uge1xuICAgICAgY29sb3I6IHJnYmEoMjA3LCAyMTgsIDIyMCwgMC41KTtcbiAgICB9XG5cbiAgICAmLnNjb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDE4MiwgMjM1LCAwLjkpO1xuICAgIH1cblxuICAgICYudGVhbS1hdmVyYWdlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNzUpO1xuICAgIH1cblxuICAgICYuY29tcGxldGVkIHtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAxODMsIDEwNSwgMC44KTtcbiAgICB9XG5cbiAgICAmLnNjaGVkdWxlZCB7XG4gICAgICBjb2xvcjogcmdiYSgyMjMsIDIyMywgMjIzLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmNoYXJ0LWRldGFpbHMge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAuY2hhcnQtZGF0ZS1oZWFkZXIgIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgaSAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gXCJzaGFyZVwiIGZlYXR1cmUgd2lsbCBjb21lIGxhdGVyLi4uXG4gICAgfVxuICB9XG5cbiAgLmNoYXJ0LWRhdGUge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDIycHgpO1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubWFpbi1zY29yZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgLnZhbHVlLWJhZGdlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTZweDtcbiAgfVxuXG4gIC52YWx1ZS1sYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gIH1cblxuICAudmFsdWUtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2UtaWNvbiB7XG4gICAgJi5mYS1zb3J0LWFzYyB7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgICYuZmEtc29ydC1kZXNjIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgJi51bmNoYW5nZWQge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cblxuICAgICYuaW5jcmVhc2Uge1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmLmRlY3JlYXNlIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG5cbiAgICAmLnVuY2hhbmdlZCB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuXG4gICAgJi5pbmNyZWFzZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuZGVjcmVhc2Uge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmluZm8tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICBcbiAgLnRlc3QtcmVzdWx0cy1idXR0b24tY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE1cHggMHB4O1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jaGFydC1zdGF0cy1ncmlkIHtcbiAgICAuY2hhcnQtc3RhdHMge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgNTAlKTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5waWUtY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICB9XG5cbiAgLnBpZS1jaGFydCB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLnBpZS1jaGFydC1jYW52YXMge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5ycGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLnJlZC10ZXh0LCAuZ3JlZW4tdGV4dCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG5cbiAgICBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0td2VlayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIH1cblxuICAudHJvcGhpZXMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cblxuICAgIC50cm9waHktaW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgJi50cm9waHktaW1hZ2UtLWJhZGdlICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cm9waHktaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBpbWcgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAvLyBAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcbiAgICAgIC8vIEBpbmNsdWRlIGZsZXgoMSlcbiAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB9XG5cbiAgICAudHJvcGh5LW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDE1MHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLm5vLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGRheWNvbHdpZHRoICB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICB3aWR0aDogMTAwLzcqMSU7XG59XG5cbi5ub3Rlcy1tZW51IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgLm5vdGVzLW1lbnUtaXRlbSB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICMzMzM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLm5vdGVzLW1lbnUtaXRlbSArIC5ub3Rlcy1tZW51LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICB9XG59XG5cbi5ub3Rlcy1jYWxlbmRhciB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ5MnB4KTtcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBtYXJnaW46IDFweCAxcHggMCAtMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLmljb24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC53ZWVrLWRheS1sYWJlbHMge1xuICAgIG1hcmdpbjogMCAxcHggMCAwO1xuICAgID4gZGl2IHtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICBAaW5jbHVkZSBkYXljb2x3aWR0aDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhci1kYXlzIHtcbiAgICBtYXJnaW46IDAgMXB4IDVweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgLmNhbGVuZGFyLWRheSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM4cHgpO1xuICAgICAgLy8gQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGRheWNvbHdpZHRoO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICBtYXJnaW46IC0xcHggMHB4IDBweCAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NkY2RjZDtcblxuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgJi5jdXJyZW50LWRheSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vICYuZW1wdHkgeyAgICAgICAgXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICAvLyB9XG5cbiAgICAgICAmLmRheS1hY3Rpdml0aWVzIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZDhiMDA7XG4gICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgLy9ib3JkZXItY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAgICAvL2NvbG9yOiAjZWZlZmVmO1xuICAgICAgICAgLy9jdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAvLyY6aG92ZXIge1xuICAgICAgICAgLy8gIGJhY2tncm91bmQtY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAgICAvLyAgY29sb3I6ICNmZmY7XG4gICAgICAgICAvL31cbiAgICAgICB9XG5cbiAgICAgIC8vICYuY3VycmVudC1kYXkge1xuICAgICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJkNDc0O1xuICAgICAgLy8gICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzU0N2I0MjtcbiAgICAgIC8vICAgY29sb3I6ICNmZmY7XG4gICAgICAvLyB9XG5cbiAgICAgICY6bm90KC5lbXB0eSk6bm90KC5kYXktYWN0aXZpdGllcykge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmMtc2VjdGlvbiwgLnRsLXNlY3Rpb24sIC5zb2FwLXNlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uc29hcC1sYWJlbCB7XG4gICYuZmllbGRzLWhlYWRlci5oaWdoLWxldmVsLWZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgfVxufVxuXG4uYmMtYm9keWZhdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgd2lkdGg6IDgwcHg7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJSc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgfVxufVxuXG4uYmMtYWxlcnQge1xuICB3aWR0aDogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4udGwtdG90YWwtbG9hZCB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZGNkY2Q7XG4gICAgY29sb3I6ICRibHVlO1xuICB9XG59XG5cbi5iYy1lbnRyeS1oZWFkZXIsIC5iYy1lbnRyeSB7XG4gID4gLmZpZWxkLWxhYmVsICsgLmZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNTY4cHgpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5iYy1pbnB1dCB7IFxuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgfVxuXG4gIC5iYy1maWxsZXIge1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDEwcHg7XG4gIH1cbn1cblxuLmJjLWZpbGxlci1yZXNwIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7XG4gICAgbWluLXdpZHRoOiAwIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGwtZW50cnktaGVhZGVyLCAudGwtZW50cnkge1xuICA+IC5maWVsZC1sYWJlbCArIC5maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cblxuICAudGwtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDIxNXB4O1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gIH1cblxuICAudGwtaW5wdXQgeyBcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cblxuICAudGwtZmlsbGVyIHtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxMHB4O1xuICB9XG59XG5cbi5yZXNwLW5vdGVzLWNvbHVtbiB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uYmMtZW50cnkge1xuICAuYmMtaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBwYWRkaW5nOiAwIDI4cHggMCAxM3B4OyBcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG4gIC5iYy1pbnB1dC1iZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgIHBhZGRpbmc6IDAgMjhweCAwIDEzcHg7IFxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICAuYmMtdW5pdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zNHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5iYy11bml0LWJmIHtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLnRsLWVudHJ5IHtcbiAgLnRsLXNlbGVjdC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDVweCAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuXG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDM3cHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAudGwtaW5wdXQgeyBcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRsLWNhbGN1bGF0ZWQtbG9hZCB7XG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIH1cbiAgfVxuXG4gIC50bC1kZWxldGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5iYy1mcmVlLWZvcm0sIC50bC1mcmVlLWZvcm0ge1xuICB3aWR0aDogNzUlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5zb2FwLWRhdGUge1xuICA+ICoge1xuICAgIHdpZHRoOiAxNzBweDtcbiAgfVxuXG4gIC5kYXRlLWlucHV0ID4gLmlucHV0LWljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uc29hcC10ZXh0LWNvbnRhaW5lciB7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuLnNvYXAtdHJlYXRtZW50cyB7XG4gIC5jaGVja2JveC1pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG5cbiAgLnNvYXAtdHJlYXRtZW50LW9wdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAuY2hlY2tib3gtaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zb2FwLXRyZWF0bWVudC10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgLmJhc2ljLWlucHV0IHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnNvYXAtb2JqZWN0aXZlIHtcbiAgJi5maWVsZCBkaXYgdGV4dGFyZWEge1xuICAgIGhlaWdodDogODVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5mYS1ub3RlcyB7XG4gICAgbWFyZ2luOiAtMTBweCAwcHggMHB4IDEycHg7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogN3B4O1xufVxuXG4ucmVzcC1mb3JtLXBvc3QtYnV0dG9ucyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjhweCkge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG4gICAgbWFyZ2luOiAyMHB4IDAgNjBweCAwIWltcG9ydGFudDtcbiAgICBnYXA6IDhweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICA+IGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRpbWUtc3Bhbi1xdWVzdGlvbiB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xufVxuXG4udGltZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdy1zdGFydDtcblx0bWFyZ2luLXRvcDogMjRweDtcbn1cblxuLnRpbWUtbGFiZWwge1xuICB3aWR0aDogMTAzcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAuMjFweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIGNvbG9yOiAjNkM2RDZDO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYnV0dG9uLXNlbGVjdCAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0KyAuYnV0dG9uLXNlbGVjdCAge1xuXHRcdG1hcmdpbi1sZWZ0OiA2cHg7XG5cdH1cblx0Ji5zZWNvbmRhcnkgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdGJhY2tncm91bmQ6ICNEOURCREM7XG5cdFx0fVxuXHR9XG5cdCYuc21hbGwgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdHdpZHRoOiA2OXB4O1xuXHRcdH1cblx0fVxuXHQmLmluZGVudGVkICB7XG5cdFx0LnNlbGVjdC10cmlnZ2VyICB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0fVxuXHR9XG5cdC5zZWxlY3QtdHJpZ2dlciAge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGJhY2tncm91bmQ6ICM5NzY4RUI7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRcdHdpZHRoOiA2OXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQuY3VycmVudC1zZWxlY3Rpb24ge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3c7XG4gICAgXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblx0XHRcdHBhZGRpbmc6IDEwcHggOHB4IDEwcHggMTBweDtcblx0XHRcdC5jdXJyZW50ICB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdH1cblx0XHRcdC5pY29uLWNhcmV0LWRvd24gIHtcblx0XHRcdFx0Zm9udC1zaXplOiA1cHg7XG5cdFx0XHRcdGJvdHRvbTogLTRweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQudGltZS1vcHRpb25zLWhpZGRlbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQudGltZS1vcHRpb25zIHtcblx0XHRcdGNvbG9yOiAjOTc2OEVCO1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAjOTc2OEVCOyBcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE3cHg7XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiAwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggMHB4IDNweCAzcHg7XG5cdFx0XHR3aWR0aDogNjlweDtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0Ji5zZWNvbmRhcnkge1xuXHRcdFx0XHRjb2xvcjogI0Q5REJEQztcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjRDlEQkRDO1xuXHRcdFx0XHQudGltZS1vcHRpb24ge1xuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRDlEQkRDO1xuXHRcdFx0XHRcdH1cdFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQudGltZS1vcHRpb24ge1xuXHRcdFx0XHRwYWRkaW5nOiAzcHggMTRweCAzcHggN3B4O1xuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjOTc2OEVCO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHR9XHRcdFx0XHRcblx0fVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRvb2x0aXBIaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0bWF4LXdpZHRoOiAzNjBweDtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcblx0bWluLWhlaWdodDogNzJweDtcblx0dG9wOiAtMTMwJTtcblx0bGVmdDogNjVweDtcblx0ei1pbmRleDogMTA7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMjBweCAyNXB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtZmFtaWx5OiBOdWRpc3RhLXdlYjtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDQ2LDQ2LDQ2KTtcblx0Y29sb3I6IHdoaXRlO1xuXHRsaW5lLWhlaWdodDogMjRweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bGV0dGVyLXNwYWNpbmc6IC4zNXB4O1xuXG5cdC50dENvbnRlbnQge1xuXHRcdGNvbG9yOiAjOTI5MzkyO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdH07XG5cblx0LnR0VGl0bGUge1xuXHRcdGhlaWdodDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fTtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0cGFkZGluZzogMTVweCAxOHB4O1xuXHR9XG59XG5cbi50b29sdGlwLXJpZ2h0IHsgLy8gcmlnaHQgaXMgdGhlIGRlZmF1bHRcblx0QGV4dGVuZCAudG9vbHRpcDtcbn1cblxuLnRvb2x0aXAtYm90dG9tIHtcblx0QGV4dGVuZCAudG9vbHRpcDtcblx0dG9wOiA1NXB4O1xuXHRsZWZ0OiAtMTI1cHg7XG59XG5cbi50b29sdGlwLWF1dG9zY2hlZHVsZSB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IC04NXB4O1xuICB0b3A6IC0yOTBweDtcbn1cblxuLnRvb2x0aXAtbGVmdCB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IGluaGVyaXQ7XG5cdHJpZ2h0OiA0NXB4O1xufVxuXG4udG9vbHRpcDphZnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTIwcHg7XG5cdHRvcDogMTVweDtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2IoNDYsNDYsNDYpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDIwcHggMjBweCAyMHB4IDBweDtcblx0aGVpZ2h0OiAwcHg7XG5cdHdpZHRoOiAwcHg7XG5cdGNvbnRlbnQ6IFwiIFwiO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLnRvb2x0aXAtcmlnaHQ6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xufVxuXG4udG9vbHRpcC1ib3R0b206YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiAxMzBweDtcblx0dG9wOiAtMjBweDtcblx0Ym9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuXHRib3JkZXItd2lkdGg6IDBweCAyMHB4IDIwcHggMjBweDtcbn1cblxuLnRvb2x0aXAtYXV0b3NjaGVkdWxlOmFmdGVyIHtcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcblx0bGVmdDogMTYwcHg7XG4gIHRvcDogMjUwcHg7XG5cdGJvcmRlci1jb2xvcjogcmdiKDQ2LDQ2LDQ2KSB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXdpZHRoOiAyMHB4IDIwcHggMHB4IDIwcHg7XG59XG5cbi50b29sdGlwLWxlZnQ6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiBpbmhlcml0O1xuXHRyaWdodDogLTIwcHg7XG5cdGJvcmRlci13aWR0aDogMjBweCAwcHggMjBweCAyMHB4O1xufVxuXG4udG9vbHRpcENsb3NlIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nOiAwcHggMTBweCAzcHggMHB4O1xuXHRjb2xvcjogbGlnaHRibHVlO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdGZvbnQtc2l6ZTogMjRweDtcbn1cblxuQG1peGluIGNoYXJ0LXRvb2x0aXAtY2FyZXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAwcHg7XG5cdGhlaWdodDogMHB4O1xuXHRtYXJnaW46IGF1dG87XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGNvbnRlbnQ6ICcnO1xufVxuXG4uY2hhcnQtdG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAyNTVweDtcblx0bWF4LXdpZHRoOiAzMDBweDtcblx0bWluLWhlaWdodDogMTAwcHg7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG5cdHotaW5kZXg6IDE7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LmhlYWRlciB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6ICNlZmVmZWY7XG5cdH1cblxuXHQuY29udGVudCB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdG1hcmdpbi10b3A6IDZweDtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cblx0XHQ+IGRpdiB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LXJvdygpO1xuXHRcdFx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHRcdFx0bWluLWhlaWdodDogMjBweDtcblx0XHRcdG1heC1oZWlnaHQ6IDIwcHg7XG5cblx0XHRcdD4gaSB7IG1pbi13aWR0aDogMTZweDsgfVxuXHRcdFx0PiBkaXYgeyBtYXJnaW4tbGVmdDogNnB4OyB9XG5cblx0XHRcdCYuY29tcGxldGVkIHsgY29sb3I6ICMxNjg4NGU7IH1cblx0XHR9XG5cdH1cblxuXHQmLmhpZGRlbiB7XG5cdFx0dmlzaWJsaXR5OiBoaWRkZW47XG5cdH1cblxuXHQmLmJvdHRvbTphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji5ib3R0b20tbGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji5ib3R0b20tcmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0Ym90dG9tOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XG5cdH1cblxuXHQmLnRvcDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji50b3AtbGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRsZWZ0OiAxMHB4O1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji50b3AtcmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0cmlnaHQ6IDEwcHg7XG5cdFx0dG9wOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG5cdH1cblxuXHQmLmxlZnQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJlMmUyZTtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAxMHB4IDA7XG5cdH1cblxuXHQmLnJpZ2h0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMmUyZTJlO1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAwIDEwcHggMTBweDtcblx0fVxufVxuXG4uZmEgeyAvLyB0aGlzIGZvbnQgYXdlc29tZSBzdHlsZSAodHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKSkgaXMgYnJlYWtpbmcgei1pbmRleCBiZWhhdmlvciBhbmQgZG9lc24ndCBzZWVtIHRvIGhhdmUgYW55IHZpc3VhbCBlZmZlY3QuICBTbyBJJ20gdHVybmluZyBpdCBvZmYuXG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi51cGxvYWQtY29udGFpbmVyIHtcbiAgLnVwbG9hZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg0MDBweCk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNkZGQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IC51cGxvYWQtbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgID4gLnVwbG9hZC1wcmV2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxuXG4gID4gaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9ICBcbn1cblxuZGl2LmltYWdlLWNvbnRyb2xcbntcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjgwcHgpO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICAuaW1hZ2UtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gIC5zaWxlbnQtZmlsZS1pbnB1dCB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICB9ICAgICAgICAgICAgICAgIFxufVxuXG4uaW1hZ2UtYnV0dG9ucyB7XG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cblxuLmFjdGl2ZS11cGxvYWQge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM1MHB4KTtcbiAgXG4gIC5maWxlLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIC5maWxlLWluZm8tc2l6ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuXG4gICAgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB0ZXh0LWluZGVudDogNnB4O1xuXG4gICAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJi5lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZjBhMmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn0iLCIuZXhlcmNpc2VfY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5leGVyY2lzZV9uYXYge1xuICBAaW5jbHVkZSBmbGV4KDEgMCA0MDBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNDAwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgLnNlYXJjaCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdyZXNldCddIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIH1cblxuICAuYWRkIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBpLmZhIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KC45NzUpO1xuICAgIH1cbiAgfVxuXG4gIC5saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYgPiBkaXY6bm90KC5maWxsZXIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG5cbiAgICAgIC5kZXRhaWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIC52aWV3LWRldGFpbCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcblxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgICYgPiBkaXYgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IGRpdi5maWxsZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubGlzdCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5leGVyY2lzZV9zZWxlY3Qge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcblxuICAubGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLWhlaWdodDogMTBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgJiA+IGRpdjpub3QoLmZpbGxlcikge1xuICAgICAgQGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblxuICAgICAgLmV4ZXJjaXNlLWl0ZW0ge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaXJjbGVkLWljb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRldGFpbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgLnZpZXctZGV0YWlsIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuXG4gICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktc2lkZXMge1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICAgJiA+IGRpdiBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYgPiBkaXYgKyBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gZGl2LmZpbGxlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICB9XG4gIH1cblxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5saXN0IHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlcnMge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxMDBweCk7XG5cbiAgPiBmdXNpb24tZHJvcC1kb3duLFxuICA+IGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bixcbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgLyoqKioqIE5PVEUgKioqKioqXG4gICAgc2luY2UgdGhlIGhlaWdodCBpcyBiZWluZyByZWNhbGN1bGF0ZWRcbiAgICBvbmx5IHNldCB0aGUgbWluLWhlaWdodFxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgICoqKioqIEVCRCBOT1RFICoqKioqKi9cbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgLnNlbGVjdC10b2dnbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC45KTtcbiAgICAgIH1cblxuICAgICAgaS5mYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgei1pbmRleDogMztcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGZ1c2lvbi1kcm9wLWRvd24gPiBkaXYsXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0OHB4KTtcbiAgfVxuXG4gID4gZnVzaW9uLWRyb3AtZG93bi5yZXF1aXJlZCxcbiAgPiBmdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ucmVxdWlyZWQge1xuICAgIC5zZWxlY3QtdG9nZ2xlID4gc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLWl0ZW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBtYXJnaW46IDEwcHg7XG5cbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuXG4gICAgJi50b2dnbGUge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xuICAgICAgZm9udC1zaXplOiA2cHg7XG5cbiAgICAgICYuZG93biB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hbWUge1xuICAgIEBpbmNsdWRlIGZsZXgoLjkpO1xuXG4gICAgLm5vLXdyYXAtZWxsaXBzZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLWl0ZW0ge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAuaWNvbiB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgJi5kcmFnZ2luZy1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgLmljb24ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tbWF0Y2gge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLyogbW9kYWwganVuayAqL1xuLm1vZGFsLWNvbnRhaW5lciB7XG4gICYubW9kYWwtZXhlcmNpc2UtZGV0YWlsIHtcbiAgICBoZWFkZXIge1xuICAgICAgLyogQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7ICovXG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgICYudmlkZW8tdmlldyB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaW1hZ2UtdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAmLm1vZGFsLWV4ZXJjaXNlLWZvcm0ge1xuICAgIGhlYWRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgJi5zbWFsbGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gbGFiZWwgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgLmZpbHRlcnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAmLm1vZGFsLWVycm9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMTBweCA0MHB4IDEwcHggMDtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sYXJnZXIge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDUwJSk7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmICsgaS5mYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNpbmdsZS1saW5lLWZvcm0tZmllbGRzIGxhYmVsIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2luZ2xlLWxpbmUtZm9ybS1maWVsZHMgLmV2ZW4tY29scyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6ICM3NTc3N2E7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwgKyBsYWJlbCB7XG4gICAgICAgICAgPiBzZWxlY3Qge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogI2EwYTRhODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjNzU3NzdhO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogZHJhZy1uLWRyb3AganVuayAqL1xuLyogc2hvdWxkIGJlIG1vdmVkIHRvIG93biBmaWxlIChjbGVhcmx5KSAqL1xuLmRyYWctaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufTtcblxuLmRyYWctbW92ZS1zY3JvbGwtYW5jaG9yIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTUsIDE1NSwgMTU1LCAuMjc1KTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxO1xuXG4gICYudG9wIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG59O1xuXG4uZHJvcC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcC10YXJnZXQge1xuXG4gICY6bm90KC5kcm9wLWVtcHR5KSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjZGQzZDc7XG4gIH1cblxuICAmLmRyb3AtdGFyZ2V0LW92ZXIge1xuICAgICY6bm90KC5hZGQtc2VjdGlvbikge1xuICAgICAgYm9yZGVyOiAycHggZGFzaGVkICM0Y2JiMTcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmFkZC1zZWN0aW9uID4gZGl2IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYmIxNyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hZGQtZXhlcmNpc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyYWdnaW5nLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM4ODg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45MCwgMC45MCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXIgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLnJlc3AtcHJvZ3JhbS1tZW51IHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLmNhdGFsb2dfY29udGFpbmVyID4gZGl2IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gICAgLm9wZW5lZC1jb250YWluZXIsXG4gICAgLmNsb3NlZC1jb250YWluZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICAgIC5jYXRhbG9nLWJhbm5lcixcbiAgICAuY2F0YWxvZy1zZWFyY2gsXG4gICAgLmNhdGFsb2dfbmF2X3dyYXBwZXIge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICAuY2F0YWxvZ19jb250YWluZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgICB1bC5jYXRhbG9nX25hdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZ19jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzNTBweCk7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiBkaXYuY2F0YWxvZy1zY3JvbGxhYmxlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgPiBkaXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgID4gZGl2IHtcbiAgICAgICYub3BlbmVkLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5jbG9zZWQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgNTJweCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWJhbm5lciB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc2OEVCO1xuICBtYXJnaW46IDFweCAwO1xuXG4gIGkuY2lyY2xlZC1pY29uIHtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cblxuICBzcGFuIHtcbiAgICBjb2xvcjogI2VmZWZlZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLmNhdGFsb2ctc2VhcmNoIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIFxuICBmb3JtIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM5cHg7XG4gICAgICB0ZXh0LWluZGVudDogMTVweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZ19uYXZfd3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhdGFsb2dfbmF2IHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzNTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIC5jYXRlZ29yeS1pY29uIHtcbiAgICBtYXJnaW46IDAgMThweDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG5cbiAgLmFkZC1pY29uIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgbWluLXdpZHRoOiAxMnB4O1xuICB9XG59XG5cbnVsLmNhdGFsb2dfbmF2IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgID4gc3BhbiB7XG4gICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktc3RhdGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgbWluLXdpZHRoOiAxMnB4O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeS1vcGVuIHtcbiAgICAgIC5jYXRlZ29yeS1zdGF0ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTYyMFwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yeS1jbG9zZSB7XG4gICAgICAuY2F0ZWdvcnktc3RhdGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU2MmZcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaS5leGVyY2lzZS10ZWNobmlxdWUge1xuICAgID4gc3BhbiB7XG4gICAgICB0ZXh0LWluZGVudDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWluLWhlaWdodDogMjRweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDMwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsaSA+IHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICAgIHRleHQtaW5kZW50OiA1MHB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubG9naW4tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAubG9naW4tbW9kYWwge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQ3NnB4KTtcbiAgICBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZDO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDQ3cHggMCAyMnB4O1xuXG4gICAgPiBpbWcge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmxvZ2luLWJhbm5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbWFyZ2luOiAyOHB4IDE1cHggMzBweDtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB9XG5cbiAgICAubG9naW4tZm9ybSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyAgICAgIFxuXG4gICAgICAvLyA+IGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gfVxuXG4gICAgICAvLyA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgLy8gfVxuXG4gICAgICA+IGlucHV0OjotbXMtY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IGlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTFweCk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgXG4gICAgICAgICAgb3BhY2l0eTogMTsgIFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgaW5wdXQgIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sb2dpbi1idXR0b25zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtZXZlbmx5KTtcbiAgICAgICAgbWFyZ2luOiAwcHggMzBweDtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDU3cHgpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgIFxuICAgIH1cblxuICAgIC5yZXNldC1mb3JtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICAgICAgXG5cbiAgICAgID4gaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXQge1xuICAgICAgICBtYXJnaW46IDI4cHggMCAwO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MXB4KTtcblxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIgIHtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICBcbiAgICAgICAgICBvcGFjaXR5OiAxOyAgICAgICBcbiAgICAgICAgfVxuICAgICAgICArIGlucHV0ICB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2Vjb25kUGFzc3dvcmQge1xuICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLWNvbGxlY3Rpb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgICAgICAgIG1hcmdpbjogMjhweCAwIDA7XG4gICAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTdweCk7XG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIG1hcmdpbjogMTFweCAxNXB4OyAvLyB3aGVuIGEgbWVzc2FnZSBpcyBoZXJlIGlzIHNob3VsZCBiZSB2ZXJpdGNhbGx5IHNwYWNlZCBhIGJpdFxuICAgIH1cblxuICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDcwcHgpO1xuICAgICAgbWFyZ2luOiAxMXB4IDE1cHg7IC8vIHdoZW4gYSBtZXNzYWdlIGlzIGhlcmUgaXMgc2hvdWxkIGJlIHZlcml0Y2FsbHkgc3BhY2VkIGEgYml0XG4gICAgfVxuXG4gICAgLmxvZ2luLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLmxvZ2luUmVtZW1iZXJNZSAge1xuICBtYXJnaW46IDI4cHggMCAwO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC5jaGVja2JveC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBpICB7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuICAgIHNwYW4gIHtcbiAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIH0gXG4gIH0gIFxufVxuLmxvZ2luRm9yZ290UGFzc0xpbmsgIHtcbiAgbWFyZ2luOiAzMXB4IDAgMDtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjQUFCMEI3O1xuICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGEgIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIlxuLm1vZGFsLWNvbnRhaW5lciBzZWN0aW9uLnByb2ZpbGUtZm9ybSB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW46IDEwcHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIFxuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgIG1hcmdpbjogNXB4IDlweDtcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtYXRobGV0ZS1mb3JtIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogNzQwcHg7XG5cbiAgICBoZWFkZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICYuc21hbGxlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgZGl2LnNlY3Rpb24tbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBkaXYub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgfVxuICAgICAgZGl2Lm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgICAgIGRpdi5vcHRpb24tbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExNXB4KTtcbiAgICAgICAgfVxuICAgICAgICBkaXYuY2hvaWNlcy1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnJhZGlvLWlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJvdy1jb250YWluZXJcbiAgICAgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgfVxuICAgICAgICAmIC5zcGFjZS1iZXR3ZWVuIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICYubW9kYWwtZXJyb3Ige1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZG9iLWZpZWxkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMCUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZlZXQtZmllbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoLjYgMSAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmluY2hlcy1maWVsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCguMzk1IDEgMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7ICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmludmFsaWQtaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDYsNDYsNDYpO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDQ2LDQ2LDQ2KTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDBweCAxMHB4IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcbiAgICAgICAgICAmLm1lYXN1cmVtZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZS1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmltcGVyaWFsLWhlaWdodCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgICAgbWluLXdpZHRoOiA0NSU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC8vICYuZmVldCB7XG4gICAgICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAxMHB4O1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH0gICAgICAgICAgXG5cbiAgICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAmLmZlZXQge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmltcGVyaWFsIHtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGFsLWNvbnRhaW5lci5tb2RhbC1hdGhsZXRlLWZvcm0ge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIGZvb3RlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgLy8gb25seSBkaXJlY3QgY2hpbGQgcm93LWNvbnRhaW5lcnMgKGZvcm0gcm93cykgZ28gdG8gY29sdW1uLCBleGNlcHQgaGVpZ2h0IHJvd1xuICAgICAgLy8gbmVzdGVkIHJvdy1jb250YWluZXJzIChlLmcuIGluc2lkZSBmdXNpb24tY2FsZW5kYXIgLmRhdGUtaW5wdXQpIHN0YXkgYXMtaXNcbiAgICAgID4gLnJvdy1jb250YWluZXI6bm90KC5oZWlnaHQtZmllbGRzLXJvdykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuXG4gICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgLmRvYi1maWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgfVxuXG4gICAgICA+IC5yb3ctY29udGFpbmVyLnNwYWNlLWJldHdlZW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICAub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgLm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtY29udHJvbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHggNDBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5zZWxlY3QtYWxsIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnNlbGVjdC1hdGhsZXRlLWxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgIG1hcmdpbjogNDVweCA2NXB4IDQ1cHggNjVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDBweDtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAuYXRobGV0ZXMge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAmLmFsbCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtdGVybXMge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiA3NDBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJcbi5hZG1pbi1tZW51IHtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICBjb2xvcjogI2EwYTRhODtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgc3Bhbi5tYXJrZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IC0zMHB4O1xuICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgfVxufVxuXG4uYWRtaW4tc3ViLW1lbnUge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgY29sb3I6ICNhMGE0YTg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi50YWItbWVudSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ1cHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG4gIHBhZGRpbmc6IDAgMTBweDtcblxuICBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3NjhFQjtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxufVxuXG4udGFiLW1lbnU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi50YWItdmlldyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLnRhYi12aWV3LWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi50ZXN0LWNvbnRhaW5lci1oZWFkZXIgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdG1hcmdpbi10b3A6IDI1cHg7XHRcblx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0QGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblx0fVxuXHQudGl0bGUgIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAzNC41cHg7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdCO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyO1x0XG5cdFx0bWluLWhlaWdodDogNDZweDtcblx0fSBcblx0Lm1haW4tY29sICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcdFx0XG5cdH1cblx0LnNpZGUtY29sICB7XHRcdFxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1x0XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1x0XG5cdFx0fVxuXHRcdD4gZGl2Om5vdChbY2xhc3NdKSAge1xuXHRcdFx0Zm9udC1zaXplOiAxNi41OXB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcdFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0fVxuXHR9XG59XG5cbi50ZXN0LXJlc3VsdC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50ZXN0LXJlc3VsdC1oZWFkZXIge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMzQuNXB4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcdFxuXHRcdG1pbi1oZWlnaHQ6IDQ2cHg7ICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4OyAgICAgICAgXG4gICAgfTtcbn1cblxuLmlucHV0LXJlc3VsdHMge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICBcbn1cblxuLnJlc3VsdHMtY29sdW1uLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY29sdW1uLWNvdW50KDIpO1xuICAgIEBpbmNsdWRlIGNvbHVtbi1nYXAoNGVtKTsgIFxuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0QGluY2x1ZGUgY29sdW1uLWNvdW50KDEpO1xuXHRcdH0gXG59XG5cbi5leGVyY2lzZS1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBjb2x1bW4tbm8tYnJlYWsoKTsgIFxufVxuXG4ubGlua2VkLXJlc3VsdHMtaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzNC41cHg7XG4gIGNvbG9yOiAjNzU3ODdCO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDsgIFxufVxuXG4udGVzdGVkLWJ5IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogIzc1Nzc3QTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuLnBlcmZvcm0tYWRkaXRpb25hbC1yZXN1bHRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4ucGVyZm9ybWFuY2UtcmVzdWx0cyAgeyAgXG5cdHBhZGRpbmc6IDgwcHggMCA4MHB4O1xuXHRtYXgtd2lkdGg6IDc3OHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0LmgyICB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0fVxuXHRzZWN0aW9uICB7XG4gICAgcGFnZS1icmVhay1pbnNpZGUgOiBhdm9pZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgICAgXG5cdFx0KyBzZWN0aW9uICB7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcblx0XHR9XG5cdH1cbn1cblxuLnBlcmZvcm0tbm90ZXMtc2VjdGlvbiB7XG4gIG1heC13aWR0aDogNzc4cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMTIwcHggMDtcbiAgLmhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMnB4O1xuICB9XG4gIC5wcm9zZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM5MjkzOTI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4uc3RyZXNzLWluZGV4LWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcblx0Y2FudmFzIHtcblx0XHR3aWR0aDogMTEyNHB4O1xuXHRcdGhlaWdodDogODBweDtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblx0fVxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0fVxuICA+IC5oZWFkZXIgIHtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0LnRpdGxlICB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Y29sb3I6ICM3NTc4N0I7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwIDAgMThweDtcblx0XHR9XG5cdH1cbn1cblxuLmNhdC1oZWFkZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzc1Nzg3QjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogNDBweCAwIDE4cHg7XG59XG4uY2F0LXNjb3JlICB7XG5cdGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcblx0Ji5ncmVlbiAge1xuXHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHQrIC5kb3QgIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHR9XG5cdH1cblx0Ji55ZWxsb3cgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUteWVsbG93O1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXllbGxvdztcblx0XHR9XG5cdH1cblx0Ji5yZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUtcmVkO1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXJlZDtcblx0XHR9XG5cdH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jbGluaWNhbC1maWVsZCB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgICAmLmNsaW5pY2FsLW5vdGVzIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG4uY2xpbmljYWwtc3ViLW5vdGUge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgICAgXG59XG5cbi50cmVlLWxpbmUge1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG59XG5cbi5jbGluaWNhbC1ub3Rlcy1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDM4cHggMCA2MHB4O1xuICAgIG1heC13aWR0aDogNTYwcHg7XG59XG5cbmxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQgIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDAgNDBweDtcbn1cblxuaHIuY2xpbmljYWwtcmVwb3J0LWxpbmUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbnNwYW4uY2xpbmljYWwtbGFiZWwgIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG5mdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ge1xuICAgICYuY2xpbmljYWwtZHJvcC1kb3duIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjZweDtcbiAgICAgICAgd2lkdGg6IDYyNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgPiBkaXYuY29sdW1uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgICAgICAgIHNwYW4uZmlsdGVyZWQge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNsaW5pY2FsLXNpZ25hdHVyZSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjOTI5MzkyO1xuXHRsaW5lLWhlaWdodDogMS41O1xuICA+IGRpdiB7XG4gICAgcGFkZGluZzogMHB4IDE1cHggMHB4IDE1cHg7XG4gIH1cbn1cblxuLnByaW50LW9ubHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRlc3QtYXRobGV0ZS1uYW1lIHtcbiAgY29sb3I6ICM3NTc3N0E7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG59XG5cbi5wZXJmb3JtLXNlbGVjdCB7XG4gIG1pbi13aWR0aDogMTMzcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM3NTc3N0E7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNEOEQ4RDg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgaGVpZ2h0OiAzOHB4O1xufVxuXG4ucmVjb21tZW5kZWQge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICRyZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuUitSIERhaWx5IFRlc3QgdjJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaDMge1xuICBzcGFuIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbn1cblxuLnJyLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuY3VzdG9tIHtcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleDogMTtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgJjpjaGVja2VkIH4gbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucnIta2V5IHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5O1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICRibHVlO1xuICBsYWJlbCB7XG4gICAgd2lkdGg6IDMzLjMlO1xuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHJlcGVhdGVkIHNoaWZ0IHRlc3Rcbi5yZXBlYXRlZC1zaGlmdC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIC5kcm9wLW9mZiB7XG4gICAgICBjb2xvcjogIzk3NjhFQjsgXG4gICAgICBmb250LXNpemU6IDE4cHg7IFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgfVxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI4OXB4O1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG4gIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogMThweDsgXG4gICAgd2lkdGg6MTBweFxuICB9XG59XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHktYmFsYW5jZSB0ZXN0c1xuLnktYmFsYW5jZS1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnN1Yi1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgfVxuICAgIC5kaWZmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MXB4O1xuICAgICAgY29sb3I6ICM5NzY4RUI7IFxuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgIH1cbiAgICAubWVhc3VyZW1lbnQtZmllbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNzVweDtcbiAgICAgIH1cbiAgICAgIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgXG4gICAgICAgIHdpZHRoOjEwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc3R5bGVzIGZvciBtZWFzdXJlbWVudCBncm91cHNcbi5tZWFzdXJlbWVudC1ncm91cCB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIC50ZXN0LXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAuc3ViLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9ICAgIFxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI3NXB4O1xuICAgICAgfVxuICAgICAgLm1lYXN1cmVtZW50LWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyBcbiAgICAgICAgd2lkdGg6MTBweFxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGNoYW5nZS1pbmRpY2F0b3Ige1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIG1hcmdpbjogMCAxMHB4O1xuXG4gICYuaW5jcmVhc2UgeyBcbiAgICBjb2xvcjogIzIwYjc2OTsgXG4gICAgaS5mYSB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi5kZWNyZWFzZSB7IFxuICAgIGNvbG9yOiAjYzQyYTNiOyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0taW5jcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0tZGVjcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICBpLmZhIHtcbiAgICBtaW4td2lkdGg6IDEycHg7XG4gIH1cbn1cblxuLnRlc3QtcmVzdWx0cy1idXR0b24ge1xuICB3aWR0aDogMTAwJTsgIFxuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgXG59XG5cbi5yZXBvcnRzLXJlc3AtaGVhZGVyIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KGNvbHVtbik7XG4gICAgLnJlc3AtaGVhZGVyLWFjdGlvbnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW9wdGlvbnMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBtYXJnaW46IDMwcHggMCA1cHg7XG4gIGdhcDogMTBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBnYXA6IDIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW5vZGF0YSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnJlcG9ydC1jaGFydC1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuXG4gIC5yZXBvcnQtY2hhcnQtZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgLnJlcG9ydC1jaGFydC1kZXRhaWwge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAgICAgJi50ZWFtLCAmLnRvdGFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgbWluLXdpZHRoOiBjYWxjKDMzJSAtIDE4cHgpO1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAxOHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmVwb3J0LWRldGFpbC1jaGFydC1saW5lIHtcbiAgICAgICAgPiBjYW52YXMge1xuICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHghaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaGVhZGVyIHtcblxuICAgICAgfVxuXG4gICAgICAuc2NvcmUtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgIC5zY29yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHJvcGhpZXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXG4gID4gZGl2IHtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHggMTBweCAgMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTBweCkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU4MHB4KSB7XG4gICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICB9XG4gIH1cblxuICAuc3VtbWFyeS1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnN1bW1hcnktaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAwIDhweDtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlciB7XG5cbiAgICAgIH1cblxuICAgICAgLnNjb3JlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cbiAgICAgICAgLnNjb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VtbWFyeS1jaGFydCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG5cbiAgICAgID4gY2FudmFzIHtcbiAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHghaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtZGV0YWlscy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgXG5cbiAgLnRpdGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTAyNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4ucmVwb3J0LWRldGFpbHMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICA+IGRpdiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuY2hhbmdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtOHB4O1xuICAgIG1pbi13aWR0aDogNzBweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG4gIFxuICAubmFtZXMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIG1pbi13aWR0aDogMjUwcHg7ICAgIFxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0O1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cblxuICAgICAgJi5zdWItdG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICYgKyAuc3ViLXRvdGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudG90YWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLmRldGFpbC1yb3ctcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDoxNXB4OyBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5mby1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtaW4td2lkdGg6IDExMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNjb3Jlcy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBvdmVyZmxvdy15OiB1bnNldDtcbiAgICAgIG92ZXJmbG93LXg6IHVuc2V0O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIC5oZWFkZXItcm93IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuZGV0YWlsLXJvdyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcblxuICAgICAgJi5yaWdodC1sZWZ0IHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgICAmLnJpZ2h0LWxlZnQge1xuICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGFuZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXJlcG9ydC1ib2R5bWFwIHtcbiAgbWF4LWhlaWdodDogMjEzcHg7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG5cbi5wcm9ncmVzcy1yZXBvcnQtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LWJvZHltYXAtY29udGFpbmVyIHtcbiAgLy8gbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3JhbS1ncm91cC1kcm9wZG93bi1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDI0cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IDBweCAxMHB4IDBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBcbiAgPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLnByb2dyYW0tdHlwZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnJlcG9ydC1wcm9ncmFtcy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gIH1cblxuICAuaGVhZGVyLXJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcblxuICAgIHNwYW4ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5wcm9ncmFtLWRhdGEtY2hhcnQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgfVxuICB9XG5cbiAgLmRhdGEtcm93IHtcbiAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRvdGFsXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucG9zaXRpb24tdG90YWwgXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMUUzRTU7XG4gICAgICAgIGNvbG9yOiAjZWZlZmVmO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tbmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiAzNDZweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLWRhdGEge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICYucmlnaHQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1kYXRhLWNoYXJ0IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1maWxsZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wYWdlLWhlYWRlci1iYWNrLW5hdiB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgbWluLWhlaWdodDogNDBweDtcblxuICBsYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBpLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cbn1cblxuLnRlc3QtYXJjaGl2ZXMtb3B0aW9ucyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAzMHB4IDAgNXB4O1xuICByb3ctZ2FwOiAxMHB4O1xuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBnYXA6IDIwcHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXJjaGl2ZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBtYXJnaW46IDMwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgaS5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1uYW1lLFxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaW5mbyB7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OHB4KSB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB9XG5cbiAgICAmLmhlYWRlci1yb3cge1xuICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvL3ZlcnNpb24gMiBvZiBoZWFkZXIgKHNlZSBuZXctaGVhZGVyLmh0bWwgZm9yIHRlbXBsYXRlIChzd2l0Y2hlZCB2MikpXG4uaGVhZGVyLWNvbnRlbnQge1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChpbml0aWFsKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gIC5oZWFkZXItbG9nby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItcHJhYy1idXJnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzJlMmUyZTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLXByYWMtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICMxYzFjMWM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgLmhlYWRlci1wcmFjLW1lbnVfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzO1xuICAgICAgY29sb3I6ICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1wcmFjLXVzZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuICAuaGVhZGVyLWxvZ28gIHtcbiAgICBtYXJnaW46IDEwcHggMzVweDtcbiAgXHRpbWcgIHtcbiAgXHRcdG1heC13aWR0aDogMTgwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICBcdH1cbiAgfVxuICAucmVzcC1jZW50ZXIge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnVzZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmhlYWRlci10ZWFtLW5hbWUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzhDOTtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIHBhZGRpbmc6IDBweCAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIFxuICB9XG4gIC5oZWFkZXItdGVhbS1uYW1lLXJlc3Age1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgPiBoMyB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItdGVhbS1uYW1lLWxpbmsge1xuICAgIEBleHRlbmQgLmhlYWRlci10ZWFtLW5hbWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudGVhbS1zd2l0Y2hlciAge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogODAlO1xuICAgICAgbGVmdDogOTAlO1xuICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgIH1cbiAgfVxuICAudGVhbS1vcHRpb25zIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDIlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjFmMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xuICAgIFxuICAgID5kaXYge1xuICAgICAgcGFkZGluZzogNXB4IDEwcHggNXB4IDE0cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGZkZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2hpdGUtZmllbGQge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcblxuICAgIGkuaWNvbi1zaG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1hdGhsZXRlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmLnNpZ25vdXQge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5zaG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyLWNvbnRlbnQtLXByYWMge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyLXRlYW0tbmFtZSxcbiAgICAuaGVhZGVyLXRlYW0tbmFtZS1saW5rIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyByZXNwb25zaXZlIHR3ZWFrcywgc2hvdWxkIGp1c3QgYmUgaW1wbGVtZW50ZWQgd2l0aCB0aGUgcmVzdFxuQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgLmhlYWRlci1jb250ZW50LXYyIHtcbiAgICAud2hpdGUtZmllbGQgIHtcbiAgICAgICAgPiBkaXYgPiBkaXYgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpLmljb24tc2hvcCAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuJGd1dHRlci13aWR0aDogMTVweDtcbi8vICRjb2wtZ2FwOiAzMHB4O1xuJGNvbC1nYXA6IDE1cHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgcmVzcG9uc2l2ZW5lc3MgYWRqdXN0bWVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi53aGl0ZWJvYXJkICB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxudWwuY2F0YWxvZ19uYXYgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgbGkgPiBzcGFuICB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG51bC5jYXRhbG9nX25hdiBsaSA+IHVsIGxpID4gdWwgbGkgIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIEBpbmNsdWRlIHlwYWQoNnB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IC8vIHRoaXMgd2F5LCB3aGVuIGl0IHdyYXBzLCBpdCBkb2Vzbid0IGxvb2sgc3RyYW5nZVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCAudGl0bGUtY29udGFpbmVyIC5yZXR1cm4tbGluayAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXRobGV0ZSBncmlkIHVuaXZlcnNhbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtaW5mby1ib3ggIHtcbiAgICAuYmlvLWhlYWRlciAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIC5hdGhsZXRlLW51bWJlciAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmlvLWJvZHkgIHtcbiAgICAgICAgLmF0aGxldGUtcHJvZmlsZSAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXRobGV0ZS1zdGF0cyAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAgICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYW52YXMgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgPiBhdGhsZXRlIGxpc3QgdmlldyA+IGxvY2tlZC93cmFwcGVkIGF0aGxldGUgbnVtYmVyLi4uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYXRobGV0ZS1saXN0LXZpZXcudmlldy1sYXlvdXQgIHtcbiAgICAuYXRobGV0ZS1udW1iZXIgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1M3B4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1uYW1lICB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyA+IGF0aGxldGUgcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnByb2ZpbGUtc3VtbWFyeSAge1xuICAgIC50b2RheS1wcm9ncmFtLFxuICAgIC50b2RheS1ub3RpY2UgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNnB4O1xuICAgIH1cbn1cbi5jb2x1bW4tY29udGFpbmVyLnByb2ZpbGUtc2NvcmUgKyBkaXYge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG4gICAgICAgIHdpZHRoOiAzODBweDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHVuaXZlcnNhbCBicmVha3BvaW50IGRyb3Bkb3duXG4vLyBvbmNlIGJyb3dzZXIgd2lkdGggZ29lcyBiZWxvdyAxMDU0IChzZWUgbWl4aW4gcmVzcG9uZChzbSkpXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGJvZHkgICB7XG5cbiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gLy8gc2VjdGlvbiA+IHVuaXZlcnNhbFxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuIC52aWV3LWNvbnRhaW5lciAge1xuICAgIHdpZHRoOiAkY29tcHJlc3NlZENvbnRlbnRXaWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBAaW5jbHVkZSB4cGFkKCRndXR0ZXItd2lkdGgpO1xuICAgIC52aWV3LWNvbnRhaW5lciAge1xuICAgICAgICBAaW5jbHVkZSB4cGFkKDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi53ZWVrLXdyYXBwZXIgLndlZWstZGF5LWNvbHVtbiAge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5oZWFkZXItY29udGVudCAud2hpdGUtZmllbGQgPiBkaXYgIHtcbiAgICBtYXJnaW46IDBweCAyMHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBwcm9maWxlIHBhZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5wcm9maWxlLWRldGFpbCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDIwMCAvIDE3NTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlLWFjdGlvbiAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wcm9maWxlLXN1bW1hcnkgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCg0KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xuICAgID4gLnJvdy1jb250YWluZXIuZGl2aWRlZCAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sLWdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2NvcmUtY29udGFpbmVyICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLnByb2ZpbGUtc2NvcmUgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLnByb2ZpbGUtc2NvcmUtZ3JhcGgtY2FudmFzICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LW1lbnUtaXRlbSAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgfVxufVxuLnByb2dyYW0tY2hhcnQsXG4ubGluZS1jaGFydCAge1xuICAgIEBpbmNsdWRlIGZsZXgoMik7XG59XG4ucHJvZ3JhbS1jaGFydCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuLnZpZXctbGF5b3V0IC52aWV3LWNvbnRhaW5lciAubGluZS1jaGFydCAge1xuICAgIC5saW5lLWNoYXJ0LWNhbnZhcyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5jaGFydC1kZXRhaWxzICB7XG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgKGJhc2VkIG9mZiBvZiBwcm9maWxlID0+IHByb2dyYW1zID0+IHZlcnRpY2FsIGJhciBjaGFydClcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmNhbnZhcyAge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcHJvZmlsZSA+IGNhbGVuZGFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uY2FsZW5kYXItbW9udGggIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYWxlbmRhci1kYXlzICB7XG4gICAgICAgIC5jYWxlbmRhci1kYXkgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAoMTAwLzcpKjElO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubm90ZXMtY2FsZW5kYXIgIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OTJweDtcbiAgICB9XG59XG4uY2FsZW5kYXItZGF5LWluZm8gIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2NoZWR1bGUtY2FsZW5kYXItbGF5b3V0IHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLmNhbGVuZGFyLW1vbnRoIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IGF0aGxldGUgZ3JpZCA+IGxpc3Qgdmlld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0ICB7XG4gICAgLmF0aGxldGUtc3RhdCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcuNSUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG4gICAgLmF0aGxldGUtcHJvZ3JhbXMgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxOCUpO1xuICAgIH1cbiAgICAuYXRobGV0ZS1sYXN0LWFjdGl2aXR5ICB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTglKTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93ICB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbW9kYWxzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubW9kYWwgIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuLm1vZGFsLWNvbnRhaW5lciAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbm90ZXMgPiB0cmFpbmluZyBsb2FkID4gbWlzY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnRsLWVudHJ5LWhlYWRlciAudGwtc2VsZWN0LFxuLnRsLWVudHJ5IC50bC1zZWxlY3QgIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbn1cbi50bC1lbnRyeS1oZWFkZXIgLnRsLWlucHV0LFxuLnRsLWVudHJ5IC50bC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODZweCk7XG59XG4udGwtZW50cnkgLnRsLWlucHV0ID4gLmJhc2ljLWlucHV0LnNtYWxsICB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udGwtZW50cnktaGVhZGVyICB7XG4gICAgLmZpZWxkLWxhYmVsICB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHVuaXZlcnNhbCBpbnB1dCBzaXplIHJlZHVjdGlvbi4uLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dC5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dC1yZWFkb25seSB7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4vLyBjdXJyZW50XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBhdGhsZXRlIG5hdiBmaWx0ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hdGhsZXRlLW1lbnUgIHtcbiAgICAuYXRobGV0ZS1zZWFyY2ggIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC5hdGhsZXRlLWZpbHRlci1zb3J0ICB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgPiAuYXRobGV0ZS1zb3J0LWJveCAge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgLmxhYmVsICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTdweCAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzglO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXRobGV0ZS1yZXNldC12aWV3ICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoaW5pdGlhbCk7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgLmF0aGxldGUtdG9nZ2xlLXZpZXcgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaGVhZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5oZWFkZXItY29udGVudCAge1xuICAgIC53aGl0ZS1maWVsZCAge1xuICAgICAgICA+IGRpdiA+IGRpdiAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkuaWNvbi1zaG9wICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24gIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG4gICAgLmxvZ28gIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItd2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgIH1cbiAgICAud2hpdGUtZmllbGQgPiBidXR0b246bGFzdC1jaGlsZCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4gICAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gZ3JhcGgga2V5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubGluZS1jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LWxlZ2VuZCAge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE2cHg7XG4gICAgICAgID4gLmZhICB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gdGVzdGluZyBwcm9tcHRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucHJvbXB0LWJveCAge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG4udGVzdC1sYW5kaW5nICB7XG4gICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgbWluLWhlaWdodDogMTk2cHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgIHtcbiAgICAudGVzdC1sYW5kaW5nICB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IG1pc2MgY2hhcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LWNoYXJ0LWNvbnRhaW5lciAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5saW5lLWNoYXJ0ICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAucmVwb3J0LWNoYXJ0LWRldGFpbHMgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLnJlcG9ydC1jaGFydC1kZXRhaWwgIHtcbiAgICAgICAgICAgID4gZGl2ICB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHN1bW1hcnkgY2hhcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LXN1bW1hcnkgIHtcbiAgICA+IGRpdiAge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAxMHB4KTtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcmVwb3J0IHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucmVwb3J0LWRldGFpbHMtY29udGFpbmVyICB7XG4gICAgLnRpdGxlICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICB9XG59XG5cbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gICAgLy8gc2VjdGlvbiA+IG1kID4gZW5kXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xufVxufVxuXG5AaW5jbHVkZSByZXNwb25kKHNtKSAgeyBib2R5ICB7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc20gPiBhdGhsZXRlIGdyaWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gY2F0YWxvZyBuYXZcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hZG1pbi1tZW51ID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGNhdGFsb2cgc2lkZSBuYXZcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5jYXRhbG9nX2NvbnRhaW5lciAge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDIwMHB4KTtcbn1cbi5jYXRhbG9nLXNlYXJjaCAge1xuICAgIGZvcm0gIHtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBpbnB1dFt0eXBlPSd0ZXh0J10gIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b25bdHlwZT0ncmVzZXQnXSAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRhbG9nLWZlYXR1cmUgLmZlYXR1cmUtY29udGFpbmVyIC5mZWF0dXJlLWNvbnRlbnQgIHtcbiAgICBsZWZ0OiA0MHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdGVhbXMgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnByYWN0aXRpb25lcnNUYWJsZSxcbi50ZWFtc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgPiBzcGFuICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5wcmFjdGl0aW9uZXJzVGFibGUgIHtcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDExMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoOTZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleElubGluZU92ZXJyaWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDg4cHgpO1xuICAgICAgICAgICAgICAgIGJ1dHRvbiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50ZWFtc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSg5NnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSAge1xuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDE2MHB4KTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4SW5saW5lT3ZlcnJpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDcwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNikgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgyMTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHNtYWxsZXIgc2NyZWVucyB1cGRhdGVzXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuXHQvLyBtYWtlIHRoZSBsb2dvIGEgbGl0dGxlIHNtYWxsZXJcblx0LmhlYWRlci1sb2dvICB7XG5cdFx0bWFyZ2luOiAwIDE1cHg7XG5cdFx0aW1nICB7XG5cdFx0XHR3aWR0aDogMTAwJTsgLy8gZG9uJ3Qgd29ycnksIHRoZXJlJ3MgYWxyZWFkeSBhIG1heC13aWR0aCBhcHBsaWVkIHRvIHRoaXNcblx0XHR9XG5cdH1cblxuXHQvLyBoaWRlIHRoZSBuYXYgaWNvbnMgdG8gc2F2ZSBzb21lIHNwYWNlXG5cdC5oZWFkZXItY29udGVudCAud2hpdGUtZmllbGQgPiBkaXYgPiBkaXYgIHtcblx0XHRpICB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIGZvciBzY3JlZW4gc2l6ZXMgYXJvdW5kIDc2OHB4LCAyIHRlYW0gbWVtYmVycyBwZXIgcm93IGxvb2tzIGJldHRlciB0aGFuIDNcblx0LmF0aGxldGUtZGFzaGJvYXJkIC5hdGhsZXRlLWRhc2hib2FyZC1jb250YWluZXIge1xuXHRcdC5hdGhsZXRlLWluZm8tYm94LFxuXHRcdC5hdGhsZXRlLWFkZC1ib3ggIHtcblx0XHRcdHdpZHRoOiBjYWxjKCgxMDAlIC0gMjBweCkgLyAyKTtcblx0XHR9XG5cdFx0LmF0aGxldGUtaW5mby1ib3ggLmJpby1ib2R5IC5hdGhsZXRlLXByb2ZpbGUgLnByb2ZpbGUtcGljICB7XG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lOyAvLyBvdGhlcndpc2UgaXQgd2lsbCBzdHJldGNoIHdoZW4gbWl4ZWQgd2l0aCB3aWR0aDogMTAwJVxuXHRcdH1cblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG59IH0gLy8gZW5kIHJlc3BvbmQoc20pXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBib2R5IC5hdGhsZXRlLWRhc2hib2FyZCAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcbiAgICAuYXRobGV0ZS1pbmZvLWJveCxcbiAgICAuYXRobGV0ZS1hZGQtYm94IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbGlzdCB2aWV3ID4gc21hbGwgc2NyZWVuc1xuLy8gb3ZlcnJpZGUgcmVzcG9uZChtZCkgcGVyY2VudGFnZSBsb2NrLXdpZHRocyBzbyB0aGUgdGFibGUgc2Nyb2xsc1xuLy8gaW5zdGVhZCBvZiBjcnVzaGluZyBjb2x1bW5zIHRvIDcuNSUvMTglIG9mIGEgdGlueSB2aWV3cG9ydFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1ldGVzdCBwYWdlID4gc21hbGwgc2NyZWVuc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC8vIFVubG9jayB0aGUgNzcwcHggbG9jayBvbiB0aGUgQW5ndWxhclVJIG1vZGFsIGFuaW1hdGUgY29udGFpbmVyXG4gIC5tb2RhbC1hbmltYXRlLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KSAhaW1wb3J0YW50O1xuICB9XG4gIC8vIEJvb3RzdHJhcCBtb2RhbCBkaWFsb2cgZmFsbGJhY2tcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbiAgLy8gUmVtb3ZlIDMwMHB4IG1pbi13aWR0aCBhbmQgc3RyZXRjaCBjaGlsZHJlbiBzbyB0ZXh0YXJlYSBmaWxscyBmdWxsIHdpZHRoXG4gIC5tb2RhbC1jb250YWluZXIgc2VjdGlvbiB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIC8vIENsaW5pY2FsIHJlcG9ydCBtb2RhbDogZHJvcGRvd24gZml0cyBzY3JlZW4sIHNlbGVjdGVkIHZhbHVlIHRydW5jYXRlcyB3aXRoIGVsbGlwc2lzXG4gIGxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICB9XG4gIGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bi5jbGluaWNhbC1kcm9wLWRvd24ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICA+IGRpdi5jb2x1bW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgICAuc2VsZWN0LXRvZ2dsZSBzcGFuLmZpbHRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJvZ3JhbSBlZGl0IHBhZ2UgcmVzcG9uc2l2ZSBydWxlcyBhcmUgaW4gZnVzaW9uZXRpY3MtbWFyay1hZGRpdGlvbnMuc2Nzc1xuLy8gKG11c3QgYmUgaW4gdGhlIHNlY29uZC1sb2FkZWQgYnVuZGxlIHRvIHdpbiB0aGUgY2FzY2FkZSlcblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkgLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0IHtcbiAgICAuYXRobGV0ZS1oZWFkZXIsXG4gICAgLmF0aGxldGUtcm93IHtcbiAgICAgIG1pbi13aWR0aDogNjgwcHg7XG4gICAgfVxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICB9XG4gICAgLmF0aGxldGUtc3RhdCB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1wcm9ncmFtcyB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExMHB4KTtcbiAgICB9XG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLmFycm93VGFicyAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgQGluY2x1ZGUgZ3JpZHhnYXAoMnB4KTtcbiAgICA+IHNwYW4gIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmJlZm9yZSAge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7ICAgICAgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDE2cHggNnB4LCAkYmx1ZSwgZG93bik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIH1cbiAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YyRjRGNTtcbiAgICAgICAgICAgIGNvbG9yOiAjQUJCMEIzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7ICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgIHtcbiAgICAgICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwcm9ncmFtIHNjaGVkdWxlIHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwcm9ncmFtU2NoZWR1bGVUYWJsZUF0dHJzKCRsZWZ0UHVsbCwgJGlubmVyU3BhY2luZykgIHsgIFxuICAgICRwcm9ncmFtYnJlYWtwb2ludDogJGxhcmdlQnJlYWtwb2ludCArICRsZWZ0UHVsbCArIDQwcHg7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgIFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHByb2dyYW1icmVha3BvaW50KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRsZWZ0UHVsbH0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxlZnRQdWxsKi0xO1xuICAgIH1cbiAgICB0ciAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxlZnRQdWxsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArICogIHsgICAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwLzcqMSUpIC0gI3skbGVmdFB1bGwvN30pO1xuICAgICAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lclNwYWNpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgdHIgIHtcbiAgICAgICAgICAgID4gKiAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5uZXJTcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRoZWFkICB7XG4gICAgICAgIHRoICB7XG4gICAgICAgICAgICBjb2xvcjogI0JEQzFDNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSAge1xuICAgICAgICB0aCAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogIzg0ODk5MDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH0gICAgXG4gICAgfVxufVxuLnByb2dyYW1TY2hlZHVsZVRhYmxlICB7XG4gICAgQGluY2x1ZGUgcHJvZ3JhbVNjaGVkdWxlVGFibGVBdHRycyg3MHB4LCA1cHgpO1xufVxuXG5AbWl4aW4gYWN0aXZpdHlQaWxsR3JvdXBBdHRzKCRwaWxsR2FwKSAge1xuICAgICRwaWxsSGVpZ2h0OiAkcGlsbEdhcCoyLzM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNGMkY0RjU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbjsgIFxuICAgIGhlaWdodDogMTE3LjNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYWN0aXZpdHlQaWxsICB7XG4gICAgICAgIGhlaWdodDogY2FsYygzMy4zMzMlIC0gI3skcGlsbEhlaWdodH0pO1xuICAgICAgICArIC5hY3Rpdml0eVBpbGwgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwaWxsR2FwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjQ0REM0Q3OyAgICBcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbig0MHB4KTtcbiAgICB9ICBcbn1cblxuLmFjdGl2aXR5UGlsbEdyb3VwICB7XG4gICAgQGluY2x1ZGUgYWN0aXZpdHlQaWxsR3JvdXBBdHRzKDNweCk7XG59XG4uYWN0aXZpdHlQaWxsICB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWN0aXZpdHlQaWxsLS1wcm9tcHQgIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTRFOUVDO1xuICAgIGNvbG9yOiAjQkRDMUM1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjdGl2aXR5UGlsbC0tYWN0aXZlICB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7ICBcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIC5jbG9zZUljb24gIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbl95KDEwcHgpO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfSAgIFxufVxuXG4uYWN0aXZpdHlQaWxsR3JvdXAtLWVtcHR5ICB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHNlbGVjdCArIGFkZCBwaWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuLnNlbGVjdEFkZFBpbGwgIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QsXG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QtaW5wdXQgLnNlbGVjdC10b2dnbGUge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgYnV0dG9uLnByaW1hcnkgIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgICArICogIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHZhcnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuJGZsZXhGb3JtSW5wdXRfaDogNDZweDtcbiRmbGV4Rm9ybV9wYWQ6IDEycHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0eXBvZ3JhcGh5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi50X3BhZ2VDb250ZW50VGl0bGUgIHtcblx0bWFyZ2luOiAwO1xuXHRjb2xvcjogJGJsdWU7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ji50b3AgIHtcblx0XHRjb2xvcjogIzc1Nzg3Qjtcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi55Y2VudGVyLWl0ZW1zICB7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLnhnYXBDaGlsZHJlbiAge1xuXHQ+ICogKyAqICB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi5pbmxpbmVTcGFjZWQgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQtYmFzZTtcdFxufVxuLmlubGluZVNwYWNlZC0tYWxpZ24tLXRvcCAge1xuXHQ+ICogIHtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG59XG4uaW5saW5lU3BhY2VkLS1hbGlnbi0tbWlkZGxlICB7XG5cdD4gKiAge1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbi5pbmxpbmVTcGFjZWQtLWNvbXBhY3QgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteHkoMnB4KTtcbn1cbi5pbmxpbmVTcGFjZWQtLXNwYWNlZCAge1xuXHRAaW5jbHVkZSBpbmxpbmUtZ3JpZC14eSg4cHgpO1xufVxuLmlubGluZVNwYWNlZC0tc3BhY2VkTWVkICB7XG5cdEBpbmNsdWRlIGlubGluZS1ncmlkLXh5KDRweCk7XG59XG4uaW5saW5lU3BhY2VkLS1vcHRpb25JbnB1dHMgIHtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteCgxMHB4KTtcblx0QGluY2x1ZGUgaW5saW5lLWdyaWQteSg0cHgpO1xufVxuLmlubGluZVNwYWNlZF9fY2hpbGQgIHtcblx0QGluY2x1ZGUgdHJpbUlubmVyTWFyZ2luO1xufVxuXG4uY29sb3ItLWJhZCAge1xuXHRjb2xvcjogJHJlZDtcbn1cbi5jb2xvci0tZ29vZCAge1xuXHRjb2xvcjogJGdyZWVuO1xufVxuLmNvbG9yLS1vayAge1xuXHRjb2xvcjogJHllbGxvdztcbn1cbi5jb2xvci0tbmV1dHJhbCAge1xuXHRjb2xvcjogJGdyZXk7XG59XG4uY29sb3ItLW5ldXRyYWxCbHVlLCBcbi5jb2xvci0tbGluayAge1xuXHRjb2xvcjogIzRBQjNEQSAhaW1wb3J0YW50OyAvLyBuZWVkcyB0byBvdmVycmlkZSBkZWZhdWx0IHN0eWxlcyBzaW5jZSBpdCBpcyBhIGhlbHBlciBjbGFzc1xufVxuXG4uZmxleFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdygpO1x0XG59XG4uZmxleFJvd19fZmxleCAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG5idXR0b24ud2lkZSAge1xuXHRtaW4td2lkdGg6IDIwMHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXBwLXNwZWNpZmljIG1peGluc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5AbWl4aW4gYmxvY2tTaGFkb3cgIHtcblx0Ym94LXNoYWRvdzogMCAwIDNweCByZ2JhKCMwMDAsIDAuMik7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzY3JvbGwgc2VjdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5zY3JvbGxTaWRlV3JhcCAge1x0XG5cdEBpbmNsdWRlIHJlc3BvbmQobWQtdXApICB7XG5cdFx0QGluY2x1ZGUgZmxleC1yb3c7XHRcblx0fVx0XG59XG4kc2Nyb2xsU2lkZVdyYXBfX3NpZGVfZGFya0M6ICMyOTMwNDA7XG4uc2Nyb2xsU2lkZVdyYXBfX3NpZGUgIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGJhY2tncm91bmQ6ICMzNjNBNDY7XHRcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRtaW4td2lkdGg6IDI3NXB4O1xuXHRcdG1heC13aWR0aDogMzQ3cHg7XG5cdFx0d2lkdGg6IDI2LjclO1xuXHR9XHRcblx0QGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcblx0XHRAaW5jbHVkZSBmbGV4LXJvdztcdFxuXHRcdGJhY2tncm91bmQ6ICRzY3JvbGxTaWRlV3JhcF9fc2lkZV9kYXJrQztcblx0XHQubG9nZ2VkSW5CbG9jayAge1xuXHRcdFx0d2lkdGg6IDI0MHB4O1xuXHRcdH1cdFxuXHRcdC5zaWRlQmFyTWFpbkNvbnRlbnQgIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0fVxuXHRcdC5zaWRlQmFyU2VjdGlvbiAge1x0XHRcdFxuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdFx0XHQrIC5zaWRlQmFyU2VjdGlvbiAge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRcdH1cblx0XHR9XHRcdFx0XHRcblx0XHQuc2lkZUJhclNlY3Rpb25fX2NvbnRlbnQgIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0fVx0XHRcblx0fVx0XG59XG4uc2lkZUJhckZpbHRlckZpZWxkcyAge1xuXHRAaW5jbHVkZSByZXNwb25kKG1kLXVwKSAge1xuXHRcdD4gKiArICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDExcHg7XG5cdFx0fVxuXHR9XG5cdEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG5cdFx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdFx0QGluY2x1ZGUgZ3JpZHhnYXAoJGZsZXhGb3JtX3BhZC8yKTtcblx0XHQ+ICogIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHR9XG59XG4uc2Nyb2xsU2lkZVdyYXBfX21haW4gIHtcblx0QGluY2x1ZGUgZmxleCgxKTtcblx0cGFkZGluZzogMjBweDtcblx0YmFja2dyb3VuZDogI0VGRjFGMjtcbn1cblxuQG1peGluIHNjcm9sbFNpZGVXcmFwWHBhZCAge1xuXHRAaW5jbHVkZSB4cGFkKDIycHgpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRtaW4yIHNpZGViYXIgbG9nZ2VkIGluIGJsb2NrIGhpZ2ggbGV2ZWxcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmxvZ2dlZEluQmxvY2sgIHtcblx0YmFja2dyb3VuZDogIzk3NjhFQjtcdFxuXHRAaW5jbHVkZSBzY3JvbGxTaWRlV3JhcFhwYWQ7XG5cdHBhZGRpbmctdG9wOiAxMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMjFweDtcbn1cbi5sb2dnZWRJbkJsb2NrX19uYW1lICB7XG5cdG1hcmdpbjogMCAwIDdweDtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMjZweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5sb2dnZWRJbkJsb2NrX19tZW51ICB7XG5cdFxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGFydCBvZiBsb2dnZWQgaW4gcHJvZmlsZSB0aGF0J3MganVzdCB0aGUgbWVudVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ubG9nZ2VkSW5NZW51ICB7XG5cdFxufVxuLmxvZ2dlZEluTWVudV9fZHJvcERvd24gIHtcblx0XG59XG4ubG9nZ2VkSW5NZW51X190cmlnZ2VyICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cbn1cbi5sb2dnZWRJbk1lbnVfX3RyaWdnZXJfX2ltZyAge1x0XG5cdGltZyAge1xuXHRcdHdpZHRoOiAzMnB4O1xuXHRcdGhlaWdodDogMzJweDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbi5sb2dnZWRJbk1lbnVfX3RyaWdnZXJfX25hbWUgIHtcblx0Y29sb3I6ICNmZmY7XG5cdHBhZGRpbmctbGVmdDogMTBweDtcdFxuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG4ubG9nZ2VkSW5NZW51X190cmlnZ2VyX19pY29uICB7XHRcblx0ZGlzcGxheTogYmxvY2s7XG5cdGNvbG9yOiAjZmZmO1xuXHRmb250LXNpemU6IDZweDtcblx0cGFkZGluZzogNnB4IDAgMCA1cHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzaWRiZSBzZWN0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zaWRlQmFyU2VjdGlvbiAge1xuXHRAaW5jbHVkZSBzY3JvbGxTaWRlV3JhcFhwYWQ7XG5cdEBpbmNsdWRlIHlwYWQoMjBweCk7XG5cdGNvbG9yOiAjZmZmO1xufVxuLnNpZGVCYXJTZWN0aW9uLS1kYXJrICB7XG5cdGJhY2tncm91bmQ6ICRzY3JvbGxTaWRlV3JhcF9fc2lkZV9kYXJrQ1xufVxuLnNpZGVCYXJTZWN0aW9uX19jb250ZW50ICB7XG5cdFxufVxuLnNpZGVCYXJTZWN0aW9uX19oZWFkZXIgIHtcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG5cdEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG5cdFx0d2lkdGg6IDExMHB4O1xuXHR9XG59XG4uc2lkZUJhclNlY3Rpb25fX2hlYWRlcl9fdGl0bGUgIHtcblx0Zm9udC1zaXplOiAyMHB4O1xuXHRmb250LXdlaWdodDogNTAwO1x0XG59XG5cbi5ibG9ja0NvbnRlbnQgIHtcblx0QGluY2x1ZGUgdHJpbUlubmVyTWFyZ2luO1xufVxuXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZmllbGQgcGlsbHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuQG1peGluIG9wZW5GaWVsZF94cGFkKCRwYWQpICB7XG5cdD4gKiAge1xuXHRcdCY6Zmlyc3QtY2hpbGQgIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJHBhZDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkICB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkO1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZCAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMzZweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRmb250LXNpemU6IDE0cHg7XHRcblx0QGluY2x1ZGUgZmxleC1yb3c7XHRcblx0QGluY2x1ZGUgb3BlbkZpZWxkX3hwYWQoMTJweCk7XHRcblx0aW5wdXQgIHtcblx0XHRwYWRkaW5nOiA1cHggMDtcblx0fVxufVxuLm9wZW5GaWVsZFRhbGxfYnRuICB7XG5cdG1heC1oZWlnaHQ6ICRmbGV4Rm9ybUlucHV0X2g7XG5cdG1pbi1oZWlnaHQ6ICRmbGV4Rm9ybUlucHV0X2g7XG5cdGhlaWdodDogJGZsZXhGb3JtSW5wdXRfaDtcbn1cbi5vcGVuRmllbGQtLXJvdW5kZWQgIHtcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcblx0QGluY2x1ZGUgb3BlbkZpZWxkX3hwYWQoMjBweCk7XG59XG5cbkBtaXhpbiBvcGVuRmllbGRfY29sb3IoJHBsYWNlaG9sZGVyLCAkYWN0aXZlKSAge1xuXHRpbnB1dCAge1xuXHRcdGNvbG9yOiAjNzU3ODdCO1xuXHRcdEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG5cdFx0XHRjb2xvcjogI0FBQUJBRjtcblx0XHR9XG5cdH1cblx0Lm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHRcdC50ZXh0ICB7XG5cdFx0XHRjb2xvcjogIzc1Nzg3Qjtcblx0XHRcdCYucGxhY2Vob2xkZXIgIHtcblx0XHRcdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5vcGVuRmllbGQtLWRhcmtlciAge1xuXHRAaW5jbHVkZSBvcGVuRmllbGRfY29sb3IoI0FBQUJBRiwgIzc1Nzg3Qik7XHRcbn1cbi5vcGVuRmllbGQtLXRhbGwgIHtcblx0aGVpZ2h0OiAkZmxleEZvcm1JbnB1dF9oO1xuXHQub3BlbkZpZWxkU2VsZWN0X190cmlnZ2VyIGkgIHtcblx0XHRmb250LXNpemU6IDhweDtcblx0XHRwYWRkaW5nLXRvcDogNHB4O1xuXHR9XG59XG5cbi5vcGVuRmllbGRTZWxlY3QgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG59XG4kZGFya0lucHV0UGxhY2Vob2xkZXJPcGFjaXR5OiAwLjM4O1xuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcblx0QGluY2x1ZGUgZmxleCgxKTtcblx0LnRleHQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHRcdCYucGxhY2Vob2xkZXIgIHtcblx0XHRcdG9wYWNpdHk6ICRkYXJrSW5wdXRQbGFjZWhvbGRlck9wYWNpdHk7XG5cdFx0fVxuXHR9XG5cdGkgIHtcblx0XHRmb250LXNpemU6IDZweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0b3BhY2l0eTogMC4yNjtcblx0fVx0XG59XG5cbi5vcGVuRmllbGRJbnB1dCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcblx0PiAqICB7XG5cdFx0KyAqICB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcblx0XHR9XG5cdH1cblx0aW5wdXQgIHtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcdFx0XG5cdH1cblx0LnN1Ym1pdFdyYXAgIHtcdFx0XG5cdFx0b3BhY2l0eTogMC4zNjtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0QGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRcdCY6aG92ZXIgIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XHRcblx0Lmljb24tc2VhcmNoICB7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHR9XG59XG4ub3BlbkZpZWxkU2VsZWN0LS1kYXJrICB7XG5cdGJhY2tncm91bmQ6ICM1MTU5NkY7XHRcbn1cblxuLm9wZW5GaWVsZElucHV0LS1saWdodCAge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ub3BlbkZpZWxkSW5wdXQtLWRhcmsgIHtcblx0YmFja2dyb3VuZDogIzQxNDk1Qztcblx0aW5wdXQgIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRAaW5jbHVkZSBwbGFjZWhvbGRlciAge1xuXHRcdFx0b3BhY2l0eTogJGRhcmtJbnB1dFBsYWNlaG9sZGVyT3BhY2l0eTtcblx0XHR9XHRcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZGFyayBzaWRlIGxpbmtzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5kYXJrU2lkZUxpbmtzICB7XG5cdG1hcmdpbjogNTBweCAtMTBweDsgLy8gdGhlc2Ugc2hvdWxkIHRha2UgdXAgYSBiaXQgbW9yZSBvZiB0aGUgYXZhaWxhYmxlIHNwYWNlIGluIHRoZSBzaWRlYmFyIHNlY3Rpb25cblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1x0XHRcblx0PiBsaSAge1xuXHRcdCsgbGkgIHtcblx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHR9XG5cdH1cblx0YSAge1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuXHRcdGJhY2tncm91bmQ6ICM0MTQ5NUM7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0cGFkZGluZzogMTBweCAxN3B4O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdCY6aG92ZXIgIHtcblx0XHRcdFxuXHRcdH1cblx0XHQmLmFjdGl2ZSAge1xuXHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6ICRibHVlO1xuXHRcdFx0YmFja2dyb3VuZDogIzUxNTk2Rjtcblx0XHRcdC5udW0gIHtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC50ZXh0ICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0Lm51bSAge1xuXHRcdGNvbG9yOiAjNzA3Qzk3O1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2VjdGlvbiBIZWFkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLnBhZ2VTZWN0aW9uQmxvY2sgIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XG5cdGJhY2tncm91bmQ6ICNmZmY7XHRcblx0QGluY2x1ZGUgYmxvY2tTaGFkb3c7XG5cdGJvcmRlci10b3A6IDVweCBzb2xpZCAkYmx1ZTtcbn1cbi5wYWdlU2VjdGlvbkJsb2NrX19oZWFkZXIgIHtcblx0cGFkZGluZzogMTBweCAxNXB4IDMwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHR9XG5cdH1cdFx0XG59XG4ucGFnZVNlY3Rpb25CbG9ja19wcmVIZWFkZXIgIHtcblx0bWFyZ2luOiAwIDAgMTBweDtcbn1cbi5hY3Rpb25zQmFyICB7XG5cdHBhZGRpbmc6IDhweCAxNXB4IDhweCA4cHg7XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGJ1dHRvbiBhZGp1c3RtZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5idXR0b24ucHJpbWFyeSAge1xuXHQmLnNtYWxsICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDA7XG5cdFx0bWF4LWhlaWdodDogbm9uZTtcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogNDFweDtcblx0XHRwYWRkaW5nOiAwIDE0cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBidG4gaWNvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmJ0bkljb24gIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdCYuaWNvbi1hZGQtdGVhbSAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQmLmljb24tYWRkLXBlcnNvbiAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXHQmLmljb24tYWRkLXByYWN0aXRpb25lciAge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxufVxuLmJ0bkljb24tLWxlZnQgIHtcblx0cGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGljb25UZXh0TGlua1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uaWNvblRleHRMaW5rICB7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1x0XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0aSAge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweDtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGFnZSBzZWN0aW9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ucGFnZVNlY3Rpb24gIHtcblx0KyAucGFnZVNlY3Rpb24gIHtcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGZpbHRlcnMgYmFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLnRhYmxlRmlsdGVyc1dyYXAgIHtcblx0QGluY2x1ZGUgZmxleC1yb3coKTtcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG5cdG1hcmdpbjogMCAwIDEwcHg7XG59XG4udGFibGVGaWx0ZXJzV3JhcF9fbWFpbiAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuLnRhYmxlRmlsdGVyc1dyYXBfX3NpZGUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR3aWR0aDogMjUlO1xuXHRtaW4td2lkdGg6IDE4MHB4O1x0XG59XG5cbi5wYWdpbmF0aW9uSW5mbyAge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cblxuLmNvbXBhY3RQYWdpbmF0aW9uICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdD4gZGl2ICB7XHRcdFxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdHdpZHRoOiAzMXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcdFxuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRvcGFjaXR5OiAwLjQ7XHRcdFx0XHRcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcHg7XG5cdFx0fVx0XHRcblx0XHQmOmhvdmVyICB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cdFxuXHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0fVx0XG5cdH1cblx0aSAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGZvbnQtc2l6ZTogMjJweDtcdFxuXHRcdGxpbmUtaGVpZ2h0OiAyOHB4O1x0XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxufVxuXG5cbi5kcm9wZG93bi13cmFwcGVyLmRyb3Bkb3duLXdyYXBwZXItLWlubGluZSAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHRcblx0LnRyaWdnZXIgIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdFx0Lmljb24tY2FyZXQtZHJvcGRvd24gIHtcblx0XHRcdHBhZGRpbmctbGVmdDogNHB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogNHB4O1x0XG5cdFx0fVxuXHR9XG5cdD4gLnN1Ym1lbnUtd3JhcHBlciAge1xuXHRcdD4gLnN1Ym1lbnUtY29udGVudCAge1xuXHRcdFx0PiAuc3VibWVudSAge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0XHRsaSAge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogMDtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHg7XG5cdFx0XHRcdFx0PiBzcGFuID4gc3BhbiAge1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLmljb24tLWZsaXAgIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc29ydCBJY29uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zb3J0ZWRUYWJsZUhlYWRlciAge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdCYuc29ydGVkLCBcblx0Jjpob3ZlciAge1xuXHRcdGJhY2tncm91bmQ6ICNGN0Y3Rjc7XG5cdH1cbn1cbiRzb3J0SWNvbldyYXBfY19kZWZhdWx0OiAjRDhEOEQ4O1xuJHNvcnRJY29uV3JhcF9jX2FjdGl2ZTogIzc4N0I3RTtcbi5zb3J0SWNvbldyYXAgIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1x0XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0aGVpZ2h0OiAxNnB4O1xuXHR3aWR0aDogOXB4O1xuXHRtYXJnaW4tbGVmdDogM3B4O1xuXHQmOmJlZm9yZSwgJjphZnRlciAge1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblx0XHRjb250ZW50OiBcIiBcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogNnB4O1xuXHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDZweDtcblx0XHRib3JkZXItbGVmdC13aWR0aDogNHB4O1xuXHRcdGJvcmRlci1yaWdodC13aWR0aDogNHB4O1xuXHR9XG5cdCY6YmVmb3JlICB7XG5cdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHNvcnRJY29uV3JhcF9jX2RlZmF1bHQ7XG5cdFx0dG9wOiAtNXB4O1xuXHR9XG5cdCY6YWZ0ZXIgIHtcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkc29ydEljb25XcmFwX2NfZGVmYXVsdDtcblx0XHRib3R0b206IC01cHg7XG5cdH1cblx0LnNvcnRlZFRhYmxlSGVhZGVyLS1kZXNjICYgIHtcblx0XHQmOmJlZm9yZSAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XHRcblx0XHQmOmFmdGVyICB7XG5cdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkc29ydEljb25XcmFwX2NfYWN0aXZlO1xuXHRcdH1cdFxuXHR9XG5cdC5zb3J0ZWRUYWJsZUhlYWRlci0tYXNjICYgIHtcblx0XHQmOmJlZm9yZSAge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHNvcnRJY29uV3JhcF9jX2FjdGl2ZTtcblx0XHR9XG5cdFx0JjphZnRlciAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XHRcdFxuXHR9XHRcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWN0aW9uIGljb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuXG4uYWN0aW9uSWNvbiAge1xuXHRmb250LXNpemU6IDE0MCU7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQmLmljb24tbGV0dGVyICB7XG5cdFx0Zm9udC1zaXplOiAxMDAlO1x0XHRcblx0fVxuXHQmLmljb24tbGF1bmNoICB7XG5cdFx0Zm9udC1zaXplOiAxOTIlO1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpY29uQWN0aXZlQ2hlY2tcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmljb25BY3RpdmVDaGVjayAge1xuXHRmb250LXNpemU6IDExMCU7XG5cdGNvbG9yOiAjREJEQkRCO1xufVxuLmljb25BY3RpdmVDaGVjay0tYWN0aXZlICB7XG5cdGNvbG9yOiAkZ3JlZW47XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbmxpbmUgcGVyc29uIGJhZGdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5pbmxpbmVQZXJzb25CYWRnZSAge1xuXHRmb250LXNpemU6IDEwMCU7XG5cdHBhZGRpbmctbGVmdDogMXB4O1x0XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWx0IHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbkBtaXhpbiBhbHRUYWJsZVhwYWQoJHBhZCkgIHtcdFxuXHQuYWx0VGFibGUgIHtcblx0XHR0ciAge1x0XHRcdFxuXHRcdFx0PiAqICB7XG5cdFx0XHRcdEBpbmNsdWRlIHhwYWQoJHBhZC8yKTtcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogJHBhZDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmxhc3QtY2hpbGQgIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkcGFkO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdC5hbHRUYWJsZV9fcm93ICB7XG5cdFx0QGluY2x1ZGUgeHBhZCgkcGFkKTtcblx0fVx0XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWx0IHRhYmxlIHggcGFkZGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdEBpbmNsdWRlIGFsdFRhYmxlWHBhZCgyMHB4KTtcdFxufVx0XG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuXHRAaW5jbHVkZSBhbHRUYWJsZVhwYWQoOHB4KTtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbHQgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmFsdFRhYmxlX19pbm5lcldyYXAgIHtcblx0Y29sb3I6ICM3NTc4N0I7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0QGluY2x1ZGUgYmxvY2tTaGFkb3c7XG5cdEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG5cdFx0Zm9udC1zaXplOiAxMnB4O1xuXHR9ICBcbn1cblxuLmFsdFRhYmxlICB7XHRcdCBcblx0dGFibGUgIHtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0fVxuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcdFx0XHRcdFxuXHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHR0aCAge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRkNGQ0Y7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0QGluY2x1ZGUgeXBhZCgxNHB4KTtcblx0XHR9XG5cdFx0dGQgIHtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuXHRcdFx0QGluY2x1ZGUgeXBhZCgxMnB4KTtcdFxuXHRcdH1cblx0fVx0XG59XG5cbi5hbHRUYWJsZV9fc2ltcGxlSGVhZGVyICB7XG5cdG1hcmdpbjogMCAwIDE1cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDEzcHg7XHRcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYWx0VGFibGVfX2Zvb3RlckJhciAge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdEBpbmNsdWRlIHlwYWQoMTBweCk7XG59XG4uYnRuICB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uc2hvcnRXaWRlQnRuICB7XG5cdG1pbi13aWR0aDogMTY3cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcblx0cGFkZGluZzogMCAxNXB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4udGQtLW5hbWUgIHtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2l0ZSBoZWFkZXIgYmFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5zaXRlSGVhZGVyQmFyICB7XG5cdFxufVxuXG4uc2l0ZUhlYWRlckJhcl9fbG9nb0dyb3VwICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuXHQ+IGRpdiAge1xuXHRcdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdFx0KyBkaXYgIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzlDOTtcblx0XHR9XG5cdH1cbn1cblxuLnNpdGVIZWFkZXJCYXJfX2FjdGlvbnMgIHtcblx0cGFkZGluZy1yaWdodDogMjBweDtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGxvZ29zIFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4ubG9nby0tZnVzU21hbGwgIHtcblx0d2lkdGg6IDExOXB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gIHRleHQgbGlua1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4udGV4dExpbmsgIHtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGZvbnQtc2l6ZTogMTNweDtcdFxufVxuLnRleHRMaW5rLS1idW1wICB7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGJhY2sgYnRuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmJhY2tCdG4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2lkdGg6IDQ1cHg7XG5cdGhlaWdodDogMzlweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAkYmx1ZTtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBmbGV4IGZvcm1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuJGZsZXhGb3JtX2hyOiAjRUZFRkYwO1xuLmZsZXhGb3JtICB7XG5cdGZpZWxkc2V0ICB7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAkZmxleEZvcm1fcGFkIDA7XG5cdFx0KyBmaWVsZHNldCAge1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRmbGV4Rm9ybV9ocjtcblx0XHR9XG5cdH1cbn1cbi5mbGV4Rm9ybUZvb3RlciAge1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGZsZXhGb3JtX2hyO1xuXHRwYWRkaW5nOiAyMHB4ICRmbGV4Rm9ybV9wYWQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZsZXhGb3JtUm93ICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0cGFkZGluZzogMCAkZmxleEZvcm1fcGFkO1xuXHRtaW4taGVpZ2h0OiAkZmxleEZvcm1JbnB1dF9oO1xuXHQrIC5mbGV4Rm9ybVJvdyAge1xuXHRcdG1hcmdpbi10b3A6ICRmbGV4Rm9ybV9wYWQ7XG5cdH1cbn1cbi5mbGV4Rm9ybVJvdy0tbGFyZ2VTZWN0aW9uICB7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG5cdEBpbmNsdWRlIHlwYWQoMTJweCk7XHRcblx0LmZsZXhGb3JtUm93X19sYWJlbENvbCAge1xuXHRcdHBhZGRpbmctdG9wOiAxMnB4O1xuXHR9XG59XG5cblxuLmZsZXhGb3JtUm93X19sYWJlbENvbCAge1xuXHRtaW4taGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxODJweDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Y29sb3I6ICM2QzZENkM7XG5cdHBhZGRpbmctcmlnaHQ6IDI3cHg7XG59XG4uZmxleEZvcm1Sb3dfX2ZpZWxkc0NvbCAge1xuXHRAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG4uZmllbGRzUm93ICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBncmlkeGdhcCgkZmxleEZvcm1fcGFkLzIpO1xufVxuLmZpZWxkc1Jvdy0tY29tcHJlc3NlZCAge1xuXHRtYXgtd2lkdGg6IDUwMHB4O1xufVxuLmZpZWxkc1Jvdy0tdHdvQ29sICB7XG5cdD4gKiAge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cbn1cbi5maWVsZHNSb3ctLXRocmVlQ29sICB7XG5cdD4gKiAge1xuXHRcdHdpZHRoOiAzMy4zMyU7XG5cdH1cbn1cbi5maWVsZHNSb3ctLWZvdXJDb2wgIHtcblx0PiAqICB7XG5cdFx0d2lkdGg6IDI1JTtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaWNvbiBsYWJlbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uaWNvbkxhYmVsICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdGkgIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0Y29sb3I6ICNBQzlFQTU7XG5cdH1cblx0c3BhbiAge1xuXHRcdEBpbmNsdWRlIGZsZXgoMSk7XG5cdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHR9XG59XG5cbi51cGxvYWRCbG9jayAge1xuXHRtYXgtd2lkdGg6IDM5MHB4O1xuXHRiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDIwcHggMTVweCAyMHB4IDIwcHg7XG59XG5cbi5pbnB1dElubmVyTGFiZWwgIHtcblx0Y29sb3I6ICNBQUFCQUY7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBjb2xsYXBzZWQgcmV1c2FibGUgZWxlbWVudHMgXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5jb2xsYXBzZWRfX2RlZmF1bHRFbGVtZW50ICB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdC5jb2xsYXBzZWQgJiAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5jb2xsYXBzZWRfX2FsdEVsZW1lbnQgIHtcblx0LmNvbGxhcHNlZCAmICB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdG9nZ2xlckJhclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4udG9nZ2xlckJhciAge1xuXHRwYWRkaW5nOiAxMnB4IDE3cHg7XG5cdGJhY2tncm91bmQ6ICNGNEY0RjQ7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0KyAudG9nZ2xlckJhciAge1xuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQmLmNvbGxhcHNlZCAge1xuXHRcdC50b2dnbGVyQmFyX19jb250ZW50ICB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4udG9nZ2xlckJhcl9fdHJpZ2dlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1x0XG59XG4udG9nZ2xlckJhcl9fdHJpZ2dlcl9fYWxsVG9nZ2xlSW5wdXQgIHtcblx0QGluY2x1ZGUgZmxleCgxKTtcbn1cbi50b2dnbGVyQmFyX190cmlnZ2VyX19pY29uICB7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHBhZGRpbmc6IDVweDtcbn1cblxuLnRvZ2dsZXJCYXJfX2NvbnRlbnQgIHtcblx0cGFkZGluZzogMjRweCAwIDA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbnB1dCBvcHRpb25zIHRyZWVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmlucHV0T3B0aW9uc1RyZWUgIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1x0XG5cdHVsICB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDAgMCAwIDMwcHg7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHRsaSArIGxpLCBcblx0bGFiZWwgKyB1bCB7XHRcdFxuXHRcdG1hcmdpbi10b3A6IDhweDtcblx0fVxuXHQ+IGxpICB7XG5cdFx0PiBsYWJlbCBzcGFuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHRcdD4gdWwgIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XG5cdFx0XHQ+IGxpICB7XG5cdFx0XHRcdD4gdWwgIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxOHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb2x1bW5zTGlzdCAge1xuXHRsaXN0LXN0eWxlOiBub25lO1x0XG5cdG1hcmdpbjogMzBweCAwO1xuXHRwYWRkaW5nOiAwO1xuXHQ+IGxpICB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTFweDtcblx0fVxufVxuXG4uY29sdW1uc0xpc3QtLTQgIHtcblx0QGluY2x1ZGUgY29sdW1uLWNvdW50KDQpO1xufVxuXG4uY2xvc2FibGVCdXR0b24gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0YmFja2dyb3VuZDogI0U5RjBGMjtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHRwYWRkaW5nOiA4cHggMTZweDtcblx0Y29sb3I6ICM3NTc4N0I7XG5cdHNwYW4gIHtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1x0XHRcblx0XHRmb250LXNpemU6IDEycHg7XHRcdFxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IDAuOXB4O1xuXHR9XG5cdGkgIHtcblx0XHRtYXJnaW4tbGVmdDogN3B4O1xuXHRcdHBhZGRpbmc6IDNweCAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRmb250LXNpemU6IDE4cHg7XHRcdFxuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgcmFkaW8vY2hlY2tib3ggdGV4dCBzdHlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5sYWJlbC5jaGVja2JveC1pbnB1dCwgXG5sYWJlbC5yYWRpby1pbnB1dCAge1xuXHRzcGFuICB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGNvbG9yOiAjNzU3NzdBO1xuXHR9XHRcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbnNpdmUgc2hvdyBoZWxwZXIgY2xhc3Nlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5yZXNwb25zaXZlU2hvdyAge1xuXHRkaXNwbGF5OiBub25lO1x0XG59XG4ucmVzcG9uc2l2ZVNob3ctLW1kVXAgIHtcblx0QGluY2x1ZGUgcmVzcG9uZChtZC11cCkgIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuLnJlc3BvbnNpdmVTaG93LS1zbURvd24gIHtcblx0QGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpY29uIGNvbCBjZWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcbi5pY29uQ29sQ2VsbCAge1xuXHR3aWR0aDogMjBweDtcblx0Lmljb24tZWRpdCAge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IC0ycHg7XG5cdH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5AbWl4aW4gZmxleC1kaXJlY3Rpb24taW1wb3J0YW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWUhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIHRoaXMgaXMgYW4gdXBkYXRlZCBtaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcblxuQG1peGluIGV2ZW4tY29scyAge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICAmLmNvbXBhY3QgIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNwYWNlZC1vdXQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tLWFsaWduICB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgICB9XG4gICAgJi5ldmVuLWNvbHMtLXN0cmlwSW5uZXJNYXJnaW5zICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiAqICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgZXZlcnl0aGluZyBiZWxvdyB0aGlzIGlzIG5ld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgIFxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHRyaWFuZ2xlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gZ3JpZHhnYXAoJGdhcCkgIHtcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcbiAgICA+ICogIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2FwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gaW5saW5lLWdyaWQtYmFzZSAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICogIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteCgkZ2FwKSAge1xuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB4bWFyZ2luKCRnYXApO1xuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteSgkZ2FwKSAge1xuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB5bWFyZ2luKCRnYXApO1xuICB9XG59XG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xuICBtYXJnaW46ICRnYXAqLTE7XG4gID4gKiAge1xuICAgIG1hcmdpbjogJGdhcDtcbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcIm1peGluczJcIjsiLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbi1pbXBvcnRhbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZSFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgdGhpcyBpcyBhbiB1cGRhdGVkIG1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuXG5AbWl4aW4gZXZlbi1jb2xzICB7XG4gIEBpbmNsdWRlIGZsZXgtcm93O1xuICAgICYuY29tcGFjdCAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc3BhY2VkLW91dCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5kZWZhdWx0LXNwYWNlZCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ib3R0b20tYWxpZ24gIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICAgIH1cbiAgICAmLmV2ZW4tY29scy0tc3RyaXBJbm5lck1hcmdpbnMgIHtcbiAgICAgID4gKiAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICBldmVyeXRoaW5nIGJlbG93IHRoaXMgaXMgbmV3XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdHJpYW5nbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG5cbkBtaXhpbiBncmlkeGdhcCgkZ2FwKSAge1xuICAgIG1hcmdpbjogMCAkZ2FwKi0xO1xuICAgID4gKiAge1xuICAgICAgICBwYWRkaW5nOiAwICRnYXA7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC1iYXNlICB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gKiAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgICAgXG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC14KCRnYXApICB7XG4gIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCk7XG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC15KCRnYXApICB7XG4gIEBpbmNsdWRlIHltYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHltYXJnaW4oJGdhcCk7XG4gIH1cbn1cblxuQG1peGluIGlubGluZS1ncmlkLXh5KCRnYXApICB7XG4gIG1hcmdpbjogJGdhcCotMTtcbiAgPiAqICB7XG4gICAgbWFyZ2luOiAkZ2FwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibWl4aW5zMlwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRkaXRpb25hbCBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLy8gZmllbGQgd2lkdGhzXG4ub3BlbkZpZWxkV2lkdGgtLW1heDEwMCAge1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8vIG1ha2Ugc3VyZSBpdCBpcyBzdGlsbCBmbGV4aWJsZS4uLlxufVxuLm9wZW5GaWVsZFdpZHRoLS1zbWFsbCAge1xuXHR3aWR0aDogNTJweDtcbn1cbi5vcGVuRmllbGRXaWR0aC0tbWVkaXVtICB7XG5cdHdpZHRoOiAxNDhweDtcbn1cblxuLm9wZW5GaWVsZFdpZHRoLS1ycGUgIHtcblx0d2lkdGg6IDIwMHB4O1xufVxuXG4vLyBjZWxsIHdpZHRoc1xuLmNlbGxXaWR0aC0tdHJhaW5pbmdMb2FkICB7XG5cdHdpZHRoOiAxMzJweDtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bmlxdWUgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuXG4uc2NvcmVOdW0gIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4ub3BlbkZpZWxkLS1jZW50ZXJlZCAge1xuXHRpbnB1dCAge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4kdGxGaWx0ZXJzLXhnYXA6IDE1cHg7XG4kdGxGaWx0ZXJzLVhlZGdlR2FwOiAxNXB4O1xuXG4udGxGaWx0ZXJzSGVhZGVyICB7XG5cdHBhZGRpbmc6IDE1cHggJHRsRmlsdGVycy1YZWRnZUdhcDtcbn1cblxuLnRsRmlsdGVyc0hlYWRlck1haW4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdD4gKiArICogIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICR0bEZpbHRlcnMteGdhcDtcblx0fVxufVxuXG4uZmxUYWJsZSAge1xuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHQrICogIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLXhnYXA7XG5cdFx0XHR9XG5cdFx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRsRmlsdGVycy1YZWRnZUdhcDtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkdGxGaWx0ZXJzLVhlZGdlR2FwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucHJvY2Nlc3NBcnJvdyAge1x0XHRcblx0XHRtYXJnaW4tcmlnaHQ6ICR0bEZpbHRlcnMteGdhcCotMTtcblx0fVxufVxuLmZsVGFibGVDb2xXaWR0aCAge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXRpdGxlICB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXNlc3Npb24gIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cbn1cblxuLmZsVGFibGVDb2xXaWR0aC0tZHVyYXRpb25UYXJnZXQgIHtcblx0d2lkdGg6IGF1dG87XG59XG5cbi5zbWFsbEZpZWxkTGFiZWwgIHtcdFxuXHRwYWRkaW5nOiAwIDAgN3B4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cbi50bEZpbHRlcnNIZWFkZXJTaWRlICB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xuXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLm51bU5hbWUgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5udW1OYW1lX19udW0gIHtcblx0b3BhY2l0eTogMC40O1xufVxuLm51bU5hbWVfX25hbWUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ubnVtTmFtZS0tbGlnaHQgIHtcblx0Y29sb3I6ICM3NTc3N0E7XG59XG4kb3BlbkZpZWxkTWVkSGVpZ2h0OiAzOXB4O1xuJG9wZW5GaWVsZFRhbGxIZWlnaHQ6IDQ2cHg7XG4ub3BlbkZpZWxkLS1tZWRpdW0gIHtcblx0aGVpZ2h0OiAkb3BlbkZpZWxkTWVkSGVpZ2h0O1xufVxuXG4kc2VsZWN0QmFybGg6IDIxcHg7XG4kc2VsZWN0QmFyeXBhZDogKCRvcGVuRmllbGRNZWRIZWlnaHQgLSAkc2VsZWN0QmFybGgpLzI7XG4kc2VsZWN0QmFyeXBhZEJpZzogKCRvcGVuRmllbGRUYWxsSGVpZ2h0IC0gJHNlbGVjdEJhcmxoKS8yO1xuLnNlbGVjdEJhciAge1xuXHRiYWNrZ3JvdW5kOiAjOTc2OEVCO1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6ICN7JHNlbGVjdEJhcnlwYWR9IDE1cHg7XG5cdGxpbmUtaGVpZ2h0OiAkc2VsZWN0QmFybGg7XG5cdCYudGFsbCAge1xuXHRcdHBhZGRpbmc6ICRzZWxlY3RCYXJ5cGFkQmlnIDE1cHg7XG5cdH1cblx0aSAge1xuXHRcdGRpc3BsYXk6IG5vbmU7IC8vIG9ubHkgc2hvdyB0aGUgY2hlY2ttYXJrIGljb24gd2hlbiBcImlzU2VsZWN0ZWRcIiBjbGFzcyBpcyBwcmVzZW50Li4uLlxuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuXHQmLmlzU2VsZWN0ZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRcdGNvbG9yOiAjQzdDQkNFO1xuXHRcdGkgIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdH1cbn1cbi5zdWJtZW51X19udW1UZXh0V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0Zm9udC1zaXplOiAxM3B4O1xuXHQubnVtICB7XG5cdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogIzZDNkQ2Qztcblx0XHR3aWR0aDogMTVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdH1cblx0LnRleHQgIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHR9XG59XG5cblxuLmNvbnRlbnRXaXRoUHJvY2Vzc0Fycm93V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICo6Zmlyc3QtY2hpbGQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHR9XG5cdC5wcm9jY2Vzc0Fycm93ICB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGNvbG9yOiAjRUZGMUYyO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHQuaWNvbi10YXJnZXQgIHtcblx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHR9XHRcbn1cblxuXG4uVEwtRHVyYXRpb24ge1xuICBpbnB1dDppbnZhbGlkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MwMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGQ0NDQztcbiAgfVxufVxuXG5cbi5iYWNrVG9MaW5rICB7XG5cdG1hcmdpbjogIDAgMCAyMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGNvbG9yOiAjOTc2OEVCO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblxuXHRpICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC50ZXh0ICB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdH1cbn1cblxuXG4uY29tcGFjdEZvcm1TdGFjayAge1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGlubGluZSBvdmVybGF5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmlubGluZU92ZXJsYXlXcmFwICB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlubGluZU92ZXJsYXkgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDtcdFxuXHR0b3A6IGNhbGMoMTAwJSAtIDE1cHgpO1xuXHRsZWZ0OiA1MCU7XHRcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHdpZHRoOiAzNzdweDtcblx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcblx0Ym94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoIzAwMDAwMCwgMC4xMyk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5pbmxpbmVPdmVybGF5X190cmlhbmdsZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogM3B4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcblx0d2lkdGg6IDI5cHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9vdmVybGF5LXRyaWFuZ2xlLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5pbmxpbmVPdmVybGF5X19jbG9zZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTdweDtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5saW5lT3ZlcmxheV9fdGl0bGUgIHtcblx0bWFyZ2luOiAwIDAgMjBweDtcblx0cGFkZGluZzogMCAzMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBkbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uY2hhcnQtZGF0ZS1oZWFkZXIgKyAuZGxSb3cgIHtcblx0bWFyZ2luOiAxMHB4IDAgMjBweDtcbn1cbi5kbFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdCsgLmNoYXJ0LWRhdGUtaGVhZGVyICB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXHQrIC5kbFJvdyAge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLmRsSXRlbSAge1xuXHRcbn1cbi5kbEl0ZW1fX2xhYmVsICB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3NzdBO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5kbEl0ZW1fX251bSAge1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblx0LnNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdFx0Zm9udC1zaXplOiA3cHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cdH1cbn1cblxuLm1lbnUtcG9pbnRlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndlZWtseVNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogN3B4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4ucHJvZmlsZVRMQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZy1yaWdodDogMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogM3B4O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuQG1peGluIGZsZXgtZGlyZWN0aW9uLWltcG9ydGFudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIlxuLnJldmlldy1jb250YWluZXIge1xuICAgIC5yZXZpZXctdGFicyArIGRpdiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhZjtcbiAgICB9XG5cbiAgICAucmV2aWV3LWZyYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxuICAgICAgICBmbGV4OiAwLjk1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2MwYzBjMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaS5mYS5mYS10cmFzaCB7XG4gICAgICAgICAgICBjb2xvcjogI2MwYzBjMDtcbiAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTkwMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwYWY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWJjO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwYWY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIlJlcHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIkNvbXBlbnNhdGlvbnNcIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIC0xcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjYWJjO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzc4OTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjE5Mic7XG4gICAgfVxuICAgIGxhYmVsW2Zvcio9XCJSZXBzXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwY2InO1xuICAgIH1cbiAgICBsYWJlbFtmb3IqPVwiQ29tcGVuc2F0aW9uc1wiXTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMWZlJztcbiAgICB9XG5cbiAgICAuY29tcHMge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYuZm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9yZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhhcmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHB1cnBsZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHB1cnBsZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5lZGdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJjO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2FiYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYXNzZXNzbWVudC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgJi5tb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgID5kaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIH1cbiAgfVxuXG4gICYuaW5mby1vbmx5IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuXG4gICAgPi5saXN0LWNvbnRhaW5lciB7XG4gICAgICA+ZGl2Om5vdCguc2Nyb2xsLWNvbnRhaW5lcikge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4uYmFubmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgfVxuICB9XG5cbiAgPi5saXN0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW46IDMwcHggMDtcblxuICAgID5kaXY6bm90KC5zY3JvbGwtY29udGFpbmVyKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXG4gICAgICAubGlzdC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgcGFkZGluZzogMCA0cHg7XG4gICAgICAgID5hIHtcbiAgICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYWN0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgICAgICAgPmJ1dHRvbiB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGVhZGVyLXJvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgID4uc2Nyb2xsLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IFxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gIFxuICAgICAgICAubGlzdC1pbmZvIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgPmJ1dHRvbiB7XG4gICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4ubm8tZGF0YSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuaW5mby1jb2x1bW4ge1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuXG4gICAgPi5pbmZvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA4cHg7IFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcblxuICAgICAgPi5iYW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1hcmdpbjogOHB4IDBweDsgXG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICAgICAgfVxuXG4gICAgICA+ZGl2Om5vdCguYmFubmVyKSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgPmRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgID5kaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG4gICAgICAgICYuc3RhdGUtaW5mbyB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLWNvbnRhaW5lciArIC5pbmZvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgfVxuXG4gIC52aWRlby1jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICA+dmlkZW8sXG4gICAgPmNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIC8vIENhcCBieSB2aWV3cG9ydCBoZWlnaHQgc28gdGFsbC9wb3J0cmFpdCB2aWRlb3Mgc3RheSBpbnNpZGUgdGhlIHZpc2libGVcbiAgICAgIC8vIGFyZWE7IGF1dG8gd2lkdGgvaGVpZ2h0IHByZXNlcnZlcyB0aGUgaW50cmluc2ljIGFzcGVjdCByYXRpby5cbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjBweCk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudmlkZW8tcGxheS1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAvLyBMZXQgdGhlIGNsaWNrIGZhbGwgdGhyb3VnaCB0byB0aGUgY2FudmFzLCB3aGljaCBvd25zIHBsYXkvcGF1c2UuXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA4NHB4O1xuICAgICAgICBoZWlnaHQ6IDg0cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV0YWlsLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICA+ZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAmLmhlYWRlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAubmFtZSB+IGRpdiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pdGVtcyB7XG4gICAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leGVyY2lzZS1saXN0IHtcbiAgICAgID4ubmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjYpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgID4uc3RhdHVzIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCguNCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgPi5hY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICA+YnV0dG9uIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWFzdXJlbWVudC1saXN0IHtcbiAgICAgID4ubmFtZSB7XG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9ncmVlbjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIG1pbi13aWR0aDogODBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbmFjdGl2ZTpub3QoLmZvdW5kKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MwYzBjMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvdW5kIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNjb3JlX3JlZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leGVyY2lzZS1zdGF0dXMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUycHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG5cbiAgICAgICAgJi5wZW5kaW5nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiOTZkXG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgJi5tYW51YWwgeyBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgICAgICYucGVuZGluZyB7IGNvbG9yOiAjZWZlZmVmOyB9XG4gICAgICAgICAgJi5jb21wbGV0ZSB7IGNvbG9yOiAjMmQ2YjFkOyB9XG4gICAgICAgICAgJi5hYm9ydGVkIHsgY29sb3I6ICMyZDE4MTg7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWFzdXJlbWVudC1zYXZlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgID5idXR0b24ge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNHQSxBQUFBLENBQUMsRUFBRSxDQUFDLEFBQUEsT0FBTyxFQUFFLENBQUMsQUFBQSxNQUFNLENBQUM7RUV5Qm5CLGtCQUFrQixFRnhCRSxPQUFPO0VFeUJ4QixlQUFlLEVGekJFLE9BQU87RUUwQm5CLFVBQVUs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 */