*,
*: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: 20px 0 20px;
  background-color: #11264b;
  color: #ffffff;
}

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

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

.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;
  height: 100%;
}

.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, #41baec), 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: #41baec;
  border: 0.2px solid #41baec;
  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: #41baec;
}

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

.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;
  position: inherit !important;
  left: auto;
  right: auto;
  /* top: 0; */
  /* right: 0; */
  /* bottom: 0; */
  /* left: 0; */
  /* z-index: 1050; */
  /* display: none; */
  /* overflow: hidden; */
  -webkit-overflow-scrolling: touch;
  /* outline: 0; */
  -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: #41BAEC;
}

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

.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-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;
  position: relative;
}

.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 {
  margin: -10px;
  overflow: hidden;
  width: 100%;
}

.athlete-dashboard .athlete-dashboard-container .athlete-info-box,
.athlete-dashboard .athlete-dashboard-container .athlete-add-box {
  float: left;
  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: 298px;
  min-height: 298px;
  height: 298px;
  min-width: 298px;
  width: calc(33.333% - 20px);
  background-color: #ffffff;
  margin: 10px;
}

@media only screen and (max-width: 900px) {
  .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    max-height: 260px;
    min-height: 260px;
    height: 260px;
  }
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-box {
  background-color: transparent;
  border: 1px dashed #ccc;
  cursor: pointer;
  color: #cdcdcd;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-box .add-button-text {
  text-transform: uppercase;
  font-size: 12px;
  letter-spacing: 1px;
  font-weight: bold;
}

.athlete-dashboard .athlete-dashboard-container .athlete-add-box .add-button-icon {
  font-size: 45px;
  margin: 8px;
}

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

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

.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: #11264b;
  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;
}

.profile-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;
}

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

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

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

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

.profile-menu > div + div {
  margin-left: 45px;
}

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

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

.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-summary {
  max-width: 780px;
  min-width: 780px;
  width: 780px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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;
  height: 70px;
  padding: 0 40px;
}

.catalog-history .notify-container > div {
  -webkit-flex: 1 1 100%;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  max-height: 55px;
  min-height: 55px;
  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;
  line-height: 55px;
  margin: 0 10px;
}

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

.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 {
  max-height: 85px;
  min-height: 85px;
  height: 85px;
  margin-bottom: 30px !important;
}

.program-type-selection {
  max-height: 50px;
  min-height: 50px;
  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: 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;
}

.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 130px;
  -ms-flex: 0 130px;
  flex: 0 130px;
  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: 45px;
  width: 40px;
}

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

.program-edit .program-technique .name > span {
  margin-left: 15px;
}

.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%;
}

.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 > div {
  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 .info .attributes > div + div {
  margin-top: 0px;
  margin-left: 25px;
}

.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 {
  min-width: 640px;
  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%;
}

.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 > div span:first-child {
  margin-right: 5px;
  font-weight: 600;
}

.program-exercise-container .program-exercise .info .attributes > div + div {
  margin-left: 25px;
}

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

.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 .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-wrapper {
  -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;
  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 {
  max-width: 130px;
  min-width: 130px;
  width: 130px;
  background-color: #fefefe;
  border-radius: 6px;
  color: #bbb;
  font-size: 13px;
  font-weight: 200;
  margin: 4px 0;
  padding: 8px;
}

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

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

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

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

.bc-entry .bc-input {
  position: relative;
}

.bc-entry .bc-input > .basic-input.small {
  width: 130px;
}

.bc-entry .bc-input:after {
  content: 'lbs';
  position: absolute;
  top: 0;
  left: 100px;
  line-height: 38px;
  font-size: 18px;
  color: #bbb;
}

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

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

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

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

.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: #41BAEC;
  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: #41BAEC;
  border-color: #41BAEC;
  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: #41BAEC;
}

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

.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: " ";
}

.tooltip-bottom:after {
  left: 130px;
  top: -20px;
  border-color: #2e2e2e transparent;
  border-width: 0px 20px 20px 20px;
}

.tooltip-autoschedule:after {
  left: 160px;
  top: 256px;
  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;
}

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

.catalog_container {
  -webkit-flex: 1 0 350px;
  -ms-flex: 1 0 350px;
  flex: 1 0 350px;
  min-height: 500px;
  position: relative;
}

.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: #020d41;
  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;
}

.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 .athlete-name {
  font-size: 13px;
  color: #75777A;
  letter-spacing: 0.32px;
  line-height: 27px;
  font-weight: 500;
  margin-right: 15px;
}

.select-athlete-list .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;
}

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

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

.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 > .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: #00B8E0;
  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: #00B8E0;
  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;
}

.progress-report-options {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  margin: 30px 0 5px;
}

.progress-report-options > div + div {
  margin-left: 10px;
}

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

.progress-report-options .date-ranges > div + div {
  margin-left: 20px;
}

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

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

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

.report-summary .summary-container {
  max-width: 220px;
}

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

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

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

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

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

.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;
  margin: 30px 0 5px;
}

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

.test-archives-options .date-ranges > div + div {
  margin-left: 20px;
}

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

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

.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;
  border-bottom: 1px solid #ccc;
}

.header-content .header-logo-container {
  position: relative;
  display: flex;
  align-items: center;
}

.header-content .header-logo {
  margin: 10px 35px;
}

.header-content .header-logo img {
  max-width: 180px;
  max-height: 70px;
}

.header-content .header-team-name,
.header-content .header-team-name-link {
  border-left: 1px solid #C8C8C9;
}

.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-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: -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;
}

.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: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 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: 100%;
    min-width: 0;
    padding-left: 15px;
    padding-right: 15px;
  }

  body .view-container .view-container {
    padding-left: 0;
    padding-right: 0;
  }

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

  body .profile-detail .profile-pic img {
    width: 100%;
    display: block;
    height: auto;
  }

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

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

  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(50% - 20px);
  }

  body .athlete-dashboard .athlete-dashboard-container .athlete-info-box .bio-body .athlete-profile .profile-pic {
    max-height: none;
  }
}

