*,
*: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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAvc3JjL3Nhc3MvZnVzaW9uZXRpY3MtYW5ndWxhci1wcm90b3R5cGUuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fYmFzZS5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9tZW51LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fZGFzaGJvYXJkX2xpc3Quc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19kYXNoYm9hcmRfZ3JpZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2Rhc2hib2FyZF9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZmlsZV9hdGhsZXRlLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3JhbV9jYXRhbG9nLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fZWRpdC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Byb2dyYW1fd2hpdGVib2FyZC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2NhbGVuZGFyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2hhcnRpbmcuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19ub3Rlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3RpbWVfcGlja2VyLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdG9vbHRpcC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3VwbG9hZGluZy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19leGVyY2lzZV9uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2F0YWxvZ19uYXYuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbG9naW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19tb2RhbF9wcm9maWxlX2Zvcm0uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbW9kYWxfYXRobGV0ZV9lZGl0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21vZGFsX3NlbGVjdF9hdGhsZXRlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3Rlcm1zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2FkbWluX21haW4uc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9yZXN1bHRzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fY2xpbmljYWxfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdHMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wZXJmb3JtX3Rlc3RzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcHJvZ3Jlc3NfcmVwb3J0LnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX3ZhcmlhYmxlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19taXhpbnMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVzdF9hcmNoaXZlcy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX2hlYWRlci5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19yZXNwb25zaXZlbmVzc190d2Vha3Muc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdmFyaWFibGVzLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGlucy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL19wcm9ncmFtX2NhbGVuZGFycy5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fdGVhbS10bC5zY3NzIiwiL2FwcC9zcmMvc2Fzcy9zYXNzLWFuZ3VsYXItcHJvdG90eXBlL192YXJpYWJsZXMuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fbWl4aW5zLnNjc3MiLCIvYXBwL3NyYy9zYXNzL3Nhc3MtYW5ndWxhci1wcm90b3R5cGUvX21peGluczIuc2NzcyIsIi9hcHAvc3JjL3Nhc3Mvc2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9fcmVwb3J0cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Jhc2VcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2FkaW5nXCI7XG5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9tZW51XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9kYXNoYm9hcmRfbGlzdFwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZGFzaGJvYXJkX2dyaWRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2Rhc2hib2FyZF9hdGhsZXRlXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9maWxlX2F0aGxldGVcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Byb2dyYW1fY2F0YWxvZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9lZGl0XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmFtX3doaXRlYm9hcmRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2NhbGVuZGFyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jaGFydGluZ1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbm90ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3RpbWVfcGlja2VyXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS90b29sdGlwXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS91cGxvYWRpbmdcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvZXhlcmNpc2VfbmF2XCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jYXRhbG9nX25hdlwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9sb2dpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvbW9kYWxfcHJvZmlsZV9mb3JtXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9tb2RhbF9hdGhsZXRlX2VkaXRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL21vZGFsX3NlbGVjdF9hdGhsZXRlc1wiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVybXNcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvYWRtaW5fbWFpblwiO1xuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvdGVzdF9yZXN1bHRzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9jbGluaWNhbF9yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wZXJmb3JtX3Rlc3RzXCI7XG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9wcm9ncmVzc19yZXBvcnRcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3Rlc3RfYXJjaGl2ZXNcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL2hlYWRlclwiO1xuXG5AaW1wb3J0IFwic2Fzcy1hbmd1bGFyLXByb3RvdHlwZS9yZXNwb25zaXZlbmVzc190d2Vha3NcIjtcblxuQGltcG9ydCBcInNhc3MtYW5ndWxhci1wcm90b3R5cGUvcHJvZ3JhbV9jYWxlbmRhcnNcIjtcblxuLy8gdGhpcyBpcyBuZXcuLi5cbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3RlYW0tdGxcIjtcbkBpbXBvcnQgXCJzYXNzLWFuZ3VsYXItcHJvdG90eXBlL3JlcG9ydHNcIjsiLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhpbmhlcml0KTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG59XG5cbmh0bWwge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICYuZGFya3Jvb206YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICB9XG5cbiAgLmRhcmtyb29tLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgPiAuYmFubmVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4MHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG5idXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgJlt0eXBlPSd0ZXh0J10ge1xuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gICAgb3V0bGluZTogMDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gIH1cblxuICAmW3R5cGU9J3Bhc3N3b3JkJ10ge1xuICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXk7XG4gICAgb3V0bGluZTogMDtcbiAgICBwYWRkaW5nOiAzcHg7XG4gIH1cblxuICAmLnJlcXVpcmVkIHtcbiAgICBjb2xvcjogI2ZmMDAwMDtcbiAgfVxufVxuXG5idXR0b24ge1xuICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDZweCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRibHVlO1xuICBjb2xvcjogJGJsdWU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIG1pbi13aWR0aDogMTEwcHg7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmLnNob3J0IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgfVxuXG4gICYuc21hbGwge1xuICAgIG1pbi13aWR0aDogODBweDtcbiAgfVxuXG4gICYubWVkaXVtIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE1MHB4KTtcbiAgfVxuXG4gICYucHJpbWFyeSwgJi5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjZGNkY2Q7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2RjZGNkO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuICBcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjZGNkY2Q7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2RjZGNkO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICYucmVzdW1lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDE0MDRCO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbmJ1dHRvbiArIGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5pbnB1dC1jaGVja2JveCB7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2RjZGNkO1xuICB9XG59XG5cbi5mb290ZXItY29udGVudCB7XG4gIC8qXG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgKi9cbiAgcGFkZGluZzogMjBweCAwIDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXJfYmFja2dyb3VuZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG5bbmdcXDpjbG9ha10sIFtuZy1jbG9ha10sIC5uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmhlYWRlci1jb250ZW50IHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoaW5pdGlhbCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDkwcHgpO1xuXG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg5MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDE0MHB4KTtcbiAgfVxuXG4gIC53aGl0ZS1maWVsZCB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuXG4gICAgaS5pY29uLXNob3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjBweCk7XG4gICAgICBtYXJnaW46IDBweCAzMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogLTFweCA4cHggMHB4IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LWF0aGxldGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGJ1dHRvbiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweCAwIDI1cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMCAyNXB4IDAgN3B4O1xuICAgICAgfVxuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgIGkuZmEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubWVudS1jb250ZW50IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNjVweCk7XG59XG5cbi5ib2R5LWNvbnRlbnQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5yZWQtYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICNjNDJhM2I7ICB9XG4ueWVsbG93LWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZjMDNmOyB9XG4uZ3JlZW4tYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICMyMGI3Njk7IH1cbi5ibHVlLXRleHQgeyBjb2xvcjogIzk3NjhFQjsgfVxuLnJlZC10ZXh0IHsgY29sb3I6ICNjNDJhM2I7IH1cbi5ncmV5LXRleHQgeyBjb2xvcjogIzgwODA4MDsgfVxuLmxpZ2h0LWdyZXktdGV4dCB7IGNvbG9yOiAjYTdhN2E3OyB9XG4ueWVsbG93LXRleHQgeyBjb2xvcjogI2RmYzAzZjsgfVxuLmdyZWVuLXRleHQgeyBjb2xvcjogIzIwYjc2OTsgfVxuXG4ud2hpdGViZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5ncmV5Ymcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4uZHJrZ3JleWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbn1cblxuLmJsdWViZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzY4RUI7XG59XG5cbi5tYWluLXZpZXcge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi52aWV3LWZsZXgge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbn1cblxuLnZpZXctc3RhdGljIHtcbiAgQGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XG59XG5cbi52aWV3LWxheW91dCB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xufVxuXG4udmlldy1zdGFjayB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xufVxuXG4udmlldy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMjRweCk7XG5cbiAgJi5jZW50ZXJlZCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxuICAmLmRpdmlkZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTsgfVxuICAmLmVuZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTsgfVxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cbiAgJi5taWRkbGUgeyBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTsgfVxuXG4gICYuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICYuY2VudGVyIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgfVxuICB9XG59XG5cbi5jb2x1bW4tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcblxuICAmLmZ1bGwgeyBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTsgfVxuICAmLnRvcCB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7IH1cbiAgJi5ib3R0b20geyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTsgfVxuICAmLmNlbnRlciB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTsgfVxuICAmLm1pZGRsZSB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7IH1cbiAgJi5kaXZpZGVkIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7IH1cbiAgJi5zcGFjZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1hcm91bmQpOyB9XG4gICYuc3RhcnQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTsgfVxuICAmLmVuZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTsgfVxuICAmLndyYXAgeyBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7IH1cbn1cblxuLnJvdy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuXG4gICYuZnVsbCB7IEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pOyB9XG4gICYudG9wIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTsgfVxuICAmLmJvdHRvbSB7IEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpOyB9XG4gICYuY2VudGVyIHsgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpOyB9XG4gICYubWlkZGxlIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTsgfVxuICAmLmRpdmlkZWQgeyBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTsgfVxuICAmLnNwYWNlZCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWFyb3VuZCk7IH1cbiAgJi5zdGFydCB7IEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpOyB9XG4gICYuZW5kIHsgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpOyB9XG4gICYud3JhcCB7IEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTsgfVxufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gcmFuZ2UgaW5wdXQgYXR0ZW1wdFxuaW5wdXRbdHlwZT1yYW5nZV0ge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwLCAjNDFiYWVjKSwgY29sb3Itc3RvcCgwLCAjZThlOGU4KSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRiNGI0O1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogI2U4ZThlODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIH1cblxuICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICY6Oi1tcy10cmFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci13aWR0aDogMTZweCAwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Oi1tcy10aHVtYiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I0YjRiNDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1zLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogIzQxYmFlYztcbiAgICBib3JkZXI6IDAuMnB4IHNvbGlkICM0MWJhZWM7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB9XG5cbiAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gICAgYm9yZGVyOiAwLjJweCBzb2xpZCAjZThlOGU4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDFiYWVjO1xuICB9XG5cbiAgJjpmb2N1czo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNjNGM0YzQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk2LCAxOTYsIDE5NiwgLjcpO1xuXG4gICYubmctZW50ZXIsICYubmctbGVhdmUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAgIC1vLXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gIH1cblxuICAmLm5nLWVudGVyLCAmLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYubmctZW50ZXIubmctZW50ZXItYWN0aXZlLCAmLm5nLWxlYXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5tb2RhbC12aWV3IHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAubW9kYWwge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgLy8gQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXG4gICAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIC8qIHRvcDogMDsgKi9cbiAgICAvKiByaWdodDogMDsgKi9cbiAgICAvKiBib3R0b206IDA7ICovXG4gICAgLyogbGVmdDogMDsgKi9cbiAgICAvKiB6LWluZGV4OiAxMDUwOyAqL1xuICAgIC8qIGRpc3BsYXk6IG5vbmU7ICovXG4gICAgLyogb3ZlcmZsb3c6IGhpZGRlbjsgKi9cbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLyogb3V0bGluZTogMDsgKi9cblxuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246IC4ycyBsaW5lYXIgYWxsO1xuICAgICAgICAgLW8tdHJhbnNpdGlvbjogLjJzIGxpbmVhciBhbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMnMgbGluZWFyIGFsbDtcblxuICAgICYubmctbGVhdmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB9XG5cbiAgICAmLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICAgIH1cbiAgfVxuXG4gICYubmctZW50ZXIge1xuICAgIC5tb2RhbCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpO1xuICAgIH1cbiAgfVxuXG4gICYubmctZW50ZXIubmctZW50ZXItYWN0aXZlIHtcbiAgICAubW9kYWwge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgfVxufVxuXG4ubW9kYWwtYW5pbWF0ZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAvLyBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNzcwcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gID4gLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMTI1cyBsaW5lYXIgYWxsO1xuICAgICAgIC1tb3otdHJhbnNpdGlvbjogLjEyNXMgbGluZWFyIGFsbDtcbiAgICAgICAgIC1vLXRyYW5zaXRpb246IC4xMjVzIGxpbmVhciBhbGw7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMTI1cyBsaW5lYXIgYWxsO1xuXG4gICAgJi5uZy1sZWF2ZSB7XG4gICAgICAmLnNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsgfVxuICAgICAgJi5zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgfVxuXG4gICAgJi5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUsICYubmctaGlkZS1hZGQge1xuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgICAgJi5zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIH1cblxuICAgICYubmctZW50ZXIsICYubmctaGlkZS1yZW1vdmUge1xuICAgICAgJi5zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgICAgJi5zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIH1cblxuICAgICYubmctZW50ZXIubmctZW50ZXItYWN0aXZlIHtcbiAgICAgICYuc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gICAgICAmLnNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7IH1cbiAgICB9XG4gIH1cbn1cblxuLm1vZGFsLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiA4cHggOHB4IDIwcHggMHB4ICM0YTRhNGE7XG5cbiAgJi5sYXJnZSB7XG4gICAgd2lkdGg6IDk3MHB4O1xuICB9XG5cbiAgaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcblxuICAgIGJ1dHRvbi5saW5rIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICBpLmxlZnQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsZXJ0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICYuY29uZmlybSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBpLmZhIHtcbiAgICAgICAgbWFyZ2luOiAwIDRweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIG9wYWNpdHk6IC4yO1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgI2NjYztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG4gIH1cblxuICBmb290ZXIge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcblxuICAgIGJ1dHRvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmxvYWRpbmctdmlldyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgIFxuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgLjUpO1xuXG4gIC5sb2FkaW5nLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuXG4gICAgLmZhLXNwaW5uZXIge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgfVxuICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5hdGhsZXRlLXNlbGVjdGlvbiB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgY29sb3I6ICNjYmNiY2I7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYmRiZGI7XG4gICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgIC5zdGF0dXMgIHtcbiAgICAgICAgY29sb3I6ICM0MUJBRUM7XG4gICAgICB9XG4gICAgICAuY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLmFjdGl2ZSk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcbiAgICAgIGNvbG9yOiAjNzU3ODdiO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5zdGF0dXMge1xuICAgICAgZm9udC1zaXplOiA4cHg7XG4gICAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgICBtYXgtd2lkdGg6IDI1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgICBtYXgtd2lkdGg6IDI1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgPiBkaXYudGVhbS1uYXYge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtaW4td2lkdGg6IDY1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmF0aGxldGUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLmF0aGxldGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ4cHgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aWR0aDogMTAwJTtcblxuICAuYXRobGV0ZS1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodF9ncmV5O1xuICAgIHdpZHRoOiAxNDBweDtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICB3aWR0aDogOTUlO1xuICAgIH1cblxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS1yZXNldC12aWV3IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDEwMHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxuICAuYXRobGV0ZS10b2dnbGUtdmlldyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAxMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuXG4gICAgJiA+IGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiA4cHg7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSAge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtZmlsdGVyLXNvcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgbWluLXdpZHRoOiA2MDBweDtcblxuICAgICYgPiAuYXRobGV0ZS1zb3J0LWJveCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDM1JTtcbiAgICAgICAgICByaWdodDogMTBweDtcblxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjBkN1wiO1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUycHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYxZjE7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoNjgsIDY3LCA3NiwgMC4yNSk7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIC5vcHRpb25zLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNHB4O1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcHRpb25zLWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIC5zb3J0LWl0ZW0tc2VsZWN0ZWQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1jaXJjbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYubm90LWFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mYS1zb3J0LWFzYyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmZhLXNvcnQtZGVzYyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXRobGV0ZS1saXN0LXZpZXcge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgXG4gIC5hdGhsZXRlLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzVweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTtcbiAgICAgIGNvbG9yOiAkZGFya19ncmV5O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbnVtYmVyIHtcbiAgICAgIG1pbi13aWR0aDogNzBweDtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtc3RhdCB7XG4gICAgICBAaW5jbHVkZSBmbGV4KC41KTtcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtcHJvZ3JhbXMge1xuICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1sYXN0LWFjdGl2aXR5IHtcbiAgICAgIG1pbi13aWR0aDogMTcwcHg7XG4gICAgfVxuICB9XG5cbiAgLmF0aGxldGUtcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTNweCk7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbnVtYmVyIHtcbiAgICAgIGNvbG9yOiAjOTM5NDk3O1xuICAgICAgbWluLXdpZHRoOiA3MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICBtaW4td2lkdGg6IDE3MHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5hdGhsZXRlLXN0YXQge1xuICAgICAgQGluY2x1ZGUgZmxleCguNSk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjVweDtcbiAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtcHJvZ3JhbXMge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbGFzdC1hY3Rpdml0eSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWluLXdpZHRoOiAxNzBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgPiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1udW1iZXIsIC5hdGhsZXRlLW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgPiBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS1udW1iZXIsIC5hdGhsZXRlLW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXRobGV0ZS1kYXNoYm9hcmQtbGF5b3V0IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZjBlZjtcblxuICAuYXRobGV0ZS1kYXNoYm9hcmQtbGF5b3V0LXNpZGUge1xuICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICB9XG59XG5cbi5hdGhsZXRlLWRhc2hib2FyZCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAkZGFzaGJvYXJkLXdpZHRoOiA5OTBweDtcblxuICAuYXRobGV0ZS1kYXNoYm9hcmQtbWVudSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgbWluLWhlaWdodDogODVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6ICRkYXNoYm9hcmQtd2lkdGg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgJiA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogN3B4O1xuXG4gICAgICAgICYgPiBpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAkYXRobGV0ZURhc2hib2FyZEdhcDogMTBweDtcbiAgLmF0aGxldGUtZGFzaGJvYXJkLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAkYXRobGV0ZURhc2hib2FyZEdhcCotMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5hdGhsZXRlLWluZm8tYm94LFxuICAgIC5hdGhsZXRlLWFkZC1ib3gge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbi1jZW50ZXIoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOThweCk7XG4gICAgICBtaW4td2lkdGg6IDI5OHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtICN7JGF0aGxldGVEYXNoYm9hcmRHYXAqMn0pOyAvLyBhZGQgdGhlIGFiaWxpdHkgdG8gc2NhbGUgZG93biBhdCAxMDI0cHggd2luZG93IHNpemVcbiAgICAgIFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgbWFyZ2luOiAkYXRobGV0ZURhc2hib2FyZEdhcDtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoc20pICB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDI2MHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXRobGV0ZS1hZGQtYm94IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICNjY2M7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJGxpZ2h0X2dyZXk7XG5cbiAgICAgIC5hZGQtYnV0dG9uLXRleHQge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEycHg7ICAgIFxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuYWRkLWJ1dHRvbi1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiA0NXB4O1xuICAgICAgICBtYXJnaW46IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXRobGV0ZS1pbmZvLWJveCA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4uYXRobGV0ZS1kYXNoYm9hcmQtYWN0aW9ucyB7XG4gIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgLmFjdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC5hY3Rpb24taWNvbiB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gICAgLmFjdGlvbi10ZXh0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmF0aGxldGUtaW5mby1ib3gge1xuXG4gIC5iaW8taGVhZGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCA0MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTcsMzgsNzUsMSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAuYXRobGV0ZS1udW1iZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuYXRobGV0ZS1udW1iZXIgKyAuYXRobGV0ZS1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE3LDM4LDc1LC44NSk7XG4gICAgfVxuICB9XG5cbiAgLmJpby1ib2R5IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICBwYWRkaW5nOiAxN3B4O1xuICAgICYgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIH1cbiAgICAuYXRobGV0ZS1wcm9maWxlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIG1heC13aWR0aDogMTIwcHg7XG5cbiAgICAgIC5wcm9maWxlLXBpYy10aHVtYiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1waWMge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBoZWlnaHQ6IDEzMHB4O1xuICAgICAgICAvLyBtYXJnaW46IDVweCAxMHB4ICRhdGhsZXRQcm9maWxlU3ViUGljR2FwO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuXG5cbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtcG9zaXRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xuICAgICAgfVxuXG4gICAgICAuYXRobGV0ZS13ZWlnaHQge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmF0aGxldGUtc3RhdHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgLy8gbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIC8vIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgLy8gcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgICAgLmF0aGxldGUtc2NvcmUge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcbiAgICAgIH1cblxuICAgICAgLmF0aGxldGUtc2NvcmUtdGwtZGF0YSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgIH1cblxuXG4gICAgICAudGVzdC10eXBlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgICAudGVzdC1zY29yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmlvLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgNTBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBtYXgtaGVpZ2h0OiA1MHB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjZweDtcbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAmLmljb24tdGVzdCAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTg7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRpdiArIGRpdiB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNFOEU4RTg7XG4gICAgfVxuICB9XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2ZpbGUtbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsdWU7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIHNwYW4ubWFya2VyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1cHg7XG4gIH1cbn1cblxuLnByb2ZpbGUtZGV0YWlsIHtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgyMTBweCk7XG5cbiAgLmRhdGEtZW1waGFzaXMge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAucHJvZmlsZS1waWMge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE3NXB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDIwMHB4KTtcbiAgfVxuXG4gIC5wcm9maWxlLWFjdGlvbiB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgJi5pbnZpc2libGUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWRhdGEtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbi1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgLnByb2ZpbGUtZGF0YSA+IHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtZ3JvdXAtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbi1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgLmdyb3VwLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDlEQUQ5O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgbWFyZ2luOiA2cHggMCAwO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuZ3JvdXAtaWNvbiB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuZ3JvdXAtc2F2ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAuZ3JvdXAtY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi5wcm9maWxlLXN1bW1hcnkge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDc4MHB4KTtcblxuICAucHJvZmlsZS1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJiA+IGRpdiB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1hY3Rpdml0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICAmOm50aC1jaGlsZChuKzIpOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgIG1hcmdpbjogMCA5cHg7XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJsdWUtdGV4dCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnNjb3JlLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5zY29yZS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzgwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgIC5wcm9maWxlLXNjb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDg1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMzBweCk7XG5cbiAgICAgICYubGFiZWwtb25seSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDY1cHgpO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1zY29yZS1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICAucHJvZmlsZS1zY29yZS1uYW1lIHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjI1cHg7XG5cblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogI0FFQUVBRTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1zY29yZS1kYXRlIHtcblxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGNvbG9yOiAjQUVBRUFFO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLXNjb3JlLWdyYXBoLWNhbnZhcyB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMzMHB4KTtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtc2NvcmUtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgLnByb2ZpbGUtdGwtY2hhbmdlIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgXG4gICAgfVxuICB9XG5cbiAgLnRvZGF5LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC50b2RheS1wcm9ncmFtIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXIoKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5pY29uLWNoZWNrYm94LWNoZWNrZWQgIHtcbiAgICAgIGNvbG9yOiAjQUZCMEFFO1xuICAgICAgJi5ibHVlLWNoZWNrIHtcbiAgICAgICAgY29sb3I6ICM5NzY4RUI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyYW0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAubGlnaHQtZ3JleS10ZXh0ICB7XG4gICAgICAgIGNvbG9yOiAjQUZCMUIzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b2RheS1ub3RpY2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg4MHB4KTtcbiAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDM4MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLm5vdGljZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgLy8gbW9yZSByZXNwb25zaXZlIHRvIG5vIGZpeCBoZWlnaHRzXG4gICAgICAvLyBhbmQgaW5zdGVhZCB1c2UgcGFkZGluZy9tYXJnaW5zLi5cbiAgICAgIC8vIG1pbi1oZWlnaHQ6IDI2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuXG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnllbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZjMDNmO1xuXG4gICAgICAubm90aWNlIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICB9XG5cbiAgICAgIC5ub3RpY2UtYnV0dG9uIHtcbiAgICAgICAgPiBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWI3NGU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtaXNjIHNlY3Rpb24gc3BhY2luZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnNwYWNlZC10b3AtbGFyZ2UgIHtcbiAgbWFyZ2luLXRvcDogNDVweDtcbn1cbi5zcGFjZWQtYm90dG9tLW1lZGl1bSAge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJcbi5jYXRhbG9nLWZlYXR1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmNmY2Y7XG4gIGhlaWdodDogNDAwcHg7XG5cbiAgLmZlYXR1cmUtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogdG9wO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYucnVubmluZy1tYW4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL3Byb2dyYW1fY2F0YWxvZ19iYWNrZ3JvdW5kLnBuZycpO1xuICAgICAgXG4gICAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgfVxuXG4gICAgICAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgbGVmdDogODBweDtcbiAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgaDIsIC50aXRsZS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiA1NXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBwLCAubWVzc2FnZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMzVweDtcbiAgICAgIGxlZnQ6IDgwcHg7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG5cbiAgLm1hcmtlcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLm1hcmtlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbWFyZ2luOiA2cHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICB3aWR0aDogMTBweDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDFiYWVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZy1zZWxlY3RlZCB7XG4gIHBhZGRpbmc6IDM1cHg7XG5cbiAgLnRpdGxlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDBweDtcblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuXG4gICAgLnJldHVybi1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB3aWR0aDogMTIwcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRldGFpbC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5pbmZvLXJvdy1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1heC13aWR0aDogMjYwcHg7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMTMwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mby1yb3cge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgIG1heC13aWR0aDogMjYwcHg7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICB3aWR0aDogMTMwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiArIGRpdiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cblxuICAgICAgLmluZm8ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tcm93IHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgLnZpZGVvLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjM5cHg7XG4gICAgICAgIG1heC13aWR0aDogNDI1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIHdpZHRoOiA5OSU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLXNlbGVjdGVkIHtcbiAgcGFkZGluZzogMzVweDtcblxuICAudGl0bGUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICAucmV0dXJuLWxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIHdpZHRoOiAxMjBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGV0YWlsLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgLmluZm8tcm93LWhlYWRlciB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8tcm93IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGRpdiArIGRpdiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cblxuICAgICAgLmluZm8ge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24tcm93IHtcbiAgICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBidXR0b24gKyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgLnZpZGVvLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgICAgbWF4LWhlaWdodDogMjM5cHg7XG4gICAgICAgIG1heC13aWR0aDogNDI1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzOXB4O1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICAgIH1cblxuICAgICAgICAubWlzc2luZy1tZWRpYSB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICB3aWR0aDogOTklO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmV4ZXJjaXNlLWluZm8tY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4KDAgMCA0MDBweCk7XG4gIH1cblxuICAuc2FtcGxlLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgMzUwcHgpO1xuXG4gICAgLmZpbGUtaW5wdXQtd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgICAgbWF4LWhlaWdodDogMzVweDtcbiAgICAgIH1cblxuICAgICAgPiBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWZpZWxkcyAge1xuICAgIFxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XG4gICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRibHVlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGJsdWU7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGJsdWU7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWJkN2VhO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsICB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmc6IDJweDtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlucHV0ICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICB9XG5cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIEBpbmNsdWRlIGFwcGVhcmFuY2Uobm9uZSk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoc3RyZXRjaCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB0ZXh0LWluZGVudDogM3B4O1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2VsZWN0ICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjRDlEQkRDO1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNhdGFsb2ctaGlzdG9yeSB7XG4gIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICBtaW4taGVpZ2h0OiAyNzVweDtcblxuICAubGluay1jb250YWluZXIge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAgIC5saW5rIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgfVxuICAgICAgXG4gICAgICBzcGFuLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjOTc2OEVCO1xuICAgICAgICBjb2xvcjogIzc1Nzg3YjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ub3RpZnktY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIGhlaWdodDogNzBweDtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDU1cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgICAgfVxuXG4gICAgICAubWVzc2FnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndhcm5pbmcge1xuICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2YzZDk1ZTsgKi9cbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWMyNTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2U5ZDI1ZTsgKi9cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYjc0ZTtcbiAgICAgIH1cblxuICAgICAgLmNsb3NlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxpc3Qge1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblxuICAgIC5saXN0LXNjcm9sbC1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgMTAwJSk7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAubGlzdC1zY3JvbGwge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNzdweDtcbiAgICAgICAgbWF4LWhlaWdodDogMHB4O1xuXG4gICAgICAgIC5zY2hlZHVsZS1wcm9ncmFtIHtcbiAgICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICBjb2xvcjogIzg4ODtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgfVxuXG4gICAgICAmLmhlYWRlciB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWNvbHVtbiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kYXRlLWNvbHVtbiB7XG4gICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1jb2x1bW4ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnByb2dyYW0taGVhZGVyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgoMSk7XG59XG5cbi5wcm9ncmFtLWVkaXQtaGVhZGVyIHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODVweCk7XG4gIG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbn1cblxuLnByb2dyYW0tdHlwZS1zZWxlY3Rpb24ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgPiAudHlwZS1pdGVtIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAucGlsbCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBiYWNrZ3JvdW5kOiAjQUZCMUI0O1xuICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG4gID4gLnR5cGUtaXRlbSArIC50eXBlLWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICB9XG4gID4gLmNvcHktY29udHJvbHMge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAxIDAlKTtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgfVxufVxuXG4ucHJvZ3JhbS1zY2hlZHVsZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcblxuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQ1cHgpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTMwcHgpO1xuICB9XG59XG5cbi5wcm9ncmFtLWVkaXQge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG5cbiAgLnByb2dyYW0tc3RyYXRlZ3ktY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgLnByb2dyYW0tc3RyYXRlZ3kge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgaSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMCAzMHB4KTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5zdHJhdGVneS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIGF1dG8pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIH1cbiAgICAgIC5zdHJhdGVneS1hY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDAgMTMwcHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW0tc3RyYXRlZ3ktY29udGFpbmVyICsgLnByb2dyYW0tc3RyYXRlZ3ktY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLnByb2dyYW0tdGVjaG5pcXVlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICNlZmVmZWY7XG4gICAgLmNvdW50ZXIge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgfVxuICAgIC5uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5hY3Rpb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIFxuICAgICAgLmljb24tcGx1cyB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgfVxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1leGVyY2lzZS1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XG4gICAgPiBkaXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIG1hcmdpbjogMXB4IDA7XG4gICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAmLmFjdGl2ZS1pdGVtIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgLnByb2dyYW0tZXhlcmNpc2Uge1xuICAgICAgICAgIC5kcmFnLWljb24ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgIC5zb3J0LWljb25zIC5pY29uOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgICA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgICAgIC5zb3J0LWljb25zIC5pY29uOmxhc3QtY2hpbGQge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICAgIC5wcm9ncmFtLW5vdGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG4gICAgLnByb2dyYW0tZXhlcmNpc2Uge1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC5kcmFnLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAuc29ydC1pY29ucyB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDg1cHgpO1xuICAgICAgICBjb2xvcjogI2JiYjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICNkZWRlZGU7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgICAgICAuYXR0cmlidXRlcyA+IGRpdiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hdHRyaWJ1dGVzID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzhweCk7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTgwcHgpO1xuICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3JhbS1lZGl0LWZvb3RlciB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbiAgbWFyZ2luOiAxNXB4IDMwcHg7XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi53aGl0ZWJvYXJkIHtcbiAgbWluLXdpZHRoOiA2NDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJiA+IHNlY3Rpb24ge1xuICAgIG1hcmdpbjogMTVweCAzMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXNjaGVkdWxlIHtcbiAgbWluLXdpZHRoOiA2NDBweDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLndoaXRlYm9hcmQtcHJvZ3JhbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDMwcHggMCAxNXB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLXByb2dyYW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxNDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIHBhZGRpbmc6IDMwcHggMzBweCAxNXB4O1xuXG4gIC5uYW1lIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgfVxuXG4gIC5vcmlnaW4ge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgLmVkaXQge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbn1cblxuLndoaXRlYm9hcmQtZGF0ZSB7XG4gIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIGlucHV0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIHRleHQtaW5kZW50OiA1cHg7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgIC5pbnB1dC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcblxuICAgICAgaS5mYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF0ZS1kaXNhYmxlZCB7XG4gICAgLmlucHV0LWljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuLndlZWstbGlzdCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDYwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG5cbiAgLndlZWstaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtaW4taGVpZ2h0OiAyOHB4O1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgIH1cblxuICAgICY6aG92ZXI6bm90KC5hY3RpdmUpIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAud2Vlay1jb3B5IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSAwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gIH1cbn1cblxuLmRheS1saXN0IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDVweCk7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gIC5kYXktaXRlbSB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgfVxuXG4gICAgJjpob3Zlcjpub3QoLmFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2NSwgMTg3LCAyMzEsIDAuNSk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJsdWU7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuLmRheS1saXN0LXNjaGVkdWxlIHtcblxuICAuZGF5LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzBweCk7XG4gICAgICBjdXJzb3I6IG1vdmU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAuZGF5LWl0ZW0gKyAuZGF5LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcblxuICAmLmFjY2VwdC1kcm9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAuYWN0aW9uLXdpdGgtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubmFtZSA+IGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5hY3Rpb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMTBweCk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLXNlY3Rpb24tcGxhY2Vob2xkZXIge1xuXG4gICYgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICNiYmI7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbjogNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgc3Bhbi50ZXh0IHtcbiAgICAgIGNvbG9yOiAjYmJiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG59XG5cbi5wcm9ncmFtLWV4ZXJjaXNlLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDg2cHg7XG5cbiAgJiA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbWFyZ2luOiAycHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYWN0aXZlLWl0ZW0ge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC5wcm9ncmFtLWV4ZXJjaXNlIHtcbiAgICAgICAgLmRyYWctaWNvbiB7XG4gICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWRkLWV4ZXJjaXNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIGNvbG9yOiAjYWFhO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI0NERDNENztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUZFRkVGO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGNvbG9yOiAjQ0REM0Q3O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1ub3RlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cblxuICAucHJvZ3JhbS1leGVyY2lzZSB7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBtaW4td2lkdGg6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmRyYWctaWNvbiB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODVweCk7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC5hdHRyaWJ1dGVzID4gZGl2IHtcbiAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXR0cmlidXRlcyA+IGRpdiArIGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYWNjZXB0LWRyb3AtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNjZGNkY2Q7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjI1LCAyMjUsIDIyNSwgLjUpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDI0cHg7XG5cbiAgPiBzcGFuIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc29ydC1vcmRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkY2RjZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjRweDtcblxuICA+IHNwYW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zY2hlZHVsZS1zZWxlY3RlZC1hdGhsZXRlcyB7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBzcGFuIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gIH1cbiAgLmF0aGxldGUtbmFtZXMge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgLmF0aGxldGUtbmFtZXMtbW9yZSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnVsay1zY2hlZHVsZS1kaXZpZGVyIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNDdweDtcbiAgaSB7XG4gICAgY29sb3I6ICNEN0Q5REE7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5cbi53aGl0ZWJvYXJkLWZvb3RlciB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtZW5kKTtcbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY2FsZW5kYXItbWVudSB7XG4gIG1hcmdpbjogMjBweCAwO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICBjb2xvcjogI2EwYTRhODtcbiAgICBcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibHVlO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogJGxhcmdlLXRhYnMtc3BhY2luZztcbiAgfVxufVxuXG4uY2FsZW5kYXItcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FsZW5kYXItbW9udGgge1xuICBAaW5jbHVkZSBmbGV4KDEgMCA2OTBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNjkwcHgpO1xuICBtYXJnaW46IDFweCAwIDA7IFxuXG4gIC5jYWxlbmRhci1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xuXG4gICAgXG4gICAgLmZhICB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4OyAgICAgIFxuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgJiA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMHB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgyMHB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAueWVhci1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgc2VsZWN0LnllYXItc2VsZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgYXBwZWFyYW5jZShtZW51bGlzdCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjEgMCAwKTsgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDBweDtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjotbW96LWZvY3VzcmluZyB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyBpLmljb24tY2FyZXQtZG93biB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTBweDsgICAgICAgIFxuICAgICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53ZWVrLWRheS1sYWJlbHMge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gICAgY29sb3I6ICNjMGMwYzA7XG5cbiAgICAmLmxlZnQge1xuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDk5LjVweCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xuXG4gICAgICAuYWNjZXB0LWRyb3AtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg5Ny41cHgpO1xuICAgICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNjY2M7XG4gICAgfVxuXG4gICAgZGl2Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjY2NjO1xuICAgIH1cbiAgfVxuXG4gIC5jYWxlbmRhci1kYXlzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcblxuICAgIC5jYWxlbmRhci1kYXkge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoODBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDk5LjVweCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xuICAgICAgcGFkZGluZzogOHB4IDEycHg7IFxuXG4gICAgICAmLmRheS1hY3Rpdml0aWVzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwQjk2RDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgICYuY3VycmVudC1kYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAkYmx1ZTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi5wcm9ncmFtLXJhbmdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmLmVtcHR5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIH1cblxuICAgICAgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgPiAubW9udGgtYWJicmV2IHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhbGVuZGFyLWRheS1jb25jZXJuLCAuY2FsZW5kYXItZGF5LWV4aXN0aW5nIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgbWluLWhlaWdodDogMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIG1hcmdpbjogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktY29uY2VybiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jYWxlbmRhci1kYXktc2NoZWR1bGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlucHV0LWN0bCB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgMjgwcHgpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMjgwcHgpO1xuICAgIGJveC1zaGFkb3c6IDZweCA2cHggMThweCAwcHggIzRhNGE0YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwcHg7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXJnaW46IDFweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAuY2FsZW5kYXItaGVhZGVyIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWxlbmRhci13ZWVrLWhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWNvbnRlbnQoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyOHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzNXB4KTtcbiAgICAgICAgY29sb3I6ICNkZmRmZGY7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDIuMTI3NXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsZW5kYXItZGF5cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgIC5jYWxlbmRhci1kYXkge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzNXB4KTtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzNXB4KTtcbiAgICAgICAgbWFyZ2luOiAycHg7XG4gICAgICAgIGJvcmRlcjogMi4xMjc1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJi5lbXB0eSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1kYXkge1xuICAgICAgICAgIGJvcmRlcjogMi4xMjc1cHggc29saWQgIzk3NjhFQjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudC1yYW5nZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjVmZDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jYWxlbmRhci1kYXktbnVtYmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOGQ4ZDhkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5lbXB0eSkge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhbGVuZGFyLWRheS1udW1iZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2FsZW5kYXItZGF5LWluZm8ge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgzMDBweCk7XG4gIFxuICAuZGF5LWRhdGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbjogMzVweCAwIDIwcHg7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgPiAuaWNvbi1jYWxlbmRhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgfVxuICB9XG5cbiAgLmRheS1wcm9ncmFtIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI5NXB4KTtcbiAgICBcbiAgICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLmxpZ2h0LWdyZXktdGV4dCAge1xuICAgICAgY29sb3I6ICNBN0E4QTc7XG4gICAgfVxuXG4gICAgJi5hY3Rpb24ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4ud2Vlay13cmFwcGVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIG1pbi1oZWlnaHQ6IDQyNXB4O1xuICAvKiBoZWlnaHQ6IDQyNTsgKi9cblxuICAmLnNtYWxsIHtcbiAgICBtaW4taGVpZ2h0OiAyMjVweDtcbiAgICAvKiBoZWlnaHQ6IDIyNXB4OyAqL1xuICB9XG4gIFxuICAud2Vlay1idXR0b24tY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtaW4td2lkdGg6IDIwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7ICAgICAgICAgICAgIFxuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuICAgICAgJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDogLTI1cHg7XG4gICAgICAuZmEtYW5nbGUtbGVmdCAge1xuICAgICAgICBtYXJnaW4tbGVmdDogJHdlZWstYnV0dG9uLWVkZ2UtcHVsbDtcbiAgICAgIH1cbiAgICAgIC5mYS1hbmdsZS1yaWdodCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICR3ZWVrLWJ1dHRvbi1lZGdlLXB1bGw7XG4gICAgICB9IFxuICAgIH0gICBcbiAgfVxuXG4gIC53ZWVrLWRheS1jb2x1bW4ge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgICBtaW4td2lkdGg6IDE0MHB4O1xuXG4gICAgLmRheS1udW1iZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xuICAgICAgY29sb3I6ICNhYWE7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICAud2Vlay1kYXktaW5mby1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuXG4gICAgICAmOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNhYWE7XG4gICAgICB9XG5cbiAgICAgIC53ZWVrLWRheS1wcm9ncmFtIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxMzBweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgY29sb3I6ICNiYmI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgbWFyZ2luOiA0cHggMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuXG4gICAgICAgICYuYWN0aW9uIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG4gICAgfVxuXG4gICAgJi5jdXJyZW50LWRheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIC5kYXktbnVtYmVyIHtcbiAgICAgICAgY29sb3I6ICM4MDgwODA7XG4gICAgICB9XG5cbiAgICAgIC53ZWVrLWRheS1pbmZvLWNvbnRhaW5lciB7XG4gICAgICAgICY6bm90KDplbXB0eSkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53ZWVrLWRheS1wcm9ncmFtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgICAgLndlZWstZGF5LXByb2dyYW0tdGl0bGU6bm90KC5saWdodC1ncmV5LXRleHQpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAud2Vlay1kYXktcHJvZ3JhbS1uYW1lOm5vdCgubGlnaHQtZ3JleS10ZXh0KSB7XG4gICAgICAgICAgICBjb2xvcjogIzg4ODg4ODtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY2hhcnQtbWVudSB7XG4gIG1hcmdpbjogNTBweCAwIDMwcHggMDtcblxuICAuY2hhcnQtbWVudS1pdGVtIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcbiAgICBAaW5jbHVkZSBsYXJnZS10YWJzLXN0eWxlO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxufVxuXG4ubGluZS1jaGFydCB7XG4gIG1hcmdpbjogMjVweCAwIDAgMDtcblxuICAubGluZS1jaGFydC1jYW52YXMge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1MHB4KTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjc1cHgpO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NTBweCk7XG4gICAgfVxuICB9XG5cbiAgLmxpbmUtY2hhcnQtbWVudSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMjVweCAwO1xuICB9XG59XG5cbi5wcm9ncmFtLWNoYXJ0IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcwMHB4KTtcbiAgbWFyZ2luOiAyNXB4IDAgMCAwO1xuICBtaW4taGVpZ2h0OiAzNTBweDtcblxuICAucHJvZ3JhbS1jb21wbGV0ZSB7XG4gICAgbWFyZ2luOiA1cHggMTVweDtcblxuICAgIC5wcm9ncmFtLWluZm8ge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAucHJvZ3JhbS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjY2RjZGNkO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FudmFzIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIHdpZHRoOiAzMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdGlvbi1jb21wb25lbnQge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMTAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiAnPic7XG4gICAgZm9udDogNjAwIDEycHggJ0NvbnNvbGFzJywgbW9ub3NwYWNlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDAgM3B4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmNoYXJ0LWxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgJiA+IC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAmLmF2ZXJhZ2Uge1xuICAgICAgY29sb3I6IHJnYmEoMjA3LCAyMTgsIDIyMCwgMC41KTtcbiAgICB9XG5cbiAgICAmLnNjb3JlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDE4MiwgMjM1LCAwLjkpO1xuICAgIH1cblxuICAgICYudGVhbS1hdmVyYWdlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNzUpO1xuICAgIH1cblxuICAgICYuY29tcGxldGVkIHtcbiAgICAgIGNvbG9yOiByZ2JhKDMyLCAxODMsIDEwNSwgMC44KTtcbiAgICB9XG5cbiAgICAmLnNjaGVkdWxlZCB7XG4gICAgICBjb2xvcjogcmdiYSgyMjMsIDIyMywgMjIzLCAxKTtcbiAgICB9XG4gIH1cbn1cblxuLmNoYXJ0LWRldGFpbHMge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwMHB4KTtcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAuY2hhcnQtZGF0ZS1oZWFkZXIgIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgaSAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gXCJzaGFyZVwiIGZlYXR1cmUgd2lsbCBjb21lIGxhdGVyLi4uXG4gICAgfVxuICB9XG5cbiAgLmNoYXJ0LWRhdGUge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDIycHgpO1xuICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubWFpbi1zY29yZSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgLnZhbHVlLWJhZGdlIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLTZweDtcbiAgfVxuXG4gIC52YWx1ZS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiA1NnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgLnZhbHVlLWNoYW5nZS1pY29uIHtcbiAgICAmLmZhLXNvcnQtYXNjIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgfVxuXG4gICAgJi5mYS1zb3J0LWRlc2Mge1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB9XG5cbiAgICAmLnVuY2hhbmdlZCB7XG4gICAgICBjb2xvcjogJGdyZXk7XG4gICAgfVxuXG4gICAgJi5pbmNyZWFzZSB7XG4gICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuZGVjcmVhc2Uge1xuICAgICAgY29sb3I6ICRyZWQ7XG4gICAgfVxuICB9XG5cbiAgLnZhbHVlLWNoYW5nZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDZweDtcblxuICAgICYudW5jaGFuZ2VkIHtcbiAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG5cbiAgICAmLmluY3JlYXNlIHtcbiAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgJi5kZWNyZWFzZSB7XG4gICAgICBjb2xvcjogJHJlZDtcbiAgICB9XG4gIH1cblxuICAuaW5mby1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuY2hhcnQtc3RhdHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIFxuICAudGVzdC1yZXN1bHRzLWJ1dHRvbi1jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogMTVweCAwcHg7XG4gIH1cblxuICAuY2hhcnQtc3RhdHMge1xuICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIC52YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gICAgfVxuICB9XG5cbiAgLmNoYXJ0LXN0YXRzLWdyaWQge1xuICAgIC5jaGFydC1zdGF0cyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCA1MCUpO1xuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcblxuICAgICAgJjpudGgtY2hpbGQoLW4rMikge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBpZS1jaGFydC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gIH1cblxuICAucGllLWNoYXJ0IHtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICYgPiBkaXYge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAucGllLWNoYXJ0LWNhbnZhcyB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3MHB4KTtcbiAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoNzBweCk7XG4gICAgfVxuICB9XG5cbiAgLnJwZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAucmVkLXRleHQsIC5ncmVlbi10ZXh0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgIH1cblxuICAgIGRpdiArIGRpdiB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS13ZWVrIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmc6IDE4cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgfVxuXG4gIC50cm9waGllcyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuXG4gICAgLnRyb3BoeS1pbWFnZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAmLnRyb3BoeS1pbWFnZS0tYmFkZ2UgIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRyb3BoeS1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDI4cHgpO1xuICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGltZyAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHJvcGh5LXBsYWNlIHtcbiAgICAgIC8vIEBpbmNsdWRlIGZsZXgoMCAxIGF1dG8pO1xuICAgICAgLy8gQGluY2x1ZGUgZmxleCgxKVxuICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgIH1cblxuICAgIC50cm9waHktbmFtZSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoMTUwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEzcHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB9XG4gIH1cblxuICAubm8tZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMzAwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbkBtaXhpbiBkYXljb2x3aWR0aCAge1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgd2lkdGg6IDEwMC83KjElO1xufVxuXG4ubm90ZXMtbWVudSB7XG4gIG1hcmdpbjogMTVweCAwO1xuXG4gIC5ub3Rlcy1tZW51LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDMwcHgpO1xuICAgIGNvbG9yOiAjYTBhNGE4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC5ub3Rlcy1tZW51LWl0ZW0gKyAubm90ZXMtbWVudS1pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgfVxufVxuXG4ubm90ZXMtY2FsZW5kYXIge1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCg0OTJweCk7XG5cbiAgLmNhbGVuZGFyLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgbWFyZ2luOiAxcHggMXB4IDAgLTFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIC5pY29uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAud2Vlay1kYXktbGFiZWxzIHtcbiAgICBtYXJnaW46IDAgMXB4IDAgMDtcbiAgICA+IGRpdiB7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgQGluY2x1ZGUgZGF5Y29sd2lkdGg7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93O1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuY2FsZW5kYXItZGF5cyB7XG4gICAgbWFyZ2luOiAwIDFweCA1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgIC5jYWxlbmRhci1kYXkge1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAvLyBAaW5jbHVkZSBsb2NrLWhlaWdodCgzOHB4KTtcbiAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoNjBweCk7XG4gICAgICBAaW5jbHVkZSBkYXljb2x3aWR0aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgbWFyZ2luOiAtMXB4IDBweCAwcHggLTFweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZGNkY2Q7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogI2NkY2RjZDtcbiAgICAgICYuY3VycmVudC1kYXkgIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuXG4gICAgICAvLyAmLmVtcHR5IHsgICAgICAgIFxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgLy8gfVxuXG4gICAgICAgJi5kYXktYWN0aXZpdGllcyB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQ4YjAwO1xuICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgIC8vYm9yZGVyLWNvbG9yOiAjYzJkNDc0O1xuICAgICAgICAgLy9jb2xvcjogI2VmZWZlZjtcbiAgICAgICAgIC8vY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgLy8mOmhvdmVyIHtcbiAgICAgICAgIC8vICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJkNDc0O1xuICAgICAgICAgLy8gIGNvbG9yOiAjZmZmO1xuICAgICAgICAgLy99XG4gICAgICAgfVxuXG4gICAgICAvLyAmLmN1cnJlbnQtZGF5IHtcbiAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogI2MyZDQ3NDtcbiAgICAgIC8vICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM1NDdiNDI7XG4gICAgICAvLyAgIGNvbG9yOiAjZmZmO1xuICAgICAgLy8gfVxuXG4gICAgICAmOm5vdCguZW1wdHkpOm5vdCguZGF5LWFjdGl2aXRpZXMpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2FsZW5kYXItZGF5LW51bWJlciB7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJjLXNlY3Rpb24sIC50bC1zZWN0aW9uLCAuc29hcC1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLnNvYXAtbGFiZWwge1xuICAmLmZpZWxkcy1oZWFkZXIuaGlnaC1sZXZlbC1maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cbn1cblxuLmJjLWJvZHlmYXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgIHdpZHRoOiA4MHB4O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyUnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNjBweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICNiYmI7XG4gIH1cbn1cblxuLmJjLWFsZXJ0IHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnRsLXRvdGFsLWxvYWQge1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgfVxufVxuXG4uYmMtZW50cnktaGVhZGVyLCAuYmMtZW50cnkge1xuICA+IC5maWVsZC1sYWJlbCArIC5maWVsZC1sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cblxuICAuYmMtaW5wdXQgeyBcbiAgICBtaW4td2lkdGg6IDE2MHB4O1xuICAgIG1heC13aWR0aDogMTYwcHg7XG4gIH1cblxuICAuYmMtZmlsbGVyIHtcbiAgICBtaW4td2lkdGg6IDEwcHg7XG4gICAgbWF4LXdpZHRoOiAxMHB4O1xuICB9XG59XG5cbi50bC1lbnRyeS1oZWFkZXIsIC50bC1lbnRyeSB7XG4gID4gLmZpZWxkLWxhYmVsICsgLmZpZWxkLWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gIC50bC1zZWxlY3Qge1xuICAgIG1pbi13aWR0aDogMjE1cHg7XG4gICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgfVxuXG4gIC50bC1pbnB1dCB7IFxuICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgfVxuXG4gIC50bC1maWxsZXIge1xuICAgIG1pbi13aWR0aDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDEwcHg7XG4gIH1cbn1cblxuLmJjLWVudHJ5IHtcbiAgLmJjLWlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnbGJzJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIH1cblxuICAuYmMtY2hhbmdlIHtcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZGNkY2Q7XG4gICAgfVxuICB9XG5cbiAgLmJjLWRlbGV0ZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnRsLWVudHJ5IHtcbiAgLnRsLXNlbGVjdC1pbnB1dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOGQ4ZDg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDVweCAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgIC5zZWxlY3QtdG9nZ2xlIHtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuXG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDE0cHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3B0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDM3cHg7XG4gICAgICBsZWZ0OiAwcHg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgIG1pbi13aWR0aDogMjIwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAudGwtaW5wdXQgeyBcbiAgICA+IC5iYXNpYy1pbnB1dC5zbWFsbCB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRsLWNhbGN1bGF0ZWQtbG9hZCB7XG4gICAgPiAuYmFzaWMtaW5wdXQuc21hbGwge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIH1cbiAgfVxuXG4gIC50bC1kZWxldGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5iYy1mcmVlLWZvcm0sIC50bC1mcmVlLWZvcm0ge1xuICB3aWR0aDogNzUlO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5zb2FwLWRhdGUge1xuICA+ICoge1xuICAgIHdpZHRoOiAxNzBweDtcbiAgfVxuXG4gIC5kYXRlLWlucHV0ID4gLmlucHV0LWljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG4uc29hcC10ZXh0LWNvbnRhaW5lciB7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuLnNvYXAtdHJlYXRtZW50cyB7XG4gIC5jaGVja2JveC1pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG5cbiAgLnNvYXAtdHJlYXRtZW50LW9wdGlvbnMge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAuY2hlY2tib3gtaW5wdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zb2FwLXRyZWF0bWVudC10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgLmJhc2ljLWlucHV0IHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cbn1cblxuLnNvYXAtb2JqZWN0aXZlIHtcbiAgJi5maWVsZCBkaXYgdGV4dGFyZWEge1xuICAgIGhlaWdodDogODVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi5mYS1ub3RlcyB7XG4gICAgbWFyZ2luOiAtMTBweCAwcHggMHB4IDEycHg7XG4gICAgY29sb3I6ICRibHVlO1xuICAgIGZvbnQtc2l6ZTogN3B4O1xufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi50aW1lLXNwYW4tcXVlc3Rpb24ge1xuXHRAaW5jbHVkZSBmbGV4LWNvbHVtbjtcbn1cblxuLnRpbWUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1yb3ctc3RhcnQ7XG5cdG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi50aW1lLWxhYmVsIHtcbiAgd2lkdGg6IDEwM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogLjIxcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBjb2xvcjogIzZDNkQ2QztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJ1dHRvbi1zZWxlY3QgIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdCsgLmJ1dHRvbi1zZWxlY3QgIHtcblx0XHRtYXJnaW4tbGVmdDogNnB4O1xuXHR9XG5cdCYuc2Vjb25kYXJ5ICB7XG5cdFx0LnNlbGVjdC10cmlnZ2VyICB7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjRDlEQkRDO1xuXHRcdH1cblx0fVxuXHQmLnNtYWxsICB7XG5cdFx0LnNlbGVjdC10cmlnZ2VyICB7XG5cdFx0XHR3aWR0aDogNjlweDtcblx0XHR9XG5cdH1cblx0Ji5pbmRlbnRlZCAge1xuXHRcdC5zZWxlY3QtdHJpZ2dlciAge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRcdH1cblx0fVxuXHQuc2VsZWN0LXRyaWdnZXIgIHtcblx0XHRjb2xvcjogI2ZmZjtcblx0XHRiYWNrZ3JvdW5kOiAjNDFCQUVDO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHR3aWR0aDogNjlweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LmN1cnJlbnQtc2VsZWN0aW9uIHtcblx0XHRcdEBpbmNsdWRlIGZsZXgtcm93O1xuICAgIFx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDhweCAxMHB4IDEwcHg7XG5cdFx0XHQuY3VycmVudCAge1xuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxNHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHR9XG5cdFx0XHQuaWNvbi1jYXJldC1kb3duICB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogNXB4O1xuXHRcdFx0XHRib3R0b206IC00cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnRpbWUtb3B0aW9ucy1oaWRkZW4ge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0LnRpbWUtb3B0aW9ucyB7XG5cdFx0XHRjb2xvcjogIzQxQkFFQztcblx0XHRcdGJvcmRlci1jb2xvcjogIzQxQkFFQzsgXG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxN3B4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMHB4IDBweCAzcHggM3B4O1xuXHRcdFx0d2lkdGg6IDY5cHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdCYuc2Vjb25kYXJ5IHtcblx0XHRcdFx0Y29sb3I6ICNEOURCREM7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI0Q5REJEQztcblx0XHRcdFx0LnRpbWUtb3B0aW9uIHtcblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Q5REJEQztcblx0XHRcdFx0XHR9XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRpbWUtb3B0aW9uIHtcblx0XHRcdFx0cGFkZGluZzogM3B4IDE0cHggM3B4IDdweDtcblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogIzQxQkFFQztcblx0XHRcdFx0fVxuXHRcdH1cblx0fVx0XHRcdFx0XG5cdH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnRvb2x0aXBIaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udG9vbHRpcCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0bWluLXdpZHRoOiAzMDBweDtcblx0bWF4LXdpZHRoOiAzNjBweDtcblx0d2lkdGg6IG1heC1jb250ZW50O1xuICB3aWR0aDogLXdlYmtpdC1tYXgtY29udGVudDtcblx0bWluLWhlaWdodDogNzJweDtcblx0dG9wOiAtMTMwJTtcblx0bGVmdDogNjVweDtcblx0ei1pbmRleDogMTA7XG5cdGJvcmRlci1yYWRpdXM6IDZweDtcblx0cGFkZGluZzogMjBweCAyNXB4O1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGZvbnQtZmFtaWx5OiBOdWRpc3RhLXdlYjtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiKDQ2LDQ2LDQ2KTtcblx0Y29sb3I6IHdoaXRlO1xuXHRsaW5lLWhlaWdodDogMjRweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bGV0dGVyLXNwYWNpbmc6IC4zNXB4O1xuXG5cdC50dENvbnRlbnQge1xuXHRcdGNvbG9yOiAjOTI5MzkyO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdH07XG5cblx0LnR0VGl0bGUge1xuXHRcdGhlaWdodDogNDBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0fTtcbn1cblxuLnRvb2x0aXAtcmlnaHQgeyAvLyByaWdodCBpcyB0aGUgZGVmYXVsdFxuXHRAZXh0ZW5kIC50b29sdGlwO1xufVxuXG4udG9vbHRpcC1ib3R0b20ge1xuXHRAZXh0ZW5kIC50b29sdGlwO1xuXHR0b3A6IDU1cHg7XG5cdGxlZnQ6IC0xMjVweDtcbn1cblxuLnRvb2x0aXAtYXV0b3NjaGVkdWxlIHtcblx0QGV4dGVuZCAudG9vbHRpcDtcblx0bGVmdDogLTg1cHg7XG4gIHRvcDogLTI5MHB4O1xufVxuXG4udG9vbHRpcC1sZWZ0IHtcblx0QGV4dGVuZCAudG9vbHRpcDtcblx0bGVmdDogaW5oZXJpdDtcblx0cmlnaHQ6IDQ1cHg7XG59XG5cbi50b29sdGlwOmFmdGVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAtMjBweDtcblx0dG9wOiAxNXB4O1xuXHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYig0Niw0Niw0Nik7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci13aWR0aDogMjBweCAyMHB4IDIwcHggMHB4O1xuXHRoZWlnaHQ6IDBweDtcblx0d2lkdGg6IDBweDtcblx0Y29udGVudDogXCIgXCI7XG59XG5cbi50b29sdGlwLXJpZ2h0OmFmdGVyIHtcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcbn1cblxuLnRvb2x0aXAtYm90dG9tOmFmdGVyIHtcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcblx0bGVmdDogMTMwcHg7XG5cdHRvcDogLTIwcHg7XG5cdGJvcmRlci1jb2xvcjogcmdiKDQ2LDQ2LDQ2KSB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXdpZHRoOiAwcHggMjBweCAyMHB4IDIwcHg7XG59XG5cbi50b29sdGlwLWF1dG9zY2hlZHVsZTphZnRlciB7XG5cdEBleHRlbmQgLnRvb2x0aXA6YWZ0ZXI7XG5cdGxlZnQ6IDE2MHB4O1xuICB0b3A6IDI1NnB4O1xuXHRib3JkZXItY29sb3I6IHJnYig0Niw0Niw0NikgdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci13aWR0aDogMjBweCAyMHB4IDBweCAyMHB4O1xufVxuXG4udG9vbHRpcC1sZWZ0OmFmdGVyIHtcblx0QGV4dGVuZCAudG9vbHRpcDphZnRlcjtcblx0bGVmdDogaW5oZXJpdDtcblx0cmlnaHQ6IC0yMHB4O1xuXHRib3JkZXItd2lkdGg6IDIwcHggMHB4IDIwcHggMjBweDtcbn1cblxuLnRvb2x0aXBDbG9zZSB7XG5cdGZsb2F0OiByaWdodDtcblx0cGFkZGluZzogMHB4IDEwcHggM3B4IDBweDtcblx0Y29sb3I6IGxpZ2h0Ymx1ZTtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRmb250LXNpemU6IDI0cHg7XG59XG5cbkBtaXhpbiBjaGFydC10b29sdGlwLWNhcmV0IHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMHB4O1xuXHRoZWlnaHQ6IDBweDtcblx0bWFyZ2luOiBhdXRvO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRjb250ZW50OiAnJztcbn1cblxuLmNoYXJ0LXRvb2x0aXAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG1pbi13aWR0aDogMjU1cHg7XG5cdG1heC13aWR0aDogMzAwcHg7XG5cdG1pbi1oZWlnaHQ6IDEwMHB4O1xuXHRwYWRkaW5nOiAxMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xuXHR6LWluZGV4OiAxO1xuXHRjdXJzb3I6IGRlZmF1bHQ7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdC5oZWFkZXIge1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAjZWZlZmVmO1xuXHR9XG5cblx0LmNvbnRlbnQge1xuXHRcdGZvbnQtc2l6ZTogMTNweDtcblx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogNnB4O1xuXG5cdFx0PiBkaXYge1xuXHRcdFx0QGluY2x1ZGUgZmxleC1yb3coKTtcblx0XHRcdEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblx0XHRcdG1pbi1oZWlnaHQ6IDIwcHg7XG5cdFx0XHRtYXgtaGVpZ2h0OiAyMHB4O1xuXG5cdFx0XHQ+IGkgeyBtaW4td2lkdGg6IDE2cHg7IH1cblx0XHRcdD4gZGl2IHsgbWFyZ2luLWxlZnQ6IDZweDsgfVxuXG5cdFx0XHQmLmNvbXBsZXRlZCB7IGNvbG9yOiAjMTY4ODRlOyB9XG5cdFx0fVxuXHR9XG5cblx0Ji5oaWRkZW4ge1xuXHRcdHZpc2libGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5ib3R0b206YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDtcblx0fVxuXG5cdCYuYm90dG9tLWxlZnQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0bGVmdDogMTBweDtcblx0XHRib3R0b206IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogMTBweCAxMHB4IDAgMTBweDtcblx0fVxuXG5cdCYuYm90dG9tLXJpZ2h0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdGJvdHRvbTogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMCAxMHB4O1xuXHR9XG5cblx0Ji50b3A6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcblx0fVxuXG5cdCYudG9wLWxlZnQ6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGNoYXJ0LXRvb2x0aXAtY2FyZXQ7XG5cdFx0bGVmdDogMTBweDtcblx0XHR0b3A6IC04cHg7XG5cdFx0Ym9yZGVyLWNvbG9yOiAjMmUyZTJlIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci13aWR0aDogMCAxMHB4IDEwcHggMTBweDtcblx0fVxuXG5cdCYudG9wLXJpZ2h0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdHJpZ2h0OiAxMHB4O1xuXHRcdHRvcDogLThweDtcblx0XHRib3JkZXItY29sb3I6ICMyZTJlMmUgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDEwcHggMTBweCAxMHB4O1xuXHR9XG5cblx0Ji5sZWZ0OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBjaGFydC10b29sdGlwLWNhcmV0O1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogLThweDtcblx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyZTJlMmU7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMTBweCAwO1xuXHR9XG5cblx0Ji5yaWdodDphZnRlciB7XG5cdFx0QGluY2x1ZGUgY2hhcnQtdG9vbHRpcC1jYXJldDtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdHJpZ2h0OiAtOHB4O1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzJlMmUyZTtcblx0XHRib3JkZXItd2lkdGg6IDEwcHggMCAxMHB4IDEwcHg7XG5cdH1cbn1cblxuLmZhIHsgLy8gdGhpcyBmb250IGF3ZXNvbWUgc3R5bGUgKHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCkpIGlzIGJyZWFraW5nIHotaW5kZXggYmVoYXZpb3IgYW5kIGRvZXNuJ3Qgc2VlbSB0byBoYXZlIGFueSB2aXN1YWwgZWZmZWN0LiAgU28gSSdtIHR1cm5pbmcgaXQgb2ZmLlxuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIi51cGxvYWQtY29udGFpbmVyIHtcbiAgLnVwbG9hZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgyMDBweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg0MDBweCk7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNkZGQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjYmJiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IC51cGxvYWQtbWVzc2FnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgID4gLnVwbG9hZC1wcmV2aWV3IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIH1cbiAgfVxuXG4gID4gaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9ICBcbn1cblxuZGl2LmltYWdlLWNvbnRyb2xcbntcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjgwcHgpO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICAuaW1hZ2UtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG4gIC5zaWxlbnQtZmlsZS1pbnB1dCB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICB9ICAgICAgICAgICAgICAgIFxufVxuXG4uaW1hZ2UtYnV0dG9ucyB7XG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMjVweCk7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg4NXB4KTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cblxuLmFjdGl2ZS11cGxvYWQge1xuICBAaW5jbHVkZSBsb2NrLXdpZHRoKDM1MHB4KTtcbiAgXG4gIC5maWxlLWluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIC5maWxlLWluZm8tc2l6ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyZXNzLWJhci1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuXG4gICAgPiAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDE4cHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNlZmVmZWY7XG4gICAgICB0ZXh0LWluZGVudDogNnB4O1xuXG4gICAgICAmLnN1Y2Nlc3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJi5lcnJvciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZjBhMmY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn0iLCIuZXhlcmNpc2VfY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgNDAwcHgpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5leGVyY2lzZV9uYXYge1xuICBAaW5jbHVkZSBmbGV4KDEgMCA0MDBweCk7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoNDAwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG5cbiAgLnNlYXJjaCB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTBweCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2JiYjtcblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGhlaWdodDogNDlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdyZXNldCddIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDYwcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgzMHB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgaS5mYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogI2JiYjtcbiAgICB9XG4gIH1cblxuICAuYWRkIHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICBpLmZhIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICBAaW5jbHVkZSBmbGV4KC45NzUpO1xuICAgIH1cbiAgfVxuXG4gIC5saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIG1pbi1oZWlnaHQ6IDEwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYgPiBkaXY6bm90KC5maWxsZXIpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7XG5cbiAgICAgIC5kZXRhaWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAgIC52aWV3LWRldGFpbCB7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuXG4gICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcblxuICAgICAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICAgICYgPiBkaXYgbGFiZWwgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmID4gZGl2ICsgZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IGRpdi5maWxsZXIge1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAubGlzdCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5leGVyY2lzZV9zZWxlY3Qge1xuICBAaW5jbHVkZSBmbGV4KDEgMCAzMDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAubGlzdCB7XG4gICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgbWluLWhlaWdodDogMTBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgJiA+IGRpdjpub3QoLmZpbGxlcikge1xuICAgICAgQGluY2x1ZGUgZmxleCgwIDAgYXV0byk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcblxuICAgICAgLmV4ZXJjaXNlLWl0ZW0ge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIC5jaXJjbGVkLWljb24ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbjogMCAxMnB4O1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRldGFpbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgLnZpZXctZGV0YWlsIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG5cbiAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNnB4O1xuXG4gICAgICAgICAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktc2lkZXMge1xuICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xuXG4gICAgICAgICAgJiA+IGRpdiBsYWJlbCBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYgPiBkaXYgKyBkaXYge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5oaWRkZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gZGl2LmZpbGxlciB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMSAxMDAlKTtcbiAgICB9XG4gIH1cblxuICBALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAgIC5saXN0IHtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlcnMge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCgxMDBweCk7XG5cbiAgPiBmdXNpb24tZHJvcC1kb3duLFxuICA+IGZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93bixcbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgoMSAwIDUwJSk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgLyoqKioqIE5PVEUgKioqKioqXG4gICAgc2luY2UgdGhlIGhlaWdodCBpcyBiZWluZyByZWNhbGN1bGF0ZWRcbiAgICBvbmx5IHNldCB0aGUgbWluLWhlaWdodFxuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICAgICoqKioqIEVCRCBOT1RFICoqKioqKi9cbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYmJiO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgLnNlbGVjdC10b2dnbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KC45KTtcbiAgICAgIH1cblxuICAgICAgaS5mYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTk7XG4gICAgICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgIzk5OTtcbiAgICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgei1pbmRleDogMztcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGZ1c2lvbi1kcm9wLWRvd24gPiBkaXYsXG4gID4gZnVzaW9uLW9yZGVyZWQtZHJvcC1kb3duID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0OHB4KTtcbiAgfVxuXG4gID4gZnVzaW9uLWRyb3AtZG93bi5yZXF1aXJlZCxcbiAgPiBmdXNpb24tb3JkZXJlZC1kcm9wLWRvd24ucmVxdWlyZWQge1xuICAgIC5zZWxlY3QtdG9nZ2xlID4gc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmMDAwMDtcbiAgICB9XG4gIH1cbn1cblxuLmV4ZXJjaXNlLWl0ZW0ge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBtYXJnaW46IDEwcHg7XG5cbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIGZsZXgoLjEpO1xuXG4gICAgJi50b2dnbGUge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDMwcHgpO1xuICAgICAgZm9udC1zaXplOiA2cHg7XG5cbiAgICAgICYuZG93biB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hbWUge1xuICAgIEBpbmNsdWRlIGZsZXgoLjkpO1xuXG4gICAgLm5vLXdyYXAtZWxsaXBzZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLWl0ZW0ge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAuaWNvbiB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgJi5kcmFnZ2luZy1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gICAgLmljb24ge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4ubm8tbWF0Y2gge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLyogbW9kYWwganVuayAqL1xuLm1vZGFsLWNvbnRhaW5lciB7XG4gICYubW9kYWwtZXhlcmNpc2UtZGV0YWlsIHtcbiAgICBoZWFkZXIge1xuICAgICAgLyogQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7ICovXG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICAgICYudmlkZW8tdmlldyB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG1pbi13aWR0aDogNjAwcHg7XG4gICAgICB9XG5cbiAgICAgICYuaW1hZ2UtdmlldyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5taXNzaW5nLW1lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VmZWZlZjtcbiAgICAgIGNvbG9yOiAjZGVkZWRlO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gIH1cblxuICAmLm1vZGFsLWV4ZXJjaXNlLWZvcm0ge1xuICAgIGhlYWRlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3NXB4KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgJi5zbWFsbGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0gbGFiZWwgYnV0dG9uW3R5cGU9J3Jlc2V0J10ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgIG1hcmdpbjogMHB4IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIHNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhzdHJldGNoKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1pbi13aWR0aDogNjAwcHg7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgLmZpbHRlcnMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cblxuICAgICAgJiA+IHNwYW4ge1xuICAgICAgICBtYXJnaW46IDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAmLm1vZGFsLWVycm9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMzBweDtcbiAgICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbjogMTBweCA0MHB4IDEwcHggMDtcbiAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5sYXJnZXIge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBtaW4taGVpZ2h0OiAyNXB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDUwJSk7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgbWFyZ2luOiAxcHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmICsgaS5mYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNpbmdsZS1saW5lLWZvcm0tZmllbGRzIGxhYmVsIC5ib2R5LXNpZGVzIHtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2luZ2xlLWxpbmUtZm9ybS1maWVsZHMgLmV2ZW4tY29scyB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgICAgICA+IHNlbGVjdCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgY29sb3I6ICM3NTc3N2E7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwgKyBsYWJlbCB7XG4gICAgICAgICAgPiBzZWxlY3Qge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC53ZWVrLXNlbGVjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogI2EwYTRhODtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjNzU3NzdhO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRibHVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogZHJhZy1uLWRyb3AganVuayAqL1xuLyogc2hvdWxkIGJlIG1vdmVkIHRvIG93biBmaWxlIChjbGVhcmx5KSAqL1xuLmRyYWctaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufTtcblxuLmRyYWctbW92ZS1zY3JvbGwtYW5jaG9yIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTUsIDE1NSwgMTU1LCAuMjc1KTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAxO1xuXG4gICYudG9wIHtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmLmJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICB9XG59O1xuXG4uZHJvcC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZHJvcC10YXJnZXQge1xuXG4gICY6bm90KC5kcm9wLWVtcHR5KSB7XG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNjZGQzZDc7XG4gIH1cblxuICAmLmRyb3AtdGFyZ2V0LW92ZXIge1xuICAgICY6bm90KC5hZGQtc2VjdGlvbikge1xuICAgICAgYm9yZGVyOiAycHggZGFzaGVkICM0Y2JiMTcgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmFkZC1zZWN0aW9uID4gZGl2IHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzRjYmIxNyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hZGQtZXhlcmNpc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmRyYWdnaW5nLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM4ODg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45MCwgMC45MCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXIgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuIiwiLmNhdGFsb2dfY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleCgxIDAgMzUwcHgpO1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICA+IGRpdiB7XG4gICAgICAmLm9wZW5lZC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYuY2xvc2VkLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIDUycHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2F0YWxvZy1iYW5uZXIge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1MHB4KTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ViZWJlYjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMGQ0MTtcbiAgbWFyZ2luOiAxcHggMDtcblxuICBpLmNpcmNsZWQtaWNvbiB7XG4gICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJsdWU7XG4gICAgY29sb3I6ICRibHVlO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgY29sb3I6ICNlZmVmZWY7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbi5jYXRhbG9nLXNlYXJjaCB7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUwcHgpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICBcbiAgZm9ybSB7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4zOXB4O1xuICAgICAgdGV4dC1pbmRlbnQ6IDE1cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIGJ1dHRvblt0eXBlPSdyZXNldCddIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICBtYXJnaW46IDBweCAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLmNhdGFsb2dfbmF2X3dyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jYXRhbG9nX25hdiB7XG4gIEBpbmNsdWRlIGxvY2std2lkdGgoMzUwcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYmViZWI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogYXV0bztcblxuICAuY2F0ZWdvcnktaWNvbiB7XG4gICAgbWFyZ2luOiAwIDE4cHg7XG4gICAgbWluLXdpZHRoOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gIC5hZGQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIG1pbi13aWR0aDogMTJweDtcbiAgfVxufVxuXG51bC5jYXRhbG9nX25hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LXN0YXRlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIG1pbi13aWR0aDogMTJweDtcbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktb3BlbiB7XG4gICAgICAuY2F0ZWdvcnktc3RhdGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU2MjBcIjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktY2xvc2Uge1xuICAgICAgLmNhdGVnb3J5LXN0YXRlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNjJmXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkuZXhlcmNpc2UtdGVjaG5pcXVlIHtcbiAgICA+IHNwYW4ge1xuICAgICAgdGV4dC1pbmRlbnQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgPiB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkgPiB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcblxuICAgIGxpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgICB0ZXh0LWluZGVudDogMzBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgbWluLWhlaWdodDogMzBweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogNTBweDtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmxvZ2luLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG5cbiAgLmxvZ2luLW1vZGFsIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgQGluY2x1ZGUgbG9jay13aWR0aCg0NzZweCk7XG4gICAgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRkNGQztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBwYWRkaW5nOiA0N3B4IDAgMjJweDtcblxuICAgID4gaW1nIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgIH1cblxuICAgIC5sb2dpbi1iYW5uZXIge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIG1hcmdpbjogMjhweCAxNXB4IDMwcHg7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuXG4gICAgLmxvZ2luLWZvcm0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tY29udGVudChjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTsgICAgICBcblxuICAgICAgLy8gPiBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvLyAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vIH1cblxuICAgICAgLy8gPiBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAvLyAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vIH1cblxuICAgICAgPiBpbnB1dDo6LW1zLWNsZWFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgPiBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDUxcHgpO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciAge1xuICAgICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgIFxuICAgICAgICAgIG9wYWNpdHk6IDE7ICBcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7ICAgICBcbiAgICAgICAgfVxuICAgICAgICArIGlucHV0ICB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubG9naW4tYnV0dG9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWV2ZW5seSk7XG4gICAgICAgIG1hcmdpbjogMHB4IDMwcHg7XG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgICAgICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg1N3B4KTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICBcbiAgICB9XG5cbiAgICAucmVzZXQtZm9ybSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpOyAgICAgIFxuXG4gICAgICA+IGlucHV0OjotbXMtY2xlYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+IGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAyOHB4IDAgMDtcbiAgICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNTFweCk7XG5cbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyICB7XG4gICAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgXG4gICAgICAgICAgb3BhY2l0eTogMTsgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgKyBpbnB1dCAge1xuICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlY29uZFBhc3N3b3JkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbi1jb2xsZWN0aW9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgICAgICAgICBtYXJnaW46IDI4cHggMCAwO1xuICAgICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDU3cHgpO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgLy8gQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gICAgICBtYXJnaW46IDExcHggMTVweDsgLy8gd2hlbiBhIG1lc3NhZ2UgaXMgaGVyZSBpcyBzaG91bGQgYmUgdmVyaXRjYWxseSBzcGFjZWQgYSBiaXRcbiAgICB9XG5cbiAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg3MHB4KTtcbiAgICAgIG1hcmdpbjogMTFweCAxNXB4OyAvLyB3aGVuIGEgbWVzc2FnZSBpcyBoZXJlIGlzIHNob3VsZCBiZSB2ZXJpdGNhbGx5IHNwYWNlZCBhIGJpdFxuICAgIH1cblxuICAgIC5sb2dpbi1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5sb2dpblJlbWVtYmVyTWUgIHtcbiAgbWFyZ2luOiAyOHB4IDAgMDtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKGNlbnRlcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAuY2hlY2tib3gtaW5wdXQgIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgaSAge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgICBzcGFuICB7XG4gICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICB9IFxuICB9ICBcbn1cbi5sb2dpbkZvcmdvdFBhc3NMaW5rICB7XG4gIG1hcmdpbjogMzFweCAwIDA7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihjZW50ZXIpOyBcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI0FBQjBCNztcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBhICB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIlxuLm1vZGFsLWNvbnRhaW5lciBzZWN0aW9uLnByb2ZpbGUtZm9ybSB7XG4gIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICBtYXJnaW46IDEwcHg7XG4gIG1pbi13aWR0aDogNDAwcHg7XG4gIFxuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgIG1hcmdpbjogNXB4IDlweDtcbiAgICBtYXgtd2lkdGg6IDMyNXB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1lbmQpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi5tb2RhbC1jb250YWluZXIge1xuXG4gICYubW9kYWwtYXRobGV0ZS1mb3JtIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogNzQwcHg7XG5cbiAgICBoZWFkZXIge1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb290ZXIge1xuICAgICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNzVweCk7XG4gICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICYuc21hbGxlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtaW4td2lkdGg6IDYwMHB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cblxuICAgICAgZGl2LnNlY3Rpb24tbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICBkaXYub3B0aW9ucy1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgICAgfVxuICAgICAgZGl2Lm9wdGlvbi1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgICAgIGRpdi5vcHRpb24tbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDExNXB4KTtcbiAgICAgICAgfVxuICAgICAgICBkaXYuY2hvaWNlcy1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnJhZGlvLWlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJvdy1jb250YWluZXJcbiAgICAgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICAgICAgfVxuICAgICAgICAmIC5zcGFjZS1iZXR3ZWVuIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICYubW9kYWwtZXJyb3Ige1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIzMHB4O1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZG9iLWZpZWxkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZWJlYmViO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDQwcHg7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgMCUpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlYmViZWI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZlZXQtZmllbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoLjYgMSAwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmluY2hlcy1maWVsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCguMzk1IDEgMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgIC8vIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7ICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICAgICAgLmludmFsaWQtaW5wdXQge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleCgxIDEgYXV0byk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKHN0cmV0Y2gpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgLnZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHRvcDogNTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDYsNDYsNDYpO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDQ2LDQ2LDQ2KTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDQ1JTtcbiAgICAgICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2IoNDYsNDYsNDYpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDBweCAxMHB4IDEwcHggMTBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICB0ZXh0LWluZGVudDogMTBweDtcbiAgICAgICAgICAmLm1lYXN1cmVtZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMCAwIGF1dG8pO1xuICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCg1NXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0ZS1pbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmltcGVyaWFsLWhlaWdodCB7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gICAgICAgICAgbWluLXdpZHRoOiA0NSU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIC8vICYuZmVldCB7XG4gICAgICAgICAgLy8gICBtYXJnaW4tcmlnaHQ6IDdweDtcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBAaW5jbHVkZSBhcHBlYXJhbmNlKG5vbmUpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZihzdHJldGNoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBtYXJnaW46IDFweDtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIHRleHQtaW5kZW50OiAxMHB4O1xuXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAwICMwMDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH0gICAgICAgICAgXG5cbiAgICAgICAgICAmICsgaS5pY29uLWNhcmV0LWRvd24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBjb2xvcjogI0Q5REJEQztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAmLmZlZXQge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbmNoZXMge1xuICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmltcGVyaWFsIHtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uc2VsZWN0LWFsbCB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zZWxlY3QtYXRobGV0ZS1saXN0IHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICBtYXJnaW46IDQ1cHggNjVweCA0NXB4IDY1cHg7XG4gICAgcGFkZGluZzogMTVweCAwcHg7XG4gICAgbWluLWhlaWdodDogODBweDtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLmF0aGxldGUtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBjb2xvcjogIzc1Nzc3QTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAmLmFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIubW9kYWwtY29udGFpbmVyIHtcblxuICAmLm1vZGFsLXRlcm1zIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aWR0aDogNzQwcHg7XG4gICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgIGZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiXG4uYWRtaW4tbWVudSB7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2NXB4KTtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgbG9jay1oZWlnaHQoNDBweCk7XG4gICAgY29sb3I6ICNhMGE0YTg7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGJsdWU7XG4gICAgICBjb2xvcjogI2VmZWZlZjtcbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2EwYTRhODtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIHNwYW4ubWFya2VyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtMzBweDtcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gIH1cbn1cblxuLmFkbWluLXN1Yi1tZW51IHtcbiAgQGluY2x1ZGUgbG9jay1oZWlnaHQoMzBweCk7XG4gIGNvbG9yOiAjYTBhNGE4O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCgzMHB4KTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmx1ZTtcbiAgICAgIGNvbG9yOiAjZWZlZmVmO1xuICAgIH1cblxuICAgICY6bm90KC5hY3RpdmUpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYTBhNGE4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxufVxuXG4udGFiLW1lbnUge1xuICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0NXB4KTtcbiAgQGluY2x1ZGUgbG9jay13aWR0aCgxMDBweCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xuICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gICYuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NzY4RUI7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICB9XG4gIH1cbn1cblxuLnRhYi1tZW51OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xufVxuXG4udGFiLXZpZXcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi50YWItdmlldy1saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59IiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4udGVzdC1jb250YWluZXItaGVhZGVyICB7XG5cdEBpbmNsdWRlIGZsZXgtcm93O1xuXHRtYXJnaW4tdG9wOiAyNXB4O1x0XG5cdC50aXRsZSAge1xuXHRcdG1hcmdpbjogMDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDM0LjVweDtcbiAgICAgICAgY29sb3I6ICM3NTc4N0I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNnB4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdy1jZW50ZXI7XHRcblx0XHRtaW4taGVpZ2h0OiA0NnB4O1xuXHR9IFxuXHQubWFpbi1jb2wgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1x0XHRcblx0fVxuXHQuc2lkZS1jb2wgIHtcdFx0XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHRcdFxuXHRcdD4gZGl2Om5vdChbY2xhc3NdKSAge1xuXHRcdFx0Zm9udC1zaXplOiAxNi41OXB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcdFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cdFx0fVxuXHR9XG59XG5cbi50ZXN0LXJlc3VsdC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50ZXN0LXJlc3VsdC1oZWFkZXIge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMzQuNXB4O1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42cHg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcdFxuXHRcdG1pbi1oZWlnaHQ6IDQ2cHg7ICAgICAgICBcbiAgICAgICAgbWFyZ2luOiAwIDAgNnB4OyAgICAgICAgXG4gICAgfTtcbn1cblxuLmlucHV0LXJlc3VsdHMge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcigpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7ICBcbn1cblxuLnJlc3VsdHMtY29sdW1uLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY29sdW1uLWNvdW50KDIpO1xuICAgIEBpbmNsdWRlIGNvbHVtbi1nYXAoNGVtKTsgICBcbn1cblxuLmV4ZXJjaXNlLWRldGFpbHMge1xuICAgIEBpbmNsdWRlIGNvbHVtbi1uby1icmVhaygpOyAgXG59XG5cbi5saW5rZWQtcmVzdWx0cy1oZWFkZXIge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDM0LjVweDtcbiAgY29sb3I6ICM3NTc4N0I7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuNnB4OyAgXG59XG5cbi50ZXN0ZWQtYnkge1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGNvbG9yOiAjNzU3NzdBO1xuXHRsZXR0ZXItc3BhY2luZzogMC40cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG4ucGVyZm9ybS1hZGRpdGlvbmFsLXJlc3VsdHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG59XG5cbi5wZXJmb3JtYW5jZS1yZXN1bHRzICB7ICBcblx0cGFkZGluZzogODBweCAwIDgwcHg7XG5cdG1heC13aWR0aDogNzc4cHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHQuaDIgIHtcblx0XHRtYXJnaW46IDAgMCAyMHB4O1xuXHR9XG5cdHNlY3Rpb24gIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZSA6IGF2b2lkO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4OyAgICBcblx0XHQrIHNlY3Rpb24gIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuXHRcdH1cblx0fVxufVxuXG4ucGVyZm9ybS1ub3Rlcy1zZWN0aW9uIHtcbiAgbWF4LXdpZHRoOiA3NzhweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMCAxMjBweCAwO1xuICAuaGVhZGVyIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgcGFkZGluZzogMCAwIDEycHg7XG4gIH1cbiAgLnByb3NlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzkyOTM5MjtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbi5zdHJlc3MtaW5kZXgtYmxvY2sge1xuICBtYXJnaW4tdG9wOiA0NXB4O1xuICA+IC5oZWFkZXIgIHtcblx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0LnRpdGxlICB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0Y29sb3I6ICM3NTc4N0I7XG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luOiAwIDAgMThweDtcblx0XHR9XG5cdH1cbn1cblxuLmNhdC1oZWFkZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzc1Nzg3QjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogNDBweCAwIDE4cHg7XG59XG4uY2F0LXNjb3JlICB7XG5cdGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBtYXJnaW4tbGVmdDogMjBweDtcblx0Ji5ncmVlbiAge1xuXHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHQrIC5kb3QgIHtcblx0XHRcdGJhY2tncm91bmQ6ICRzY29yZS1ncmVlbjtcblx0XHR9XG5cdH1cblx0Ji55ZWxsb3cgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUteWVsbG93O1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXllbGxvdztcblx0XHR9XG5cdH1cblx0Ji5yZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2NvcmUtcmVkO1xuXHRcdCsgLmRvdCAge1xuXHRcdFx0YmFja2dyb3VuZDogJHNjb3JlLXJlZDtcblx0XHR9XG5cdH1cbn0iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNsaW5pY2FsLWZpZWxkIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgIGhlaWdodDogaW5oZXJpdDtcbn1cblxudGV4dGFyZWEge1xuICAgICYuY2xpbmljYWwtbm90ZXMge1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG59XG5cbi5jbGluaWNhbC1zdWItbm90ZSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyAgICBcbn1cblxuLnRyZWUtbGluZSB7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2JiYjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcbn1cblxuLmNsaW5pY2FsLW5vdGVzLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogMzhweCAwIDYwcHg7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbn1cblxubGFiZWwuY2xpbmljYWwtZm9ybS1maWVsZCAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMCA0MHB4O1xufVxuXG5oci5jbGluaWNhbC1yZXBvcnQtbGluZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgICBtYXJnaW46IDQwcHggMDtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuc3Bhbi5jbGluaWNhbC1sYWJlbCAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG59XG5cbmZ1c2lvbi1vcmRlcmVkLWRyb3AtZG93biB7XG4gICAgJi5jbGluaWNhbC1kcm9wLWRvd24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICAgICAgICBtYXgtd2lkdGg6IDYyNnB4O1xuICAgICAgICB3aWR0aDogNjI2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICA+IGRpdi5jb2x1bW4tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnNlbGVjdC10b2dnbGUge1xuICAgICAgICAgICAgc3Bhbi5maWx0ZXJlZCB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgLm9wdGlvbnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICM5OTk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCAjOTk5O1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2xpbmljYWwtc2lnbmF0dXJlIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6ICM5MjkzOTI7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG4gID4gZGl2IHtcbiAgICBwYWRkaW5nOiAwcHggMTVweCAwcHggMTVweDtcbiAgfVxufVxuXG4ucHJpbnQtb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIkcmVkOiAjYzQyYTNiO1xuJGJsdWU6ICM5NzY4RUI7XG4kZGFya19ibHVlOiAjMTEyNjRiO1xuJGdyZXk6ICM4MDgwODA7XG4kZ3JlZW46ICMyMGI3Njk7XG4kd2hpdGU6ICNmZmZmZmY7XG4keWVsbG93OiAjZDhiNjJmO1xuJGxpZ2h0X2dyZXk6ICNjZGNkY2Q7XG4kZGFya19ncmV5OiAjNmQ2ZTcyO1xuJHNjb3JlLWdyZWVuOiAjMDBCOTZEO1xuJHNjb3JlLXJlZDogI0QxNDA0QjtcbiRzY29yZS15ZWxsb3c6ICNEN0JCNDM7XG5cbiRmb290ZXJfYmFja2dyb3VuZDogIzExMjY0YjtcbiRhdGhsZXRlX2hlYWRlcl9wcmltYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfaGVhZGVyX3NlY29uZGFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2xpc3RfbmFtZTogI2Y3ZjdmNztcbiIsIlxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xuICAgICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgLW8tdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgIC1tcy10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAgICAgdHJhbnNmb3JtOiAkdHJhbnNmb3Jtcztcbn1cblxuQG1peGluIGFwcGVhcmFuY2UoJGFwcGVhcmFuY2UuLi4pIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgLW1vei1hcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbiAgICAgICAgICBhcHBlYXJhbmNlOiAkYXBwZWFyYW5jZTtcbn1cblxuQG1peGluIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMuLi4pIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiAkc2hhZG93O1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkc2l6ZS4uLikge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRzaXplO1xuICAgICAgICAgIGJveC1zaXppbmc6ICRzaXplO1xufVxuXG5AbWl4aW4gdXNlci1zZWxlY3QoJHNlbGVjdC4uLikge1xuLXdlYmtpdC10b3VjaC1jYWxsb3V0OiAkc2VsZWN0O1xuICAgICAtbXMtdG91Y2gtc2VsZWN0OiAkc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiAkc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xufVxuXG5AbWl4aW4gZmxleCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4OiAkdmFsdWU7XG4gICAgICAtbXMtZmxleDogJHZhbHVlO1xuICAgICAgICAgIGZsZXg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1pdGVtcygkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLXNlbGYoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtZGlzcGxheSgpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGZsZXgtanVzdGlmeS1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1vcmRlcigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1vcmRlcjogJHZhbHVlO1xuICAgICAgICAgIG9yZGVyOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC13cmFwOiAkdmFsdWU7XG4gICAgICAgICAgZmxleC13cmFwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbigpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gZmxleC1yb3coKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGxvY2staGVpZ2h0KCR2YWx1ZS4uLikge1xuICBtYXgtaGVpZ2h0OiAkdmFsdWU7XG4gIG1pbi1oZWlnaHQ6ICR2YWx1ZTtcbiAgaGVpZ2h0OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZTtcbiAgbWluLXdpZHRoOiAkdmFsdWU7XG4gIHdpZHRoOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbiAgd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xufVxuXG5cbkBtaXhpbiB1bmxvY2std2lkdGggIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuQG1peGluIHVubG9jay1oZWlnaHQgIHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgbWluLWhlaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gY29sdW1uLWNvdW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1jb3VudDogJHZhbHVlO1xuICBjb2x1bW4tY291bnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1nYXAoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJHZhbHVlO1xuICAtbW96LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgY29sdW1uLWdhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLW5vLWJyZWFrKCkge1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uO1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1vLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIC1tcy1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICBicmVhay1pbnNpZGU6YXZvaWQtY29sdW1uO1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHJlc3BvbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRtaW5Db250ZW50V2lkdGg6IDEwMjRweDtcbiRtaW5FZGdlQ29udGVudFBhZGRpbmc6IDE1cHg7XG4kbGFyZ2VCcmVha3BvaW50OiAkbWluQ29udGVudFdpZHRoICsgJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuJGNvbXByZXNzZWRDb250ZW50V2lkdGg6ICRtaW5Db250ZW50V2lkdGggLSAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4vLyAkc21NaW46IDc2OHB4O1xuJHNtTWF4OiA5MDBweDtcbkBtaXhpbiByZXNwb25kKCRtZWRpYSkge1xuICBAaWYgJG1lZGlhID09IHdoaXRlYm9hcmQtZXhlcmNpc2Utc3RhY2tlZC1hdHRyaWJ1dGVzIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTBweCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBpZiAkbWVkaWEgPT0gbGcge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxhcmdlQnJlYWtwb2ludCkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBtZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRsYXJnZUJyZWFrcG9pbnQgLSAxcHh9KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IHNtIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JHNtTWF4fSkgeyBAY29udGVudDsgfVxuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB4cGFkIC8geXBhZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4geHBhZCgkcGFkKSAge1xuICBwYWRkaW5nLWxlZnQ6ICRwYWQ7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWQ7XG59XG5AbWl4aW4geXBhZCgkcGFkKSAge1xuICBwYWRkaW5nLXRvcDogJHBhZDtcbiAgcGFkZGluZy1ib3R0b206ICRwYWQ7XG59XG5AbWl4aW4geG1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xufVxuQG1peGluIHltYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLXRvcDogJGdhcDtcbiAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2VfeSgkaCkgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlKCR3LCAkaDogJHcpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGgvLTI7XG4gIG1hcmdpbi1sZWZ0OiAkdy8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckljb24oJHcsICRoOiAkdykgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZSgkdywgJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuQG1peGluIGFic0NlbnRlckljb25feSgkaCkgIHtcbiAgQGluY2x1ZGUgYWJzQ2VudGVyQmFzZV95KCRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cblxuQG1peGluIGZsZXhJbmxpbmVPdmVycmlkZSAge1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIC1tcy1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMSAhaW1wb3J0YW50O1xufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGFwcC1zcGVjaWZpYyBtaXhpbi92YXJzID4gdGFic1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gbGFyZ2UtdGFicy1zdHlsZSAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xuICBAaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuJGxhcmdlLXRhYnMtc3BhY2luZzogNDBweDtcblxuQG1peGluIHRyaW1Jbm5lck1hcmdpbiAge1xuICA+ICogIHtcbiAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBwbGFjZWhvbGRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cbiAgJjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAge0Bjb250ZW50fVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxufVxuXG5cbiIsIkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi50ZXN0LWF0aGxldGUtbmFtZSB7XG4gIGNvbG9yOiAjNzU3NzdBO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjMycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjYyO1xuICBsZXR0ZXItc3BhY2luZzogMC4zMnB4O1xufVxuXG4ucGVyZm9ybS1zZWxlY3Qge1xuICBtaW4td2lkdGg6IDEzM3B4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjNzU3NzdBO1xuICBib3JkZXI6IDJweCBzb2xpZCAjRDhEOEQ4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGhlaWdodDogMzhweDtcbn1cblxuLnJlY29tbWVuZGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAkcmVkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICBsYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICB9XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblIrUiBEYWlseSBUZXN0IHYyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmgzIHtcbiAgc3BhbiB7XG4gICAgY29sb3I6ICRibHVlO1xuICB9XG59XG5cbi5yci1tZW51IHtcbiAgQGluY2x1ZGUgZmxleC1yb3c7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoc3RyZXRjaCk7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIGhlaWdodDogNTVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0X2dyZXk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmN1c3RvbSB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbGlnaHRfZ3JleTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgICY6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2VlZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJyLWtleSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGNvbG9yOiAkYmx1ZTtcbiAgbGFiZWwge1xuICAgIHdpZHRoOiAzMy4zJTtcbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuIiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHJlcGVhdGVkIHNoaWZ0IHRlc3Rcbi5yZXBlYXRlZC1zaGlmdC1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICAgIC5kcm9wLW9mZiB7XG4gICAgICBjb2xvcjogIzAwQjhFMDsgXG4gICAgICBmb250LXNpemU6IDE4cHg7IFxuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgfVxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI4OXB4O1xuICAgICAgfVxuICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICB9ICAgICAgXG4gICAgfVxuICB9XG4gIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgY29sb3I6ICM3NTc3N0E7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgcGFkZGluZy1yaWdodDogMThweDsgXG4gICAgd2lkdGg6MTBweFxuICB9XG59XG5cbi8vIHN0eWxlcyBmb3IgdGhlIHktYmFsYW5jZSB0ZXN0c1xuLnktYmFsYW5jZS1sYXlvdXQge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAudGVzdC1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgLnN1Yi1sYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgfVxuICAgIC5kaWZmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MXB4O1xuICAgICAgY29sb3I6ICMwMEI4RTA7IFxuICAgICAgZm9udC1zaXplOiAxOHB4OyBcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgIH1cbiAgICAubWVhc3VyZW1lbnQtZmllbGQge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNzVweDtcbiAgICAgIH1cbiAgICAgIC5tZWFzdXJlbWVudC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNzU3NzdBO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDsgXG4gICAgICAgIHdpZHRoOjEwcHhcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gc3R5bGVzIGZvciBtZWFzdXJlbWVudCBncm91cHNcbi5tZWFzdXJlbWVudC1ncm91cCB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIC50ZXN0LXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICAuc3ViLWxhYmVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9ICAgIFxuICAgIC5tZWFzdXJlbWVudC1maWVsZCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyM3B4O1xuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI3NXB4O1xuICAgICAgfVxuICAgICAgLm1lYXN1cmVtZW50LWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICM3NTc3N0E7XG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4OyBcbiAgICAgICAgd2lkdGg6MTBweFxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5AbWl4aW4gY2hhbmdlLWluZGljYXRvciB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgbWFyZ2luOiAwIDEwcHg7XG5cbiAgJi5pbmNyZWFzZSB7IFxuICAgIGNvbG9yOiAjMjBiNzY5OyBcbiAgICBpLmZhIHtcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gIH1cblxuICAmLmRlY3JlYXNlIHsgXG4gICAgY29sb3I6ICNjNDJhM2I7IFxuICAgIGkuZmEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cbiAgfVxuXG4gICYucGVyZm9ybS1pbmNyZWFzZSB7IFxuICAgIGkuZmEge1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIH1cbiAgfVxuXG4gICYucGVyZm9ybS1kZWNyZWFzZSB7IFxuICAgIGkuZmEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cbiAgfVxuXG4gIGkuZmEge1xuICAgIG1pbi13aWR0aDogMTJweDtcbiAgfVxufVxuXG4udGVzdC1yZXN1bHRzLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlOyAgXG4gIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlOyBcbn1cblxuLnByb2dyZXNzLXJlcG9ydC1vcHRpb25zIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgbWFyZ2luOiAzMHB4IDAgNXB4O1xuXG4gID4gZGl2ICsgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5kYXRlLXJhbmdlcyB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcblxuICAgID4gZGl2ICsgZGl2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LW5vZGF0YSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnJlcG9ydC1jaGFydC1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuXG4gIC5yZXBvcnQtY2hhcnQtZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gICAgLnJlcG9ydC1jaGFydC1kZXRhaWwge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcblxuICAgICAgJi50ZWFtLCAmLnRvdGFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgLmhlYWRlciB7XG5cbiAgICAgIH1cblxuICAgICAgLnNjb3JlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICAuc2NvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoYW5nZSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2hhbmdlLWluZGljYXRvcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudHJvcGhpZXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LXN0YXJ0KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRyb3BoeS1wbGFjZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLnJlcG9ydC1zdW1tYXJ5IHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xuXG4gID4gZGl2IHtcbiAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgbWFyZ2luOiAyMHB4IDEwcHggMTBweCAgMDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICB9XG5cbiAgLnN1bW1hcnktY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuXG4gICAgLnN1bW1hcnktaW5mbyB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG5cbiAgICAgIC5oZWFkZXIge1xuXG4gICAgICB9XG5cbiAgICAgIC5zY29yZS1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xuXG4gICAgICAgIC5zY29yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2hhbmdlIHtcbiAgICAgICAgICBAaW5jbHVkZSBjaGFuZ2UtaW5kaWNhdG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN1bW1hcnktY2hhcnQge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuXG4gICAgICA+IGNhbnZhcyB7XG4gICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucmVwb3J0LWRldGFpbHMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IFxuXG4gIC50aXRsZSB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMjRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLnJlcG9ydC1kZXRhaWxzIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgPiBkaXYge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmNoYW5nZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLThweDtcbiAgICBtaW4td2lkdGg6IDcwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBjaGFuZ2UtaW5kaWNhdG9yO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cbiAgfVxuICBcbiAgLm5hbWVzLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgICBtaW4td2lkdGg6IDI1MHB4OyAgICBcblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgJiArIC5oZWFkZXItcm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGV0YWlsLXJvdyB7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIG1pbi13aWR0aDogMTgwcHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICB9XG5cbiAgICAgICYuc3ViLXRvdGFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcbiAgICAgICAgY29sb3I6ICM3NTc4N2I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmICsgLnN1Yi10b3RhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnRvdGFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5kZXRhaWwtcm93LXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MTVweDsgXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmluZm8tY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgJiArIC5oZWFkZXItcm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGV0YWlsLXJvdyB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zY29yZXMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgLmhlYWRlci1yb3cge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICB9XG5cbiAgICAgIC5kZXRhaWwtcm93IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItcm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuXG4gICAgICAmLnJpZ2h0LWxlZnQge1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIG1pbi13aWR0aDogNTVweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgICYgKyAuaGVhZGVyLXJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbC1yb3cge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICAgIH1cblxuICAgICAgPiBkaXYge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuXG4gICAgICAgICYucmlnaHQtbGVmdCB7XG4gICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTVweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNoYW5nZS1jb250YWluZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSAwIGF1dG8pO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZ3Jlc3MtcmVwb3J0LWJvZHltYXAge1xuICBtYXgtaGVpZ2h0OiAyMTNweDtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbn1cblxuLnByb2dyZXNzLXJlcG9ydC1oaWRkZW4ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wcm9ncmVzcy1yZXBvcnQtYm9keW1hcC1jb250YWluZXIge1xuICAvLyBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5wcm9ncmFtLWdyb3VwLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMjRweDtcbiAgbWFyZ2luOiAzMHB4IDBweCAxMHB4IDBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBcbiAgPiBzcGFuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgLnByb2dyYW0tdHlwZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cbn1cblxuLnJlcG9ydC1wcm9ncmFtcy1jb250YWluZXIge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDQwcHgpO1xuICB9XG5cbiAgLmhlYWRlci1yb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG5cbiAgICBzcGFuIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAucHJvZ3JhbS1kYXRhLWNoYXJ0IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGZsZXgtc3RhcnQpO1xuICAgIH1cbiAgfVxuXG4gIC5kYXRhLXJvdyB7XG4gICAgLnByb2dyYW0tbmFtZSB7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg0MHB4KTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG5cbiAgICAgIC5wcm9ncmFtLW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0O1xuICAgICAgICBjb2xvcjogI2Y3ZjdmNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuXG4gICAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJlMmUyZTtcbiAgICAgICAgY29sb3I6ICNmN2Y3Zjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50b3RhbCBcbiAgICB7XG4gICAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIGNvbG9yOiAjZjdmN2Y3O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wb3NpdGlvbi10b3RhbCBcbiAgICB7XG4gICAgICAucHJvZ3JhbS1uYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UxRTNFNTtcbiAgICAgICAgY29sb3I6ICNlZmVmZWY7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZ3JhbS1uYW1lIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICBtaW4td2lkdGg6IDM0NnB4O1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG5cbiAgLnByb2dyYW0tZGF0YSB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuXG4gICAgJi5yaWdodCB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtLWRhdGEtY2hhcnQge1xuICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbiAgfVxuXG4gIC5wcm9ncmFtLWZpbGxlciB7XG4gICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gIH1cbn1cbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucGFnZS1oZWFkZXItYmFjay1uYXYge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG5cbiAgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgaS5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuICB9XG59XG5cbi50ZXN0LWFyY2hpdmVzLW9wdGlvbnMge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBtYXJnaW46IDMwcHggMCA1cHg7XG5cbiAgPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG5cbiAgLmRhdGUtcmFuZ2VzIHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuXG4gICAgPiBkaXYgKyBkaXYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hcmNoaXZlLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIG1hcmdpbjogMzBweCAwO1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICBpLmljb24ge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5hcmNoaXZlLW5hbWUsXG4gICAgLmFyY2hpdmUtaW5mbyxcbiAgICAuYXJjaGl2ZS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1uYW1lIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoMSAxIGF1dG8pO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1pbmZvLFxuICAgIC5hcmNoaXZlLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChjZW50ZXIpO1xuICAgIH1cblxuICAgIC5hcmNoaXZlLWluZm8ge1xuICAgICAgbWluLXdpZHRoOiAxNDBweDtcbiAgICB9XG5cbiAgICAuYXJjaGl2ZS1hY3Rpb24ge1xuICAgICAgbWluLXdpZHRoOiA2MHB4O1xuICAgIH1cblxuICAgICYuaGVhZGVyLXJvdyB7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLy92ZXJzaW9uIDIgb2YgaGVhZGVyIChzZWUgbmV3LWhlYWRlci5odG1sIGZvciB0ZW1wbGF0ZSAoc3dpdGNoZWQgdjIpKVxuLmhlYWRlci1jb250ZW50IHtcbiAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoaW5pdGlhbCk7XG4gIEBpbmNsdWRlIGxvY2staGVpZ2h0KDgwcHgpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcblxuICAuaGVhZGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5oZWFkZXItbG9nbyAge1xuICAgIG1hcmdpbjogMTBweCAzNXB4O1xuICBcdGltZyAge1xuICBcdFx0bWF4LXdpZHRoOiAxODBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDcwcHg7XG4gIFx0fVxuICB9XG5cbiAgLmhlYWRlci10ZWFtLW5hbWUge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0M4QzhDOTtcbiAgICBoMyB7XG4gICAgICBwYWRkaW5nOiAwcHggMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgY29sb3I6ICRkYXJrX2JsdWU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuICAuaGVhZGVyLXRlYW0tbmFtZS1saW5rIHtcbiAgICBAZXh0ZW5kIC5oZWFkZXItdGVhbS1uYW1lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnRlYW0tc3dpdGNoZXIgIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDgwJTtcbiAgICAgIGxlZnQ6IDkwJTtcbiAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICB9XG4gIH1cbiAgLnRlYW0tb3B0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAyJTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYxZjE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ViZWJlYjtcbiAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDY4LCA2NywgNzYsIDAuMjUpO1xuICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbiAgICBcbiAgICA+ZGl2IHtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4IDVweCAxNHB4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWRmZGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndoaXRlLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgQGluY2x1ZGUgZmxleCgxIDAgYXV0byk7XG5cbiAgICBpLmljb24tc2hvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICBAaW5jbHVkZSBmbGV4KDEgMCBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICBAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChmbGV4LWVuZCk7XG4gICAgICBAaW5jbHVkZSBsb2NrLWhlaWdodCg2MHB4KTtcbiAgICAgIG1hcmdpbjogMHB4O1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoY2VudGVyKTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbjogLTFweCA4cHggMHB4IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkZGFya19ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50LWF0aGxldGUge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gICAgICAgICAgQGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoZmxleC1zdGFydCk7XG5cbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuICsgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgPiBkaXYgKyBkaXYge1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgID4gYnV0dG9uIHtcbiAgICAgICYuc2lnbm91dCB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2staGVpZ2h0KDM1cHgpO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEwMHB4KTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW46IDAgN3B4IDAgMTVweDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwIDI1cHggMCA3cHg7XG4gICAgICB9XG5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1yb3ctY2VudGVyKCk7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG5cbiAgICAgICAgaS5mYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHJlc3BvbnNpdmUgdHdlYWtzLCBzaG91bGQganVzdCBiZSBpbXBsZW1lbnRlZCB3aXRoIHRoZSByZXN0XG5AaW5jbHVkZSByZXNwb25kKG1kKSAge1xuICAuaGVhZGVyLWNvbnRlbnQtdjIge1xuICAgIC53aGl0ZS1maWVsZCAge1xuICAgICAgICA+IGRpdiA+IGRpdiAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkuaWNvbi1zaG9wICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4kZ3V0dGVyLXdpZHRoOiAxNXB4O1xuLy8gJGNvbC1nYXA6IDMwcHg7XG4kY29sLWdhcDogMTVweDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyByZXNwb25zaXZlbmVzcyBhZGp1c3RtZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLndoaXRlYm9hcmQgIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG51bC5jYXRhbG9nX25hdiAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBsaSA+IHNwYW4gIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn1cbnVsLmNhdGFsb2dfbmF2IGxpID4gdWwgbGkgPiB1bCBsaSAge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgQGluY2x1ZGUgeXBhZCg2cHgpO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDsgLy8gdGhpcyB3YXksIHdoZW4gaXQgd3JhcHMsIGl0IGRvZXNuJ3QgbG9vayBzdHJhbmdlXG59XG5cbi5jYXRhbG9nLXNlbGVjdGVkIC50aXRsZS1jb250YWluZXIgLnJldHVybi1saW5rICB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBhdGhsZXRlIGdyaWQgdW5pdmVyc2FsXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYXRobGV0ZS1pbmZvLWJveCAge1xuICAgIC5iaW8taGVhZGVyICB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgLmF0aGxldGUtbnVtYmVyICB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKHNtKSAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5iaW8tYm9keSAge1xuICAgICAgICAuYXRobGV0ZS1wcm9maWxlICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgLnByb2ZpbGUtcGljICB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hdGhsZXRlLXN0YXRzICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDIpO1xuICAgICAgICAgICAgPiBkaXYgIHtcbiAgICAgICAgICAgICAgICArIGRpdiAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhbnZhcyAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGFsbCBzaXplcyA+IGF0aGxldGUgbGlzdCB2aWV3ID4gbG9ja2VkL3dyYXBwZWQgYXRobGV0ZSBudW1iZXIuLi5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hdGhsZXRlLWxpc3Qtdmlldy52aWV3LWxheW91dCAge1xuICAgIC5hdGhsZXRlLW51bWJlciAge1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDUzcHgpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgfVxuICAgIC5hdGhsZXRlLW5hbWUgIHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgNXB4O1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWxsIHNpemVzID4gYXRobGV0ZSBwcm9maWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucHJvZmlsZS1zdW1tYXJ5ICB7XG4gICAgLnRvZGF5LXByb2dyYW0sXG4gICAgLnRvZGF5LW5vdGljZSAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMTBweCA2cHg7XG4gICAgfVxufVxuLmNvbHVtbi1jb250YWluZXIucHJvZmlsZS1zY29yZSArIGRpdiB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZChsZykgIHtcbiAgICAgICAgd2lkdGg6IDM4MHB4O1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdW5pdmVyc2FsIGJyZWFrcG9pbnQgZHJvcGRvd25cbi8vIG9uY2UgYnJvd3NlciB3aWR0aCBnb2VzIGJlbG93IDEwNTQgKHNlZSBtaXhpbiByZXNwb25kKHNtKSlcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgYm9keSAgIHtcblxuIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAvLyBzZWN0aW9uID4gdW5pdmVyc2FsXG4gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gLnZpZXctY29udGFpbmVyICB7XG4gICAgd2lkdGg6ICRjb21wcmVzc2VkQ29udGVudFdpZHRoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgQGluY2x1ZGUgeHBhZCgkZ3V0dGVyLXdpZHRoKTtcbiAgICAudmlldy1jb250YWluZXIgIHtcbiAgICAgICAgQGluY2x1ZGUgeHBhZCgwKTtcbiAgICB9XG59XG4ud2Vlay13cmFwcGVyIC53ZWVrLWRheS1jb2x1bW4gIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uaGVhZGVyLWNvbnRlbnQgLndoaXRlLWZpZWxkID4gZGl2ICB7XG4gICAgbWFyZ2luOiAwcHggMjBweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gcHJvZmlsZSBwYWdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucHJvZmlsZS1kZXRhaWwgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAucHJvZmlsZS1waWMgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2staGVpZ2h0O1xuICAgICAgICBpbWcgIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnByb2ZpbGUtYWN0aW9uICB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLnByb2ZpbGUtc3VtbWFyeSAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBAaW5jbHVkZSBmbGV4KDQpO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XG4gICAgPiAucm93LWNvbnRhaW5lci5kaXZpZGVkICB7XG4gICAgICAgID4gZGl2ICB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb2wtZ2FwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zY29yZS1jb250YWluZXIgIHtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAucHJvZmlsZS1zY29yZSAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAucHJvZmlsZS1zY29yZS1ncmFwaC1jYW52YXMgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLWhlaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoYXJ0LW1lbnUgIHtcbiAgICAuY2hhcnQtbWVudS1pdGVtICB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICB9XG59XG4ucHJvZ3JhbS1jaGFydCxcbi5saW5lLWNoYXJ0ICB7XG4gICAgQGluY2x1ZGUgZmxleCgyKTtcbn1cbi5wcm9ncmFtLWNoYXJ0ICB7XG4gICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG4udmlldy1sYXlvdXQgLnZpZXctY29udGFpbmVyIC5saW5lLWNoYXJ0ICB7XG4gICAgLmxpbmUtY2hhcnQtY2FudmFzICB7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLWhlaWdodDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuLmNoYXJ0LWRldGFpbHMgIHtcbiAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29sLWdhcDtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHVuaXZlcnNhbCAoYmFzZWQgb2ZmIG9mIHByb2ZpbGUgPT4gcHJvZ3JhbXMgPT4gdmVydGljYWwgYmFyIGNoYXJ0KVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuY2FudmFzICB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBwcm9maWxlID4gY2FsZW5kYXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5jYWxlbmRhci1tb250aCAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBAaW5jbHVkZSBmbGV4KDIpO1xuICAgIC53ZWVrLWRheS1sYWJlbHMge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEgMSBhdXRvKTtcbiAgICAgICAgPiBkaXYgIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhbGVuZGFyLWRheXMgIHtcbiAgICAgICAgLmNhbGVuZGFyLWRheSAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgd2lkdGg6ICgxMDAvNykqMSU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5ub3Rlcy1jYWxlbmRhciAge1xuICAgICAgICBtYXgtd2lkdGg6IDQ5MnB4O1xuICAgIH1cbn1cbi5jYWxlbmRhci1kYXktaW5mbyAge1xuICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbC1nYXA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IGF0aGxldGUgZ3JpZCA+IGxpc3Qgdmlld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLmF0aGxldGUtbGlzdC12aWV3LnZpZXctbGF5b3V0ICB7XG4gICAgLmF0aGxldGUtc3RhdCAge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDApO1xuICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDcuNSUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG4gICAgLmF0aGxldGUtcHJvZ3JhbXMgIHtcbiAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aCgxOCUpO1xuICAgIH1cbiAgICAuYXRobGV0ZS1sYXN0LWFjdGl2aXR5ICB7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTglKTtcbiAgICB9XG4gICAgLmF0aGxldGUtcm93ICB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbW9kYWxzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubW9kYWwgIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuLm1vZGFsLWNvbnRhaW5lciAge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gbm90ZXMgPiB0cmFpbmluZyBsb2FkID4gbWlzY1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnRsLWVudHJ5LWhlYWRlciAudGwtc2VsZWN0LFxuLnRsLWVudHJ5IC50bC1zZWxlY3QgIHtcbiAgICBAaW5jbHVkZSBsb2NrLXdpZHRoKDEyMHB4KTtcbn1cbi50bC1lbnRyeS1oZWFkZXIgLnRsLWlucHV0LFxuLnRsLWVudHJ5IC50bC1pbnB1dCAge1xuICAgIEBpbmNsdWRlIGxvY2std2lkdGgoODZweCk7XG59XG4udGwtZW50cnkgLnRsLWlucHV0ID4gLmJhc2ljLWlucHV0LnNtYWxsICB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4udGwtZW50cnktaGVhZGVyICB7XG4gICAgLmZpZWxkLWxhYmVsICB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHVuaXZlcnNhbCBpbnB1dCBzaXplIHJlZHVjdGlvbi4uLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dC5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dCxcbmRpdi5iYXNpYy1pbnB1dC1yZWFkb25seSB7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG4vLyBjdXJyZW50XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBhdGhsZXRlIG5hdiBmaWx0ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi5hdGhsZXRlLW1lbnUgIHtcbiAgICAuYXRobGV0ZS1zZWFyY2ggIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIC5hdGhsZXRlLWZpbHRlci1zb3J0ICB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgPiAuYXRobGV0ZS1zb3J0LWJveCAge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgLmxhYmVsICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTdweCAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA3cHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMzglO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYXRobGV0ZS1yZXNldC12aWV3ICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoaW5pdGlhbCk7XG4gICAgICAgIEBpbmNsdWRlIHVubG9jay13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gICAgLmF0aGxldGUtdG9nZ2xlLXZpZXcgIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleChpbml0aWFsKTtcbiAgICAgICAgQGluY2x1ZGUgdW5sb2NrLXdpZHRoO1xuICAgIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gaGVhZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5oZWFkZXItY29udGVudCAge1xuICAgIC53aGl0ZS1maWVsZCAge1xuICAgICAgICA+IGRpdiA+IGRpdiAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgKyBkaXYgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkgIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkuaWNvbi1zaG9wICB7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24gIHtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB9XG4gICAgLmxvZ28gIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItd2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgoMTIwcHgpO1xuICAgIH1cbiAgICAud2hpdGUtZmllbGQgPiBidXR0b246bGFzdC1jaGlsZCAge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4gICAgfVxufVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gZ3JhcGgga2V5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ubGluZS1jaGFydC1tZW51ICB7XG4gICAgLmNoYXJ0LWxlZ2VuZCAge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE2cHg7XG4gICAgICAgID4gLmZhICB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IG1kID4gdGVzdGluZyBwcm9tcHRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4ucHJvbXB0LWJveCAge1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG4udGVzdC1sYW5kaW5nICB7XG4gICAgLnByb21wdC1ib3ggIHtcbiAgICAgICAgbWluLWhlaWdodDogMTk2cHg7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gbWQgPiBtaXNjIGNoYXJ0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnJlcG9ydC1jaGFydC1jb250YWluZXIgIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAubGluZS1jaGFydCAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnJlcG9ydC1jaGFydC1kZXRhaWxzICB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC5yZXBvcnQtY2hhcnQtZGV0YWlsICB7XG4gICAgICAgICAgICA+IGRpdiAge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHJlcG9ydCBzdW1tYXJ5IGNoYXJ0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnJlcG9ydC1zdW1tYXJ5ICB7XG4gICAgPiBkaXYgIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMTBweCk7XG4gICAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBtZCA+IHJlcG9ydCB0YWJsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLnJlcG9ydC1kZXRhaWxzLWNvbnRhaW5lciAge1xuICAgIC50aXRsZSAge1xuICAgICAgICBAaW5jbHVkZSB1bmxvY2std2lkdGg7XG4gICAgfVxufVxuXG4gICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuICAgIC8vIHNlY3Rpb24gPiBtZCA+IGVuZFxuICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbn1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZChzbSkgIHsgYm9keSAge1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHNtID4gYXRobGV0ZSBncmlkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGNhdGFsb2cgbmF2XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uYWRtaW4tbWVudSA+IGRpdiArIGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBjYXRhbG9nIHNpZGUgbmF2XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4uY2F0YWxvZ19jb250YWluZXIgIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEgMCAyMDBweCk7XG59XG4uY2F0YWxvZy1zZWFyY2ggIHtcbiAgICBmb3JtICB7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaW5wdXRbdHlwZT0ndGV4dCddICB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4KDEpO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uW3R5cGU9J3Jlc2V0J10gIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2F0YWxvZy1mZWF0dXJlIC5mZWF0dXJlLWNvbnRhaW5lciAuZmVhdHVyZS1jb250ZW50ICB7XG4gICAgbGVmdDogNDBweDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHRlYW1zIHRhYmxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5wcmFjdGl0aW9uZXJzVGFibGUsXG4udGVhbXNUYWJsZSAge1xuICAgID4gLnJvdy1jb250YWluZXIgIHtcbiAgICAgICAgPiBkaXYgIHtcbiAgICAgICAgICAgID4gc3BhbiAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4ucHJhY3RpdGlvbmVyc1RhYmxlICB7XG4gICAgPiAucm93LWNvbnRhaW5lciAge1xuICAgICAgICA+IGRpdiAge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDk2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxMDhweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhJbmxpbmVPdmVycmlkZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNikgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSg4OHB4KTtcbiAgICAgICAgICAgICAgICBidXR0b24gIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGVhbXNUYWJsZSAge1xuICAgID4gLnJvdy1jb250YWluZXIgIHtcbiAgICAgICAgPiBkaXYgIHtcbiAgICAgICAgICAgIC8vIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoOTZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKDEwMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMTAwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNCkgIHtcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSgxNjBweCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleElubGluZU92ZXJyaWRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoNSkgIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBsb2NrLXdpZHRoLWlubGluZS1vdmVycmlkZSg3MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDYpICB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoMjEycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBzbWFsbGVyIHNjcmVlbnMgdXBkYXRlc1xuQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcblx0Ly8gbWFrZSB0aGUgbG9nbyBhIGxpdHRsZSBzbWFsbGVyXG5cdC5oZWFkZXItbG9nbyAge1xuXHRcdG1hcmdpbjogMCAxNXB4O1xuXHRcdGltZyAge1xuXHRcdFx0d2lkdGg6IDEwMCU7IC8vIGRvbid0IHdvcnJ5LCB0aGVyZSdzIGFscmVhZHkgYSBtYXgtd2lkdGggYXBwbGllZCB0byB0aGlzXG5cdFx0fVxuXHR9XG5cblx0Ly8gaGlkZSB0aGUgbmF2IGljb25zIHRvIHNhdmUgc29tZSBzcGFjZVxuXHQuaGVhZGVyLWNvbnRlbnQgLndoaXRlLWZpZWxkID4gZGl2ID4gZGl2ICB7XG5cdFx0aSAge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyBmb3Igc2NyZWVuIHNpemVzIGFyb3VuZCA3NjhweCwgMiB0ZWFtIG1lbWJlcnMgcGVyIHJvdyBsb29rcyBiZXR0ZXIgdGhhbiAzXG5cdC5hdGhsZXRlLWRhc2hib2FyZCAuYXRobGV0ZS1kYXNoYm9hcmQtY29udGFpbmVyIHtcblx0XHQuYXRobGV0ZS1pbmZvLWJveCxcblx0XHQuYXRobGV0ZS1hZGQtYm94ICB7XG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcblx0XHR9XG5cdFx0LmF0aGxldGUtaW5mby1ib3ggLmJpby1ib2R5IC5hdGhsZXRlLXByb2ZpbGUgLnByb2ZpbGUtcGljICB7XG5cdFx0XHRtYXgtaGVpZ2h0OiBub25lOyAvLyBvdGhlcndpc2UgaXQgd2lsbCBzdHJldGNoIHdoZW4gbWl4ZWQgd2l0aCB3aWR0aDogMTAwJVxuXHRcdH1cblx0fVxufVxuXG4vLyBhbGwgc2NyZWVucyB1cGRhdGVcbmJvZHkgLmF0aGxldGUtZGFzaGJvYXJkIC5hdGhsZXRlLWRhc2hib2FyZC1jb250YWluZXIgIHtcblx0d2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpOyAvLyBiZWNhdXNlIGl0IGN1cnJlbnRseSBoYXMgYSBuZWdhdGl2ZSBtYXJnaW4gb2YgLTEwcHggb24gYm90aCBzaWRlc1xuXG5cdC8vIG5vIG1vcmUgb2YgaGFyZC1jb2RpbmcgdGhlIGhlaWdodHMgb2YgdGhlIHRlYW0gbWVtYmVyIGJsb2Nrc1xuXHQvLyBhIHZlcnkgbmljZSBmZWF0dXJlIG9mIGZsZXhib3ggaXMgdGhhdCBpdCBjYW4gYmUgdXNlZCB0byBjcmVhdGVcblx0Ly8gZXF1YWwgaGVpZ2h0cyB0aGF0IGdyb3cvc2hyaW5rIGFzIG5lZWRlZFxuXHRAaW5jbHVkZSBmbGV4LWRpc3BsYXk7XG5cdEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcblx0LmF0aGxldGUtaW5mby1ib3gsXG5cdC5hdGhsZXRlLWFkZC1ib3ggIHtcblx0XHRtaW4taGVpZ2h0OiAwO1xuXHRcdG1heC1oZWlnaHQ6IG5vbmU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBlbmRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbn0gfSAvLyBlbmQgcmVzcG9uZChzbSlcbiIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcIm1peGluczJcIjtcblxuXG4uYXJyb3dUYWJzICB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBAaW5jbHVkZSBncmlkeGdhcCgycHgpO1xuICAgID4gc3BhbiAge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjsgICAgICBcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgICAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJpYW5nbGUoMTZweCA2cHgsICRibHVlLCBkb3duKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgfVxuICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRjJGNEY1O1xuICAgICAgICAgICAgY29sb3I6ICNBQkIwQjM7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIHNwYW4gIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDsgIFxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgICAgICBzcGFuICB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSAge1xuICAgICAgICAgICAgJjpiZWZvcmUgIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4gIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHByb2dyYW0gc2NoZWR1bGUgdGFibGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHByb2dyYW1TY2hlZHVsZVRhYmxlQXR0cnMoJGxlZnRQdWxsLCAkaW5uZXJTcGFjaW5nKSAgeyAgXG4gICAgJHByb2dyYW1icmVha3BvaW50OiAkbGFyZ2VCcmVha3BvaW50ICsgJGxlZnRQdWxsICsgNDBweDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyAgXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcHJvZ3JhbWJyZWFrcG9pbnQpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGxlZnRQdWxsfSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbGVmdFB1bGwqLTE7XG4gICAgfVxuICAgIHRyICB7XG4gICAgICAgID4gKiAge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbGVmdFB1bGw7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICsgKiAgeyAgICAgIFxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAvNyoxJSkgLSAjeyRsZWZ0UHVsbC83fSk7XG4gICAgICAgICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGlubmVyU3BhY2luZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICAgICAgKyB0ciAge1xuICAgICAgICAgICAgPiAqICB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRpbm5lclNwYWNpbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhlYWQgIHtcbiAgICAgICAgdGggIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQkRDMUM1O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRib2R5ICB7XG4gICAgICAgIHRoICB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGNvbG9yOiAjODQ4OTkwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfSAgICBcbiAgICB9XG59XG4ucHJvZ3JhbVNjaGVkdWxlVGFibGUgIHtcbiAgICBAaW5jbHVkZSBwcm9ncmFtU2NoZWR1bGVUYWJsZUF0dHJzKDcwcHgsIDVweCk7XG59XG5cbkBtaXhpbiBhY3Rpdml0eVBpbGxHcm91cEF0dHMoJHBpbGxHYXApICB7XG4gICAgJHBpbGxIZWlnaHQ6ICRwaWxsR2FwKjIvMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI0YyRjRGNTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIEBpbmNsdWRlIGZsZXgtY29sdW1uOyAgXG4gICAgaGVpZ2h0OiAxMTcuM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5hY3Rpdml0eVBpbGwgIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMyUgLSAjeyRwaWxsSGVpZ2h0fSk7XG4gICAgICAgICsgLmFjdGl2aXR5UGlsbCAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJHBpbGxHYXA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFkZEljb24gIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6ICNDREQzRDc7ICAgIFxuICAgICAgICBAaW5jbHVkZSBhYnNDZW50ZXJJY29uKDQwcHgpO1xuICAgIH0gIFxufVxuXG4uYWN0aXZpdHlQaWxsR3JvdXAgIHtcbiAgICBAaW5jbHVkZSBhY3Rpdml0eVBpbGxHcm91cEF0dHMoM3B4KTtcbn1cbi5hY3Rpdml0eVBpbGwgIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5hY3Rpdml0eVBpbGwtLXByb21wdCAge1xuICAgIGJhY2tncm91bmQ6ICNFNEU5RUM7XG4gICAgY29sb3I6ICNCREMxQzU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWN0aXZpdHlQaWxsLS1hY3RpdmUgIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTsgIFxuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgLmNsb3NlSWNvbiAge1xuICAgICAgICBAaW5jbHVkZSBhYnNDZW50ZXJJY29uX3koMTBweCk7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9ICAgXG59XG5cbi5hY3Rpdml0eVBpbGxHcm91cC0tZW1wdHkgIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLmFkZEljb24gIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gc2VsZWN0ICsgYWRkIHBpbGxcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gICAgXG4uc2VsZWN0QWRkUGlsbCAge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKHN0cmV0Y2gpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAudGwtZW50cnkgLnRsLXNlbGVjdCxcbiAgICAudGwtZW50cnkgLnRsLXNlbGVjdC1pbnB1dCAuc2VsZWN0LXRvZ2dsZSB7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgICBidXR0b24ucHJpbWFyeSAge1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgID4gKiAge1xuICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICAgICsgKiAge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59IiwiJHJlZDogI2M0MmEzYjtcbiRibHVlOiAjOTc2OEVCO1xuJGRhcmtfYmx1ZTogIzExMjY0YjtcbiRncmV5OiAjODA4MDgwO1xuJGdyZWVuOiAjMjBiNzY5O1xuJHdoaXRlOiAjZmZmZmZmO1xuJHllbGxvdzogI2Q4YjYyZjtcbiRsaWdodF9ncmV5OiAjY2RjZGNkO1xuJGRhcmtfZ3JleTogIzZkNmU3MjtcbiRzY29yZS1ncmVlbjogIzAwQjk2RDtcbiRzY29yZS1yZWQ6ICNEMTQwNEI7XG4kc2NvcmUteWVsbG93OiAjRDdCQjQzO1xuXG4kZm9vdGVyX2JhY2tncm91bmQ6ICMxMTI2NGI7XG4kYXRobGV0ZV9oZWFkZXJfcHJpbWFyeTogI2UxZTFlMTtcbiRhdGhsZXRlX2hlYWRlcl9zZWNvbmRhcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9saXN0X25hbWU6ICNmN2Y3Zjc7XG4iLCJcbkBtaXhpbiB0cmFuc2Zvcm0oJHRyYW5zZm9ybXMpIHtcbiAgICAgLW1vei10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgIC1vLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gICAgICAtbXMtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgICAgIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbkBtaXhpbiBhcHBlYXJhbmNlKCRhcHBlYXJhbmNlLi4uKSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgIC1tb3otYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG4gICAgICAgICAgYXBwZWFyYW5jZTogJGFwcGVhcmFuY2U7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRib3JkZXItcmFkaXVzLi4uKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6ICRzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGJveC1zaXppbmcoJHNpemUuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkc2l6ZTtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkc2l6ZTtcbn1cblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QuLi4pIHtcbi13ZWJraXQtdG91Y2gtY2FsbG91dDogJHNlbGVjdDtcbiAgICAgLW1zLXRvdWNoLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cblxuQG1peGluIGZsZXgoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleDogJHZhbHVlO1xuICAgICAgLW1zLWZsZXg6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24tY29udGVudDogJHZhbHVlO1xuICAgICAgICAgIGFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24taXRlbXMoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWRpc3BsYXkoKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbkBtaXhpbiBmbGV4LWp1c3RpZnktY29udGVudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtb3JkZXIoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtb3JkZXI6ICR2YWx1ZTtcbiAgICAgICAgICBvcmRlcjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xuICAgICAgICAgIGZsZXgtd3JhcDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4oKSB7XG4gIEBpbmNsdWRlIGZsZXgtZGlzcGxheSgpO1xuICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tY2VudGVyKCkge1xuICBAaW5jbHVkZSBmbGV4LWNvbHVtbigpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGNlbnRlcik7XG59XG5cbkBtaXhpbiBmbGV4LWNvbHVtbi1zdGFydCgpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuQG1peGluIGZsZXgtcm93KCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuQG1peGluIGZsZXgtcm93LWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1yb3coKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1yb3ctc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBsb2NrLWhlaWdodCgkdmFsdWUuLi4pIHtcbiAgbWF4LWhlaWdodDogJHZhbHVlO1xuICBtaW4taGVpZ2h0OiAkdmFsdWU7XG4gIGhlaWdodDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aCgkdmFsdWUuLi4pIHtcbiAgbWF4LXdpZHRoOiAkdmFsdWU7XG4gIG1pbi13aWR0aDogJHZhbHVlO1xuICB3aWR0aDogJHZhbHVlO1xufVxuXG5AbWl4aW4gbG9jay13aWR0aC1pbmxpbmUtb3ZlcnJpZGUoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAkdmFsdWUgIWltcG9ydGFudDtcbn1cblxuXG5AbWl4aW4gdW5sb2NrLXdpZHRoICB7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogYXV0bztcbn1cbkBtaXhpbiB1bmxvY2staGVpZ2h0ICB7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tY291bnQ6ICR2YWx1ZTtcbiAgY29sdW1uLWNvdW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWNvbHVtbi1nYXA6ICR2YWx1ZTtcbiAgLW1vei1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIGNvbHVtbi1nYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGNvbHVtbi1uby1icmVhaygpIHtcbiAgLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkLWNvbHVtbjtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtby1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuICAtbXMtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgYnJlYWstaW5zaWRlOmF2b2lkLWNvbHVtbjtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiByZXNwb25kXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kbWluQ29udGVudFdpZHRoOiAxMDI0cHg7XG4kbWluRWRnZUNvbnRlbnRQYWRkaW5nOiAxNXB4O1xuJGxhcmdlQnJlYWtwb2ludDogJG1pbkNvbnRlbnRXaWR0aCArICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbiRjb21wcmVzc2VkQ29udGVudFdpZHRoOiAkbWluQ29udGVudFdpZHRoIC0gJG1pbkVkZ2VDb250ZW50UGFkZGluZyoyO1xuLy8gJHNtTWluOiA3NjhweDtcbiRzbU1heDogOTAwcHg7XG5AbWl4aW4gcmVzcG9uZCgkbWVkaWEpIHtcbiAgQGlmICRtZWRpYSA9PSB3aGl0ZWJvYXJkLWV4ZXJjaXNlLXN0YWNrZWQtYXR0cmlidXRlcyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTkwcHgpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAaWYgJG1lZGlhID09IGxnIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXJnZUJyZWFrcG9pbnQpIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skbGFyZ2VCcmVha3BvaW50IC0gMXB4fSkgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIGlmICRtZWRpYSA9PSBzbSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAjeyRzbU1heH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4geHBhZCAvIHlwYWRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHhwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy1sZWZ0OiAkcGFkO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkO1xufVxuQG1peGluIHlwYWQoJHBhZCkgIHtcbiAgcGFkZGluZy10b3A6ICRwYWQ7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkO1xufVxuQG1peGluIHhtYXJnaW4oJGdhcCkgIHtcbiAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIG1hcmdpbi1yaWdodDogJGdhcDtcbn1cbkBtaXhpbiB5bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi10b3A6ICRnYXA7XG4gIG1hcmdpbi1ib3R0b206ICRnYXA7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJCYXNlX3koJGgpICB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZSgkdywgJGg6ICR3KSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6ICRoLy0yO1xuICBtYXJnaW4tbGVmdDogJHcvLTI7XG59XG5cbkBtaXhpbiBhYnNDZW50ZXJJY29uKCR3LCAkaDogJHcpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2UoJHcsICRoKTtcbiAgZm9udC1zaXplOiAkaDtcbn1cbkBtaXhpbiBhYnNDZW50ZXJJY29uX3koJGgpICB7XG4gIEBpbmNsdWRlIGFic0NlbnRlckJhc2VfeSgkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5cbkBtaXhpbiBmbGV4SW5saW5lT3ZlcnJpZGUgIHtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICAtbXMtZmxleDogMSAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDEgIWltcG9ydGFudDtcbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBhcHAtc3BlY2lmaWMgbWl4aW4vdmFycyA+IHRhYnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGxhcmdlLXRhYnMtc3R5bGUgIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgQGluY2x1ZGUgcmVzcG9uZChtZCkgIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiRsYXJnZS10YWJzLXNwYWNpbmc6IDQwcHg7XG5cbkBtaXhpbiB0cmltSW5uZXJNYXJnaW4gIHtcbiAgPiAqICB7XG4gICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcGxhY2Vob2xkZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7QGNvbnRlbnR9XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAge0Bjb250ZW50fVxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICB7QGNvbnRlbnR9ICBcbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgdGhpcyBpcyBhbiB1cGRhdGVkIG1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgIFxuXG5AbWl4aW4gZXZlbi1jb2xzICB7XG4gIEBpbmNsdWRlIGZsZXgtcm93O1xuICAgICYuY29tcGFjdCAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc3BhY2VkLW91dCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5kZWZhdWx0LXNwYWNlZCAge1xuICAgICAgPiAqICB7XG4gICAgICAgICAgKyAqICB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5ib3R0b20tYWxpZ24gIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuICAgIH1cbiAgICAmLmV2ZW4tY29scy0tc3RyaXBJbm5lck1hcmdpbnMgIHtcbiAgICAgID4gKiAge1xuICAgICAgICA+ICogIHtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkICB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+ICogIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxKTtcbiAgICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vdGU6ICBldmVyeXRoaW5nIGJlbG93IHRoaXMgaXMgbmV3XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICAgXG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gdHJpYW5nbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gIFxuQG1peGluIHRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pIHtcbiAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIGxlbmd0aCgkc2l6ZSkpO1xuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG5cbkBtaXhpbiBncmlkeGdhcCgkZ2FwKSAge1xuICAgIG1hcmdpbjogMCAkZ2FwKi0xO1xuICAgID4gKiAge1xuICAgICAgICBwYWRkaW5nOiAwICRnYXA7XG4gICAgfVxufVxuXG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC1iYXNlICB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gKiAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgICAgXG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC14KCRnYXApICB7XG4gIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHhtYXJnaW4oJGdhcCk7XG4gIH1cbn1cbkBtaXhpbiBpbmxpbmUtZ3JpZC15KCRnYXApICB7XG4gIEBpbmNsdWRlIHltYXJnaW4oJGdhcCotMSk7XG4gID4gKiAge1xuICAgIEBpbmNsdWRlIHltYXJnaW4oJGdhcCk7XG4gIH1cbn1cblxuQG1peGluIGlubGluZS1ncmlkLXh5KCRnYXApICB7XG4gIG1hcmdpbjogJGdhcCotMTtcbiAgPiAqICB7XG4gICAgbWFyZ2luOiAkZ2FwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibWl4aW5zMlwiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gYWRkaXRpb25hbCBoZWxwZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLy8gZmllbGQgd2lkdGhzXG4ub3BlbkZpZWxkV2lkdGgtLW1heDEwMCAge1xuXHRtYXgtd2lkdGg6IDEwMCU7IC8vIG1ha2Ugc3VyZSBpdCBpcyBzdGlsbCBmbGV4aWJsZS4uLlxufVxuLm9wZW5GaWVsZFdpZHRoLS1zbWFsbCAge1xuXHR3aWR0aDogNTJweDtcbn1cbi5vcGVuRmllbGRXaWR0aC0tbWVkaXVtICB7XG5cdHdpZHRoOiAxNDhweDtcbn1cblxuLm9wZW5GaWVsZFdpZHRoLS1ycGUgIHtcblx0d2lkdGg6IDIwMHB4O1xufVxuXG4vLyBjZWxsIHdpZHRoc1xuLmNlbGxXaWR0aC0tdHJhaW5pbmdMb2FkICB7XG5cdHdpZHRoOiAxMzJweDtcbn0gXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiB1bmlxdWUgc3R5bGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuXG4uc2NvcmVOdW0gIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiAxOHB4O1xufVxuXG4ub3BlbkZpZWxkLS1jZW50ZXJlZCAge1xuXHRpbnB1dCAge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuXG4kdGxGaWx0ZXJzLXhnYXA6IDE1cHg7XG4kdGxGaWx0ZXJzLVhlZGdlR2FwOiAxNXB4O1xuXG4udGxGaWx0ZXJzSGVhZGVyICB7XG5cdHBhZGRpbmc6IDE1cHggJHRsRmlsdGVycy1YZWRnZUdhcDtcbn1cblxuLnRsRmlsdGVyc0hlYWRlck1haW4gIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdD4gKiArICogIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICR0bEZpbHRlcnMteGdhcDtcblx0fVxufVxuXG4uZmxUYWJsZSAge1xuXHR0ciAge1xuXHRcdD4gKiAge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHQrICogIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdGxGaWx0ZXJzLXhnYXA7XG5cdFx0XHR9XG5cdFx0XHQmOmZpcnN0LWNoaWxkICB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJHRsRmlsdGVycy1YZWRnZUdhcDtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCAge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAkdGxGaWx0ZXJzLVhlZGdlR2FwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQucHJvY2Nlc3NBcnJvdyAge1x0XHRcblx0XHRtYXJnaW4tcmlnaHQ6ICR0bEZpbHRlcnMteGdhcCotMTtcblx0fVxufVxuLmZsVGFibGVDb2xXaWR0aCAge1xuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbkBpbmNsdWRlIHJlc3BvbmQobGcpICB7XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXRpdGxlICB7XG5cdFx0d2lkdGg6IDMwMHB4O1xuXHR9XG5cdC5mbFRhYmxlQ29sV2lkdGgtLXNlc3Npb24gIHtcblx0XHR3aWR0aDogMzAwcHg7XG5cdH1cbn1cblxuLmZsVGFibGVDb2xXaWR0aC0tZHVyYXRpb25UYXJnZXQgIHtcblx0d2lkdGg6IGF1dG87XG59XG5cbi5zbWFsbEZpZWxkTGFiZWwgIHtcdFxuXHRwYWRkaW5nOiAwIDAgN3B4O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGNvbG9yOiAjNzU3ODdCO1xufVxuXG5cbi50bEZpbHRlcnNIZWFkZXJTaWRlICB7XG5cdEBpbmNsdWRlIGZsZXgtY29sdW1uO1xuXHRAaW5jbHVkZSBmbGV4LWp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLm51bU5hbWUgIHtcblx0QGluY2x1ZGUgZmxleC1yb3c7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cbi5udW1OYW1lX19udW0gIHtcblx0b3BhY2l0eTogMC40O1xufVxuLm51bU5hbWVfX25hbWUgIHtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ubnVtTmFtZS0tbGlnaHQgIHtcblx0Y29sb3I6ICM3NTc3N0E7XG59XG4kb3BlbkZpZWxkTWVkSGVpZ2h0OiAzOXB4O1xuJG9wZW5GaWVsZFRhbGxIZWlnaHQ6IDQ2cHg7XG4ub3BlbkZpZWxkLS1tZWRpdW0gIHtcblx0aGVpZ2h0OiAkb3BlbkZpZWxkTWVkSGVpZ2h0O1xufVxuXG4kc2VsZWN0QmFybGg6IDIxcHg7XG4kc2VsZWN0QmFyeXBhZDogKCRvcGVuRmllbGRNZWRIZWlnaHQgLSAkc2VsZWN0QmFybGgpLzI7XG4kc2VsZWN0QmFyeXBhZEJpZzogKCRvcGVuRmllbGRUYWxsSGVpZ2h0IC0gJHNlbGVjdEJhcmxoKS8yO1xuLnNlbGVjdEJhciAge1xuXHRiYWNrZ3JvdW5kOiAjNDFCQUVDO1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6ICN7JHNlbGVjdEJhcnlwYWR9IDE1cHg7XG5cdGxpbmUtaGVpZ2h0OiAkc2VsZWN0QmFybGg7XG5cdCYudGFsbCAge1xuXHRcdHBhZGRpbmc6ICRzZWxlY3RCYXJ5cGFkQmlnIDE1cHg7XG5cdH1cblx0aSAge1xuXHRcdGRpc3BsYXk6IG5vbmU7IC8vIG9ubHkgc2hvdyB0aGUgY2hlY2ttYXJrIGljb24gd2hlbiBcImlzU2VsZWN0ZWRcIiBjbGFzcyBpcyBwcmVzZW50Li4uLlxuXHRcdHBhZGRpbmctbGVmdDogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0fVxuXHQmLmlzU2VsZWN0ZWQgIHtcblx0XHRiYWNrZ3JvdW5kOiAjRjRGNEY0O1xuXHRcdGNvbG9yOiAjQzdDQkNFO1xuXHRcdGkgIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR9XG5cdH1cbn1cbi5zdWJtZW51X19udW1UZXh0V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0Zm9udC1zaXplOiAxM3B4O1xuXHQubnVtICB7XG5cdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRjb2xvcjogIzZDNkQ2Qztcblx0XHR3aWR0aDogMTVweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdH1cblx0LnRleHQgIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHR9XG59XG5cblxuLmNvbnRlbnRXaXRoUHJvY2Vzc0Fycm93V3JhcCAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xuXHQ+ICo6Zmlyc3QtY2hpbGQgIHtcblx0XHRAaW5jbHVkZSBmbGV4KDEpO1xuXHR9XG5cdC5wcm9jY2Vzc0Fycm93ICB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiA0MHB4O1xuXHRcdGNvbG9yOiAjRUZGMUYyO1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0XHRAaW5jbHVkZSByZXNwb25kKGxnKSAge1xuXHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdH1cblx0fVxufVxuLm9wZW5GaWVsZFNlbGVjdF9fdHJpZ2dlciAge1xuXHQuaWNvbi10YXJnZXQgIHtcblx0XHRmb250LXNpemU6IDE5cHg7XG5cdFx0Y29sb3I6ICNBQUFCQUY7XG5cdFx0cGFkZGluZy1yaWdodDogOHB4O1xuXHR9XHRcbn1cblxuXG4uVEwtRHVyYXRpb24ge1xuICBpbnB1dDppbnZhbGlkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0MwMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGQ0NDQztcbiAgfVxufVxuXG5cbi5iYWNrVG9MaW5rICB7XG5cdG1hcmdpbjogIDAgMCAyMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGNvbG9yOiAjNDFCQUVDO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblxuXHRpICB7XG5cdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC50ZXh0ICB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdH1cbn1cblxuXG4uY29tcGFjdEZvcm1TdGFjayAge1xuXHQ+ICogIHtcblx0XHQrICogIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IGlubGluZSBvdmVybGF5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHRcblxuLmlubGluZU92ZXJsYXlXcmFwICB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmlubGluZU92ZXJsYXkgIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR6LWluZGV4OiAxMDtcdFxuXHR0b3A6IGNhbGMoMTAwJSAtIDE1cHgpO1xuXHRsZWZ0OiA1MCU7XHRcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHdpZHRoOiAzNzdweDtcblx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcblx0cGFkZGluZzogMTVweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcblx0Ym94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoIzAwMDAwMCwgMC4xMyk7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5pbmxpbmVPdmVybGF5X190cmlhbmdsZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogM3B4O1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xMDAlKTtcblx0d2lkdGg6IDI5cHg7XG5cdGhlaWdodDogMTdweDtcblx0YmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9vdmVybGF5LXRyaWFuZ2xlLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cbi5pbmxpbmVPdmVybGF5X19jbG9zZSAge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTVweDtcblx0cmlnaHQ6IDE1cHg7XG5cdGZvbnQtc2l6ZTogMTdweDtcblx0Y29sb3I6ICRibHVlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5saW5lT3ZlcmxheV9fdGl0bGUgIHtcblx0bWFyZ2luOiAwIDAgMjBweDtcblx0cGFkZGluZzogMCAzMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3ODdCO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNlY3Rpb24gPiBkbFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1x0XG4uY2hhcnQtZGF0ZS1oZWFkZXIgKyAuZGxSb3cgIHtcblx0bWFyZ2luOiAxMHB4IDAgMjBweDtcbn1cbi5kbFJvdyAge1xuXHRAaW5jbHVkZSBmbGV4LXJvdztcblx0QGluY2x1ZGUgZmxleC1qdXN0aWZ5LWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG5cdCsgLmNoYXJ0LWRhdGUtaGVhZGVyICB7XG5cdFx0bWFyZ2luLXRvcDogMzBweDtcblx0fVxuXHQrIC5kbFJvdyAge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLmRsSXRlbSAge1xuXHRcbn1cbi5kbEl0ZW1fX2xhYmVsICB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiAjNzU3NzdBO1xuXHRmb250LXNpemU6IDE0cHg7XG59XG5cbi5kbEl0ZW1fX251bSAge1xuXHRmb250LXdlaWdodDogMTAwO1xuXHRmb250LXNpemU6IDMwcHg7XG5cdEBpbmNsdWRlIGZsZXgtcm93LWNlbnRlcjtcblx0LnNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdFx0Zm9udC1zaXplOiA3cHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRwYWRkaW5nLXJpZ2h0OiA4cHg7XG5cdH1cbn1cblxuLm1lbnUtcG9pbnRlciB7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndlZWtseVNjb3JlQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogN3B4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG4ucHJvZmlsZVRMQ2hhbmdlSWNvbiAgeyAgIFx0XG5cdGZvbnQtc2l6ZTogMTBweDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZy1yaWdodDogMXB4O1xuXHRwYWRkaW5nLWJvdHRvbTogM3B4O1xufSIsIiRyZWQ6ICNjNDJhM2I7XG4kYmx1ZTogIzk3NjhFQjtcbiRkYXJrX2JsdWU6ICMxMTI2NGI7XG4kZ3JleTogIzgwODA4MDtcbiRncmVlbjogIzIwYjc2OTtcbiR3aGl0ZTogI2ZmZmZmZjtcbiR5ZWxsb3c6ICNkOGI2MmY7XG4kbGlnaHRfZ3JleTogI2NkY2RjZDtcbiRkYXJrX2dyZXk6ICM2ZDZlNzI7XG4kc2NvcmUtZ3JlZW46ICMwMEI5NkQ7XG4kc2NvcmUtcmVkOiAjRDE0MDRCO1xuJHNjb3JlLXllbGxvdzogI0Q3QkI0MztcblxuJGZvb3Rlcl9iYWNrZ3JvdW5kOiAjMTEyNjRiO1xuJGF0aGxldGVfaGVhZGVyX3ByaW1hcnk6ICNlMWUxZTE7XG4kYXRobGV0ZV9oZWFkZXJfc2Vjb25kYXJ5OiAjZTFlMWUxO1xuJGF0aGxldGVfbGlzdF9uYW1lOiAjZjdmN2Y3O1xuIiwiXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gICAgIC1tb3otdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAtby10cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xuICAgICAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcbiAgICAgICAgICB0cmFuc2Zvcm06ICR0cmFuc2Zvcm1zO1xufVxuXG5AbWl4aW4gYXBwZWFyYW5jZSgkYXBwZWFyYW5jZS4uLikge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAtbW96LWFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xuICAgICAgICAgIGFwcGVhcmFuY2U6ICRhcHBlYXJhbmNlO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy4uLikge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBib3gtc2l6aW5nKCRzaXplLi4uKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHNpemU7XG4gICAgIC1tb3otYm94LXNpemluZzogJHNpemU7XG4gICAgICAgICAgYm94LXNpemluZzogJHNpemU7XG59XG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0Li4uKSB7XG4td2Via2l0LXRvdWNoLWNhbGxvdXQ6ICRzZWxlY3Q7XG4gICAgIC1tcy10b3VjaC1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWZsZXg6ICR2YWx1ZTtcbiAgICAgIC1tcy1mbGV4OiAkdmFsdWU7XG4gICAgICAgICAgZmxleDogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1hbGlnbi1jb250ZW50KCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgICAgICBhbGlnbi1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LWFsaWduLWl0ZW1zKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XG4gICAgICAgICAgYWxpZ24tc2VsZjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG5AbWl4aW4gZmxleC1kaXNwbGF5KCkge1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5AbWl4aW4gZmxleC1qdXN0aWZ5LWNvbnRlbnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG59XG5cbkBtaXhpbiBmbGV4LW9yZGVyKCR2YWx1ZS4uLikge1xuICAtd2Via2l0LW9yZGVyOiAkdmFsdWU7XG4gICAgICAgICAgb3JkZXI6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6ICR2YWx1ZTtcbiAgICAgICAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uKCkge1xuICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuQG1peGluIGZsZXgtY29sdW1uLWNlbnRlcigpIHtcbiAgQGluY2x1ZGUgZmxleC1jb2x1bW4oKTtcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1pdGVtcyhjZW50ZXIpO1xufVxuXG5AbWl4aW4gZmxleC1jb2x1bW4tc3RhcnQoKSB7XG4gIEBpbmNsdWRlIGZsZXgtY29sdW1uKCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdygpIHtcbiAgQGluY2x1ZGUgZmxleC1kaXNwbGF5KCk7XG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbkBtaXhpbiBmbGV4LXJvdy1jZW50ZXIoKSB7XG4gIEBpbmNsdWRlIGZsZXgtcm93KCk7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbn1cblxuQG1peGluIGZsZXgtcm93LXN0YXJ0KCkge1xuICBAaW5jbHVkZSBmbGV4LXJvdygpO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG5AbWl4aW4gbG9jay1oZWlnaHQoJHZhbHVlLi4uKSB7XG4gIG1heC1oZWlnaHQ6ICR2YWx1ZTtcbiAgbWluLWhlaWdodDogJHZhbHVlO1xuICBoZWlnaHQ6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgoJHZhbHVlLi4uKSB7XG4gIG1heC13aWR0aDogJHZhbHVlO1xuICBtaW4td2lkdGg6ICR2YWx1ZTtcbiAgd2lkdGg6ICR2YWx1ZTtcbn1cblxuQG1peGluIGxvY2std2lkdGgtaW5saW5lLW92ZXJyaWRlKCR2YWx1ZS4uLikge1xuICBtYXgtd2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogJHZhbHVlICFpbXBvcnRhbnQ7XG59XG5cblxuQG1peGluIHVubG9jay13aWR0aCAge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5AbWl4aW4gdW5sb2NrLWhlaWdodCAge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtaW4taGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBjb2x1bW4tY291bnQoJHZhbHVlLi4uKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWNvdW50OiAkdmFsdWU7XG4gIGNvbHVtbi1jb3VudDogJHZhbHVlO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkdmFsdWUuLi4pIHtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkdmFsdWU7XG4gIC1tb3otY29sdW1uLWdhcDogJHZhbHVlO1xuICBjb2x1bW4tZ2FwOiAkdmFsdWU7XG59XG5cbkBtaXhpbiBjb2x1bW4tbm8tYnJlYWsoKSB7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW8tY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgLW1zLWNvbHVtbi1icmVhay1pbnNpZGU6YXZvaWQ7XG4gIGJyZWFrLWluc2lkZTphdm9pZC1jb2x1bW47XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBzZWN0aW9uID4gcmVzcG9uZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJG1pbkNvbnRlbnRXaWR0aDogMTAyNHB4O1xuJG1pbkVkZ2VDb250ZW50UGFkZGluZzogMTVweDtcbiRsYXJnZUJyZWFrcG9pbnQ6ICRtaW5Db250ZW50V2lkdGggKyAkbWluRWRnZUNvbnRlbnRQYWRkaW5nKjI7XG4kY29tcHJlc3NlZENvbnRlbnRXaWR0aDogJG1pbkNvbnRlbnRXaWR0aCAtICRtaW5FZGdlQ29udGVudFBhZGRpbmcqMjtcbi8vICRzbU1pbjogNzY4cHg7XG4kc21NYXg6IDkwMHB4O1xuQG1peGluIHJlc3BvbmQoJG1lZGlhKSB7XG4gIEBpZiAkbWVkaWEgPT0gd2hpdGVib2FyZC1leGVyY2lzZS1zdGFja2VkLWF0dHJpYnV0ZXMge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5MHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGlmICRtZWRpYSA9PSBsZyB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGFyZ2VCcmVha3BvaW50KSB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2UgaWYgJG1lZGlhID09IG1kIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICN7JGxhcmdlQnJlYWtwb2ludCAtIDFweH0pIHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSBpZiAkbWVkaWEgPT0gc20ge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3skc21NYXh9KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHhwYWQgLyB5cGFkXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB4cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctbGVmdDogJHBhZDtcbiAgcGFkZGluZy1yaWdodDogJHBhZDtcbn1cbkBtaXhpbiB5cGFkKCRwYWQpICB7XG4gIHBhZGRpbmctdG9wOiAkcGFkO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZDtcbn1cbkBtaXhpbiB4bWFyZ2luKCRnYXApICB7XG4gIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG59XG5AbWl4aW4geW1hcmdpbigkZ2FwKSAge1xuICBtYXJnaW4tdG9wOiAkZ2FwO1xuICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVyQmFzZV95KCRoKSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbn1cblxuQG1peGluIGFic0NlbnRlckJhc2UoJHcsICRoOiAkdykgIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaC8tMjtcbiAgbWFyZ2luLWxlZnQ6ICR3Ly0yO1xufVxuXG5AbWl4aW4gYWJzQ2VudGVySWNvbigkdywgJGg6ICR3KSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlKCR3LCAkaCk7XG4gIGZvbnQtc2l6ZTogJGg7XG59XG5AbWl4aW4gYWJzQ2VudGVySWNvbl95KCRoKSAge1xuICBAaW5jbHVkZSBhYnNDZW50ZXJCYXNlX3koJGgpO1xuICBmb250LXNpemU6ICRoO1xufVxuXG5AbWl4aW4gZmxleElubGluZU92ZXJyaWRlICB7XG4gICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1mbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgLW1zLWZsZXg6IDEgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gYXBwLXNwZWNpZmljIG1peGluL3ZhcnMgPiB0YWJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBsYXJnZS10YWJzLXN0eWxlICB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIEBpbmNsdWRlIHJlc3BvbmQobWQpICB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4kbGFyZ2UtdGFicy1zcGFjaW5nOiA0MHB4O1xuXG5AbWl4aW4gdHJpbUlubmVyTWFyZ2luICB7XG4gID4gKiAge1xuICAgICY6Zmlyc3QtY2hpbGQgIHtcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHBsYWNlaG9sZGVyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge0Bjb250ZW50fVxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICB7QGNvbnRlbnR9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyICAgICAge0Bjb250ZW50fSAgXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm90ZTogIHRoaXMgaXMgYW4gdXBkYXRlZCBtaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgICBcblxuQG1peGluIGV2ZW4tY29scyAge1xuICBAaW5jbHVkZSBmbGV4LXJvdztcbiAgICAmLmNvbXBhY3QgIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgICArICogIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNwYWNlZC1vdXQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDVweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZGVmYXVsdC1zcGFjZWQgIHtcbiAgICAgID4gKiAge1xuICAgICAgICAgICsgKiAge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYm90dG9tLWFsaWduICB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcbiAgICB9XG4gICAgJi5ldmVuLWNvbHMtLXN0cmlwSW5uZXJNYXJnaW5zICB7XG4gICAgICA+ICogIHtcbiAgICAgICAgPiAqICB7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQgIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgPiAqICB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSk7XG4gICAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBub3RlOiAgZXZlcnl0aGluZyBiZWxvdyB0aGlzIGlzIG5ld1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyAgIFxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gc2VjdGlvbiA+IHRyaWFuZ2xlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vICBcbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG5cbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24tbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtdXApIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH0gQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1sZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gZ3JpZHhnYXAoJGdhcCkgIHtcbiAgICBtYXJnaW46IDAgJGdhcCotMTtcbiAgICA+ICogIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2FwO1xuICAgIH1cbn1cblxuXG5AbWl4aW4gaW5saW5lLWdyaWQtYmFzZSAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+ICogIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICAgIFxuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteCgkZ2FwKSAge1xuICBAaW5jbHVkZSB4bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB4bWFyZ2luKCRnYXApO1xuICB9XG59XG5AbWl4aW4gaW5saW5lLWdyaWQteSgkZ2FwKSAge1xuICBAaW5jbHVkZSB5bWFyZ2luKCRnYXAqLTEpO1xuICA+ICogIHtcbiAgICBAaW5jbHVkZSB5bWFyZ2luKCRnYXApO1xuICB9XG59XG5cbkBtaXhpbiBpbmxpbmUtZ3JpZC14eSgkZ2FwKSAge1xuICBtYXJnaW46ICRnYXAqLTE7XG4gID4gKiAge1xuICAgIG1hcmdpbjogJGdhcDtcbiAgfVxufVxuIiwiXG4ucmV2aWV3LWNvbnRhaW5lciB7XG4gICAgLnJldmlldy10YWJzICsgZGl2IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMGFmO1xuICAgIH1cblxuICAgIC5yZXZpZXctZnJhbWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyBcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXG4gICAgICAgIGZsZXg6IDAuOTU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjYzBjMGMwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5lcnJvciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6ICMyMjI7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpLmZhLmZhLXRyYXNoIHtcbiAgICAgICAgICAgIGNvbG9yOiAjYzBjMGMwO1xuICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTAwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogIzBhZjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYmM7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzBhZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWxbZm9yKj1cIktleXBvaW50c1wiXSxcbiAgICBsYWJlbFtmb3IqPVwiUmVwc1wiXSxcbiAgICBsYWJlbFtmb3IqPVwiQ29tcGVuc2F0aW9uc1wiXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgLTFweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNhYmM7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNzg5O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWxbZm9yKj1cIktleXBvaW50c1wiXTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMTkyJztcbiAgICB9XG4gICAgbGFiZWxbZm9yKj1cIlJlcHNcIl06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjBjYic7XG4gICAgfVxuICAgIGxhYmVsW2Zvcio9XCJDb21wZW5zYXRpb25zXCJdOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYxZmUnO1xuICAgIH1cblxuICAgIC5jb21wcyB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWRpc3BsYXkoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24taXRlbXMoY2VudGVyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtanVzdGlmeS1jb250ZW50KGNlbnRlcik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2NvcmVfZ3JlZW47XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2NvcmVfZ3JlZW47XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJi5mb3VuZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNjb3JlX3JlZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzY29yZV9yZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0dBLEFBQUEsQ0FBQyxFQUFFLENBQUMsQUFBQSxPQUFPLEVBQUUsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFRXlCbkIsa0JBQWtCLEVGeEJFLE9BQU87RUV5QnhCLGVBQWUsRUZ6QkUsT0FBTztFRTBCbkIsVUFBVSxFRjFCRSxPQUFPO0VFOEI3QixxQkFBcUIsRUY3QkUsSUFBSTtFRThCdEIsZ0JBQWdCLEVGOUJFLElBQUk7RUUrQnRCLGdCQUFnQixFRi9CRSxJQUFJO0VFZ0NyQixlQUFlLEVGaENFLElBQUk7RUVpQ2pCLFdBQVcsRUZqQ0UsSUFBSSxHQUMxQjs7QUFFRCxBQUFBLElBQUksQ0FBQztFRW9CSCxrQkFBa0IsRUZuQkUsVUFBVTtFRW9CM0IsZUFBZSxFRnBCRSxVQUFVO0VFcUJ0QixVQUFVLEVGckJFLFVBQVU7RUFDOUIsV0FBVyxFQUFFLDhDQUE4QztFQUMzRCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsOENBQThDO0VBQzNELE1BQU0sRUFBRSxJQUFJO0VBQ1osTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsQ0FBQyxHQXNDWDtFQTFDRCxBQU1FLElBTkUsQUFNRCxTQUFT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 */