@media only screen and (max-width: 900px) {
  body body .athlete-dashboard .athlete-dashboard-container {
    width: calc(100% + 20px);
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  body body .athlete-dashboard .athlete-dashboard-container .athlete-info-box,
  body body .athlete-dashboard .athlete-dashboard-container .athlete-add-box {
    min-height: 0;
    max-height: none;
    height: auto;
  }
}

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

.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: #41BAEC;
  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: #41BAEC;
  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;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL2Z1c2lvbmV0aWNzLWFuZ3VsYXItcHJvdG90eXBlLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19iYXNlLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbW9kYWwuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19sb2FkaW5nLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX21lbnUuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfbGlzdC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9ncmlkLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX2F0aGxldGUuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9maWxlX2F0aGxldGUuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9ncmFtX2NhdGFsb2cuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fZWRpdC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fd2hpdGVib2FyZC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhbGVuZGFyLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2hhcnRpbmcuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19ub3Rlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RpbWVfcGlja2VyLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdG9vbHRpcC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3VwbG9hZGluZy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZXhlcmNpc2VfbmF2LnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19jYXRhbG9nX25hdi5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9naW4uc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9wcm9maWxlX2Zvcm0uc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsX2F0aGxldGVfZWRpdC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbW9kYWxfc2VsZWN0X2F0aGxldGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVybXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluX21haW4uc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlc3RfcmVzdWx0cy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NsaW5pY2FsX3JlcG9ydC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlc3RzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcGVyZm9ybV90ZXN0cy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyZXNzX3JlcG9ydC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlc3RfYXJjaGl2ZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19oZWFkZXIuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Jlc3BvbnNpdmVuZXNzX3R3ZWFrcy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fY2FsZW5kYXJzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zMi5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVhbS10bC5zY3NzIiwiL1VzZXJzL2RldnNwbGFzaC9Qcm9qZWN0cy92YXJ5ZW5jZS9GdXNpb25ldGljcy9WaXNvckhlYWx0aC9yZWdpc3RyYXRpb24vc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvVXNlcnMvZGV2c3BsYXNoL1Byb2plY3RzL3ZhcnllbmNlL0Z1c2lvbmV0aWNzL1Zpc29ySGVhbHRoL3JlZ2lzdHJhdGlvbi9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIi9Vc2Vycy9kZXZzcGxhc2gvUHJvamVjdHMvdmFyeWVuY2UvRnVzaW9uZXRpY3MvVmlzb3JIZWFsdGgvcmVnaXN0cmF0aW9uL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3JlcG9ydHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9iYXNlXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbG9hZGluZ1wiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbWVudVwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZGFzaGJvYXJkX2xpc3RcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9ncmlkXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfYXRobGV0ZVwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZmlsZV9hdGhsZXRlXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX2NhdGFsb2dcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fZWRpdFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV93aGl0ZWJvYXJkXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jYWxlbmRhclwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvY2hhcnRpbmdcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL25vdGVzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90aW1lX3BpY2tlclwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdG9vbHRpcFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdXBsb2FkaW5nXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2V4ZXJjaXNlX25hdlwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvY2F0YWxvZ19uYXZcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbG9naW5cIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsX3Byb2ZpbGVfZm9ybVwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbW9kYWxfYXRobGV0ZV9lZGl0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbF9zZWxlY3RfYXRobGV0ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlcm1zXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2FkbWluX21haW5cIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RfcmVzdWx0c1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvY2xpbmljYWxfcmVwb3J0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90ZXN0c1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcGVyZm9ybV90ZXN0c1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3Jlc3NfcmVwb3J0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90ZXN0X2FyY2hpdmVzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9oZWFkZXJcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcmVzcG9uc2l2ZW5lc3NfdHdlYWtzXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fY2FsZW5kYXJzXCI7XG5cbi8vIHRoaXMgaXMgbmV3Li4uXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90ZWFtLXRsXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9yZXBvcnRzXCI7IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoaW5oZXJpdCk7XG4gIEBpbmNsdWRlIHVzZXItc2VsZWN0KG5vbmUpO1xufVxuXG5odG1sIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmLmRhcmtyb29tOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgfVxuXG4gIC5kYXJrcm9vbS1iYW5uZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTtcblxuICAgID4gLmJhbm5lciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyODBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICZbdHlwZT0ndGV4dCddIHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogM3B4O1xuICB9XG5cbiAgJlt0eXBlPSdwYXNzd29yZCddIHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygycHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmV5O1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogM3B4O1xuICB9XG5cbiAgJi5yZXF1aXJlZCB7XG4gICAgY29sb3I6ICNmZjAwMDA7XG4gIH1cbn1cblxuYnV0dG9uIHtcbiAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg2cHgpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkYmx1ZTtcbiAgY29sb3I6ICRibHVlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtaW4td2lkdGg6IDExMHB4O1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgJi5zaG9ydCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gIH1cblxuICAmLnNtYWxsIHtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gIH1cblxuICAmLm1lZGl1bSB7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxNTBweCk7XG4gIH1cblxuICAmLnByaW1hcnksICYuYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgIGJvcmRlci1jb2xvcjogI2NkY2RjZDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbiAgXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgIGJvcmRlci1jb2xvcjogI2NkY2RjZDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAmLnJlc3VtZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QxNDA0QjtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG5idXR0b24gKyBidXR0b24ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4uaW5wdXQtY2hlY2tib3gge1xuICBjb2xvcjogJGJsdWU7XG4gIGZvbnQtc2l6ZTogMjBweDtcblxuICAmLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NkY2RjZDtcbiAgfVxufVxuXG4uZm9vdGVyLWNvbnRlbnQge1xuICAvKlxuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICovXG4gIHBhZGRpbmc6IDIwcHggMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyX2JhY2tncm91bmQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuW25nXFw6Y2xvYWtdLCBbbmctY2xvYWtdLCAubmctY2xvYWsge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oZWFkZXItY29udGVudCB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGluaXRpYWwpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg5MHB4KTtcblxuICAubG9nbyB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoOTBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxNDBweCk7XG4gIH1cblxuICAud2hpdGUtZmllbGQge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcblxuICAgIGkuaWNvbi1zaG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgICAgbWFyZ2luOiAwcHggMzBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1hdGhsZXRlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBidXR0b24ge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCA3cHggMCAyNXB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDAgMjVweCAwIDdweDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgICBpLmZhIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lbnUtY29udGVudCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xufVxuXG4uYm9keS1jb250ZW50IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucmVkLWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjYzQyYTNiOyAgfVxuLnllbGxvdy1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogI2RmYzAzZjsgfVxuLmdyZWVuLWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBiNzY5OyB9XG4uYmx1ZS10ZXh0IHsgY29sb3I6ICM5NzY4RUI7IH1cbi5yZWQtdGV4dCB7IGNvbG9yOiAjYzQyYTNiOyB9XG4uZ3JleS10ZXh0IHsgY29sb3I6ICM4MDgwODA7IH1cbi5saWdodC1ncmV5LXRleHQgeyBjb2xvcjogI2E3YTdhNzsgfVxuLnllbGxvdy10ZXh0IHsgY29sb3I6ICNkZmMwM2Y7IH1cbi5ncmVlbi10ZXh0IHsgY29sb3I6ICMyMGI3Njk7IH1cblxuLndoaXRlYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uZ3JleWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbn1cblxuLmRya2dyZXliZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG59XG5cbi5ibHVlYmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc2OEVCO1xufVxuXG4ubWFpbi12aWV3IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4udmlldy1mbGV4IHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG59XG5cbi52aWV3LXN0YXRpYyB7XG4gIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xufVxuXG4udmlldy1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctc3RhY2sge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDI0cHgpO1xuXG4gICYuY2VudGVyZWQgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG4gICYubWlkZGxlIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7IH1cblxuICAmLmNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAmLmNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4uY29sdW1uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgJi5mdWxsIHsgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7IH1cbiAgJi50b3AgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpOyB9XG4gICYuYm90dG9tIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7IH1cbiAgJi5jZW50ZXIgeyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7IH1cbiAgJi5taWRkbGUgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyB9XG4gICYuZGl2aWRlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pOyB9XG4gICYuc3BhY2VkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYXJvdW5kKTsgfVxuICAmLnN0YXJ0IHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7IH1cbiAgJi5lbmQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7IH1cbiAgJi53cmFwIHsgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApOyB9XG59XG5cbi5yb3ctY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAmLmZ1bGwgeyBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTsgfVxuICAmLnRvcCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IH1cbiAgJi5ib3R0b20geyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTsgfVxuICAmLmNlbnRlciB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5zcGFjZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpOyB9XG4gICYuc3RhcnQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTsgfVxuICAmLmVuZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTsgfVxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIHJhbmdlIGlucHV0IGF0dGVtcHRcbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGNvbG9yLXN0b3AoMCwgIzQxYmFlYyksIGNvbG9yLXN0b3AoMCwgI2U4ZThlOCkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAmOjotbXMtdHJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDE2cHggMDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotbXMtdGh1bWIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiNGI0YjQ7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICY6Oi1tcy10b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgIGJhY2tncm91bmQ6ICM0MWJhZWM7XG4gICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjNDFiYWVjO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuXG4gICY6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICAgIGJvcmRlcjogMC4ycHggc29saWQgI2U4ZThlODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cblxuICAmOmZvY3VzOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogIzQxYmFlYztcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU4O1xuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NiwgMTk2LCAxOTYsIC43KTtcblxuICAmLm5nLWVudGVyLCAmLm5nLWxlYXZlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAtby10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICB9XG5cbiAgJi5uZy1lbnRlciwgJi5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSwgJi5uZy1sZWF2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubW9kYWwtdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTAwMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgLm1vZGFsIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIC8vIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgIHBvc2l0aW9uOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICAvKiB0b3A6IDA7ICovXG4gICAgLyogcmlnaHQ6IDA7ICovXG4gICAgLyogYm90dG9tOiAwOyAqL1xuICAgIC8qIGxlZnQ6IDA7ICovXG4gICAgLyogei1pbmRleDogMTA1MDsgKi9cbiAgICAvKiBkaXNwbGF5OiBub25lOyAqL1xuICAgIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIG91dGxpbmU6IDA7ICovXG5cblxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAgIC1vLXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG5cbiAgICAmLm5nLWxlYXZlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgfVxuXG4gICAgJi5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICB9XG4gIH1cblxuICAmLm5nLWVudGVyIHtcbiAgICAubW9kYWwge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICB9XG4gIH1cblxuICAmLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSB7XG4gICAgLm1vZGFsIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWFuaW1hdGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgLy8gQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDc3MHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IC5tb2RhbC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG4gICAgICAgICAtby10cmFuc2l0aW9uOiAuMTI1cyBsaW5lYXIgYWxsO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcblxuICAgICYubmctbGVhdmUge1xuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgIH1cblxuICAgICYubmctbGVhdmUubmctbGVhdmUtYWN0aXZlLCAmLm5nLWhpZGUtYWRkIHtcbiAgICAgICYuc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICB9XG5cbiAgICAmLm5nLWVudGVyLCAmLm5nLWhpZGUtcmVtb3ZlIHtcbiAgICAgICYuc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgICAgICYuc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICB9XG5cbiAgICAmLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgICAgJi5zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogOHB4IDhweCAyMHB4IDBweCAjNGE0YTRhO1xuXG4gICYubGFyZ2Uge1xuICAgIHdpZHRoOiA5NzBweDtcbiAgfVxuXG4gIGhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogOHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG5cbiAgICBidXR0b24ubGluayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgaS5sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLmNvbmZpcm0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaS5mYSB7XG4gICAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMCA4cHg7XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgICBvcGFjaXR5OiAuMjtcbiAgICAgIHRleHQtc2hhZG93OiAwIDFweCAwICNjY2M7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICB9XG5cbiAgZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG5cbiAgICBidXR0b246bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5sb2FkaW5nLXZpZXcge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7ICBcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIC41KTtcblxuICAubG9hZGluZy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgXG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcblxuICAgIC5mYS1zcGlubmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXRobGV0ZS1zZWxlY3Rpb24ge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIC8vIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGNvbG9yOiAjY2JjYmNiO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGJkYmRiO1xuICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICAuc3RhdHVzICB7XG4gICAgICAgIGNvbG9yOiAjNDFCQUVDO1xuICAgICAgfVxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG4gICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuc3RhdHVzIHtcbiAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2LnRlYW0tbmF2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLXdpZHRoOiA2NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG59XG5cbi5hdGhsZXRlLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG59XG5cbi5hdGhsZXRlLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0OHB4KTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLmF0aGxldGUtc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgICB3aWR0aDogMTQwcHg7XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIHRleHQtaW5kZW50OiAxNXB4O1xuICAgICAgd2lkdGg6IDk1JTtcbiAgICB9XG5cbiAgICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtcmVzZXQtdmlldyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtdG9nZ2xlLXZpZXcge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgMTAwcHgpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcblxuICAgICYgPiBpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1hcmdpbjogOHB4O1xuICAgICAgY29sb3I6ICRsaWdodF9ncmV5O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgfVxuICAgICAgJi5hY3RpdmUgIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hdGhsZXRlLWZpbHRlci1zb3J0IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICAmID4gLmF0aGxldGUtc29ydC1ib3gge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAzNSU7XG4gICAgICAgICAgcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3B0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MnB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmMWYxO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDY4LCA2NywgNzYsIDAuMjUpO1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAub3B0aW9ucy1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTRweDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZmRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAub3B0aW9ucy1pdGVtLXNlbGVjdGVkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAuc29ydC1pdGVtLXNlbGVjdGVkIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmEtY2lyY2xlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLm5vdC1hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmEtc29ydC1hc2Mge1xuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5mYS1zb3J0LWRlc2Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmF0aGxldGUtbGlzdC12aWV3IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gIFxuICAuYXRobGV0ZS1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChjZW50ZXIpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXN0YXQge1xuICAgICAgQGluY2x1ZGUgZmxleCguNSk7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hdGhsZXRlLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUzcHgpO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW51bWJlciB7XG4gICAgICBjb2xvcjogIzkzOTQ5NztcbiAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweFxuICAgIH1cblxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1zdGF0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjUpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjI1cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXByb2dyYW1zIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLWxhc3QtYWN0aXZpdHkge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtbnVtYmVyLCAuYXRobGV0ZS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmF0aGxldGUtZGFzaGJvYXJkLWxheW91dCB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWYwZWY7XG5cbiAgLmF0aGxldGUtZGFzaGJvYXJkLWxheW91dC1zaWRlIHtcbiAgICBAaW5jbHVkZSBmbGV4KC4xKTtcbiAgfVxufVxuXG4uYXRobGV0ZS1kYXNoYm9hcmQge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgJGRhc2hib2FyZC13aWR0aDogOTkwcHg7XG5cbiAgLmF0aGxldGUtZGFzaGJvYXJkLW1lbnUge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIG1pbi1oZWlnaHQ6IDg1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAkZGFzaGJvYXJkLXdpZHRoO1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICYgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcblxuICAgICAgICAmID4gaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJGF0aGxldGVEYXNoYm9hcmRHYXA6IDEwcHg7XG4gIC5hdGhsZXRlLWRhc2hib2FyZC1jb250YWluZXIge1xuICAgIG1hcmdpbjogJGF0aGxldGVEYXNoYm9hcmRHYXAqLTE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYXRobGV0ZS1pbmZvLWJveCxcbiAgICAuYXRobGV0ZS1hZGQtYm94IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjk4cHgpO1xuICAgICAgbWluLXdpZHRoOiAyOThweDtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSAjeyRhdGhsZXRlRGFzaGJvYXJkR2FwKjJ9KTsgLy8gYWRkIHRoZSBhYmlsaXR5IHRvIHNjYWxlIGRvd24gYXQgMTAyNHB4IHdpbmRvdyBzaXplXG4gICAgICBcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbjogJGF0aGxldGVEYXNoYm9hcmRHYXA7XG4gICAgICBAaW5jbHVkZSByZXNwb25kKHNtKSAge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyNjBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmF0aGxldGUtYWRkLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjY2NjO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRsaWdodF9ncmV5O1xuXG4gICAgICAuYWRkLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyAgICBcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7ICAgICAgICBcbiAgICAgIH1cblxuICAgICAgLmFkZC1idXR0b24taWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmF0aGxldGUtaW5mby1ib3ggPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuLmF0aGxldGUtZGFzaGJvYXJkLWFjdGlvbnMge1xuICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAuYWN0aW9uLWljb24ge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICAgIC5hY3Rpb24tdGV4dCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLWluZm8tYm94IHtcblxuICAuYmlvLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE3LDM4LDc1LDEpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmF0aGxldGUtbnVtYmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbnVtYmVyICsgLmF0aGxldGUtbmFtZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxNywzOCw3NSwuODUpO1xuICAgIH1cbiAgfVxuXG4gIC5iaW8tYm9keSB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgcGFkZGluZzogMTdweDtcbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICB9XG4gICAgLmF0aGxldGUtcHJvZmlsZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuXG4gICAgICAucHJvZmlsZS1waWMtdGh1bWIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtcGljIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcbiAgICAgICAgLy8gbWFyZ2luOiA1cHggMTBweCAkYXRobGV0UHJvZmlsZVN1YlBpY0dhcDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cblxuXG4gICAgICB9XG5cbiAgICAgIC5hdGhsZXRlLXBvc2l0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtd2VpZ2h0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hdGhsZXRlLXN0YXRzIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIC8vIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICAvLyBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgIC5hdGhsZXRlLXNjb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5hdGhsZXRlLXNjb3JlLXRsLWRhdGEge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB9XG5cblxuICAgICAgLnRlc3QtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgfVxuICAgICAgLnRlc3Qtc2NvcmUge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJpby1mb290ZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgbWF4LWhlaWdodDogNTBweDtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwJSk7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgJi5pY29uLXRlc3QgIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYgKyBkaXYge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRThFOEU4O1xuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wcm9maWxlLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuLm1hcmtlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTMwcHg7XG4gICAgICB3aWR0aDogMjNweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICB9XG59XG5cbi5wcm9maWxlLWRldGFpbCB7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMjEwcHgpO1xuXG4gIC5kYXRhLWVtcGhhc2lzIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnByb2ZpbGUtcGljIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNzVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMDBweCk7XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgICYuaW52aXNpYmxlIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1kYXRhLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5wcm9maWxlLWRhdGEgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4tY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgIC5ncm91cC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q5REFEOTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG1hcmdpbjogNnB4IDAgMDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB3aWR0aDogMTE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmdyb3VwLWljb24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLXNhdmUge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgLmdyb3VwLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4ucHJvZmlsZS1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg3ODBweCk7XG5cbiAgLnByb2ZpbGUtbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICYgPiBkaXYge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtYWN0aXZpdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgPiBkaXYge1xuICAgICAgJjpudGgtY2hpbGQobisyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICBtYXJnaW46IDAgOXB4O1xuICAgICAgfVxuXG4gICAgICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ibHVlLXRleHQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC5zY29yZS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuc2NvcmUtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAucHJvZmlsZS1zY29yZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4NXB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzMwcHgpO1xuXG4gICAgICAmLmxhYmVsLW9ubHkge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtc2NvcmUtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgLnByb2ZpbGUtc2NvcmUtbmFtZSB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4yNXB4O1xuXG5cbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgY29sb3I6ICNBRUFFQUU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2ZpbGUtc2NvcmUtZGF0ZSB7XG5cbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICBjb2xvcjogI0FFQUVBRTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1zY29yZS1ncmFwaC1jYW52YXMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMzBweCk7XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXNjb3JlLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgIC5wcm9maWxlLXRsLWNoYW5nZSB7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIFxuICAgIH1cbiAgfVxuXG4gIC50b2RheS1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAyMHB4IDAgMTBweDtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAudG9kYXktcHJvZ3JhbSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgzODBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXYuaWNvbi1jaGVja2JveC1jaGVja2VkICB7XG4gICAgICBjb2xvcjogI0FGQjBBRTtcbiAgICAgICYuYmx1ZS1jaGVjayB7XG4gICAgICAgIGNvbG9yOiAjOTc2OEVCO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9ncmFtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgLmxpZ2h0LWdyZXktdGV4dCAge1xuICAgICAgICBjb2xvcjogI0FGQjFCMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9kYXktbm90aWNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XG4gICAgLy8gQGluY2x1ZGUgbG9jay13aWR0aCgzODBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICBwYWRkaW5nOiAwIDZweDtcblxuICAgID4gZGl2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIC5ub3RpY2Uge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIC8vIG1vcmUgcmVzcG9uc2l2ZSB0byBubyBmaXggaGVpZ2h0c1xuICAgICAgLy8gYW5kIGluc3RlYWQgdXNlIHBhZGRpbmcvbWFyZ2lucy4uXG4gICAgICAvLyBtaW4taGVpZ2h0OiAyNnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDZweDtcblxuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAubm90aWNlLWJ1dHRvbiB7XG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi55ZWxsb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmYzAzZjtcblxuICAgICAgLm5vdGljZSB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgfVxuXG4gICAgICAubm90aWNlLWJ1dHRvbiB7XG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ViNzRlO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWlzYyBzZWN0aW9uIHNwYWNpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5zcGFjZWQtdG9wLWxhcmdlICB7XG4gIG1hcmdpbi10b3A6IDQ1cHg7XG59XG4uc3BhY2VkLWJvdHRvbS1tZWRpdW0gIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiXG4uY2F0YWxvZy1mZWF0dXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ZjZmNmO1xuICBoZWlnaHQ6IDQwMHB4O1xuXG4gIC5mZWF0dXJlLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IHRvcDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLnJ1bm5pbmctbWFuIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9wcm9ncmFtX2NhdGFsb2dfYmFja2dyb3VuZC5wbmcnKTtcbiAgICAgIFxuICAgICAgLmZlYXR1cmUtY29udGVudCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIH1cblxuICAgICAgLm1lc3NhZ2UtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMC45NTtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIGgyLCAudGl0bGUtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgcCwgLm1lc3NhZ2UtdGV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDM1cHg7XG4gICAgICBsZWZ0OiA4MHB4O1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYXJrZXJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5tYXJrZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG1hcmdpbjogNnB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQxYmFlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhdGFsb2ctc2VsZWN0ZWQge1xuICBwYWRkaW5nOiAzNXB4O1xuXG4gIC50aXRsZS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwcHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgIH1cblxuICAgIC5yZXR1cm4tbGluayB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZXRhaWwtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAuaW5mby1yb3ctaGVhZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tcm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgd2lkdGg6IDEzMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgfVxuXG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uLXJvdyB7XG4gICAgICBmb250LXNpemU6MTJweDtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNhbXBsZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgIC52aWRlby1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQyNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyMzlweDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAubWlzc2luZy1tZWRpYSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICB3aWR0aDogOTklO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5leGVyY2lzZS1zZWxlY3RlZCB7XG4gIHBhZGRpbmc6IDM1cHg7XG5cbiAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDBweDtcblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgLnJldHVybi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5pbmZvLXJvdy1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmZvLXJvdyB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgfVxuXG4gICAgICAubGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uLXJvdyB7XG4gICAgICBmb250LXNpemU6MTJweDtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uICsgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNhbXBsZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgIC52aWRlby1sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQyNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAyMzlweDtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pc3NpbmctbWVkaWEge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgd2lkdGg6IDk5JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5leGVyY2lzZS1pbmZvLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleCgwIDAgNDAwcHgpO1xuICB9XG5cbiAgLnNhbXBsZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDM1MHB4KTtcblxuICAgIC5maWxlLWlucHV0LXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM1cHg7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1maWVsZHMgIHtcbiAgICBcbiAgICAud2Vlay1zZWxlY3Rpb24ge1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIFxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzliZDdlYTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCAge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAycHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBpbnB1dCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgfVxuXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDNweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCArIGkuaWNvbi1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nLWhpc3Rvcnkge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWluLWhlaWdodDogMjc1cHg7XG5cbiAgLmxpbmstY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG5cbiAgICAubGluayB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgc3Bhbi5hY3RpdmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzk3NjhFQjtcbiAgICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubm90aWZ5LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1NXB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAgICAgLmljb24ge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIH1cblxuICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53YXJuaW5nIHtcbiAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNmM2Q5NWU7ICovXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFjMjU1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICNlOWQyNWU7ICovXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWI3NGU7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG5cbiAgICAubGlzdC1zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMCUpO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICAgLmxpc3Qtc2Nyb2xsIHtcbiAgICAgICAgbWluLWhlaWdodDogMTc3cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDBweDtcblxuICAgICAgICAuc2NoZWR1bGUtcHJvZ3JhbSB7XG4gICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgY29sb3I6ICM4ODg7XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJi5oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgfVxuXG4gICAgICAuZGF0ZS1jb2x1bW4ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5hY3Rpb24tY29sdW1uIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wcm9ncmFtLWhlYWRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4KDEpO1xufVxuXG4ucHJvZ3JhbS1lZGl0LWhlYWRlciB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDg1cHgpO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9ncmFtLXR5cGUtc2VsZWN0aW9uIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gID4gLnR5cGUtaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLnBpbGwge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgYmFja2dyb3VuZDogI0FGQjFCNDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuICA+IC50eXBlLWl0ZW0gKyAudHlwZS1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgfVxuICA+IC5jb3B5LWNvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIH1cbn1cblxuLnByb2dyYW0tc2NoZWR1bGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEzMHB4KTtcbiAgfVxufVxuXG4ucHJvZ3JhbS1lZGl0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5wcm9ncmFtLXN0cmF0ZWd5IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgIGkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMzBweCk7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSBhdXRvKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgICAuc3RyYXRlZ3ktYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwIDEzMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciArIC5wcm9ncmFtLXN0cmF0ZWd5LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLXRlY2huaXF1ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIC5jb3VudGVyIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgIH1cbiAgICAubmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAuYWN0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBcbiAgICAgIC5pY29uLXBsdXMge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIH1cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tZXhlcmNpc2UtY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgID4gZGl2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICBtYXJnaW46IDFweCAwO1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi5hY3RpdmUtaXRlbSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmFjdGlvbnMge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIH1cbiAgICB9XG4gICAgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAuc29ydC1pY29ucyAuaWNvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgICAucHJvZ3JhbS1ub3RlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuZHJhZy1pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLnNvcnQtaWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICAgICAgLmF0dHJpYnV0ZXMgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXR0cmlidXRlcyA+IGRpdiArIGRpdiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYWN0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM4cHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE4MHB4KTtcbiAgICAgICAgY29sb3I6ICNkZGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyYW0tZWRpdC1mb290ZXIge1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIG1hcmdpbjogMTVweCAzMHB4O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ud2hpdGVib2FyZCB7XG4gIG1pbi13aWR0aDogNjQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYgPiBzZWN0aW9uIHtcbiAgICBtYXJnaW46IDE1cHggMzBweDtcbiAgfVxufVxuXG4ud2hpdGVib2FyZC1zY2hlZHVsZSB7XG4gIG1pbi13aWR0aDogNjQwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC53aGl0ZWJvYXJkLXByb2dyYW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMTVweDtcbiAgfVxufVxuXG4ud2hpdGVib2FyZC1wcm9ncmFtIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMTQwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBwYWRkaW5nOiAzMHB4IDMwcHggMTVweDtcblxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIH1cblxuICAub3JpZ2luIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgfVxuXG4gIC5lZGl0IHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWluLWhlaWdodDogMjVweDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi53aGl0ZWJvYXJkLWRhdGUge1xuICBzcGFuIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmRhdGUtaW5wdXQge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTMwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBpbnB1dCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB0ZXh0LWluZGVudDogNXB4O1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAuaW5wdXQtaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG5cbiAgICAgIGkuZmEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRhdGUtZGlzYWJsZWQge1xuICAgIC5pbnB1dC1pY29uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodF9ncmV5O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0X2dyZXk7XG4gICAgfVxuICB9XG5cbn1cblxuXG5cbi53ZWVrLWxpc3Qge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgcGFkZGluZzogMTBweCAzMHB4O1xuXG4gIC53ZWVrLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOm5vdCguYWN0aXZlKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLndlZWstY29weSB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgMCUpO1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICB9XG59XG5cbi5kYXktbGlzdCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ1cHgpO1xuICBtYXJnaW46IDIwcHggMDtcblxuICAuZGF5LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibHVlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmx1ZTtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjUsIDE4NywgMjMxLCAwLjUpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgfVxuICB9XG59XG5cbi5kYXktbGlzdC1zY2hlZHVsZSB7XG5cbiAgLmRheS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcblxuICAgIC5kcmFnLWljb24ge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xuICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLmRheS1pdGVtICsgLmRheS1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxufVxuXG4ucHJvZ3JhbS1zZWN0aW9uIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG5cbiAgJi5hY2NlcHQtZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgLmFjdGlvbi13aXRoLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm5hbWUgPiBpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm5hbWUge1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB9XG4gIH1cblxuICAuYWN0aW9uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTEwcHgpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgIHNwYW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIGkuZmEge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3JhbS1zZWN0aW9uLXBsYWNlaG9sZGVyIHtcblxuICAmID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCAjYmJiO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBtYXJnaW46IDRweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHNwYW4udGV4dCB7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3JhbS1leGVyY2lzZS1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiA4NnB4O1xuXG4gICYgPiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbjogMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmFjdGl2ZS1pdGVtIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICAucHJvZ3JhbS1leGVyY2lzZSB7XG4gICAgICAgIC5kcmFnLWljb24ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFkZC1leGVyY2lzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNDREQzRDc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VGRUZFRjtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogI0NERDNENztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tbm90ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogOTBweDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICB9XG5cbiAgLnByb2dyYW0tZXhlcmNpc2Uge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgbWluLXdpZHRoOiA2MDBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5kcmFnLWljb24ge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDg1cHgpO1xuICAgICAgY29sb3I6ICNiYmI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmluZm8ge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuXG4gICAgICAuYXR0cmlidXRlcyA+IGRpdiB7XG4gICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmF0dHJpYnV0ZXMgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICBjb2xvcjogI2RkZDtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB9XG4gIH1cbn1cblxuLmFjY2VwdC1kcm9wLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RjZGNkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIC41KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyNHB4O1xuXG4gID4gc3BhbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnNvcnQtb3JkZXItY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgLjUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG5cbiAgPiBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2NoZWR1bGUtc2VsZWN0ZWQtYXRobGV0ZXMge1xuICBtYXJnaW4tbGVmdDogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG4gIC5hdGhsZXRlLW5hbWVzIHtcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIC5hdGhsZXRlLW5hbWVzLW1vcmUge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLmJ1bGstc2NoZWR1bGUtZGl2aWRlciB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDQ3cHg7XG4gIGkge1xuICAgIGNvbG9yOiAjRDdEOURBO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4ud2hpdGVib2FyZC1mb290ZXIge1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNhbGVuZGFyLW1lbnUge1xuICBtYXJnaW46IDIwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgXG4gICAgQGluY2x1ZGUgbGFyZ2UtdGFicy1zdHlsZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRsYXJnZS10YWJzLXNwYWNpbmc7XG4gIH1cbn1cblxuLmNhbGVuZGFyLXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhbGVuZGFyLW1vbnRoIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNjkwcHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDY5MHB4KTtcbiAgbWFyZ2luOiAxcHggMCAwOyBcblxuICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgIFxuICAgIC5mYSAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgICAgICBcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjBweCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnllYXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHNlbGVjdC55ZWFyLXNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2UobWVudWxpc3QpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xIDAgMCk7ICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBjb2xvcjogJGdyZXk7XG4gICAgICAgIHRleHQtaW5kZW50OiAwcHg7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7ICAgICAgICBcbiAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgICAgY29sb3I6ICNEOURCREM7XG4gICAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgIGNvbG9yOiAjYzBjMGMwO1xuXG4gICAgJi5sZWZ0IHtcbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcblxuICAgICAgLmFjY2VwdC1kcm9wLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoOTcuNXB4KTtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjY2NjO1xuICAgIH1cblxuICAgIGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2NjYztcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItZGF5cyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cbiAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5OS41cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbjogLTFweCAwIDAgLTFweDtcbiAgICAgIHBhZGRpbmc6IDhweCAxMnB4OyBcblxuICAgICAgJi5kYXktYWN0aXZpdGllcyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMEI5NkQ7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgJGJsdWU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYucHJvZ3JhbS1yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgJi5lbXB0eSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgID4gLm1vbnRoLWFiYnJldiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktY29uY2VybiwgLmNhbGVuZGFyLWRheS1leGlzdGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LWNvbmNlcm4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LXNjaGVkdWxlZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbnB1dC1jdGwge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDI4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4MHB4KTtcbiAgICBib3gtc2hhZG93OiA2cHggNnB4IDE4cHggMHB4ICM0YTRhNGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWFyZ2luOiAxcHggMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgLmNhbGVuZGFyLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsZW5kYXItd2Vlay1oZWFkZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjhweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIGNvbG9yOiAjZGZkZmRmO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAyLjEyNzVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyLWRheXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzVweCk7XG4gICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICYuZW1wdHkge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtZGF5IHtcbiAgICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkICM5NzY4RUI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtcmFuZ2Uge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWY1ZmQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XG4gICAgICAgICAgICBjb2xvcjogIzhkOGQ4ZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguZW1wdHkpIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhbGVuZGFyLWRheS1pbmZvIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzAwcHgpO1xuICBcbiAgLmRheS1kYXRlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDM1cHggMCAyMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgID4gLmljb24tY2FsZW5kYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cbiAgfVxuXG4gIC5kYXktcHJvZ3JhbSB7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOTVweCk7XG4gICAgXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIC5saWdodC1ncmV5LXRleHQgIHtcbiAgICAgIGNvbG9yOiAjQTdBOEE3O1xuICAgIH1cblxuICAgICYuYWN0aW9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLndlZWstd3JhcHBlciB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBtaW4taGVpZ2h0OiA0MjVweDtcbiAgLyogaGVpZ2h0OiA0MjU7ICovXG5cbiAgJi5zbWFsbCB7XG4gICAgbWluLWhlaWdodDogMjI1cHg7XG4gICAgLyogaGVpZ2h0OiAyMjVweDsgKi9cbiAgfVxuICBcbiAgLndlZWstYnV0dG9uLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWluLXdpZHRoOiAyMHB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyAgICAgICAgICAgICBcbiAgICB9XG4gICAgQGluY2x1ZGUgcmVzcG9uZChsZykgIHtcbiAgICAgICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw6IC0yNXB4O1xuICAgICAgLmZhLWFuZ2xlLWxlZnQgIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw7XG4gICAgICB9XG4gICAgICAuZmEtYW5nbGUtcmlnaHQgIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkd2Vlay1idXR0b24tZWRnZS1wdWxsO1xuICAgICAgfSBcbiAgICB9ICAgXG4gIH1cblxuICAud2Vlay1kYXktY29sdW1uIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGQ7XG4gICAgbWluLXdpZHRoOiAxNDBweDtcblxuICAgIC5kYXktbnVtYmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihmbGV4LXN0YXJ0KTtcbiAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDE1cHg7XG4gICAgfVxuXG4gICAgLndlZWstZGF5LWluZm8tY29udGFpbmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcblxuICAgICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjYWFhO1xuICAgICAgfVxuXG4gICAgICAud2Vlay1kYXktcHJvZ3JhbSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTMwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAgIG1hcmdpbjogNHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcblxuICAgICAgICAmLmFjdGlvbiB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xuICAgIH1cblxuICAgICYuY3VycmVudC1kYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAuZGF5LW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAjODA4MDgwO1xuICAgICAgfVxuXG4gICAgICAud2Vlay1kYXktaW5mby1jb250YWluZXIge1xuICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAud2Vlay1kYXktcHJvZ3JhbSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAgIC53ZWVrLWRheS1wcm9ncmFtLXRpdGxlOm5vdCgubGlnaHQtZ3JleS10ZXh0KSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLndlZWstZGF5LXByb2dyYW0tbmFtZTpub3QoLmxpZ2h0LWdyZXktdGV4dCkge1xuICAgICAgICAgICAgY29sb3I6ICM4ODg4ODg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNoYXJ0LW1lbnUge1xuICBtYXJnaW46IDUwcHggMCAzMHB4IDA7XG5cbiAgLmNoYXJ0LW1lbnUtaXRlbSB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgQGluY2x1ZGUgbGFyZ2UtdGFicy1zdHlsZTtcbiAgICBjb2xvcjogI2EwYTRhODtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLmxpbmUtY2hhcnQge1xuICBtYXJnaW46IDI1cHggMCAwIDA7XG5cbiAgLmxpbmUtY2hhcnQtY2FudmFzIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNTBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg3MDBweCk7XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDI3NXB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNTUwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5saW5lLWNoYXJ0LW1lbnUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgfVxufVxuXG4ucHJvZ3JhbS1jaGFydCB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg3MDBweCk7XG4gIG1hcmdpbjogMjVweCAwIDAgMDtcbiAgbWluLWhlaWdodDogMzUwcHg7XG5cbiAgLnByb2dyYW0tY29tcGxldGUge1xuICAgIG1hcmdpbjogNXB4IDE1cHg7XG5cbiAgICAucHJvZ3JhbS1pbmZvIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcblxuICAgICAgLnByb2dyYW0tdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogI2NkY2RjZDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGNhbnZhcyB7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogMzEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5zZWxlY3Rpb24tY29tcG9uZW50IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgY29udGVudDogJz4nO1xuICAgIGZvbnQ6IDYwMCAxMnB4ICdDb25zb2xhcycsIG1vbm9zcGFjZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA2cHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgcGFkZGluZzogMCAwIDNweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogNnB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5jaGFydC1sZWdlbmQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogMCAyMHB4O1xuXG4gICYgPiAuZmEge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuXG4gICAgJi5hdmVyYWdlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDIwNywgMjE4LCAyMjAsIDAuNSk7XG4gICAgfVxuXG4gICAgJi5zY29yZSB7XG4gICAgICBjb2xvcjogcmdiYSgwLCAxODIsIDIzNSwgMC45KTtcbiAgICB9XG5cbiAgICAmLnRlYW0tYXZlcmFnZSB7XG4gICAgICBjb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjc1KTtcbiAgICB9XG5cbiAgICAmLmNvbXBsZXRlZCB7XG4gICAgICBjb2xvcjogcmdiYSgzMiwgMTgzLCAxMDUsIDAuOCk7XG4gICAgfVxuXG4gICAgJi5zY2hlZHVsZWQge1xuICAgICAgY29sb3I6IHJnYmEoMjIzLCAyMjMsIDIyMywgMSk7XG4gICAgfVxuICB9XG59XG5cbi5jaGFydC1kZXRhaWxzIHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzMDBweCk7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG5cbiAgLmNoYXJ0LWRhdGUtaGVhZGVyICB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGkgIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIFwic2hhcmVcIiBmZWF0dXJlIHdpbGwgY29tZSBsYXRlci4uLlxuICAgIH1cbiAgfVxuXG4gIC5jaGFydC1kYXRlIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMnB4KTtcbiAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLm1haW4tc2NvcmUge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxuXG4gIC52YWx1ZS1iYWRnZSB7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIG1hcmdpbi1ib3R0b206IC02cHg7XG4gIH1cblxuICAudmFsdWUtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2UtaWNvbiB7XG4gICAgJi5mYS1zb3J0LWFzYyB7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIH1cblxuICAgICYuZmEtc29ydC1kZXNjIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuXG4gICAgJi51bmNoYW5nZWQge1xuICAgICAgY29sb3I6ICRncmV5O1xuICAgIH1cblxuICAgICYuaW5jcmVhc2Uge1xuICAgICAgY29sb3I6ICRncmVlbjtcbiAgICB9XG5cbiAgICAmLmRlY3JlYXNlIHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cbiAgfVxuXG4gIC52YWx1ZS1jaGFuZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG5cbiAgICAmLnVuY2hhbmdlZCB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuXG4gICAgJi5pbmNyZWFzZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuZGVjcmVhc2Uge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLmluZm8tbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICBcbiAgLnRlc3QtcmVzdWx0cy1idXR0b24tY29udGFpbmVyIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE1cHggMHB4O1xuICB9XG5cbiAgLmNoYXJ0LXN0YXRzIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG5cbiAgICAudmFsdWUge1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jaGFydC1zdGF0cy1ncmlkIHtcbiAgICAuY2hhcnQtc3RhdHMge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgNTAlKTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5waWUtY2hhcnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICB9XG5cbiAgLnBpZS1jaGFydCB7XG4gICAgY29sb3I6ICNhYWE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuXG4gICAgLnBpZS1jaGFydC1jYW52YXMge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5ycGUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgLnJlZC10ZXh0LCAuZ3JlZW4tdGV4dCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICB9XG5cbiAgICBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0td2VlayB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIH1cblxuICAudHJvcGhpZXMge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cblxuICAgIC50cm9waHktaW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgICAgJi50cm9waHktaW1hZ2UtLWJhZGdlICB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50cm9waHktaWNvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyOHB4KTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBpbWcgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAvLyBAaW5jbHVkZSBmbGV4KDAgMSBhdXRvKTtcbiAgICAgIC8vIEBpbmNsdWRlIGZsZXgoMSlcbiAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB9XG5cbiAgICAudHJvcGh5LW5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDE1MHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxM3B4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLm5vLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5AbWl4aW4gZGF5Y29sd2lkdGggIHtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIHdpZHRoOiAxMDAvNyoxJTtcbn1cblxuLm5vdGVzLW1lbnUge1xuICBtYXJnaW46IDE1cHggMDtcblxuICAubm90ZXMtbWVudS1pdGVtIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICBjb2xvcjogI2EwYTRhODtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAubm90ZXMtbWVudS1pdGVtICsgLm5vdGVzLW1lbnUtaXRlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gIH1cbn1cblxuLm5vdGVzLWNhbGVuZGFyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNDkycHgpO1xuXG4gIC5jYWxlbmRhci1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgIG1hcmdpbjogMXB4IDFweCAwIC0xcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAuaWNvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLndlZWstZGF5LWxhYmVscyB7XG4gICAgbWFyZ2luOiAwIDFweCAwIDA7XG4gICAgPiBkaXYge1xuICAgICAgLy8gQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgIEBpbmNsdWRlIGRheWNvbHdpZHRoO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmNhbGVuZGFyLWRheXMge1xuICAgIG1hcmdpbjogMCAxcHggNXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAuY2FsZW5kYXItZGF5IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgLy8gQGluY2x1ZGUgbG9jay1oZWlnaHQoMzhweCk7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgQGluY2x1ZGUgZGF5Y29sd2lkdGg7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIGhlaWdodDogNjJweDtcbiAgICAgIG1hcmdpbjogLTFweCAwcHggMHB4IC0xcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2RjZGNkO1xuXG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICNjZGNkY2Q7XG4gICAgICAmLmN1cnJlbnQtZGF5ICB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gJi5lbXB0eSB7ICAgICAgICBcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIC8vIH1cblxuICAgICAgICYuZGF5LWFjdGl2aXRpZXMge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkOGIwMDtcbiAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAvL2JvcmRlci1jb2xvcjogI2MyZDQ3NDtcbiAgICAgICAgIC8vY29sb3I6ICNlZmVmZWY7XG4gICAgICAgICAvL2N1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgIC8vJjpob3ZlciB7XG4gICAgICAgICAvLyAgYmFja2dyb3VuZC1jb2xvcjogI2MyZDQ3NDtcbiAgICAgICAgIC8vICBjb2xvcjogI2ZmZjtcbiAgICAgICAgIC8vfVxuICAgICAgIH1cblxuICAgICAgLy8gJi5jdXJyZW50LWRheSB7XG4gICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICNjMmQ0NzQ7XG4gICAgICAvLyAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjNTQ3YjQyO1xuICAgICAgLy8gICBjb2xvcjogI2ZmZjtcbiAgICAgIC8vIH1cblxuICAgICAgJjpub3QoLmVtcHR5KTpub3QoLmRheS1hY3Rpdml0aWVzKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iYy1zZWN0aW9uLCAudGwtc2VjdGlvbiwgLnNvYXAtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5zb2FwLWxhYmVsIHtcbiAgJi5maWVsZHMtaGVhZGVyLmhpZ2gtbGV2ZWwtZmllbGQtbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG59XG5cbi5iYy1ib2R5ZmF0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gLmJhc2ljLWlucHV0LnNtYWxsIHtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICclJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICB9XG59XG5cbi5iYy1hbGVydCB7XG4gIHdpZHRoOiA3NSU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi50bC10b3RhbC1sb2FkIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gID4gLmJhc2ljLWlucHV0LnNtYWxsIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbn1cblxuLmJjLWVudHJ5LWhlYWRlciwgLmJjLWVudHJ5IHtcbiAgPiAuZmllbGQtbGFiZWwgKyAuZmllbGQtbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLmJjLWlucHV0IHsgXG4gICAgbWluLXdpZHRoOiAxNjBweDtcbiAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICB9XG5cbiAgLmJjLWZpbGxlciB7XG4gICAgbWluLXdpZHRoOiAxMHB4O1xuICAgIG1heC13aWR0aDogMTBweDtcbiAgfVxufVxuXG4udGwtZW50cnktaGVhZGVyLCAudGwtZW50cnkge1xuICA+IC5maWVsZC1sYWJlbCArIC5maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cblxuICAudGwtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IDIxNXB4O1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gIH1cblxuICAudGwtaW5wdXQgeyBcbiAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIG1heC13aWR0aDogMTAwcHg7XG4gIH1cblxuICAudGwtZmlsbGVyIHtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxMHB4O1xuICB9XG59XG5cbi5iYy1lbnRyeSB7XG4gIC5iYy1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ2xicyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICNiYmI7XG4gICAgfVxuICB9XG5cbiAgLmJjLWNoYW5nZSB7XG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIH1cbiAgfVxuXG4gIC5iYy1kZWxldGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi50bC1lbnRyeSB7XG4gIC50bC1zZWxlY3QtaW5wdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZDhkOGQ4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiA1cHggMTNweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAuc2VsZWN0LXRvZ2dsZSB7XG4gICAgICBtaW4td2lkdGg6IDE4NXB4O1xuICAgICAgbWF4LXdpZHRoOiAxODVweDtcblxuICAgICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzN3B4O1xuICAgICAgbGVmdDogMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gICAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgICAgbWF4LWhlaWdodDogMTgwcHg7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgLnRsLWlucHV0IHsgXG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC50bC1jYWxjdWxhdGVkLWxvYWQge1xuICAgID4gLmJhc2ljLWlucHV0LnNtYWxsIHtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NkY2RjZDtcbiAgICB9XG4gIH1cblxuICAudGwtZGVsZXRlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uYmMtZnJlZS1mb3JtLCAudGwtZnJlZS1mb3JtIHtcbiAgd2lkdGg6IDc1JTtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uc29hcC1kYXRlIHtcbiAgPiAqIHtcbiAgICB3aWR0aDogMTcwcHg7XG4gIH1cblxuICAuZGF0ZS1pbnB1dCA+IC5pbnB1dC1pY29uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICAgIG1heC13aWR0aDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuLnNvYXAtdGV4dC1jb250YWluZXIge1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbi5zb2FwLXRyZWF0bWVudHMge1xuICAuY2hlY2tib3gtaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gIC5zb2FwLXRyZWF0bWVudC1vcHRpb25zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgLmNoZWNrYm94LWlucHV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cblxuICAuc29hcC10cmVhdG1lbnQtdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgIC5iYXNpYy1pbnB1dCB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuICB9XG59XG5cbi5zb2FwLW9iamVjdGl2ZSB7XG4gICYuZmllbGQgZGl2IHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IDg1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4uZmEtbm90ZXMge1xuICAgIG1hcmdpbjogLTEwcHggMHB4IDBweCAxMnB4O1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXNpemU6IDdweDtcbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4udGltZS1zcGFuLXF1ZXN0aW9uIHtcblx0QGluY2x1ZGUgZmxleC1jb2x1bW47XG59XG5cbi50aW1lLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtcm93LXN0YXJ0O1xuXHRtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4udGltZS1sYWJlbCB7XG4gIHdpZHRoOiAxMDNweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC4yMXB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbiAgY29sb3I6ICM2QzZENkM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5idXR0b24tc2VsZWN0ICB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHQrIC5idXR0b24tc2VsZWN0ICB7XG5cdFx0bWFyZ2luLWxlZnQ6IDZweDtcblx0fVxuXHQmLnNlY29uZGFyeSAge1xuXHRcdC5zZWxlY3QtdHJpZ2dlciAge1xuXHRcdFx0YmFja2dyb3VuZDogI0Q5REJEQztcblx0XHR9XG5cdH1cblx0Ji5zbWFsbCAge1xuXHRcdC5zZWxlY3QtdHJpZ2dlciAge1xuXHRcdFx0d2lkdGg6IDY5cHg7XG5cdFx0fVxuXHR9XG5cdCYuaW5kZW50ZWQgIHtcblx0XHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHR9XG5cdH1cblx0LnNlbGVjdC10cmlnZ2VyICB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0YmFja2dyb3VuZDogIzQxQkFFQztcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0d2lkdGg6IDY5cHg7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC5jdXJyZW50LXNlbGVjdGlvbiB7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LXJvdztcbiAgICBcdEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHRcdFx0cGFkZGluZzogMTBweCA4cHggMTBweCAxMHB4O1xuXHRcdFx0LmN1cnJlbnQgIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMTRweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0fVxuXHRcdFx0Lmljb24tY2FyZXQtZG93biAge1xuXHRcdFx0XHRmb250LXNpemU6IDVweDtcblx0XHRcdFx0Ym90dG9tOiAtNHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC50aW1lLW9wdGlvbnMtaGlkZGVuIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdC50aW1lLW9wdGlvbnMge1xuXHRcdFx0Y29sb3I6ICM0MUJBRUM7XG5cdFx0XHRib3JkZXItY29sb3I6ICM0MUJBRUM7IFxuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTdweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDBweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDBweCAwcHggM3B4IDNweDtcblx0XHRcdHdpZHRoOiA2OXB4O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ei1pbmRleDogMTA7XG5cdFx0XHQmLnNlY29uZGFyeSB7XG5cdFx0XHRcdGNvbG9yOiAjRDlEQkRDO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICNEOURCREM7XG5cdFx0XHRcdC50aW1lLW9wdGlvbiB7XG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNEOURCREM7XG5cdFx0XHRcdFx0fVx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50aW1lLW9wdGlvbiB7XG5cdFx0XHRcdHBhZGRpbmc6IDNweCAxNHB4IDNweCA3cHg7XG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICM0MUJBRUM7XG5cdFx0XHRcdH1cblx0XHR9XG5cdH1cdFx0XHRcdFxuXHR9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi50b29sdGlwSGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2x0aXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG1pbi13aWR0aDogMzAwcHg7XG5cdG1heC13aWR0aDogMzYwcHg7XG5cdHdpZHRoOiBtYXgtY29udGVudDtcbiAgd2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XG5cdG1pbi1oZWlnaHQ6IDcycHg7XG5cdHRvcDogLTEzMCU7XG5cdGxlZnQ6IDY1cHg7XG5cdHotaW5kZXg6IDEwO1xuXHRib3JkZXItcmFkaXVzOiA2cHg7XG5cdHBhZGRpbmc6IDIwcHggMjVweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRmb250LWZhbWlseTogTnVkaXN0YS13ZWI7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYig0Niw0Niw0Nik7XG5cdGNvbG9yOiB3aGl0ZTtcblx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGxldHRlci1zcGFjaW5nOiAuMzVweDtcblxuXHQudHRDb250ZW50IHtcblx0XHRjb2xvcjogIzkyOTM5Mjtcblx0XHRmb250LXdlaWdodDogNDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHR9O1xuXG5cdC50dFRpdGxlIHtcblx0XHRoZWlnaHQ6IDQwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdH07XG59XG5cbi50b29sdGlwLXJpZ2h0IHsgLy8gcmlnaHQgaXMgdGhlIGRlZmF1bHRcblx0QGV4dGVuZCAudG9vbHRpcDtcbn1cblxuLnRvb2x0aXAtYm90dG9tIHtcblx0QGV4dGVuZCAudG9vbHRpcDtcblx0dG9wOiA1NXB4O1xuXHRsZWZ0OiAtMTI1cHg7XG59XG5cbi50b29sdGlwLWF1dG9zY2hlZHVsZSB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IC04NXB4O1xuICB0b3A6IC0yOTBweDtcbn1cblxuLnRvb2x0aXAtbGVmdCB7XG5cdEBleHRlbmQgLnRvb2x0aXA7XG5cdGxlZnQ6IGluaGVyaXQ7XG5cdHJpZ2h0OiA0NXB4O1xufVxuXG4udG9vbHRpcDphZnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bGVmdDogLTIwcHg7XG5cdHRvcDogMTVweDtcblx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2IoNDYsNDYsNDYpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IDIwcHggMjBweCAyMHB4IDBweDtcblx0aGVpZ2h0OiAwcHg7XG5cdHdpZHRoOiAwcHg7XG5cdGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4udG9vbHRpcC1yaWdodDphZnRlciB7XG5cdEBleHRlbmQgLnRvb2x0aXA6YWZ0ZXI7XG59XG5cbi50b29sdGlwLWJvdHRvbTphZnRlciB7XG5cdEBleHRlbmQgLnRvb2x0aXA6YWZ0ZXI7XG5cdGxlZnQ6IDEzMHB4O1xuXHR0b3A6IC0yMHB4O1xuXHRib3JkZXItY29sb3I6IHJnYig0Niw0Niw0NikgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci13aWR0aDogMHB4IDIwcHggMjBweCAyMHB4O1xufVxuXG4udG9vbHRpcC1hdXRvc2NoZWR1bGU6YWZ0ZXIge1xuXHRAZXh0ZW5kIC50b29sdGlwOmFmdGVyO1xuXHRsZWZ0OiAxNjBweDtcbiAgdG9wOiAyNTZweDtcblx0Ym9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuXHRib3JkZXItd2lkdGg6IDIwcHggMjBweCAwcHggMjBweDtcbn1cblxuLnRvb2x0aXAtbGVmdDphZnRlciB7XG5cdEBleHRlbmQgLnRvb2x0aXA6YWZ0ZXI7XG5cdGxlZnQ6IGluaGVyaXQ7XG5cdHJpZ2h0OiAtMjBweDtcblx0Ym9yZGVyLXdpZHRoOiAyMHB4IDBweCAyMHB4IDIwcHg7XG59XG5cbi50b29sdGlwQ2xvc2Uge1xuXHRmbG9hdDogcmlnaHQ7XG5cdHBhZGRpbmc6IDBweCAxMHB4IDNweCAwcHg7XG5cdGNvbG9yOiBsaWdodGJsdWU7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0Zm9udC1zaXplOiAyNHB4O1xufVxuXG5AbWl4aW4gY2hhcnQtdG9vbHRpcC1jYXJldCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDBweDtcblx0aGVpZ2h0OiAwcHg7XG5cdG1hcmdpbjogYXV0bztcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Y29udGVudDogJyc7XG59XG5cbi5jaGFydC10b29sdGlwIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRtaW4td2lkdGg6IDI1NXB4O1xuXHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRtaW4taGVpZ2h0OiAxMDBweDtcblx0cGFkZGluZzogMTBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcblx0ei1pbmRleDogMTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblxuXHQuaGVhZGVyIHtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogI2VmZWZlZjtcblx0fVxuXG5cdC5jb250ZW50IHtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bWFyZ2luLXRvcDogNnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcblxuXHRcdD4gZGl2IHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cdFx0XHRAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cdFx0XHRtaW4taGVpZ2h0OiAyMHB4O1xuXHRcdFx0bWF4LWhlaWdodDogMjBweDtcblxuXHRcdFx0PiBpIHsgbWluLXdpZHRoOiAxNnB4OyB9XG5cdFx0XHQ+IGRpdiB7IG1hcmdpbi1sZWZ0OiA2cHg7IH1cblxuXHRcdFx0Ji5jb21wbGV0ZWQgeyBjb2xvcjogIzE2ODg0ZTsgfVxuXHRcdH1cblx0fVxuXG5cdCYuaGlkZGVuIHtcblx0XHR2aXNpYmxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYuYm90dG9tOmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XG5cdH1cblxuXHQmLmJvdHRvbS1sZWZ0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdGxlZnQ6IDEwcHg7XG5cdFx0Ym90dG9tOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMTBweCAwIDEwcHg7XG5cdH1cblxuXHQmLmJvdHRvbS1yaWdodDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRyaWdodDogMTBweDtcblx0XHRib3R0b206IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDtcblx0fVxuXG5cdCYudG9wOmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG5cdH1cblxuXHQmLnRvcC1sZWZ0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdGxlZnQ6IDEwcHg7XG5cdFx0dG9wOiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogIzJlMmUyZSB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDEwcHg7XG5cdH1cblxuXHQmLnRvcC1yaWdodDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHRyaWdodDogMTBweDtcblx0XHR0b3A6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcblx0fVxuXG5cdCYubGVmdDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMmUyZTJlO1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDEwcHggMDtcblx0fVxuXG5cdCYucmlnaHQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0dG9wOiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRyaWdodDogLThweDtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyZTJlMmU7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4O1xuXHR9XG59XG5cbi5mYSB7IC8vIHRoaXMgZm9udCBhd2Vzb21lIHN0eWxlICh0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApKSBpcyBicmVha2luZyB6LWluZGV4IGJlaGF2aW9yIGFuZCBkb2Vzbid0IHNlZW0gdG8gaGF2ZSBhbnkgdmlzdWFsIGVmZmVjdC4gIFNvIEknbSB0dXJuaW5nIGl0IG9mZi5cbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIudXBsb2FkLWNvbnRhaW5lciB7XG4gIC51cGxvYWQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjAwcHgpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNDAwcHgpO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjZGRkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogI2JiYjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgPiAudXBsb2FkLW1lc3NhZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICA+IC51cGxvYWQtcHJldmlldyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICB9XG4gIH1cblxuICA+IGlucHV0W3R5cGU9J2ZpbGUnXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfSAgXG59XG5cbmRpdi5pbWFnZS1jb250cm9sXG57XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDI4MHB4KTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgLmltYWdlLWxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxuICAuc2lsZW50LWZpbGUtaW5wdXQge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgfSAgICAgICAgICAgICAgICBcbn1cblxuLmltYWdlLWJ1dHRvbnMge1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDI1cHgpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG59XG5cbi5hY3RpdmUtdXBsb2FkIHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzNTBweCk7XG4gIFxuICAuZmlsZS1pbmZvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAuZmlsZS1pbmZvLXNpemUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmVzcy1iYXItY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxOHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcblxuICAgID4gLnByb2dyZXNzLWJhciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxOHB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgICAgdGV4dC1pbmRlbnQ6IDZweDtcblxuICAgICAgJi5zdWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICB9XG5cbiAgICAgICYuZXJyb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWYwYTJmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZXNzYWdlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG59IiwiLmV4ZXJjaXNlX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIDQwMHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZXhlcmNpc2VfbmF2IHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDQwMHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIC5zZWFyY2gge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiYmI7XG5cbiAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIHRleHQtaW5kZW50OiAxNXB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT0ncmVzZXQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg2MHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgICAgQGluY2x1ZGUgZmxleCgwKTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIGkuZmEge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNiYmI7XG4gICAgfVxuICB9XG5cbiAgLmFkZCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgaS5mYSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KC4xKTtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgQGluY2x1ZGUgZmxleCguOTc1KTtcbiAgICB9XG4gIH1cblxuICAubGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcbiAgICBtaW4taGVpZ2h0OiAxMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAmID4gZGl2Om5vdCguZmlsbGVyKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuXG4gICAgICAuZGV0YWlsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgICAudmlldy1kZXRhaWwge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgICAgICAgcGFkZGluZzogNHB4IDhweDtcblxuICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XG5cbiAgICAgICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYm9keS1zaWRlcyB7XG4gICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgICAmID4gZGl2IGxhYmVsIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJiA+IGRpdiArIGRpdiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgPiBkaXYuZmlsbGVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgLmxpc3Qge1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZXhlcmNpc2Vfc2VsZWN0IHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgMzAwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgLmxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYgPiBkaXY6bm90KC5maWxsZXIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG5cbiAgICAgIC5leGVyY2lzZS1pdGVtIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgICAuY2lyY2xlZC1pY29uIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDAgMTJweDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5kZXRhaWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIC52aWV3LWRldGFpbCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcblxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgICYgPiBkaXYgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IGRpdi5maWxsZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubGlzdCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5maWx0ZXJzIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMTAwcHgpO1xuXG4gID4gZnVzaW9uLWRyb3AtZG93bixcbiAgPiBmdXNpb24tb3JkZXJlZC1kcm9wLWRvd24sXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MCUpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIC8qKioqKiBOT1RFICoqKioqKlxuICAgIHNpbmNlIHRoZSBoZWlnaHQgaXMgYmVpbmcgcmVjYWxjdWxhdGVkXG4gICAgb25seSBzZXQgdGhlIG1pbi1oZWlnaHRcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICAqKioqKiBFQkQgTk9URSAqKioqKiovXG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCguOSk7XG4gICAgICB9XG5cbiAgICAgIGkuZmEge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC4xKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xuICAgICAgYm94LXNoYWRvdzogMCA2cHggMTBweCAwICM5OTk7XG4gICAgICBtYXgtaGVpZ2h0OiAyMTVweDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgICYgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBmdXNpb24tZHJvcC1kb3duID4gZGl2LFxuICA+IGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93biA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDhweCk7XG4gIH1cblxuICA+IGZ1c2lvbi1kcm9wLWRvd24ucmVxdWlyZWQsXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duLnJlcXVpcmVkIHtcbiAgICAuc2VsZWN0LXRvZ2dsZSA+IHNwYW4ge1xuICAgICAgY29sb3I6ICNmZjAwMDA7XG4gICAgfVxuICB9XG59XG5cbi5leGVyY2lzZS1pdGVtIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgbWFyZ2luOiAxMHB4O1xuXG4gIC5pY29uIHtcbiAgICBAaW5jbHVkZSBmbGV4KC4xKTtcblxuICAgICYudG9nZ2xlIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogNnB4O1xuXG4gICAgICAmLmRvd24ge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICAgIH1cblxuICAgICAgJi5yaWdodCB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYW1lIHtcbiAgICBAaW5jbHVkZSBmbGV4KC45KTtcblxuICAgIC5uby13cmFwLWVsbGlwc2Uge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZS1pdGVtIHtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLmljb24ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gICYuZHJhZ2dpbmctZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXIgIWltcG9ydGFudDtcblxuICAgIC5pY29uIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLm5vLW1hdGNoIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDEwcHg7XG59XG5cbi8qIG1vZGFsIGp1bmsgKi9cbi5tb2RhbC1jb250YWluZXIge1xuICAmLm1vZGFsLWV4ZXJjaXNlLWRldGFpbCB7XG4gICAgaGVhZGVyIHtcbiAgICAgIC8qIEBpbmNsdWRlIGxvY2staGVpZ2h0KDc1cHgpOyAqL1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWluLXdpZHRoOiA2MDBweDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICAmLnZpZGVvLXZpZXcge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgICAgfVxuXG4gICAgICAmLmltYWdlLXZpZXcge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM2MHB4O1xuICAgICAgICAgIG1pbi13aWR0aDogMzYwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWlzc2luZy1tZWRpYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gICAgICBjb2xvcjogI2RlZGVkZTtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG5cbiAgJi5tb2RhbC1leGVyY2lzZS1mb3JtIHtcbiAgICBoZWFkZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICYuc21hbGxlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIGxhYmVsIGJ1dHRvblt0eXBlPSdyZXNldCddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICBtYXJnaW46IDBweCAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXJzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgJi5tb2RhbC1lcnJvciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjMwcHg7XG4gICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW46IDEwcHggNDBweCAxMHB4IDA7XG4gICAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuXG4gICAgICAgICYubGFyZ2Uge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICAgICYubGFyZ2VyIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgbWluLWhlaWdodDogMjVweDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSA1MCUpO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDAgIzAwMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJiArIGkuZmEge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zaW5nbGUtbGluZS1mb3JtLWZpZWxkcyBsYWJlbCAuYm9keS1zaWRlcyB7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNpbmdsZS1saW5lLWZvcm0tZmllbGRzIC5ldmVuLWNvbHMge1xuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICAgPiBzZWxlY3Qge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogNDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGNvbG9yOiAjNzU3NzdhO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsICsgbGFiZWwge1xuICAgICAgICAgID4gc2VsZWN0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2Vlay1zZWxlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgY29sb3I6ICNhMGE0YTg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3YTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmx1ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIGRyYWctbi1kcm9wIGp1bmsgKi9cbi8qIHNob3VsZCBiZSBtb3ZlZCB0byBvd24gZmlsZSAoY2xlYXJseSkgKi9cbi5kcmFnLWhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn07XG5cbi5kcmFnLW1vdmUtc2Nyb2xsLWFuY2hvciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU1LCAxNTUsIDE1NSwgLjI3NSk7XG4gIGhlaWdodDogMjBweDtcbiAgei1pbmRleDogMTtcblxuICAmLnRvcCB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgfVxufTtcblxuLmRyb3AtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmRyb3AtdGFyZ2V0IHtcblxuICAmOm5vdCguZHJvcC1lbXB0eSkge1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjY2RkM2Q3O1xuICB9XG5cbiAgJi5kcm9wLXRhcmdldC1vdmVyIHtcbiAgICAmOm5vdCguYWRkLXNlY3Rpb24pIHtcbiAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAjNGNiYjE3ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5hZGQtc2VjdGlvbiA+IGRpdiB7XG4gICAgICBib3JkZXItY29sb3I6ICM0Y2JiMTcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYWRkLWV4ZXJjaXNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcmFnZ2luZy1lbGVtZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjODg4O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTAsIDAuOTApICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi5jYXRhbG9nX2NvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIDM1MHB4KTtcbiAgbWluLWhlaWdodDogNTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgPiBkaXYge1xuICAgICAgJi5vcGVuZWQtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmLmNsb3NlZC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSA1MnB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogNTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhdGFsb2ctYmFubmVyIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjBkNDE7XG4gIG1hcmdpbjogMXB4IDA7XG5cbiAgaS5jaXJjbGVkLWljb24ge1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4uY2F0YWxvZy1zZWFyY2gge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgXG4gIGZvcm0ge1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgaGVpZ2h0OiA0OXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzlweDtcbiAgICAgIHRleHQtaW5kZW50OiAxNXB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b25bdHlwZT0ncmVzZXQnXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGhlaWdodDogMzNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgbWFyZ2luOiAwcHggMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5jYXRhbG9nX25hdl93cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2F0YWxvZ19uYXYge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM1MHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG5cbiAgLmNhdGVnb3J5LWljb24ge1xuICAgIG1hcmdpbjogMCAxOHB4O1xuICAgIG1pbi13aWR0aDogMjBweDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICAuYWRkLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDAgMTVweDtcbiAgICBtaW4td2lkdGg6IDEycHg7XG4gIH1cbn1cblxudWwuY2F0YWxvZ19uYXYge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC5jYXRlZ29yeS1zdGF0ZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICBtaW4td2lkdGg6IDEycHg7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LW9wZW4ge1xuICAgICAgLmNhdGVnb3J5LXN0YXRlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNjIwXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LWNsb3NlIHtcbiAgICAgIC5jYXRlZ29yeS1zdGF0ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTYyZlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpLmV4ZXJjaXNlLXRlY2huaXF1ZSB7XG4gICAgPiBzcGFuIHtcbiAgICAgIHRleHQtaW5kZW50OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgbWluLWhlaWdodDogMjRweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMzBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxpID4gdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG5cbiAgICBsaSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgID4gdWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDUwcHg7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5sb2dpbi1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXG4gIC5sb2dpbi1tb2RhbCB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNDc2cHgpO1xuICAgIFxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0ZDRkM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZzogNDdweCAwIDIycHg7XG5cbiAgICA+IGltZyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgICB9XG5cbiAgICAubG9naW4tYmFubmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBtYXJnaW46IDI4cHggMTVweCAzMHB4O1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgIH1cblxuICAgIC5sb2dpbi1mb3JtIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICAgICAgXG5cbiAgICAgIC8vID4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgLy8gICBmb250LXdlaWdodDogMjAwO1xuICAgICAgLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvLyB9XG5cbiAgICAgIC8vID4gaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgLy8gICBmb250LXdlaWdodDogMjAwO1xuICAgICAgLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvLyB9XG5cbiAgICAgID4gaW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MXB4KTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIgIHtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICBcbiAgICAgICAgICBvcGFjaXR5OiAxOyAgXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4OyAgICAgXG4gICAgICAgIH1cbiAgICAgICAgKyBpbnB1dCAge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxvZ2luLWJ1dHRvbnMge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1ldmVubHkpO1xuICAgICAgICBtYXJnaW46IDBweCAzMHB4O1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTdweCk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgXG4gICAgfVxuXG4gICAgLnJlc2V0LWZvcm0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTsgICAgICBcblxuICAgICAgPiBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgPiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMjhweCAwIDA7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUxcHgpO1xuXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciAge1xuICAgICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgIFxuICAgICAgICAgIG9wYWNpdHk6IDE7ICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgaW5wdXQgIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zZWNvbmRQYXNzd29yZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDA7XG4gICAgICB9XG5cbiAgICAgIC5idXR0b24tY29sbGVjdGlvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgICAgICAgbWFyZ2luOiAyOHB4IDAgMDtcbiAgICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1N3B4KTtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgICAgbWFyZ2luOiAxMXB4IDE1cHg7IC8vIHdoZW4gYSBtZXNzYWdlIGlzIGhlcmUgaXMgc2hvdWxkIGJlIHZlcml0Y2FsbHkgc3BhY2VkIGEgYml0XG4gICAgfVxuXG4gICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzBweCk7XG4gICAgICBtYXJnaW46IDExcHggMTVweDsgLy8gd2hlbiBhIG1lc3NhZ2UgaXMgaGVyZSBpcyBzaG91bGQgYmUgdmVyaXRjYWxseSBzcGFjZWQgYSBiaXRcbiAgICB9XG5cbiAgICAubG9naW4tbGluayB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgd29yZC1zcGFjaW5nOiAycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubG9naW5SZW1lbWJlck1lICB7XG4gIG1hcmdpbjogMjhweCAwIDA7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLmNoZWNrYm94LWlucHV0ICB7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGkgIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG4gICAgc3BhbiAge1xuICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgfSBcbiAgfSAgXG59XG4ubG9naW5Gb3Jnb3RQYXNzTGluayAge1xuICBtYXJnaW46IDMxcHggMCAwO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTsgXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNBQUIwQjc7XG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYSAge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJcbi5tb2RhbC1jb250YWluZXIgc2VjdGlvbi5wcm9maWxlLWZvcm0ge1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgbWFyZ2luOiAxMHB4O1xuICBtaW4td2lkdGg6IDQwMHB4O1xuICBcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICBtYXJnaW46IDVweCA5cHg7XG4gICAgbWF4LXdpZHRoOiAzMjVweDtcblxuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn0iLCIubW9kYWwtY29udGFpbmVyIHtcblxuICAmLm1vZGFsLWF0aGxldGUtZm9ybSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDc0MHB4O1xuXG4gICAgaGVhZGVyIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9vdGVyIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDc1cHgpO1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAmLnNtYWxsZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgbWluLXdpZHRoOiA2MDBweDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGRpdi5zZWN0aW9uLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgZGl2Lm9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIH1cbiAgICAgIGRpdi5vcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgICBkaXYub3B0aW9uLWxhYmVsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTVweCk7XG4gICAgICAgIH1cbiAgICAgICAgZGl2LmNob2ljZXMtY29udGFpbmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIC5yYWRpby1pbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29udGFpbmVyXG4gICAgICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIH1cbiAgICAgICAgJiAuc3BhY2UtYmV0d2VlbiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAmLm1vZGFsLWVycm9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRvYi1maWVsZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMTBweCA0MHB4O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDAlKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mZWV0LWZpZWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KC42IDEgMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbmNoZXMtZmllbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoLjM5NSAxIDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnZhbGlkLWlucHV0IHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDQ2LDQ2LDQ2KTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYig0Niw0Niw0Nik7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiA0NSU7XG4gICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiKDQ2LDQ2LDQ2KSB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHggMTBweCAxMHB4IDEwcHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMHB4O1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgdGV4dC1pbmRlbnQ6IDEwcHg7XG4gICAgICAgICAgJi5tZWFzdXJlbWVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMCBhdXRvKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNTVweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGUtaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbXBlcmlhbC1oZWlnaHQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgICAgIG1pbi13aWR0aDogNDUlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAvLyAmLmZlZXQge1xuICAgICAgICAgIC8vICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgICYuaW5jaGVzIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogODAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShub25lKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9ICAgICAgICAgIFxuXG4gICAgICAgICAgJiArIGkuaWNvbi1jYXJldC1kb3duIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgY29sb3I6ICNEOURCREM7XG4gICAgICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgJi5mZWV0IHtcbiAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICByaWdodDogMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaW5jaGVzIHtcbiAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICByaWdodDogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5pbXBlcmlhbCB7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnNlbGVjdC1hbGwge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uc2VsZWN0LWF0aGxldGUtbGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgbWFyZ2luOiA0NXB4IDY1cHggNDVweCA2NXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC5hdGhsZXRlLW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgJi5hbGwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLm1vZGFsLWNvbnRhaW5lciB7XG5cbiAgJi5tb2RhbC10ZXJtcyB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgd2lkdGg6IDc0MHB4O1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIlxuLmFkbWluLW1lbnUge1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhMGE0YTg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuLm1hcmtlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogLTMwcHg7XG4gICAgICB3aWR0aDogMjNweDtcbiAgICAgIGhlaWdodDogMjJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICB9XG59XG5cbi5hZG1pbi1zdWItbWVudSB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICBjb2xvcjogI2EwYTRhODtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbWFyZ2luLXRvcDogMTBweDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJsdWU7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLnRhYi1tZW51IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcbiAgcGFkZGluZzogMCAxMHB4O1xuXG4gIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAmLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc2OEVCO1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgfVxuICB9XG59XG5cbi50YWItbWVudTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbn1cblxuLnRhYi12aWV3IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogNXB4O1xufVxuXG4udGFiLXZpZXctbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRlc3QtY29udGFpbmVyLWhlYWRlciAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0bWFyZ2luLXRvcDogMjVweDtcdFxuXHQudGl0bGUgIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAzNC41cHg7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdCO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyO1x0XG5cdFx0bWluLWhlaWdodDogNDZweDtcblx0fSBcblx0Lm1haW4tY29sICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cdFx0cGFkZGluZy1yaWdodDogMjBweDtcdFx0XG5cdH1cblx0LnNpZGUtY29sICB7XHRcdFxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1x0XHRcblx0XHQ+IGRpdjpub3QoW2NsYXNzXSkgIHtcblx0XHRcdGZvbnQtc2l6ZTogMTYuNTlweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMxcHg7XHRcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRcdH1cblx0fVxufVxuXG4udGVzdC1yZXN1bHQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGVzdC1yZXN1bHQtaGVhZGVyIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAudGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDM0LjVweDtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNnB4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXI7XHRcblx0XHRtaW4taGVpZ2h0OiA0NnB4OyAgICAgICAgXG4gICAgICAgIG1hcmdpbjogMCAwIDZweDsgICAgICAgIFxuICAgIH07XG59XG5cbi5pbnB1dC1yZXN1bHRzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyAgXG59XG5cbi5yZXN1bHRzLWNvbHVtbi1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGNvbHVtbi1jb3VudCgyKTtcbiAgICBAaW5jbHVkZSBjb2x1bW4tZ2FwKDRlbSk7ICAgXG59XG5cbi5leGVyY2lzZS1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBjb2x1bW4tbm8tYnJlYWsoKTsgIFxufVxuXG4ubGlua2VkLXJlc3VsdHMtaGVhZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAzNC41cHg7XG4gIGNvbG9yOiAjNzU3ODdCO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjZweDsgIFxufVxuXG4udGVzdGVkLWJ5IHtcblx0Zm9udC1zaXplOiAxM3B4O1xuXHRjb2xvcjogIzc1Nzc3QTtcblx0bGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuLnBlcmZvcm0tYWRkaXRpb25hbC1yZXN1bHRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4ucGVyZm9ybWFuY2UtcmVzdWx0cyAgeyAgXG5cdHBhZGRpbmc6IDgwcHggMCA4MHB4O1xuXHRtYXgtd2lkdGg6IDc3OHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0LmgyICB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0fVxuXHRzZWN0aW9uICB7XG4gICAgcGFnZS1icmVhay1pbnNpZGUgOiBhdm9pZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzJweDsgICAgXG5cdFx0KyBzZWN0aW9uICB7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcblx0XHR9XG5cdH1cbn1cblxuLnBlcmZvcm0tbm90ZXMtc2VjdGlvbiB7XG4gIG1heC13aWR0aDogNzc4cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMTIwcHggMDtcbiAgLmhlYWRlciB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMnB4O1xuICB9XG4gIC5wcm9zZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM5MjkzOTI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufVxuXG4uc3RyZXNzLWluZGV4LWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbiAgPiAuaGVhZGVyICB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXHRcdC50aXRsZSAge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdGNvbG9yOiAjNzU3ODdCO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdG1hcmdpbjogMCAwIDE4cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5jYXQtaGVhZGVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM3NTc4N0I7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDQwcHggMCAxOHB4O1xufVxuLmNhdC1zY29yZSAge1xuXHRjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cdCYuZ3JlZW4gIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUtZ3JlZW47XG5cdFx0KyAuZG90ICB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUtZ3JlZW47XG5cdFx0fVxuXHR9XG5cdCYueWVsbG93ICB7XG5cdFx0YmFja2dyb3VuZDogJHNjb3JlLXllbGxvdztcblx0XHQrIC5kb3QgIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS15ZWxsb3c7XG5cdFx0fVxuXHR9XG5cdCYucmVkICB7XG5cdFx0YmFja2dyb3VuZDogJHNjb3JlLXJlZDtcblx0XHQrIC5kb3QgIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS1yZWQ7XG5cdFx0fVxuXHR9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jbGluaWNhbC1maWVsZCB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnRleHRhcmVhIHtcbiAgICAmLmNsaW5pY2FsLW5vdGVzIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxufVxuXG4uY2xpbmljYWwtc3ViLW5vdGUge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgICAgXG59XG5cbi50cmVlLWxpbmUge1xuICAgIGhlaWdodDogMzVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG59XG5cbi5jbGluaWNhbC1ub3Rlcy1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDM4cHggMCA2MHB4O1xuICAgIG1heC13aWR0aDogNTYwcHg7XG59XG5cbmxhYmVsLmNsaW5pY2FsLWZvcm0tZmllbGQgIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDAgNDBweDtcbn1cblxuaHIuY2xpbmljYWwtcmVwb3J0LWxpbmUge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbnNwYW4uY2xpbmljYWwtbGFiZWwgIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG5mdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ge1xuICAgICYuY2xpbmljYWwtZHJvcC1kb3duIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MjZweDtcbiAgICAgICAgd2lkdGg6IDYyNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgPiBkaXYuY29sdW1uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgICAgICAgIHNwYW4uZmlsdGVyZWQge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xuICAgICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNsaW5pY2FsLXNpZ25hdHVyZSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjOTI5MzkyO1xuXHRsaW5lLWhlaWdodDogMS41O1xuICA+IGRpdiB7XG4gICAgcGFkZGluZzogMHB4IDE1cHggMHB4IDE1cHg7XG4gIH1cbn1cblxuLnByaW50LW9ubHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xufVxuXG4udGVzdC1hdGhsZXRlLW5hbWUge1xuICBjb2xvcjogIzc1Nzc3QTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS42MjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbn1cblxuLnBlcmZvcm0tc2VsZWN0IHtcbiAgbWluLXdpZHRoOiAxMzNweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzc1Nzc3QTtcbiAgYm9yZGVyOiAycHggc29saWQgI0Q4RDhEODtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBoZWlnaHQ6IDM4cHg7XG59XG5cbi5yZWNvbW1lbmRlZCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogJHJlZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5SK1IgRGFpbHkgVGVzdCB2MlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5oMyB7XG4gIHNwYW4ge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuXG4ucnItbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93O1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBoZWlnaHQ6IDU1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC5jdXN0b20ge1xuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGxpZ2h0X2dyZXk7XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAmOmNoZWNrZWQgfiBsYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlZWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yci1rZXkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBjb2xvcjogJGJsdWU7XG4gIGxhYmVsIHtcbiAgICB3aWR0aDogMzMuMyU7XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4vLyBzdHlsZXMgZm9yIHRoZSByZXBlYXRlZCBzaGlmdCB0ZXN0XG4ucmVwZWF0ZWQtc2hpZnQtbGF5b3V0IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgLnRlc3Qtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgICAuZHJvcC1vZmYge1xuICAgICAgY29sb3I6ICMwMEI4RTA7IFxuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyO1xuICAgIH1cbiAgICAubWVhc3VyZW1lbnQtZmllbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyODlweDtcbiAgICAgIH1cbiAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyM3B4O1xuICAgICAgfSAgICAgIFxuICAgIH1cbiAgfVxuICAubWVhc3VyZW1lbnQtbGFiZWwge1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7IFxuICAgIHdpZHRoOjEwcHhcbiAgfVxufVxuXG4vLyBzdHlsZXMgZm9yIHRoZSB5LWJhbGFuY2UgdGVzdHNcbi55LWJhbGFuY2UtbGF5b3V0IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgLnRlc3Qtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICAgIC5zdWItbGFiZWwge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgIH1cbiAgICAuZGlmZiB7XG4gICAgICBtYXJnaW4tbGVmdDogNTFweDtcbiAgICAgIGNvbG9yOiAjMDBCOEUwOyBcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgXG4gICAgICBsaW5lLWhlaWdodDogMS45MjtcbiAgICB9XG4gICAgLm1lYXN1cmVtZW50LWZpZWxkIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjc1cHg7XG4gICAgICB9XG4gICAgICAubWVhc3VyZW1lbnQtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7IFxuICAgICAgICB3aWR0aDoxMHB4XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHN0eWxlcyBmb3IgbWVhc3VyZW1lbnQgZ3JvdXBzXG4ubWVhc3VyZW1lbnQtZ3JvdXAge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnN1Yi1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgfSAgICBcbiAgICAubWVhc3VyZW1lbnQtZmllbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjNweDtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNzVweDtcbiAgICAgIH1cbiAgICAgIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgXG4gICAgICAgIHdpZHRoOjEwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIGNoYW5nZS1pbmRpY2F0b3Ige1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIG1hcmdpbjogMCAxMHB4O1xuXG4gICYuaW5jcmVhc2UgeyBcbiAgICBjb2xvcjogIzIwYjc2OTsgXG4gICAgaS5mYSB7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi5kZWNyZWFzZSB7IFxuICAgIGNvbG9yOiAjYzQyYTNiOyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0taW5jcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLnBlcmZvcm0tZGVjcmVhc2UgeyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gIH1cblxuICBpLmZhIHtcbiAgICBtaW4td2lkdGg6IDEycHg7XG4gIH1cbn1cblxuLnRlc3QtcmVzdWx0cy1idXR0b24ge1xuICB3aWR0aDogMTAwJTsgIFxuICB3aWR0aDogLXdlYmtpdC1maWxsLWF2YWlsYWJsZTsgXG59XG5cbi5wcm9ncmVzcy1yZXBvcnQtb3B0aW9ucyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIG1hcmdpbjogMzBweCAwIDVweDtcblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cblxuICAuZGF0ZS1yYW5nZXMge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG5cbiAgICA+IGRpdiArIGRpdiB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXJlcG9ydC1ub2RhdGEge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5yZXBvcnQtY2hhcnQtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAucmVwb3J0LWNoYXJ0LWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcblxuICAgIC5yZXBvcnQtY2hhcnQtZGV0YWlsIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG5cbiAgICAgICYudGVhbSwgJi50b3RhbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLXdpZHRoOiAxMzBweDtcbiAgICAgICAgbWluLWhlaWdodDogOTBweDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXIge1xuXG4gICAgICB9XG5cbiAgICAgIC5zY29yZS1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG5cbiAgICAgICAgLnNjb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGNoYW5nZS1pbmRpY2F0b3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRyb3BoaWVzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50cm9waHktcGxhY2Uge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtc3VtbWFyeS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi5yZXBvcnQtc3VtbWFyeSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblxuICA+IGRpdiB7XG4gICAgbWluLXdpZHRoOiAyNDBweDtcbiAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgIG1hcmdpbjogMjBweCAxMHB4IDEwcHggIDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgfVxuXG4gIC5zdW1tYXJ5LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcblxuICAgIC5zdW1tYXJ5LWluZm8ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICBtYXJnaW46IDAgM3B4O1xuXG4gICAgICAuaGVhZGVyIHtcblxuICAgICAgfVxuXG4gICAgICAuc2NvcmUtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcblxuICAgICAgICAuc2NvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zdW1tYXJ5LWNoYXJ0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgPiBjYW52YXMge1xuICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1kZXRhaWxzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyBcblxuICAudGl0bGUge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDI0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi5yZXBvcnQtZGV0YWlscyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gID4gZGl2IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC5jaGFuZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC04cHg7XG4gICAgbWluLXdpZHRoOiA3MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cbiAgXG4gIC5uYW1lcy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgbWluLXdpZHRoOiAyNTBweDsgICAgXG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlci1yb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgICYgKyAuaGVhZGVyLXJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbC1yb3cge1xuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgfVxuXG4gICAgICAmLnN1Yi10b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XG4gICAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJiArIC5zdWItdG90YWwge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50b3RhbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuZGV0YWlsLXJvdy1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjE1cHg7IFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbmZvLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlci1yb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgICYgKyAuaGVhZGVyLXJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbC1yb3cge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2NvcmVzLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICB3aWR0aDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIC5oZWFkZXItcm93IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuXG4gICAgICAuZGV0YWlsLXJvdyB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcblxuICAgICAgJi5yaWdodC1sZWZ0IHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAmICsgLmhlYWRlci1yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWwtcm93IHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgICAmLnJpZ2h0LWxlZnQge1xuICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDU1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaGFuZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2dyZXNzLXJlcG9ydC1ib2R5bWFwIHtcbiAgbWF4LWhlaWdodDogMjEzcHg7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG5cbi5wcm9ncmVzcy1yZXBvcnQtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LWJvZHltYXAtY29udGFpbmVyIHtcbiAgLy8gbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3JhbS1ncm91cC1kcm9wZG93bi1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHdpZHRoOiAxMDI0cHg7XG4gIG1hcmdpbjogMzBweCAwcHggMTBweCAwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgXG4gID4gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgXG4gIC5wcm9ncmFtLXR5cGUtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG5cbi5yZXBvcnQtcHJvZ3JhbXMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgfVxuXG4gIC5oZWFkZXItcm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuXG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLnByb2dyYW0tZGF0YS1jaGFydCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICB9XG4gIH1cblxuICAuZGF0YS1yb3cge1xuICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuXG4gICAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcblxuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyZTJlMmU7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgfVxuICAgIH1cblxuICAgICYudG90YWwgXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucG9zaXRpb24tdG90YWwgXG4gICAge1xuICAgICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMUUzRTU7XG4gICAgICAgIGNvbG9yOiAjZWZlZmVmO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tbmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiAzNDZweDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLWRhdGEge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICYucmlnaHQge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1kYXRhLWNoYXJ0IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1maWxsZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBhZ2UtaGVhZGVyLWJhY2stbmF2IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuXG4gIGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGkuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgfVxufVxuXG4udGVzdC1hcmNoaXZlcy1vcHRpb25zIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgbWFyZ2luOiAzMHB4IDAgNXB4O1xuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcblxuICAgID4gZGl2ICsgZGl2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXJjaGl2ZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBtYXJnaW46IDMwcHggMDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgaS5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1uYW1lLFxuICAgIC5hcmNoaXZlLWluZm8sXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIHNwYW4ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtaW5mbyxcbiAgICAuYXJjaGl2ZS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1pbmZvIHtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLmFyY2hpdmUtYWN0aW9uIHtcbiAgICAgIG1pbi13aWR0aDogNjBweDtcbiAgICB9XG5cbiAgICAmLmhlYWRlci1yb3cge1xuICAgICAgbWluLWhlaWdodDogNDBweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vdmVyc2lvbiAyIG9mIGhlYWRlciAoc2VlIG5ldy1oZWFkZXIuaHRtbCBmb3IgdGVtcGxhdGUgKHN3aXRjaGVkIHYyKSlcbi5oZWFkZXItY29udGVudCB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGluaXRpYWwpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cbiAgLmhlYWRlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuaGVhZGVyLWxvZ28gIHtcbiAgICBtYXJnaW46IDEwcHggMzVweDtcbiAgXHRpbWcgIHtcbiAgXHRcdG1heC13aWR0aDogMTgwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICBcdH1cbiAgfVxuXG4gIC5oZWFkZXItdGVhbS1uYW1lIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDOEM4Qzk7XG4gICAgaDMge1xuICAgICAgcGFkZGluZzogMHB4IDE4cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbiAgLmhlYWRlci10ZWFtLW5hbWUtbGluayB7XG4gICAgQGV4dGVuZCAuaGVhZGVyLXRlYW0tbmFtZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC50ZWFtLXN3aXRjaGVyICB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA4MCU7XG4gICAgICBsZWZ0OiA5MCU7XG4gICAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XG4gICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgfVxuICB9XG4gIC50ZWFtLW9wdGlvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMiU7XG4gICAgbGVmdDogLTFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmMWYxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSg2OCwgNjcsIDc2LCAwLjI1KTtcbiAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgXG4gICAgPmRpdiB7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweCA1cHggMTRweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZmRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53aGl0ZS1maWVsZCB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuXG4gICAgaS5pY29uLXNob3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW46IC0xcHggOHB4IDBweCAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1hdGhsZXRlIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3BhbiArIHNwYW4ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgID4gZGl2ICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmLnNpZ25vdXQge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyByZXNwb25zaXZlIHR3ZWFrcywgc2hvdWxkIGp1c3QgYmUgaW1wbGVtZW50ZWQgd2l0aCB0aGUgcmVzdFxuQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgLmhlYWRlci1jb250ZW50LXYyIHtcbiAgICAud2hpdGUtZmllbGQgIHtcbiAgICAgICAgPiBkaXYgPiBkaXYgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpLmljb24tc2hvcCAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuJGd1dHRlci13aWR0aDogMTVweDtcbi8vICRjb2wtZ2FwOiAzMHB4O1xuJGNvbC1nYXA6IDE1cHg7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgcmVzcG9uc2l2ZW5lc3MgYWRqdXN0bWVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi53aGl0ZWJvYXJkICB7XG4gICAgbWluLXdpZHRoOiAwO1xufVxudWwuY2F0YWxvZ19uYXYgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgbGkgPiBzcGFuICB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG51bC5jYXRhbG9nX25hdiBsaSA+IHVsIGxpID4gdWwgbGkgIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIEBpbmNsdWRlIHlwYWQoNnB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IC8vIHRoaXMgd2F5LCB3aGVuIGl0IHdyYXBzLCBpdCBkb2Vzbid0IGxvb2sgc3RyYW5nZVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCAudGl0bGUtY29udGFpbmVyIC5yZXR1cm4tbGluayAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYXRobGV0ZSBncmlkIHVuaXZlcnNhbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtaW5mby1ib3ggIHtcbiAgICAuYmlvLWhlYWRlciAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIC5hdGhsZXRlLW51bWJlciAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZChzbSkgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmlvLWJvZHkgIHtcbiAgICAgICAgLmF0aGxldGUtcHJvZmlsZSAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgIC5wcm9maWxlLXBpYyAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXRobGV0ZS1zdGF0cyAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAgICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYW52YXMgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhbGwgc2l6ZXMgPiBhdGhsZXRlIGxpc3QgdmlldyA+IGxvY2tlZC93cmFwcGVkIGF0aGxldGUgbnVtYmVyLi4uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYXRobGV0ZS1saXN0LXZpZXcudmlldy1sYXlvdXQgIHtcbiAgICAuYXRobGV0ZS1udW1iZXIgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1M3B4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAuYXRobGV0ZS1uYW1lICB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDVweDtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyA+IGF0aGxldGUgcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnByb2ZpbGUtc3VtbWFyeSAge1xuICAgIC50b2RheS1wcm9ncmFtLFxuICAgIC50b2RheS1ub3RpY2UgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNnB4O1xuICAgIH1cbn1cbi5jb2x1bW4tY29udGFpbmVyLnByb2ZpbGUtc2NvcmUgKyBkaXYge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG4gICAgICAgIHdpZHRoOiAzODBweDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHVuaXZlcnNhbCBicmVha3BvaW50IGRyb3Bkb3duXG4vLyBvbmNlIGJyb3dzZXIgd2lkdGggZ29lcyBiZWxvdyAxMDU0IChzZWUgbWl4aW4gcmVzcG9uZChzbSkpXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGJvZHkgICB7XG5cbiAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gLy8gc2VjdGlvbiA+IHVuaXZlcnNhbFxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuIC52aWV3LWNvbnRhaW5lciAge1xuICAgIHdpZHRoOiAkY29tcHJlc3NlZENvbnRlbnRXaWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIEBpbmNsdWRlIHhwYWQoJGd1dHRlci13aWR0aCk7XG4gICAgLnZpZXctY29udGFpbmVyICB7XG4gICAgICAgIEBpbmNsdWRlIHhwYWQoMCk7XG4gICAgfVxufVxuLndlZWstd3JhcHBlciAud2Vlay1kYXktY29sdW1uICB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmhlYWRlci1jb250ZW50IC53aGl0ZS1maWVsZCA+IGRpdiAge1xuICAgIG1hcmdpbjogMHB4IDIwcHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHByb2ZpbGUgcGFnZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnByb2ZpbGUtZGV0YWlsICB7XG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgLnByb2ZpbGUtcGljICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLWhlaWdodDtcbiAgICAgICAgaW1nICB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9maWxlLWFjdGlvbiAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5wcm9maWxlLXN1bW1hcnkgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCg0KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xuICAgID4gLnJvdy1jb250YWluZXIuZGl2aWRlZCAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sLWdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2NvcmUtY29udGFpbmVyICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgLnByb2ZpbGUtc2NvcmUgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgLnByb2ZpbGUtc2NvcmUtZ3JhcGgtY2FudmFzICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LW1lbnUtaXRlbSAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgfVxufVxuLnByb2dyYW0tY2hhcnQsXG4ubGluZS1jaGFydCAge1xuICAgIEBpbmNsdWRlIGZsZXgoMik7XG59XG4ucHJvZ3JhbS1jaGFydCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAwO1xufVxuLnZpZXctbGF5b3V0IC52aWV3LWNvbnRhaW5lciAubGluZS1jaGFydCAge1xuICAgIC5saW5lLWNoYXJ0LWNhbnZhcyAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay1oZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbn1cbi5jaGFydC1kZXRhaWxzICB7XG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bml2ZXJzYWwgKGJhc2VkIG9mZiBvZiBwcm9maWxlID0+IHByb2dyYW1zID0+IHZlcnRpY2FsIGJhciBjaGFydClcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbmNhbnZhcyAge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcHJvZmlsZSA+IGNhbGVuZGFyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uY2FsZW5kYXItbW9udGggIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgyKTtcbiAgICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYWxlbmRhci1kYXlzICB7XG4gICAgICAgIC5jYWxlbmRhci1kYXkgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgIHdpZHRoOiAoMTAwLzcpKjElO1xuICAgICAgICB9XG4gICAgfVxuICAgICYubm90ZXMtY2FsZW5kYXIgIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OTJweDtcbiAgICB9XG59XG4uY2FsZW5kYXItZGF5LWluZm8gIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBhdGhsZXRlIGdyaWQgPiBsaXN0IHZpZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hdGhsZXRlLWxpc3Qtdmlldy52aWV3LWxheW91dCAge1xuICAgIC5hdGhsZXRlLXN0YXQgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgwKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg3LjUlKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuICAgIC5hdGhsZXRlLXByb2dyYW1zICB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTglKTtcbiAgICB9XG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSAge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE4JSk7XG4gICAgfVxuICAgIC5hdGhsZXRlLXJvdyAge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IG1vZGFsc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLm1vZGFsICB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbn1cbi5tb2RhbC1jb250YWluZXIgIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IG5vdGVzID4gdHJhaW5pbmcgbG9hZCA+IG1pc2Ncbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi50bC1lbnRyeS1oZWFkZXIgLnRsLXNlbGVjdCxcbi50bC1lbnRyeSAudGwtc2VsZWN0ICB7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMjBweCk7XG59XG4udGwtZW50cnktaGVhZGVyIC50bC1pbnB1dCxcbi50bC1lbnRyeSAudGwtaW5wdXQgIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDg2cHgpO1xufVxuLnRsLWVudHJ5IC50bC1pbnB1dCA+IC5iYXNpYy1pbnB1dC5zbWFsbCAge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLnRsLWVudHJ5LWhlYWRlciAge1xuICAgIC5maWVsZC1sYWJlbCAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiB1bml2ZXJzYWwgaW5wdXQgc2l6ZSByZWR1Y3Rpb24uLi5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuaW5wdXQuYmFzaWMtaW5wdXQsXG5kaXYuYmFzaWMtaW5wdXQsXG5kaXYuYmFzaWMtaW5wdXQtcmVhZG9ubHkge1xuICAgIHdpZHRoOiAxMDBweDtcbn1cblxuLy8gY3VycmVudFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gYXRobGV0ZSBuYXYgZmlsdGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYXRobGV0ZS1tZW51ICB7XG4gICAgLmF0aGxldGUtc2VhcmNoICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAuYXRobGV0ZS1maWx0ZXItc29ydCAge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoaW5pdGlhbCk7XG4gICAgICAgID4gLmF0aGxldGUtc29ydC1ib3ggIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgIC5sYWJlbCAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDE3cHggMTVweCAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAmOmFmdGVyICB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDM4JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmF0aGxldGUtcmVzZXQtdmlldyAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KGluaXRpYWwpO1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgIC5hdGhsZXRlLXRvZ2dsZS12aWV3ICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoaW5pdGlhbCk7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGhlYWRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uaGVhZGVyLWNvbnRlbnQgIHtcbiAgICAud2hpdGUtZmllbGQgIHtcbiAgICAgICAgPiBkaXYgPiBkaXYgIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICsgZGl2ICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpLmljb24tc2hvcCAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uICB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuICAgIC5sb2dvICB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbiAgICB9XG4gICAgLndoaXRlLWZpZWxkID4gYnV0dG9uOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ3V0dGVyLXdpZHRoO1xuICAgIH1cbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IGdyYXBoIGtleVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmxpbmUtY2hhcnQtbWVudSAge1xuICAgIC5jaGFydC1sZWdlbmQgIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNnB4O1xuICAgICAgICA+IC5mYSAge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHRlc3RpbmcgcHJvbXB0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnByb21wdC1ib3ggIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xufVxuLnRlc3QtbGFuZGluZyAge1xuICAgIC5wcm9tcHQtYm94ICB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE5NnB4O1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbWlzYyBjaGFydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5yZXBvcnQtY2hhcnQtY29udGFpbmVyICB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLmxpbmUtY2hhcnQgIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5yZXBvcnQtY2hhcnQtZGV0YWlscyAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAucmVwb3J0LWNoYXJ0LWRldGFpbCAge1xuICAgICAgICAgICAgPiBkaXYgIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiByZXBvcnQgc3VtbWFyeSBjaGFydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5yZXBvcnQtc3VtbWFyeSAge1xuICAgID4gZGl2ICB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDEwcHgpO1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiByZXBvcnQgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5yZXBvcnQtZGV0YWlscy1jb250YWluZXIgIHtcbiAgICAudGl0bGUgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIH1cbn1cblxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBzZWN0aW9uID4gbWQgPiBlbmRcbiAgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG59XG59XG5cbkBpbmNsdWRlIHJlc3BvbmQoc20pICB7IGJvZHkgIHtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBzbSA+IGF0aGxldGUgZ3JpZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBjYXRhbG9nIG5hdlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmFkbWluLW1lbnUgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAxOHB4O1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gY2F0YWxvZyBzaWRlIG5hdlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmNhdGFsb2dfY29udGFpbmVyICB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgMjAwcHgpO1xufVxuLmNhdGFsb2ctc2VhcmNoICB7XG4gICAgZm9ybSAge1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSAge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvblt0eXBlPSdyZXNldCddICB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGFsb2ctZmVhdHVyZSAuZmVhdHVyZS1jb250YWluZXIgLmZlYXR1cmUtY29udGVudCAge1xuICAgIGxlZnQ6IDQwcHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0ZWFtcyB0YWJsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4ucHJhY3RpdGlvbmVyc1RhYmxlLFxuLnRlYW1zVGFibGUgIHtcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICA+IHNwYW4gIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnByYWN0aXRpb25lcnNUYWJsZSAge1xuICAgID4gLnJvdy1jb250YWluZXIgIHtcbiAgICAgICAgPiBkaXYgIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTEycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSg5NnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTA4cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4SW5saW5lT3ZlcnJpZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg1KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDExMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDYpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoODhweCk7XG4gICAgICAgICAgICAgICAgYnV0dG9uICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRlYW1zVGFibGUgIHtcbiAgICA+IC5yb3ctY29udGFpbmVyICB7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICAvLyBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDk2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpICB7XG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTYwcHgpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhJbmxpbmVPdmVycmlkZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoNzBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg2KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDIxMnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc21hbGxlciBzY3JlZW5zIHVwZGF0ZXNcbkBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG5cdC8vIG1ha2UgdGhlIGxvZ28gYSBsaXR0bGUgc21hbGxlclxuXHQuaGVhZGVyLWxvZ28gIHtcblx0XHRtYXJnaW46IDAgMTVweDtcblx0XHRpbWcgIHtcblx0XHRcdHdpZHRoOiAxMDAlOyAvLyBkb24ndCB3b3JyeSwgdGhlcmUncyBhbHJlYWR5IGEgbWF4LXdpZHRoIGFwcGxpZWQgdG8gdGhpc1xuXHRcdH1cblx0fVxuXG5cdC8vIGhpZGUgdGhlIG5hdiBpY29ucyB0byBzYXZlIHNvbWUgc3BhY2Vcblx0LmhlYWRlci1jb250ZW50IC53aGl0ZS1maWVsZCA+IGRpdiA+IGRpdiAge1xuXHRcdGkgIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Ly8gZm9yIHNjcmVlbiBzaXplcyBhcm91bmQgNzY4cHgsIDIgdGVhbSBtZW1iZXJzIHBlciByb3cgbG9va3MgYmV0dGVyIHRoYW4gM1xuXHQuYXRobGV0ZS1kYXNoYm9hcmQgLmF0aGxldGUtZGFzaGJvYXJkLWNvbnRhaW5lciB7XG5cdFx0LmF0aGxldGUtaW5mby1ib3gsXG5cdFx0LmF0aGxldGUtYWRkLWJveCAge1xuXHRcdFx0d2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG5cdFx0fVxuXHRcdC5hdGhsZXRlLWluZm8tYm94IC5iaW8tYm9keSAuYXRobGV0ZS1wcm9maWxlIC5wcm9maWxlLXBpYyAge1xuXHRcdFx0bWF4LWhlaWdodDogbm9uZTsgLy8gb3RoZXJ3aXNlIGl0IHdpbGwgc3RyZXRjaCB3aGVuIG1peGVkIHdpdGggd2lkdGg6IDEwMCVcblx0XHR9XG5cdH1cbn1cblxuLy8gYWxsIHNjcmVlbnMgdXBkYXRlXG5ib2R5IC5hdGhsZXRlLWRhc2hib2FyZCAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyICB7XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTsgLy8gYmVjYXVzZSBpdCBjdXJyZW50bHkgaGFzIGEgbmVnYXRpdmUgbWFyZ2luIG9mIC0xMHB4IG9uIGJvdGggc2lkZXNcblxuXHQvLyBubyBtb3JlIG9mIGhhcmQtY29kaW5nIHRoZSBoZWlnaHRzIG9mIHRoZSB0ZWFtIG1lbWJlciBibG9ja3Ncblx0Ly8gYSB2ZXJ5IG5pY2UgZmVhdHVyZSBvZiBmbGV4Ym94IGlzIHRoYXQgaXQgY2FuIGJlIHVzZWQgdG8gY3JlYXRlXG5cdC8vIGVxdWFsIGhlaWdodHMgdGhhdCBncm93L3NocmluayBhcyBuZWVkZWRcblx0QGluY2x1ZGUgZmxleC1kaXNwbGF5O1xuXHRAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG5cdC5hdGhsZXRlLWluZm8tYm94LFxuXHQuYXRobGV0ZS1hZGQtYm94ICB7XG5cdFx0bWluLWhlaWdodDogMDtcblx0XHRtYXgtaGVpZ2h0OiBub25lO1xuXHRcdGhlaWdodDogYXV0bztcblx0fVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZW5kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG59IH0gLy8gZW5kIHJlc3BvbmQoc20pXG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMyXCI7XG5cblxuLmFycm93VGFicyAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgQGluY2x1ZGUgZ3JpZHhnYXAoMnB4KTtcbiAgICA+IHNwYW4gIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmJlZm9yZSAge1xuICAgICAgICAgICAgY29udGVudDogXCIgXCI7ICAgICAgXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICAgICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyaWFuZ2xlKDE2cHggNnB4LCAkYmx1ZSwgZG93bik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIH1cbiAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0YyRjRGNTtcbiAgICAgICAgICAgIGNvbG9yOiAjQUJCMEIzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7ICBcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgc3BhbiAge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUgIHtcbiAgICAgICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwcm9ncmFtIHNjaGVkdWxlIHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwcm9ncmFtU2NoZWR1bGVUYWJsZUF0dHJzKCRsZWZ0UHVsbCwgJGlubmVyU3BhY2luZykgIHsgIFxuICAgICRwcm9ncmFtYnJlYWtwb2ludDogJGxhcmdlQnJlYWtwb2ludCArICRsZWZ0UHVsbCArIDQwcHg7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgIFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHByb2dyYW1icmVha3BvaW50KSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRsZWZ0UHVsbH0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGxlZnRQdWxsKi0xO1xuICAgIH1cbiAgICB0ciAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJGxlZnRQdWxsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICArICogIHsgICAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwLzcqMSUpIC0gI3skbGVmdFB1bGwvN30pO1xuICAgICAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpbm5lclNwYWNpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgICsgdHIgIHtcbiAgICAgICAgICAgID4gKiAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5uZXJTcGFjaW5nO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRoZWFkICB7XG4gICAgICAgIHRoICB7XG4gICAgICAgICAgICBjb2xvcjogI0JEQzFDNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSAge1xuICAgICAgICB0aCAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBjb2xvcjogIzg0ODk5MDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH0gICAgXG4gICAgfVxufVxuLnByb2dyYW1TY2hlZHVsZVRhYmxlICB7XG4gICAgQGluY2x1ZGUgcHJvZ3JhbVNjaGVkdWxlVGFibGVBdHRycyg3MHB4LCA1cHgpO1xufVxuXG5AbWl4aW4gYWN0aXZpdHlQaWxsR3JvdXBBdHRzKCRwaWxsR2FwKSAge1xuICAgICRwaWxsSGVpZ2h0OiAkcGlsbEdhcCoyLzM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICNGMkY0RjU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbjsgIFxuICAgIGhlaWdodDogMTE3LjNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuYWN0aXZpdHlQaWxsICB7XG4gICAgICAgIGhlaWdodDogY2FsYygzMy4zMzMlIC0gI3skcGlsbEhlaWdodH0pO1xuICAgICAgICArIC5hY3Rpdml0eVBpbGwgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRwaWxsR2FwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjQ0REM0Q3OyAgICBcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbig0MHB4KTtcbiAgICB9ICBcbn1cblxuLmFjdGl2aXR5UGlsbEdyb3VwICB7XG4gICAgQGluY2x1ZGUgYWN0aXZpdHlQaWxsR3JvdXBBdHRzKDNweCk7XG59XG4uYWN0aXZpdHlQaWxsICB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYWN0aXZpdHlQaWxsLS1wcm9tcHQgIHtcbiAgICBiYWNrZ3JvdW5kOiAjRTRFOUVDO1xuICAgIGNvbG9yOiAjQkRDMUM1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFjdGl2aXR5UGlsbC0tYWN0aXZlICB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7ICBcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIC5jbG9zZUljb24gIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzQ2VudGVySWNvbl95KDEwcHgpO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfSAgIFxufVxuXG4uYWN0aXZpdHlQaWxsR3JvdXAtLWVtcHR5ICB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5hZGRJY29uICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHNlbGVjdCArIGFkZCBwaWxsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuLnNlbGVjdEFkZFBpbGwgIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QsXG4gICAgLnRsLWVudHJ5IC50bC1zZWxlY3QtaW5wdXQgLnNlbGVjdC10b2dnbGUge1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gICAgYnV0dG9uLnByaW1hcnkgIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgICArICogIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIHRoaXMgaXMgYW4gdXBkYXRlZCBtaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcblxuQG1peGluIGV2ZW4tY29scyAge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICAmLmNvbXBhY3QgIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNwYWNlZC1vdXQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tLWFsaWduICB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgICB9XG4gICAgJi5ldmVuLWNvbHMtLXN0cmlwSW5uZXJNYXJnaW5zICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiAqICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgZXZlcnl0aGluZyBiZWxvdyB0aGlzIGlzIG5ld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgIFxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHRyaWFuZ2xlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gZ3JpZHhnYXAoJGdhcCkgIHtcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcbiAgICA+ICogIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2FwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gaW5saW5lLWdyaWQtYmFzZSAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICogIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteCgkZ2FwKSAge1xuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB4bWFyZ2luKCRnYXApO1xuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteSgkZ2FwKSAge1xuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB5bWFyZ2luKCRnYXApO1xuICB9XG59XG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xuICBtYXJnaW46ICRnYXAqLTE7XG4gID4gKiAge1xuICAgIG1hcmdpbjogJGdhcDtcbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcIm1peGluczJcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFkZGl0aW9uYWwgaGVscGVyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi8vIGZpZWxkIHdpZHRoc1xuLm9wZW5GaWVsZFdpZHRoLS1tYXgxMDAgIHtcblx0bWF4LXdpZHRoOiAxMDAlOyAvLyBtYWtlIHN1cmUgaXQgaXMgc3RpbGwgZmxleGlibGUuLi5cbn1cbi5vcGVuRmllbGRXaWR0aC0tc21hbGwgIHtcblx0d2lkdGg6IDUycHg7XG59XG4ub3BlbkZpZWxkV2lkdGgtLW1lZGl1bSAge1xuXHR3aWR0aDogMTQ4cHg7XG59XG5cbi5vcGVuRmllbGRXaWR0aC0tcnBlICB7XG5cdHdpZHRoOiAyMDBweDtcbn1cblxuLy8gY2VsbCB3aWR0aHNcbi5jZWxsV2lkdGgtLXRyYWluaW5nTG9hZCAge1xuXHR3aWR0aDogMTMycHg7XG59IFxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdW5pcXVlIHN0eWxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cblxuLnNjb3JlTnVtICB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm9wZW5GaWVsZC0tY2VudGVyZWQgIHtcblx0aW5wdXQgIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuJHRsRmlsdGVycy14Z2FwOiAxNXB4O1xuJHRsRmlsdGVycy1YZWRnZUdhcDogMTVweDtcblxuLnRsRmlsdGVyc0hlYWRlciAge1xuXHRwYWRkaW5nOiAxNXB4ICR0bEZpbHRlcnMtWGVkZ2VHYXA7XG59XG5cbi50bEZpbHRlcnNIZWFkZXJNYWluICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHQ+ICogKyAqICB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLXhnYXA7XG5cdH1cbn1cblxuLmZsVGFibGUgIHtcblx0dHIgIHtcblx0XHQ+ICogIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0KyAqICB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRsRmlsdGVycy14Z2FwO1xuXHRcdFx0fVxuXHRcdFx0JjpmaXJzdC1jaGlsZCAge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6ICR0bEZpbHRlcnMtWGVkZ2VHYXA7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQgIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogJHRsRmlsdGVycy1YZWRnZUdhcDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnByb2NjZXNzQXJyb3cgIHtcdFx0XG5cdFx0bWFyZ2luLXJpZ2h0OiAkdGxGaWx0ZXJzLXhnYXAqLTE7XG5cdH1cbn1cbi5mbFRhYmxlQ29sV2lkdGggIHtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG59XG5AaW5jbHVkZSByZXNwb25kKGxnKSAge1xuXHQuZmxUYWJsZUNvbFdpZHRoLS10aXRsZSAge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxuXHQuZmxUYWJsZUNvbFdpZHRoLS1zZXNzaW9uICB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG59XG5cbi5mbFRhYmxlQ29sV2lkdGgtLWR1cmF0aW9uVGFyZ2V0ICB7XG5cdHdpZHRoOiBhdXRvO1xufVxuXG4uc21hbGxGaWVsZExhYmVsICB7XHRcblx0cGFkZGluZzogMCAwIDdweDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRjb2xvcjogIzc1Nzg3Qjtcbn1cblxuXG4udGxGaWx0ZXJzSGVhZGVyU2lkZSAge1xuXHRAaW5jbHVkZSBmbGV4LWNvbHVtbjtcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG59XG5cbi5udW1OYW1lICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRmb250LXNpemU6IDE4cHg7XG59XG4ubnVtTmFtZV9fbnVtICB7XG5cdG9wYWNpdHk6IDAuNDtcbn1cbi5udW1OYW1lX19uYW1lICB7XG5cdHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLm51bU5hbWUtLWxpZ2h0ICB7XG5cdGNvbG9yOiAjNzU3NzdBO1xufVxuJG9wZW5GaWVsZE1lZEhlaWdodDogMzlweDtcbiRvcGVuRmllbGRUYWxsSGVpZ2h0OiA0NnB4O1xuLm9wZW5GaWVsZC0tbWVkaXVtICB7XG5cdGhlaWdodDogJG9wZW5GaWVsZE1lZEhlaWdodDtcbn1cblxuJHNlbGVjdEJhcmxoOiAyMXB4O1xuJHNlbGVjdEJhcnlwYWQ6ICgkb3BlbkZpZWxkTWVkSGVpZ2h0IC0gJHNlbGVjdEJhcmxoKS8yO1xuJHNlbGVjdEJhcnlwYWRCaWc6ICgkb3BlbkZpZWxkVGFsbEhlaWdodCAtICRzZWxlY3RCYXJsaCkvMjtcbi5zZWxlY3RCYXIgIHtcblx0YmFja2dyb3VuZDogIzQxQkFFQztcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMTVweDtcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRwYWRkaW5nOiAjeyRzZWxlY3RCYXJ5cGFkfSAxNXB4O1xuXHRsaW5lLWhlaWdodDogJHNlbGVjdEJhcmxoO1xuXHQmLnRhbGwgIHtcblx0XHRwYWRkaW5nOiAkc2VsZWN0QmFyeXBhZEJpZyAxNXB4O1xuXHR9XG5cdGkgIHtcblx0XHRkaXNwbGF5OiBub25lOyAvLyBvbmx5IHNob3cgdGhlIGNoZWNrbWFyayBpY29uIHdoZW4gXCJpc1NlbGVjdGVkXCIgY2xhc3MgaXMgcHJlc2VudC4uLi5cblx0XHRwYWRkaW5nLWxlZnQ6IDVweDtcblx0XHRmb250LXNpemU6IDExcHg7XG5cdH1cblx0Ji5pc1NlbGVjdGVkICB7XG5cdFx0YmFja2dyb3VuZDogI0Y0RjRGNDtcblx0XHRjb2xvcjogI0M3Q0JDRTtcblx0XHRpICB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0fVxuXHR9XG59XG4uc3VibWVudV9fbnVtVGV4dFdyYXAgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Lm51bSAge1xuXHRcdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6ICM2QzZENkM7XG5cdFx0d2lkdGg6IDE1cHg7XG5cdFx0cGFkZGluZy1yaWdodDogNXB4O1xuXHR9XG5cdC50ZXh0ICB7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fVxufVxuXG5cbi5jb250ZW50V2l0aFByb2Nlc3NBcnJvd1dyYXAgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0PiAqOmZpcnN0LWNoaWxkICB7XG5cdFx0QGluY2x1ZGUgZmxleCgxKTtcblx0fVxuXHQucHJvY2Nlc3NBcnJvdyAge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogNDBweDtcblx0XHRjb2xvcjogI0VGRjFGMjtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0QGluY2x1ZGUgcmVzcG9uZChsZykgIHtcblx0XHRcdHdpZHRoOiAxMDBweDtcblx0XHR9XG5cdH1cbn1cbi5vcGVuRmllbGRTZWxlY3RfX3RyaWdnZXIgIHtcblx0Lmljb24tdGFyZ2V0ICB7XG5cdFx0Zm9udC1zaXplOiAxOXB4O1xuXHRcdGNvbG9yOiAjQUFBQkFGO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0fVx0XG59XG5cblxuLlRMLUR1cmF0aW9uIHtcbiAgaW5wdXQ6aW52YWxpZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0NDMDAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNGRkNDQ0M7XG4gIH1cbn1cblxuXG4uYmFja1RvTGluayAge1xuXHRtYXJnaW46ICAwIDAgMjBweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjb2xvcjogIzQxQkFFQztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXI7XG5cblx0aSAge1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHQudGV4dCAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHR9XG59XG5cblxuLmNvbXBhY3RGb3JtU3RhY2sgIHtcblx0PiAqICB7XG5cdFx0KyAqICB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBpbmxpbmUgb3ZlcmxheVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG5cbi5pbmxpbmVPdmVybGF5V3JhcCAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbmxpbmVPdmVybGF5ICB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogMTA7XHRcblx0dG9wOiBjYWxjKDEwMCUgLSAxNXB4KTtcblx0bGVmdDogNTAlO1x0XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHR3aWR0aDogMzc3cHg7XG5cdG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNFRUVFRUU7XG5cdGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKCMwMDAwMDAsIDAuMTMpO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaW5saW5lT3ZlcmxheV9fdHJpYW5nbGUgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDNweDtcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTAwJSk7XG5cdHdpZHRoOiAyOXB4O1xuXHRoZWlnaHQ6IDE3cHg7XG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvb3ZlcmxheS10cmlhbmdsZS5wbmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG4uaW5saW5lT3ZlcmxheV9fY2xvc2UgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDE1cHg7XG5cdHJpZ2h0OiAxNXB4O1xuXHRmb250LXNpemU6IDE3cHg7XG5cdGNvbG9yOiAkYmx1ZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuLmlubGluZU92ZXJsYXlfX3RpdGxlICB7XG5cdG1hcmdpbjogMCAwIDIwcHg7XG5cdHBhZGRpbmc6IDAgMzBweDtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogIzc1Nzg3Qjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gZGxcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cdFxuLmNoYXJ0LWRhdGUtaGVhZGVyICsgLmRsUm93ICB7XG5cdG1hcmdpbjogMTBweCAwIDIwcHg7XG59XG4uZGxSb3cgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXHQrIC5jaGFydC1kYXRlLWhlYWRlciAge1xuXHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdH1cblx0KyAuZGxSb3cgIHtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG59XG5cbi5kbEl0ZW0gIHtcblx0XG59XG4uZGxJdGVtX19sYWJlbCAge1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjb2xvcjogIzc1Nzc3QTtcblx0Zm9udC1zaXplOiAxNHB4O1xufVxuXG4uZGxJdGVtX19udW0gIHtcblx0Zm9udC13ZWlnaHQ6IDEwMDtcblx0Zm9udC1zaXplOiAzMHB4O1xuXHRAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXI7XG5cdC5zY29yZUNoYW5nZUljb24gIHsgICBcdFxuXHRcdGZvbnQtc2l6ZTogN3B4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHR9XG59XG5cbi5tZW51LXBvaW50ZXIge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi53ZWVrbHlTY29yZUNoYW5nZUljb24gIHsgICBcdFxuXHRmb250LXNpemU6IDdweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZy1yaWdodDogNHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDRweDtcbn1cblxuLnByb2ZpbGVUTENoYW5nZUljb24gIHsgICBcdFxuXHRmb250LXNpemU6IDEwcHg7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHBhZGRpbmctcmlnaHQ6IDFweDtcblx0cGFkZGluZy1ib3R0b206IDNweDtcbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICB0aGlzIGlzIGFuIHVwZGF0ZWQgbWl4aW5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG5cbkBtaXhpbiBldmVuLWNvbHMgIHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gICAgJi5jb21wYWN0ICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zcGFjZWQtb3V0ICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmRlZmF1bHQtc3BhY2VkICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmJvdHRvbS1hbGlnbiAge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gICAgfVxuICAgICYuZXZlbi1jb2xzLS1zdHJpcElubmVyTWFyZ2lucyAge1xuICAgICAgPiAqICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIGV2ZXJ5dGhpbmcgYmVsb3cgdGhpcyBpcyBuZXdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICBcblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB0cmlhbmdsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICAkd2lkdGg6ICR3aWR0aCAvIDI7XG4gICAgJGhlaWdodDogaWYobGVuZ3RoKCRzaXplKSA+IDEsICRoZWlnaHQsICRoZWlnaHQvMik7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gdXAtcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IHVwLWxlZnQpIHtcbiAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGRvd24tbGVmdCkge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9XG59XG5cblxuQG1peGluIGdyaWR4Z2FwKCRnYXApICB7XG4gICAgbWFyZ2luOiAwICRnYXAqLTE7XG4gICAgPiAqICB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9XG59XG5cblxuQG1peGluIGlubGluZS1ncmlkLWJhc2UgIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgPiAqICB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAgICBcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXgoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeG1hcmdpbigkZ2FwKTtcbiAgfVxufVxuQG1peGluIGlubGluZS1ncmlkLXkoJGdhcCkgIHtcbiAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKi0xKTtcbiAgPiAqICB7XG4gICAgQGluY2x1ZGUgeW1hcmdpbigkZ2FwKTtcbiAgfVxufVxuXG5AbWl4aW4gaW5saW5lLWdyaWQteHkoJGdhcCkgIHtcbiAgbWFyZ2luOiAkZ2FwKi0xO1xuICA+ICogIHtcbiAgICBtYXJnaW46ICRnYXA7XG4gIH1cbn1cbiIsIlxuLnJldmlldy1jb250YWluZXIge1xuICAgIC5yZXZpZXctdGFicyArIGRpdiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzBhZjtcbiAgICB9XG5cbiAgICAucmV2aWV3LWZyYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IFxuICAgICAgICBmbGV4OiAwLjk1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2MwYzBjMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgaS5mYS5mYS10cmFzaCB7XG4gICAgICAgICAgICBjb2xvcjogI2MwYzBjMDtcbiAgICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTkwMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICMwYWY7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWJjO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMwYWY7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIlJlcHNcIl0sXG4gICAgbGFiZWxbZm9yKj1cIkNvbXBlbnNhdGlvbnNcIl0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIC0xcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjYWJjO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzc4OTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsW2Zvcio9XCJLZXlwb2ludHNcIl06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjE5Mic7XG4gICAgfVxuICAgIGxhYmVsW2Zvcio9XCJSZXBzXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwY2InO1xuICAgIH1cbiAgICBsYWJlbFtmb3IqPVwiQ29tcGVuc2F0aW9uc1wiXTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMWZlJztcbiAgICB9XG5cbiAgICAuY29tcHMge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHNjb3JlX2dyZWVuO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYuZm91bmQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzY29yZV9yZWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2NvcmVfcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNHQSxBQUFBLENBQUMsRUFBRSxDQUFDLEFBQUEsT0FBTyxFQUFFLENBQUMsQUFBQSxNQUFNLENBQUM7RUV5Qm5CLGtCQUFrQixFRnhCRSxPQUFPO0VFeUJ4QixlQUFlLEVGekJFLE9BQU87RUUwQm5CLFVBQVUsRUYxQkUsT0FBTztFRThCN0IscUJBQXFCLEVGN0JFLElBQUk7RUU4QnRCLGdCQUFnQixFRjlCRSxJQUFJO0VFK0J0QixnQkFBZ0IsRUYvQkUsSUFBSTtFRWdDckIsZUFBZSxFRmhDRSxJQUFJO0VFaUNqQixXQUFXLEVGakNFLElBQUksR0FDMUI7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUVvQkgsa0JBQWtCLEVGbkJFLFVBQVU7RUVvQjNCLGVBQWUsRUZwQkUsVUFBVTtFRXFCdEIsVUFBVSxFRnJCRSxVQUFVO0VBQzlCLFdBQVcsRUFBRSw4Q0FBOEM7RUFDM0QsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsR0FBRztFQUNoQixNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLDhDQUE4QztFQUMzRCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FzQ1g7RUExQ0QsQUFNRSxJQU5FLEFBTUQsU0FBUyxBQUFBLE1BQU0sQ0FBQztJQUNmLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLEtBQUs7SUFDZixHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsS0FBSyxFQUFFLENBQUM7SUFDUixNQUFNLEVBQUUsQ0FBQztJQUNULGdCQUFnQixFQUFFLElBQUk7SUFDdEIsZ0JBQWdCLEVBQUUsa0JBQWlCLEdBQ3BDO0VBZkgsQUFpQkUsSUFq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 */