@use "sass:math";
.selectize-control.plugin-drag_drop.multi > .selectize-input.dragging {
  overflow: visible;
}

.selectize-control.plugin-drag_drop.multi > .selectize-input > div.ui-sortable-placeholder {
  visibility: visible !important;
  background: #f2f2f2 !important;
  background: rgba(0, 0, 0, 0.06) !important;
  border: 0 none !important;
  box-shadow: inset 0 0 12px 4px #fff;
}

.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after {
  content: "!";
  visibility: hidden;
}

.selectize-control.plugin-drag_drop .ui-sortable-helper {
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header {
  position: relative;
  padding: 6px 0.75rem;
  border-bottom: 1px solid #d0d0d0;
  background: RGBA(var(--bs-body-bg), 0.15);
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close {
  position: absolute;
  right: 0.75rem;
  top: 50%;
  color: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.83);
  opacity: 0.4;
  margin-top: -12px;
  line-height: 20px;
  font-size: 20px !important;
  text-decoration: none;
}

.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover {
  color: RGB(var(--bs-emphasis-color-rgb, 0, 0, 0));
}

.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content {
  display: flex;
}

.selectize-dropdown.plugin-optgroup_columns .optgroup {
  border-right: 1px solid #f2f2f2;
  border-top: 0 none;
  flex-grow: 1;
  flex-basis: 0;
  min-width: 0;
}

.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child {
  border-right: 0 none;
}

.selectize-dropdown.plugin-optgroup_columns .optgroup:before {
  display: none;
}

.selectize-dropdown.plugin-optgroup_columns .optgroup-header {
  border-top: 0 none;
}

.selectize-control.plugin-remove_button .item {
  display: inline-flex;
  align-items: center;
  padding-right: 0 !important;
}

.selectize-control.plugin-remove_button .item .remove {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  display: inline-block;
  padding: 1px 5px;
  border-left: 1px solid #dee2e6;
  border-radius: 0 2px 2px 0;
  box-sizing: border-box;
  margin-left: 5px;
}

.selectize-control.plugin-remove_button .item .remove:hover {
  background: rgba(0, 0, 0, 0.05);
}

.selectize-control.plugin-remove_button .item.active .remove {
  border-left-color: rgba(0, 0, 0, 0);
}

.selectize-control.plugin-remove_button .disabled .item .remove:hover {
  background: none;
}

.selectize-control.plugin-remove_button .disabled .item .remove {
  border-left-color: white;
}

.selectize-control.plugin-clear_button .clear {
  text-decoration: none;
  display: flex;
  position: absolute;
  height: 100%;
  width: 25px;
  top: 0;
  right: calc(0.75rem - 5px);
  color: var(--bs-body-color, black);
  opacity: 0.4;
  font-weight: bold;
  border: none;
  cursor: pointer;
  z-index: 1;
  font-size: 21px;
  justify-content: center;
  align-items: center;
}

.selectize-control.plugin-clear_button .clear:hover {
  opacity: 1;
}

.selectize-control.plugin-clear_button.single .clear {
  right: calc(0.75rem - 5px + 1.5rem);
}

.selectize-dropdown.plugin-auto_position.selectize-position-top {
  border-top: 1px solid #d0d0d0;
  border-bottom: 0 none;
  border-radius: 3px 3px 0 0;
  box-shadow: 0 -6px 12px rgba(var(--bs-body-color-rgb, 0, 0, 0), 0.18);
}

.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active {
  border-radius: 0 0 3px 3px;
  border-top: 0 none;
}

.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before {
  top: 0;
  bottom: unset;
}

.selectize-control {
  position: relative;
}

.selectize-dropdown,
.selectize-input,
.selectize-input input {
  color: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.83);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.5;
  font-smoothing: inherit;
}

.selectize-input,
.selectize-control.single .selectize-input.input-active {
  background: var(--bs-body-bg);
  cursor: text;
  display: inline-block;
}

.selectize-input {
  border: 1px solid #8D959E;
  padding: 0.375rem 0.75rem;
  display: inline-block;
  width: 100%;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  box-shadow: none;
  border-radius: var(--bs-border-radius);
}

.selectize-control.multi .selectize-input.has-items {
  padding: calc( 0.375rem - 1px - 0px) 0.75rem calc( 0.375rem - 1px - 3px - 0px);
}

.selectize-input.full {
  background-color: var(--bs-body-bg);
}

.selectize-input.disabled, .selectize-input.disabled * {
  cursor: default !important;
}

.selectize-input.focus {
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

.selectize-input.dropdown-active {
  border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

.selectize-input > * {
  vertical-align: baseline;
  display: inline-block;
  zoom: 1;
}

.selectize-control.multi .selectize-input > div {
  cursor: pointer;
  margin: 0 3px 3px 0;
  padding: 1px 5px;
  background: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.05);
  color: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.83);
  border: 0px solid #dee2e6;
}

.selectize-control.multi .selectize-input > div.active {
  background: #007bc2;
  color: #ffffff;
  border: 0px solid rgba(0, 0, 0, 0);
}

.selectize-control.multi .selectize-input.disabled > div, .selectize-control.multi .selectize-input.disabled > div.active {
  color: #cdcdcd;
  background: #cdcdcd;
  border: 0px solid #cdcdcd;
}

.selectize-input > input {
  display: inline-block !important;
  padding: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  max-width: 100% !important;
  margin: 0 !important;
  text-indent: 0 !important;
  border: 0 none !important;
  background: none !important;
  line-height: inherit !important;
  user-select: auto !important;
  box-shadow: none !important;
}

.selectize-input > input::-ms-clear {
  display: none;
}

.selectize-input > input:focus {
  outline: none !important;
}

.selectize-input > input[placeholder] {
  box-sizing: initial;
}

.selectize-input.has-items > input {
  margin: 0 0px !important;
}

.selectize-input::after {
  content: " ";
  display: block;
  clear: left;
}

.selectize-input.dropdown-active::before {
  content: " ";
  display: block;
  position: absolute;
  background: rgba(141, 149, 158, 0.8);
  height: 1px;
  bottom: 0;
  left: 0;
  right: 0;
}

.selectize-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10;
  border: 1px solid #d0d0d0;
  background: var(--bs-body-bg);
  margin: -1px 0 0 0;
  border-top: 0 none;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius);
}

.selectize-dropdown [data-selectable] {
  cursor: pointer;
  overflow: hidden;
}

.selectize-dropdown [data-selectable] .highlight {
  background: rgba(255, 237, 40, 0.4);
  border-radius: 1px;
}

.selectize-dropdown .option,
.selectize-dropdown .optgroup-header,
.selectize-dropdown .no-results,
.selectize-dropdown .create {
  padding: 3px 0.75rem;
}

.selectize-dropdown .option,
.selectize-dropdown [data-disabled],
.selectize-dropdown [data-disabled] [data-selectable].option {
  cursor: inherit;
  opacity: 0.5;
}

.selectize-dropdown [data-selectable].option {
  opacity: 1;
  cursor: pointer;
}

.selectize-dropdown .optgroup:first-child .optgroup-header {
  border-top: 0 none;
}

.selectize-dropdown .optgroup-header {
  color: #707782;
  background: var(--bs-body-bg);
  cursor: default;
}

.selectize-dropdown .active {
  background-color: #007bc2;
  color: #ffffff;
}

.selectize-dropdown .active.create {
  color: var(--bs-body-color);
}

.selectize-dropdown .selected {
  background-color: #007bc2;
  color: #ffffff;
}

.selectize-dropdown .create {
  color: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.5);
}

.selectize-dropdown .active:not(.selected) {
  background: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
}

.selectize-dropdown-content {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: 200px;
  overflow-scrolling: touch;
}

.selectize-dropdown-emptyoptionlabel {
  text-align: center;
}

.selectize-dropdown .spinner {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 3px 0.75rem;
}

.selectize-dropdown .spinner:after {
  content: " ";
  display: block;
  width: 24px;
  height: 24px;
  margin: 3px;
  border-radius: 50%;
  border: 5px solid #d0d0d0;
  border-color: #d0d0d0 transparent #d0d0d0 transparent;
  animation: lds-dual-ring 1.2s linear infinite;
}

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.selectize-control.single .selectize-input,
.selectize-control.single .selectize-input input {
  cursor: pointer;
}

.selectize-control.single .selectize-input.input-active, .selectize-control.single .selectize-input.input-active input:not(:read-only) {
  cursor: text;
}

.selectize-control.single .selectize-input:not(.no-arrow):after {
  content: " ";
  display: block;
  position: absolute;
  top: 50%;
  right: calc(0.75rem + 5px);
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 5px 0 5px;
  border-color: RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.83) transparent transparent transparent;
}

.selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after {
  margin-top: -4px;
  border-width: 0 5px 5px 5px;
  border-color: transparent transparent RGBA(var(--bs-emphasis-color-rgb, 0, 0, 0), 0.83) transparent;
}

.selectize-control.rtl {
  text-align: right;
}

.selectize-control.rtl.single .selectize-input:after {
  left: calc(0.75rem + 5px);
  right: auto;
}

.selectize-control.rtl .selectize-input > input {
  margin: 0 4px 0 -2px !important;
}

.selectize-control .selectize-input.disabled {
  opacity: 0.5;
  background-color: var(--bs-body-bg);
}

.selectize-dropdown,
.selectize-dropdown.form-control {
  height: auto;
  padding: 0;
  margin: 2px 0 0 0;
  z-index: 1000;
  background: var(--bs-body-bg);
  border: 1px solid var(--bs-border-color-translucent);
  border-radius: 3px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}

.selectize-dropdown .optgroup-header {
  font-size: 0.875rem;
  line-height: 1.5;
}

.selectize-dropdown .optgroup:first-child:before {
  display: none;
}

.selectize-dropdown .optgroup:before {
  content: " ";
  display: block;
  height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
  border-top: 1px solid var(--bs-border-color-translucent);
  margin-left: -0.75rem;
  margin-right: -0.75rem;
}

.selectize-dropdown .create {
  padding-left: 0.75rem;
}

.selectize-dropdown-content {
  padding: 5px 0;
}

.selectize-dropdown-emptyoptionlabel {
  text-align: center;
}

.selectize-input {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media (prefers-reduced-motion: reduce) {
  .selectize-input {
    transition: none;
  }
}

.selectize-input.dropdown-active {
  border-radius: var(--bs-border-radius);
}

.selectize-input.dropdown-active::before {
  display: none;
}

.selectize-input.focus {
  border-color: #80bde1;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(0, 123, 194, 0.25);
}

.is-invalid .selectize-input {
  border-color: #c10000;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.is-invalid .selectize-input:focus {
  border-color: #8e0000;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff2828;
}

.selectize-control.form-control-sm .selectize-input {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2)) !important;
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem !important;
  font-size: 0.875rem;
  line-height: 1.25;
}

.selectize-control.multi .selectize-input {
  height: auto;
  padding-left: calc(0.75rem - 5px);
  padding-right: calc(0.75rem - 5px);
}

.selectize-control.multi .selectize-input > div {
  border-radius: calc(var(--bs-border-radius) - 1px);
}

.form-select.selectize-control,
.form-control.selectize-control {
  padding: 0;
  height: auto;
  border: none;
  background: none;
  box-shadow: none;
  border-radius: 0;
}

.input-group > .input-group-append > .btn, .input-group > .form-control:not(:first-child) {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group > .input-group-prepend > .btn {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group .selectize-control:not(:last-child) .selectize-input {
  overflow: unset;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.input-group .selectize-control:not(:first-child) .selectize-input {
  overflow: unset;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.selectize-dropdown.plugin-auto_position.selectize-position-top {
  border-top: 1px solid #8D959E !important;
  border-bottom: 1px solid #8D959E !important;
  border-radius: var(--bs-border-radius) !important;
}

.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active {
  border-radius: var(--bs-border-radius) !important;
  border-top: 1px solid #8D959E !important;
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAic3RkaW4uY3NzIiwKCSJzb3VyY2VzIjogWwoJCSJzdGRpbiIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9ic2xpYi1zY3NzL2Z1bmN0aW9ucy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvc2Fzcy11dGlscy9jb2xvci1jb250cmFzdC5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvYnVpbHRpbi9iczUvc2hpbnkvX3ZhcmlhYmxlcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvYnMzY29tcGF0L19kZWZhdWx0cy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL192YXJpYWJsZXMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9fdmFyaWFibGVzLWRhcmsuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9fbWFwcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL19taXhpbnMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fZGVwcmVjYXRlLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fY29sb3ItbW9kZS5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fY29sb3Itc2NoZW1lLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL192aXN1YWxseS1oaWRkZW4uc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3Jlc2V0LXRleHQuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3V0aWxpdGllcy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fYmFja2Ryb3Auc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19saXN0cy5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvYnNsaWIvbGliL2JzNS9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RhYmxlLXZhcmlhbnRzLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9saWIvYnM1L3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2xpYi9iczUvc2Nzcy9taXhpbnMvX2dyaWQuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L2JzbGliL2JzM2NvbXBhdC9fZGVjbGFyYXRpb25zLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9fbWl4aW5zLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9ic2xpYi9idWlsdGluL2JzNS9zaGlueS9pb25yYW5nZXNsaWRlci9fdmFyaWFibGVzLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9zaGlueS93d3cvc2hhcmVkL3NlbGVjdGl6ZS9zY3NzL3NlbGVjdGl6ZS5ib290c3RyYXA1LnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9zaGlueS93d3cvc2hhcmVkL3NlbGVjdGl6ZS9zY3NzL3NlbGVjdGl6ZS5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvc2hpbnkvd3d3L3NoYXJlZC9zZWxlY3RpemUvc2Nzcy9wbHVnaW5zL2RyYWdfZHJvcC5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvc2hpbnkvd3d3L3NoYXJlZC9zZWxlY3RpemUvc2Nzcy9wbHVnaW5zL2Ryb3Bkb3duX2hlYWRlci5zY3NzIiwKCQkiQzovVXNlcnMvR3VpbGhlcm1lL0FwcERhdGEvTG9jYWwvUi93aW4tbGlicmFyeS80LjUvc2hpbnkvd3d3L3NoYXJlZC9zZWxlY3RpemUvc2Nzcy9wbHVnaW5zL29wdGdyb3VwX2NvbHVtbnMuc2NzcyIsCgkJIkM6L1VzZXJzL0d1aWxoZXJtZS9BcHBEYXRhL0xvY2FsL1Ivd2luLWxpYnJhcnkvNC41L3NoaW55L3d3dy9zaGFyZWQvc2VsZWN0aXplL3Njc3MvcGx1Z2lucy9yZW1vdmVfYnV0dG9uLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9zaGlueS93d3cvc2hhcmVkL3NlbGVjdGl6ZS9zY3NzL3BsdWdpbnMvY2xlYXJfYnV0dG9uLnNjc3MiLAoJCSJDOi9Vc2Vycy9HdWlsaGVybWUvQXBwRGF0YS9Mb2NhbC9SL3dpbi1saWJyYXJ5LzQuNS9zaGlueS93d3cvc2hhcmVkL3NlbGVjdGl6ZS9zY3NzL3BsdWdpbnMvYXV0b19wb3NpdGlvbi5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGxpYlxcXFxiczVcXFxcc2Nzc1xcXFxfZnVuY3Rpb25zLnNjc3NcIjtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxic2xpYi1zY3NzXFxcXGZ1bmN0aW9ucy5zY3NzXCI7XG5cblxuXG4kYnNsaWItcHJlc2V0LXR5cGU6IGJ1aWx0aW47XG4kYnNsaWItcHJlc2V0LW5hbWU6IHNoaW55O1xuJHdlYi1mb250LXBhdGg6IFwiZm9udC5jc3NcIiAhZGVmYXVsdDtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxidWlsdGluXFxcXGJzNVxcXFxzaGlueVxcXFxfdmFyaWFibGVzLnNjc3NcIjtcbiRlbmFibGUtY3NzZ3JpZDogdHJ1ZSAhZGVmYXVsdDtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxiczNjb21wYXRcXFxcX2RlZmF1bHRzLnNjc3NcIjtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxsaWJcXFxcYnM1XFxcXHNjc3NcXFxcX3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiQzpcXFxcVXNlcnNcXFxcR3VpbGhlcm1lXFxcXEFwcERhdGFcXFxcTG9jYWxcXFxcUlxcXFx3aW4tbGlicmFyeVxcXFw0LjVcXFxcYnNsaWJcXFxcbGliXFxcXGJzNVxcXFxzY3NzXFxcXF92YXJpYWJsZXMtZGFyay5zY3NzXCI7XG4kYm9vdHN0cmFwLXZlcnNpb246IDU7XG4kYnNsaWItcHJlc2V0LW5hbWU6IG51bGwgIWRlZmF1bHQ7XG4kYnNsaWItcHJlc2V0LXR5cGU6IG51bGwgIWRlZmF1bHQ7XG5AaW1wb3J0IFwiQzpcXFxcVXNlcnNcXFxcR3VpbGhlcm1lXFxcXEFwcERhdGFcXFxcTG9jYWxcXFxcUlxcXFx3aW4tbGlicmFyeVxcXFw0LjVcXFxcYnNsaWJcXFxcbGliXFxcXGJzNVxcXFxzY3NzXFxcXF9tYXBzLnNjc3NcIjtcbkBpbXBvcnQgXCJDOlxcXFxVc2Vyc1xcXFxHdWlsaGVybWVcXFxcQXBwRGF0YVxcXFxMb2NhbFxcXFxSXFxcXHdpbi1saWJyYXJ5XFxcXDQuNVxcXFxic2xpYlxcXFxsaWJcXFxcYnM1XFxcXHNjc3NcXFxcX21peGlucy5zY3NzXCI7XG5AaW1wb3J0IFwiQzpcXFxcVXNlcnNcXFxcR3VpbGhlcm1lXFxcXEFwcERhdGFcXFxcTG9jYWxcXFxcUlxcXFx3aW4tbGlicmFyeVxcXFw0LjVcXFxcYnNsaWJcXFxcYnMzY29tcGF0XFxcXF9kZWNsYXJhdGlvbnMuc2Nzc1wiO1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXGJzbGliXFxcXGJ1aWx0aW5cXFxcYnM1XFxcXHNoaW55XFxcXF9taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcIkM6XFxcXFVzZXJzXFxcXEd1aWxoZXJtZVxcXFxBcHBEYXRhXFxcXExvY2FsXFxcXFJcXFxcd2luLWxpYnJhcnlcXFxcNC41XFxcXHNoaW55XFxcXHd3d1xcXFxzaGFyZWRcXFxcc2VsZWN0aXplXFxcXHNjc3NcXFxcc2VsZWN0aXplLmJvb3RzdHJhcDUuc2Nzc1wiOyIsCgkJIi8vIEJvb3RzdHJhcCBmdW5jdGlvbnNcbi8vXG4vLyBVdGlsaXR5IG1peGlucyBhbmQgZnVuY3Rpb25zIGZvciBldmFsdWF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIG9yIHVuaXQoJHByZXYtbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICBAaWYgbGVuZ3RoKCRtYXApID4gMCB7XG4gICAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgICBAaWYgJGZpcnN0LXZhbHVlICE9IDAge1xuICAgICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xvcnNcbkBmdW5jdGlvbiB0by1yZ2IoJHZhbHVlKSB7XG4gIEByZXR1cm4gcmVkKCR2YWx1ZSksIGdyZWVuKCR2YWx1ZSksIGJsdWUoJHZhbHVlKTtcbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuQGZ1bmN0aW9uIHJnYmEtY3NzLXZhcigkaWRlbnRpZmllciwgJHRhcmdldCkge1xuICBAaWYgJGlkZW50aWZpZXIgPT0gXCJib2R5XCIgYW5kICR0YXJnZXQgPT0gXCJiZ1wiIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LWJnLXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfSBAaWYgJGlkZW50aWZpZXIgPT0gXCJib2R5XCIgYW5kICR0YXJnZXQgPT0gXCJ0ZXh0XCIge1xuICAgIEByZXR1cm4gcmdiYSh2YXIoLS0jeyRwcmVmaXh9I3skaWRlbnRpZmllcn0tY29sb3ItcmdiKSwgdmFyKC0tI3skcHJlZml4fSN7JHRhcmdldH0tb3BhY2l0eSkpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHJnYmEodmFyKC0tI3skcHJlZml4fSN7JGlkZW50aWZpZXJ9LXJnYiksIHZhcigtLSN7JHByZWZpeH0jeyR0YXJnZXR9LW9wYWNpdHkpKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gbWFwLWxvb3AoJG1hcCwgJGZ1bmMsICRhcmdzLi4uKSB7XG4gICRfbWFwOiAoKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgLy8gYWxsb3cgdG8gcGFzcyB0aGUgJGtleSBhbmQgJHZhbHVlIG9mIHRoZSBtYXAgYXMgYW4gZnVuY3Rpb24gYXJndW1lbnRcbiAgICAkX2FyZ3M6ICgpO1xuICAgIEBlYWNoICRhcmcgaW4gJGFyZ3Mge1xuICAgICAgJF9hcmdzOiBhcHBlbmQoJF9hcmdzLCBpZigkYXJnID09IFwiJGtleVwiLCAka2V5LCBpZigkYXJnID09IFwiJHZhbHVlXCIsICR2YWx1ZSwgJGFyZykpKTtcbiAgICB9XG5cbiAgICAkX21hcDogbWFwLW1lcmdlKCRfbWFwLCAoJGtleTogY2FsbChnZXQtZnVuY3Rpb24oJGZ1bmMpLCAkX2FyZ3MuLi4pKSk7XG4gIH1cblxuICBAcmV0dXJuICRfbWFwO1xufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBzY3NzL2RvbGxhci12YXJpYWJsZS1wYXR0ZXJuXG5cbkBmdW5jdGlvbiB2YXJpZnkoJGxpc3QpIHtcbiAgJHJlc3VsdDogbnVsbDtcbiAgQGVhY2ggJGVudHJ5IGluICRsaXN0IHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgdmFyKC0tI3skcHJlZml4fSN7JGVudHJ5fSksIHNwYWNlKTtcbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIEludGVybmFsIEJvb3RzdHJhcCBmdW5jdGlvbiB0byB0dXJuIG1hcHMgaW50byBpdHMgbmVnYXRpdmUgdmFyaWFudC5cbi8vIEl0IHByZWZpeGVzIHRoZSBrZXlzIHdpdGggYG5gIGFuZCBtYWtlcyB0aGUgdmFsdWUgbmVnYXRpdmUuXG5AZnVuY3Rpb24gbmVnYXRpdmlmeS1tYXAoJG1hcCkge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIEBpZiAka2V5ICE9IDAge1xuICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsIChcIm5cIiArICRrZXk6ICgtJHZhbHVlKSkpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIEdldCBtdWx0aXBsZSBrZXlzIGZyb20gYSBzYXNzIG1hcFxuQGZ1bmN0aW9uIG1hcC1nZXQtbXVsdGlwbGUoJG1hcCwgJHZhbHVlcykge1xuICAkcmVzdWx0OiAoKTtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgIEBpZiAoaW5kZXgoJHZhbHVlcywgJGtleSkgIT0gbnVsbCkge1xuICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgka2V5OiAkdmFsdWUpKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLyBNZXJnZSBtdWx0aXBsZSBtYXBzXG5AZnVuY3Rpb24gbWFwLW1lcmdlLW11bHRpcGxlKCRtYXBzLi4uKSB7XG4gICRtZXJnZWQtbWFwczogKCk7XG5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgJG1lcmdlZC1tYXBzOiBtYXAtbWVyZ2UoJG1lcmdlZC1tYXBzLCAkbWFwKTtcbiAgfVxuICBAcmV0dXJuICRtZXJnZWQtbWFwcztcbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBTZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL2tldmlud2ViZXIvcGVuL2RYV29Sd1xuLy9cbi8vIFJlcXVpcmVzIHRoZSB1c2Ugb2YgcXVvdGVzIGFyb3VuZCBkYXRhIFVSSXMuXG5cbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcbiAgQGlmIHN0ci1pbmRleCgkc3RyaW5nLCBcImRhdGE6aW1hZ2Uvc3ZnK3htbFwiKSB7XG4gICAgQGVhY2ggJGNoYXIsICRlbmNvZGVkIGluICRlc2NhcGVkLWNoYXJhY3RlcnMge1xuICAgICAgLy8gRG8gbm90IGVzY2FwZSB0aGUgdXJsIGJyYWNrZXRzXG4gICAgICBAaWYgc3RyLWluZGV4KCRzdHJpbmcsIFwidXJsKFwiKSA9PSAxIHtcbiAgICAgICAgJHN0cmluZzogdXJsKFwiI3tzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgNiwgLTMpLCAkY2hhciwgJGVuY29kZWQpfVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3Rcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zMDE2OFxuXG4vLyBBIGxpc3Qgb2YgcHJlLWNhbGN1bGF0ZWQgbnVtYmVycyBvZiBwb3coZGl2aWRlKChkaXZpZGUoJHZhbHVlLCAyNTUpICsgLjA1NSksIDEuMDU1KSwgMi40KS4gKGZyb20gMCB0byAyNTUpXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtcGF0dGVyblxuJF9sdW1pbmFuY2UtbGlzdDogLjAwMDggLjAwMSAuMDAxMSAuMDAxMyAuMDAxNSAuMDAxNyAuMDAyIC4wMDIyIC4wMDI1IC4wMDI3IC4wMDMgLjAwMzMgLjAwMzcgLjAwNCAuMDA0NCAuMDA0OCAuMDA1MiAuMDA1NiAuMDA2IC4wMDY1IC4wMDcgLjAwNzUgLjAwOCAuMDA4NiAuMDA5MSAuMDA5NyAuMDEwMyAuMDExIC4wMTE2IC4wMTIzIC4wMTMgLjAxMzcgLjAxNDQgLjAxNTIgLjAxNiAuMDE2OCAuMDE3NiAuMDE4NSAuMDE5NCAuMDIwMyAuMDIxMiAuMDIyMiAuMDIzMiAuMDI0MiAuMDI1MiAuMDI2MiAuMDI3MyAuMDI4NCAuMDI5NiAuMDMwNyAuMDMxOSAuMDMzMSAuMDM0MyAuMDM1NiAuMDM2OSAuMDM4MiAuMDM5NSAuMDQwOSAuMDQyMyAuMDQzNyAuMDQ1MiAuMDQ2NyAuMDQ4MiAuMDQ5NyAuMDUxMyAuMDUyOSAuMDU0NSAuMDU2MSAuMDU3OCAuMDU5NSAuMDYxMiAuMDYzIC4wNjQ4IC4wNjY2IC4wNjg1IC4wNzA0IC4wNzIzIC4wNzQyIC4wNzYyIC4wNzgyIC4wODAyIC4wODIzIC4wODQ0IC4wODY1IC4wODg3IC4wOTA4IC4wOTMxIC4wOTUzIC4wOTc2IC4wOTk5IC4xMDIyIC4xMDQ2IC4xMDcgLjEwOTUgLjExMTkgLjExNDQgLjExNyAuMTE5NSAuMTIyMSAuMTI0OCAuMTI3NCAuMTMwMSAuMTMyOSAuMTM1NiAuMTM4NCAuMTQxMyAuMTQ0MSAuMTQ3IC4xNSAuMTUyOSAuMTU1OSAuMTU5IC4xNjIgLjE2NTEgLjE2ODMgLjE3MTQgLjE3NDYgLjE3NzkgLjE4MTIgLjE4NDUgLjE4NzggLjE5MTIgLjE5NDYgLjE5ODEgLjIwMTYgLjIwNTEgLjIwODYgLjIxMjIgLjIxNTkgLjIxOTUgLjIyMzIgLjIyNyAuMjMwNyAuMjM0NiAuMjM4NCAuMjQyMyAuMjQ2MiAuMjUwMiAuMjU0MiAuMjU4MiAuMjYyMyAuMjY2NCAuMjcwNSAuMjc0NyAuMjc4OSAuMjgzMSAuMjg3NCAuMjkxOCAuMjk2MSAuMzAwNSAuMzA1IC4zMDk1IC4zMTQgLjMxODUgLjMyMzEgLjMyNzggLjMzMjUgLjMzNzIgLjM0MTkgLjM0NjcgLjM1MTUgLjM1NjQgLjM2MTMgLjM2NjMgLjM3MTIgLjM3NjMgLjM4MTMgLjM4NjQgLjM5MTYgLjM5NjggLjQwMiAuNDA3MiAuNDEyNSAuNDE3OSAuNDIzMyAuNDI4NyAuNDM0MiAuNDM5NyAuNDQ1MiAuNDUwOCAuNDU2NCAuNDYyMSAuNDY3OCAuNDczNSAuNDc5MyAuNDg1MSAuNDkxIC40OTY5IC41MDI5IC41MDg5IC41MTQ5IC41MjEgLjUyNzEgLjUzMzMgLjUzOTUgLjU0NTcgLjU1MiAuNTU4MyAuNTY0NyAuNTcxMSAuNTc3NiAuNTg0MSAuNTkwNiAuNTk3MiAuNjAzOCAuNjEwNSAuNjE3MiAuNjI0IC42MzA4IC42Mzc2IC42NDQ1IC42NTE0IC42NTg0IC42NjU0IC42NzI0IC42Nzk1IC42ODY3IC42OTM5IC43MDExIC43MDg0IC43MTU3IC43MjMxIC43MzA1IC43Mzc5IC43NDU0IC43NTI5IC43NjA1IC43NjgyIC43NzU4IC43ODM1IC43OTEzIC43OTkxIC44MDcgLjgxNDggLjgyMjggLjgzMDggLjgzODggLjg0NjkgLjg1NSAuODYzMiAuODcxNCAuODc5NiAuODg3OSAuODk2MyAuOTA0NyAuOTEzMSAuOTIxNiAuOTMwMSAuOTM4NyAuOTQ3MyAuOTU2IC45NjQ3IC45NzM0IC45ODIzIC45OTExIDE7XG5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCwgJGNvbG9yLWNvbnRyYXN0LWRhcms6ICRjb2xvci1jb250cmFzdC1kYXJrLCAkY29sb3ItY29udHJhc3QtbGlnaHQ6ICRjb2xvci1jb250cmFzdC1saWdodCwgJG1pbi1jb250cmFzdC1yYXRpbzogJG1pbi1jb250cmFzdC1yYXRpbykge1xuICAkZm9yZWdyb3VuZHM6ICRjb2xvci1jb250cmFzdC1saWdodCwgJGNvbG9yLWNvbnRyYXN0LWRhcmssICR3aGl0ZSwgJGJsYWNrO1xuICAkbWF4LXJhdGlvOiAwO1xuICAkbWF4LXJhdGlvLWNvbG9yOiBudWxsO1xuXG4gIEBlYWNoICRjb2xvciBpbiAkZm9yZWdyb3VuZHMge1xuICAgICRjb250cmFzdC1yYXRpbzogY29udHJhc3QtcmF0aW8oJGJhY2tncm91bmQsICRjb2xvcik7XG4gICAgQGlmICRjb250cmFzdC1yYXRpbyA+ICRtaW4tY29udHJhc3QtcmF0aW8ge1xuICAgICAgQHJldHVybiAkY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWF4LXJhdGlvIHtcbiAgICAgICRtYXgtcmF0aW86ICRjb250cmFzdC1yYXRpbztcbiAgICAgICRtYXgtcmF0aW8tY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cblxuICBAd2FybiBcIkZvdW5kIG5vIGNvbG9yIGxlYWRpbmcgdG8gI3skbWluLWNvbnRyYXN0LXJhdGlvfToxIGNvbnRyYXN0IHJhdGlvIGFnYWluc3QgI3skYmFja2dyb3VuZH0uLi5cIjtcblxuICBAcmV0dXJuICRtYXgtcmF0aW8tY29sb3I7XG59XG5cbkBmdW5jdGlvbiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGZvcmVncm91bmQ6ICRjb2xvci1jb250cmFzdC1saWdodCkge1xuICAkbDE6IGx1bWluYW5jZSgkYmFja2dyb3VuZCk7XG4gICRsMjogbHVtaW5hbmNlKG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpKTtcblxuICBAcmV0dXJuIGlmKCRsMSA+ICRsMiwgZGl2aWRlKCRsMSArIC4wNSwgJGwyICsgLjA1KSwgZGl2aWRlKCRsMiArIC4wNSwgJGwxICsgLjA1KSk7XG59XG5cbi8vIFJldHVybiBXQ0FHMi4xIHJlbGF0aXZlIGx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHLyNkZm4tcmVsYXRpdmUtbHVtaW5hbmNlXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcvI2Rmbi1jb250cmFzdC1yYXRpb1xuQGZ1bmN0aW9uIGx1bWluYW5jZSgkY29sb3IpIHtcbiAgJHJnYjogKFxuICAgIFwiclwiOiByZWQoJGNvbG9yKSxcbiAgICBcImdcIjogZ3JlZW4oJGNvbG9yKSxcbiAgICBcImJcIjogYmx1ZSgkY29sb3IpXG4gICk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkcmdiIHtcbiAgICAkdmFsdWU6IGlmKGRpdmlkZSgkdmFsdWUsIDI1NSkgPCAuMDQwNDUsIGRpdmlkZShkaXZpZGUoJHZhbHVlLCAyNTUpLCAxMi45MiksIG50aCgkX2x1bWluYW5jZS1saXN0LCAkdmFsdWUgKyAxKSk7XG4gICAgJHJnYjogbWFwLW1lcmdlKCRyZ2IsICgkbmFtZTogJHZhbHVlKSk7XG4gIH1cblxuICBAcmV0dXJuIChtYXAtZ2V0KCRyZ2IsIFwiclwiKSAqIC4yMTI2KSArIChtYXAtZ2V0KCRyZ2IsIFwiZ1wiKSAqIC43MTUyKSArIChtYXAtZ2V0KCRyZ2IsIFwiYlwiKSAqIC4wNzIyKTtcbn1cblxuLy8gUmV0dXJuIG9wYXF1ZSBjb2xvclxuLy8gb3BhcXVlKCNmZmYsIHJnYmEoMCwgMCwgMCwgLjUpKSA9PiAjODA4MDgwXG5AZnVuY3Rpb24gb3BhcXVlKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZCkge1xuICBAcmV0dXJuIG1peChyZ2JhKCRmb3JlZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQsIG9wYWNpdHkoJGZvcmVncm91bmQpICogMTAwJSk7XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvci1mdW5jdGlvbnNcbi8vIFRpbnQgYSBjb2xvcjogbWl4IGEgY29sb3Igd2l0aCB3aGl0ZVxuQGZ1bmN0aW9uIHRpbnQtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSB7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICR3ZWlnaHQpO1xufVxuXG4vLyBTaGFkZSBhIGNvbG9yOiBtaXggYSBjb2xvciB3aXRoIGJsYWNrXG5AZnVuY3Rpb24gc2hhZGUtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSB7XG4gIEByZXR1cm4gbWl4KGJsYWNrLCAkY29sb3IsICR3ZWlnaHQpO1xufVxuXG4vLyBTaGFkZSB0aGUgY29sb3IgaWYgdGhlIHdlaWdodCBpcyBwb3NpdGl2ZSwgZWxzZSB0aW50IGl0XG5AZnVuY3Rpb24gc2hpZnQtY29sb3IoJGNvbG9yLCAkd2VpZ2h0KSB7XG4gIEByZXR1cm4gaWYoJHdlaWdodCA+IDAsIHNoYWRlLWNvbG9yKCRjb2xvciwgJHdlaWdodCksIHRpbnQtY29sb3IoJGNvbG9yLCAtJHdlaWdodCkpO1xufVxuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvci1mdW5jdGlvbnNcblxuLy8gUmV0dXJuIHZhbGlkIGNhbGNcbkBmdW5jdGlvbiBhZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHZhbHVlMikgIT0gbnVtYmVyIHtcbiAgICAkdmFsdWUyOiB1bnF1b3RlKFwiKFwiKSArICR2YWx1ZTIgKyB1bnF1b3RlKFwiKVwiKTtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHJldHVybi1jYWxjID09IHRydWUsIGNhbGMoI3skdmFsdWUxfSAtICN7JHZhbHVlMn0pLCAkdmFsdWUxICsgdW5xdW90ZShcIiAtIFwiKSArICR2YWx1ZTIpO1xufVxuXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICAkcmVzdWx0OiAwO1xuICAkZmFjdG9yOiAxMDtcbiAgQHdoaWxlICgkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+PSAwKSB7XG4gICAgJHF1b3RpZW50OiAwO1xuICAgIEB3aGlsZSAoJHJlbWFpbmRlciA+PSAkZGl2aXNvcikge1xuICAgICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICAgICAgJHF1b3RpZW50OiAkcXVvdGllbnQgKyAxO1xuICAgIH1cbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkcXVvdGllbnQ7XG4gICAgJGZhY3RvcjogJGZhY3RvciAqIC4xO1xuICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgKiAxMDtcbiAgICAkcHJlY2lzaW9uOiAkcHJlY2lzaW9uIC0gMTtcbiAgICBAaWYgKCRwcmVjaXNpb24gPCAwIGFuZCAkcmVtYWluZGVyID49ICRkaXZpc29yICogNSkge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIDE7XG4gICAgfVxuICB9XG4gICRyZXN1bHQ6ICRyZXN1bHQgKiAkZmFjdG9yICogJHNpZ247XG4gICRkaXZpZGVuZC11bml0OiB1bml0KCRkaXZpZGVuZCk7XG4gICRkaXZpc29yLXVuaXQ6IHVuaXQoJGRpdmlzb3IpO1xuICAkdW5pdC1tYXA6IChcbiAgICBcInB4XCI6IDFweCxcbiAgICBcInJlbVwiOiAxcmVtLFxuICAgIFwiZW1cIjogMWVtLFxuICAgIFwiJVwiOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuIiwKCQkiLy8gY29sb3ItY29udHJhc3QoKSB3YXMgaW50cm9kdWNlZCBpbiBCb290c3RyYXAgNS5cbi8vIFdlIGluY2x1ZGUgb3VyIG93biB2ZXJzaW9uIGZvciBhIGZldyByZWFzb25zOlxuLy8gMS4gRWFzaWx5IHR1cm4gb2ZmIHdhcm5pbmdzIG9wdGlvbnMoYnNsaWIuY29sb3JfY29udHJhc3Rfd2FybmluZ3M9Rilcbi8vIDIuIEFsbG93IEJvb3RzdHJhcCAzICYgNCB0byB1c2UgY29sb3ItY29udHJhc3QoKSBpbiB2YXJpYWJsZSBkZWZpbml0aW9uc1xuLy8gMy4gQWxsb3cgQm9vdHN0cmFwIDMgJiA0IHRvIHVzZSBic19nZXRfY29udHJhc3QoKVxuXG4vLyBBbHNvIG5vdGUgdGhhdCBjb2xvci1jb250cmFzdCgpIGxpdmVzIGluIHNhc3MtdXRpbHMgc2luY2UgcHJvamVjdHMgbGlrZSBRdWFydG9cbi8vIGFuZCBmbGV4ZGFzaGJvYXJkIGN1cnJlbnRseSBhc3N1bWUgaXQgZXhpc3RzIHRoZXJlLi4uLlxuQGltcG9ydCBcIi4uL3Nhc3MtdXRpbHMvY29sb3ItY29udHJhc3Quc2Nzc1wiO1xuXG5cbkBmdW5jdGlvbiBpcy1jc3MtdmFyaWFibGUoJHgpIHtcbiAgQGlmICh0eXBlLW9mKCR4KSAhPSBzdHJpbmcpIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkeCwgMSwgNikgPT0gJ3ZhcigtLSc7XG4gIH1cbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvciBjb250cmFzdGluZyAoYmFja3BvcnRlZCB0byBCUzQgZnJvbSBCUzUpXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzAxNjhcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEEgbGlzdCBvZiBwcmUtY2FsY3VsYXRlZCBudW1iZXJzIG9mIHBvdyhkaXZpZGUoKGRpdmlkZSgkdmFsdWUsIDI1NSkgKyAuMDU1KSwgMS4wNTUpLCAyLjQpLiAoZnJvbSAwIHRvIDI1NSlcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1wYXR0ZXJuXG4kX2x1bWluYW5jZS1saXN0OiAuMDAwOCAuMDAxIC4wMDExIC4wMDEzIC4wMDE1IC4wMDE3IC4wMDIgLjAwMjIgLjAwMjUgLjAwMjcgLjAwMyAuMDAzMyAuMDAzNyAuMDA0IC4wMDQ0IC4wMDQ4IC4wMDUyIC4wMDU2IC4wMDYgLjAwNjUgLjAwNyAuMDA3NSAuMDA4IC4wMDg2IC4wMDkxIC4wMDk3IC4wMTAzIC4wMTEgLjAxMTYgLjAxMjMgLjAxMyAuMDEzNyAuMDE0NCAuMDE1MiAuMDE2IC4wMTY4IC4wMTc2IC4wMTg1IC4wMTk0IC4wMjAzIC4wMjEyIC4wMjIyIC4wMjMyIC4wMjQyIC4wMjUyIC4wMjYyIC4wMjczIC4wMjg0IC4wMjk2IC4wMzA3IC4wMzE5IC4wMzMxIC4wMzQzIC4wMzU2IC4wMzY5IC4wMzgyIC4wMzk1IC4wNDA5IC4wNDIzIC4wNDM3IC4wNDUyIC4wNDY3IC4wNDgyIC4wNDk3IC4wNTEzIC4wNTI5IC4wNTQ1IC4wNTYxIC4wNTc4IC4wNTk1IC4wNjEyIC4wNjMgLjA2NDggLjA2NjYgLjA2ODUgLjA3MDQgLjA3MjMgLjA3NDIgLjA3NjIgLjA3ODIgLjA4MDIgLjA4MjMgLjA4NDQgLjA4NjUgLjA4ODcgLjA5MDggLjA5MzEgLjA5NTMgLjA5NzYgLjA5OTkgLjEwMjIgLjEwNDYgLjEwNyAuMTA5NSAuMTExOSAuMTE0NCAuMTE3IC4xMTk1IC4xMjIxIC4xMjQ4IC4xMjc0IC4xMzAxIC4xMzI5IC4xMzU2IC4xMzg0IC4xNDEzIC4xNDQxIC4xNDcgLjE1IC4xNTI5IC4xNTU5IC4xNTkgLjE2MiAuMTY1MSAuMTY4MyAuMTcxNCAuMTc0NiAuMTc3OSAuMTgxMiAuMTg0NSAuMTg3OCAuMTkxMiAuMTk0NiAuMTk4MSAuMjAxNiAuMjA1MSAuMjA4NiAuMjEyMiAuMjE1OSAuMjE5NSAuMjIzMiAuMjI3IC4yMzA3IC4yMzQ2IC4yMzg0IC4yNDIzIC4yNDYyIC4yNTAyIC4yNTQyIC4yNTgyIC4yNjIzIC4yNjY0IC4yNzA1IC4yNzQ3IC4yNzg5IC4yODMxIC4yODc0IC4yOTE4IC4yOTYxIC4zMDA1IC4zMDUgLjMwOTUgLjMxNCAuMzE4NSAuMzIzMSAuMzI3OCAuMzMyNSAuMzM3MiAuMzQxOSAuMzQ2NyAuMzUxNSAuMzU2NCAuMzYxMyAuMzY2MyAuMzcxMiAuMzc2MyAuMzgxMyAuMzg2NCAuMzkxNiAuMzk2OCAuNDAyIC40MDcyIC40MTI1IC40MTc5IC40MjMzIC40Mjg3IC40MzQyIC40Mzk3IC40NDUyIC40NTA4IC40NTY0IC40NjIxIC40Njc4IC40NzM1IC40NzkzIC40ODUxIC40OTEgLjQ5NjkgLjUwMjkgLjUwODkgLjUxNDkgLjUyMSAuNTI3MSAuNTMzMyAuNTM5NSAuNTQ1NyAuNTUyIC41NTgzIC41NjQ3IC41NzExIC41Nzc2IC41ODQxIC41OTA2IC41OTcyIC42MDM4IC42MTA1IC42MTcyIC42MjQgLjYzMDggLjYzNzYgLjY0NDUgLjY1MTQgLjY1ODQgLjY2NTQgLjY3MjQgLjY3OTUgLjY4NjcgLjY5MzkgLjcwMTEgLjcwODQgLjcxNTcgLjcyMzEgLjczMDUgLjczNzkgLjc0NTQgLjc1MjkgLjc2MDUgLjc2ODIgLjc3NTggLjc4MzUgLjc5MTMgLjc5OTEgLjgwNyAuODE0OCAuODIyOCAuODMwOCAuODM4OCAuODQ2OSAuODU1IC44NjMyIC44NzE0IC44Nzk2IC44ODc5IC44OTYzIC45MDQ3IC45MTMxIC45MjE2IC45MzAxIC45Mzg3IC45NDczIC45NTYgLjk2NDcgLjk3MzQgLjk4MjMgLjk5MTEgMTtcblxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZHM6IG51bGwpIHtcblxuICAvLyBUaGVzZSB2YXJpYWJsZXMgc2hvdWxkIGJlIGRlZmluZWQgaW4gX3ZhcmlhYmxlcy5zY3NzLCBidXQgd2UgYWxzb1xuICAvLyBkZWZpbmUgdGhlbSBoZXJlIHNvIHRoYXQgM3JkIHBhcnR5IGxpYnMgY2FuIHVzZSBpZiB0aGV5IHdhbnRcbiAgLy8gd2l0aG91dCBwb2xsdXRpbmcgdGhlIGdsb2JhbCBuYW1lc3BhY2VcbiAgJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xuICAkd2hpdGU6ICNmZmYgIWRlZmF1bHQ7XG4gICRjb2xvci1jb250cmFzdC1kYXJrOiAkYmxhY2sgIWRlZmF1bHQ7XG4gICRjb2xvci1jb250cmFzdC1saWdodDogJHdoaXRlICFkZWZhdWx0O1xuICAkbWluLWNvbnRyYXN0LXJhdGlvOiAzICFkZWZhdWx0O1xuXG4gIEBpZiAkZm9yZWdyb3VuZHMgPT0gbnVsbCB7XG4gICAgJGZvcmVncm91bmRzOiAkY29sb3ItY29udHJhc3QtbGlnaHQsICRjb2xvci1jb250cmFzdC1kYXJrLCAkd2hpdGUsICRibGFjaztcbiAgfSBAZWxzZSB7XG4gICAgJGZvcmVncm91bmRzOiAkZm9yZWdyb3VuZHMsICRjb2xvci1jb250cmFzdC1saWdodCwgJGNvbG9yLWNvbnRyYXN0LWRhcmssICR3aGl0ZSwgJGJsYWNrO1xuICB9XG5cbiAgJG1heC1yYXRpbzogMDtcbiAgJG1heC1yYXRpby1jb2xvcjogbnVsbDtcblxuICBAZWFjaCAkY29sb3IgaW4gJGZvcmVncm91bmRzIHtcbiAgICAkY29udHJhc3QtcmF0aW86IGNvbnRyYXN0LXJhdGlvKCRiYWNrZ3JvdW5kLCAkY29sb3IpO1xuICAgIEBpZiAkY29udHJhc3QtcmF0aW8gPiAkbWluLWNvbnRyYXN0LXJhdGlvIHtcbiAgICAgIEByZXR1cm4gJGNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGNvbnRyYXN0LXJhdGlvID4gJG1heC1yYXRpbyB7XG4gICAgICAkbWF4LXJhdGlvOiAkY29udHJhc3QtcmF0aW87XG4gICAgICAkbWF4LXJhdGlvLWNvbG9yOiAkY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJGNvbG9yLWNvbnRyYXN0LXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcbiAgQGlmICRjb2xvci1jb250cmFzdC13YXJuaW5ncyB7XG4gICAgQHdhcm4gXCJGb3VuZCBubyBjb2xvciBsZWFkaW5nIHRvICN7JG1pbi1jb250cmFzdC1yYXRpb306MSBjb250cmFzdCByYXRpbyBhZ2FpbnN0ICN7JGJhY2tncm91bmR9Li4uXCI7XG4gIH1cblxuICBAcmV0dXJuICRtYXgtcmF0aW8tY29sb3I7XG59XG5cbkBmdW5jdGlvbiBjb250cmFzdC1yYXRpbygkYmFja2dyb3VuZCwgJGZvcmVncm91bmQ6ICRjb2xvci1jb250cmFzdC1saWdodCkge1xuICAkbDE6IGx1bWluYW5jZSgkYmFja2dyb3VuZCk7XG4gICRsMjogbHVtaW5hbmNlKG9wYXF1ZSgkYmFja2dyb3VuZCwgJGZvcmVncm91bmQpKTtcblxuICBAcmV0dXJuIGlmKCRsMSA+ICRsMiwgZGl2aWRlKCRsMSArIC4wNSwgJGwyICsgLjA1KSwgZGl2aWRlKCRsMiArIC4wNSwgJGwxICsgLjA1KSk7XG59XG5cbi8vIFJldHVybiBXQ0FHMi4wIHJlbGF0aXZlIGx1bWluYW5jZVxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvR0wvd2lraS9SZWxhdGl2ZV9sdW1pbmFuY2Vcbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvV0NBRzIwLVRFQ0hTL0cxNy5odG1sI0cxNy10ZXN0c1xuQGZ1bmN0aW9uIGx1bWluYW5jZSgkY29sb3IpIHtcbiAgJHJnYjogKFxuICAgIFwiclwiOiByZWQoJGNvbG9yKSxcbiAgICBcImdcIjogZ3JlZW4oJGNvbG9yKSxcbiAgICBcImJcIjogYmx1ZSgkY29sb3IpXG4gICk7XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkcmdiIHtcbiAgICAkdmFsdWU6IGlmKGRpdmlkZSgkdmFsdWUsIDI1NSkgPCAuMDQwNDUsIGRpdmlkZShkaXZpZGUoJHZhbHVlLCAyNTUpLCAxMi45MiksIG50aCgkX2x1bWluYW5jZS1saXN0LCAkdmFsdWUgKyAxKSk7XG4gICAgJHJnYjogbWFwLW1lcmdlKCRyZ2IsICgkbmFtZTogJHZhbHVlKSk7XG4gIH1cblxuICBAcmV0dXJuIChtYXAtZ2V0KCRyZ2IsIFwiclwiKSAqIC4yMTI2KSArIChtYXAtZ2V0KCRyZ2IsIFwiZ1wiKSAqIC43MTUyKSArIChtYXAtZ2V0KCRyZ2IsIFwiYlwiKSAqIC4wNzIyKTtcbn1cblxuLy8gUmV0dXJuIG9wYXF1ZSBjb2xvclxuLy8gb3BhcXVlKCNmZmYsIHJnYmEoMCwgMCwgMCwgLjUpKSA9PiAjODA4MDgwXG5AZnVuY3Rpb24gb3BhcXVlKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZCkge1xuICBAcmV0dXJuIG1peChyZ2JhKCRmb3JlZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQsIG9wYWNpdHkoJGZvcmVncm91bmQpICogMTAwJSk7XG59XG5cbi8vIEFkZGVkIGluIEJTNSBhcyBhbiBhbHRlcm5hdGl2ZSB0byB0aGUgXFwgb3BlcmF0b3IsIHdoaWNoXG4vLyB0aHJvd3Mgd2FybmluZ3MgaW4gRGFydCBTYXNzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNDI0NVxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbiIsCgkJIiRibHVlOiAjMDA3YmMyICFkZWZhdWx0O1xuJGluZGlnbzogIzRiMDBjMSAhZGVmYXVsdDtcbiRwdXJwbGU6ICM3NDE0OWMgIWRlZmF1bHQ7XG4kcGluazogI2JmMDA3ZiAhZGVmYXVsdDtcbiRyZWQ6ICNjMTAwMDAgIWRlZmF1bHQ7XG4kb3JhbmdlOiAjZjQ1MTAwICFkZWZhdWx0O1xuJHllbGxvdzogI2Y5YjkyOCAhZGVmYXVsdDtcbiRncmVlbjogIzAwODkxYSAhZGVmYXVsdDtcbiR0ZWFsOiAjMDBiZjdmICFkZWZhdWx0O1xuJGN5YW46ICMwM2M3ZTggIWRlZmF1bHQ7XG4kd2hpdGU6ICNmZmZmZmYgIWRlZmF1bHQ7XG5cbiRncmF5OiAjNjA2MDYwICFkZWZhdWx0O1xuJGdyYXktZGFyazogIzMwMzAzMCAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NkZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogIzhEOTU5RSAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzcwNzc4MiAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ4NTA1RiAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M0E0NiAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzFEMUYyMSAhZGVmYXVsdDtcblxuJGRlZmF1bHQ6ICRncmF5LTMwMCAhZGVmYXVsdDtcbiRwcmltYXJ5OiAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICM0MDQwNDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogIzIwMjAyMCAhZGVmYXVsdDtcblxuJGRlZmF1bHQtcmdiOiAyMjIsIDIyNiwgMjMwICFkZWZhdWx0O1xuJHByaW1hcnktcmdiOiAwLCAxMjMsIDE5NCAhZGVmYXVsdDtcbiRzZWNvbmRhcnktcmdiOiA2NCwgNjQsIDY0ICFkZWZhdWx0O1xuJHN1Y2Nlc3MtcmdiOiAwLCAxMzcsIDI2ICFkZWZhdWx0O1xuJGluZm8tcmdiOiAzLCAxOTksIDIzMiAhZGVmYXVsdDtcbiR3YXJuaW5nLXJnYjogMjQ5LCAxODUsIDQwICFkZWZhdWx0O1xuJGRhbmdlci1yZ2I6IDE5MywgMCwgMCAhZGVmYXVsdDtcbiRsaWdodC1yZ2I6IDI0OCwgMjQ4LCAyNDggIWRlZmF1bHQ7XG4kZGFyay1yZ2I6IDMyLCAzMiwgMzIgIWRlZmF1bHQ7XG4kd2hpdGUtcmdiOiAyNTUsIDI1NSwgMjU1ICFkZWZhdWx0O1xuJGJsYWNrLXJnYjogMCwgMCwgMCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yLXJnYjogNTIsIDU4LCA3MCAhZGVmYXVsdDtcbiRib2R5LWJnLXJnYjogMjU1LCAyNTUsIDI1NSAhZGVmYXVsdDtcblxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoXG4gIDE4MGRlZyxcbiAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSxcbiAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKVxuKSAhZGVmYXVsdDtcblxuJGJvZHktY29sb3I6ICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRwcmVmaXg6IGJzLSAhZGVmYXVsdDtcblxuLy8gRm9udHNcbiRmb250LWZhbWlseS1iYXNlOiBcIk9wZW4gU2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogXCJTb3VyY2UgQ29kZSBQcm9cIiwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZVx0IWRlZmF1bHQ7XG5cbiRyb290LWZvbnQtc2l6ZTogMThweCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRoMS1mb250LXNpemU6IDIuMXJlbSAhZGVmYXVsdDtcblxuJGJvZHktZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xuXG4vLyBTcGFjaW5nXG4kYnNsaWItc3BhY2VyOiAxLjVyZW0gIWRlZmF1bHQ7XG4kaHItbWFyZ2luLXk6IDJyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogMC42NnJlbSAhZGVmYXVsdDtcblxuLy8gSW5wdXRzXG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogMTVweCAhZGVmYXVsdDtcblxuLy8gQnV0dG9uc1xuJGJ0bi1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXk6IDAuNzVlbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAyZW0gIWRlZmF1bHQ7XG5cbi8vIEZvcm0gY29udHJvbHNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAxLjJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206IDAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlcnNcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBEZWZhdWx0cyB0byAkZ3JheTcwMCwgb2Ygd2hpY2ggd2UndmUgc2V0IHRvIGEgYmx1ZWlzaC1ncmF5LCB3aGljaCBsb29rcyBhIGJpdCB3ZWlyZC4uLlxuLy8gV2UgY291bGQgZ28gZm9yd2FyZCB3aXRoIHRoZSBibHVlLWlzaCBncmF5LCBidXQgaWYgd2UgZG8sIHdlJ2xsIHdhbnQgdG8gYWxzbyBtYWtlXG4vLyAkYm9yZGVyLWNvbG9yLXRyYW5zbHVjZW50LWRhcmsgYSBiaXQgbW9yZSBibHVlaXNoXG4kYm9yZGVyLWNvbG9yLWRhcms6ICM0OTUwNTcgIWRlZmF1bHQ7XG5cbi8vIFRhYmxlc1xuJHRhYmxlLXN0cmlwZWQtYmc6IHJnYmEoJHByaW1hcnksIDAuMDYpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiByZ2JhKCRwcmltYXJ5LCAwLjEpICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vIEJveCBTaGFkb3dzXG4vLyA9PiBUaGVzZSBhcmUgc2hpbnktcHJlc2V0LXNwZWNpZmljLCBob3BpbmcgQm9vdHN0cmFwIGFkZHMgc29tZXRoaW5nIGxpa2UgdGhpc1xuJGJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiOiAyOSwgMzEsIDMzICFkZWZhdWx0O1xuJGJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiLWRhcms6IDAsIDAsIDAgIWRlZmF1bHQ7XG5cbiRib3gtc2hhZG93LXNtOlxuICAwcHggMHB4IDJweCAwcHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIDAuMTQpLFxuICAwcHggMnB4IDRweCAwcHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIDAuMTYpICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdzpcbiAgMHB4IDFweCAycHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIC4xKSxcbiAgMHB4IDNweCA3cHggUkdCQSh2YXIoLS1ic2xpYi1ib3gtc2hhZG93LWNvbG9yLXJnYiksIC4xKSxcbiAgMHB4IDEycHggMzBweCBSR0JBKHZhcigtLWJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiKSwgLjA4KSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctbGc6XG4gIDBweCA0cHggMTBweCBSR0JBKHZhcigtLWJzbGliLWJveC1zaGFkb3ctY29sb3ItcmdiKSwgLjEpLFxuICAwcHggMTJweCAzMHB4IFJHQkEodmFyKC0tYnNsaWItYm94LXNoYWRvdy1jb2xvci1yZ2IpLCAwLjE3KSAhZGVmYXVsdDtcblxuLy8gUG9wb3ZlclxuJHBvcG92ZXItYm94LXNoYWRvdzogJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vIENhcmRzXG4kY2FyZC1ib3JkZXItcmFkaXVzOiA4cHggIWRlZmF1bHQ7XG5cbi8vIGJzbGliIERhc2hib2FyZCBTdHlsZXNcbi8vIFwiRGFzaGJvYXJkXCIgc3R5bGVzIGdpdmUgeW91OlxuLy8gKiBzb2Z0ZXIgYm9yZGVyc1xuLy8gKiB3aGl0ZSBjYXJkc1xuLy8gKiBib3ggc2hhZG93IG9uIGNhcmRzXG4vLyAqIHdoaXRlIHNpZGViYXJzXG4vLyAqIGxpZ2h0IGdyYXkgYmFja2dyb3VuZCBpbiB0aGUgbWFpbiBjb250YWluZXIocylcbi8vICogd2hpdGUgbmF2YmFyIGFuZCB0aXRsZSBwYW5lbFxuXG4kYnNsaWItZGFzaGJvYXJkLWRlc2lnbjogdHJ1ZSAhZGVmYXVsdDtcbiRic2xpYi1lbmFibGUtc2hhZG93czogJGJzbGliLWRhc2hib2FyZC1kZXNpZ24gIWRlZmF1bHQ7XG5cbiRic2xpYi1zaWRlYmFyLWJnOiBudWxsICFkZWZhdWx0O1xuJGJzbGliLXNpZGViYXItZmc6IG51bGwgIWRlZmF1bHQ7XG5cbkBpZiAkYnNsaWItc2lkZWJhci1iZyA9PSBudWxsIHtcbiAgLy8gaWYgc2lkZWJhci1iZyBub3Qgc2V0IGJ5IHVzZXIsIGRlZmF1bHQgdG8gYm9keSBiYWNrZ3JvdW5kXG4gICRic2xpYi1zaWRlYmFyLWJnOiBSR0JBKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIDAuMDUpO1xufSBAZWxzZSBpZiAkYnNsaWItc2lkZWJhci1mZyA9PSBudWxsIGFuZCB0eXBlLW9mKCRic2xpYi1zaWRlYmFyLWJnKSA9PSBcImNvbG9yXCIge1xuICAvLyBpZiBzaWRlYmFyLWJnIGJ1dCBub3QgLWZnIHNldCBieSB0aGUgdXNlciwgZmluZCBhIGNvbnRyYXN0aW5nIGNvbG9yXG4gICRic2xpYi1zaWRlYmFyLWZnOiBjb2xvci1jb250cmFzdCgkYnNsaWItc2lkZWJhci1iZyk7XG59XG5cbi8vIEZyb20gaW5zdC9saWIvYnM1L3Njc3MvX3ZhcmlhYmxlcy5zY3NzXG4vLyBSZXBlYXRlZCBoZXJlIHNvIHRoYXQgd2UgY2FuIHNldCBuYXZiYXIgbGlnaHQvZGFyayB0byBgLS1icy1ib2R5LWJnYFxuJG5hdmJhci1iZzogICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW55IG5hdmJhclBhZ2UoKVxuJG5hdmJhci1saWdodC1iZzogJG5hdmJhci1iZyAhZGVmYXVsdDsgLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgbmF2YmFyUGFnZShpbnZlcnNlID0gRkFMU0UpXG4kbmF2YmFyLWRhcmstYmc6ICAkbmF2YmFyLWJnICFkZWZhdWx0OyAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBuYXZiYXJQYWdlKGludmVyc2UgPSBUUlVFKVxuXG5AaWYgJGJzbGliLWRhc2hib2FyZC1kZXNpZ24gYW5kICRuYXZiYXItYmcgPT0gbnVsbCB7XG4gIEBpZiAkbmF2YmFyLWxpZ2h0LWJnID09IG51bGwge1xuICAgICRuYXZiYXItbGlnaHQtYmc6IHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKTtcbiAgfVxuICBAaWYgJG5hdmJhci1kYXJrLWJnID09IG51bGwge1xuICAgICRuYXZiYXItZGFyay1iZzogdmFyKC0tI3skcHJlZml4fWJvZHktYmcpO1xuICB9XG59XG5cbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6IGlmKCRic2xpYi1kYXNoYm9hcmQtZGVzaWduLCByZ2JhKDQwLCA3MCwgOTQsIDAuMSksIG51bGwpICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrOiBpZigkYnNsaWItZGFzaGJvYXJkLWRlc2lnbiwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCBudWxsKSAhZGVmYXVsdDtcblxuLy8gTW9kYWxzXG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAxMCUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogMS41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLWJnOiAjNDY0NjQ2ICFkZWZhdWx0O1xuXG4vLyBUb2FzdHNcbiR0b2FzdC1zcGFjaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4vLyBTaGlueTogQmFzZSBzaGlueS5zY3NzIHZhcmlhYmxlc1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1jb2xvcjogY3VycmVudENvbG9yICFkZWZhdWx0O1xuIiwKCQkiLy8gQlMzIGhhZCAubmF2YmFyIHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBCUzUrIHZhcmlhYmxlIHVzZWQgZm9yIHByZWZpeGluZyBDU1MgdmFyc1xuJHByZWZpeDogYnMtICFkZWZhdWx0OyIsCgkJIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIFNlbWFudGljYWxseSwgJHNlY29uZGFyeSBpcyBjbG9zZXN0IHRvIEJTMydzICdkZWZhdWx0JyB0aGVtZSBjb2xvcjtcbi8vIHNvIHVzZSB0aGF0IGlmIHNwZWNpZmllZC4gT3RoZXJ3aXNlLCB1c2UgYSBsaWdodCBpbnN0ZWFkIG9mIGRhcmsgZ3JheVxuLy8gZGVmYXVsdCBjb2xvciBmb3IgJGRlZmF1bHQgc2luY2UgdGhhdCdzIGNsb3NlciB0byBib290c3RyYXAgMydzIGRlZmF1bHRcbiRkZWZhdWx0OiBpZih2YXJpYWJsZS1leGlzdHMoXCJzZWNvbmRhcnlcIikgYW5kIHR5cGUtb2YoJHNlY29uZGFyeSkgPT0gY29sb3IsICRzZWNvbmRhcnksICRncmF5LTMwMCkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgLy8gZGVmYXVsdCBuZWVkcyB0byBiZSAxc3Qgc28gdGhhdCAuYnRuLWRlZmF1bHQgY29tZXMgYmVmb3JlIC5idG4tcHJpbWFyeVxuICAvLyAmIHRoZXJlZm9yZSBoYXMgbG93ZXIgcHJpb3JpdHkuXG4gIFwiZGVmYXVsdFwiOiAgICAkZGVmYXVsdCxcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgIGNvbG9yLWNvbnRyYXN0KCRjb21wb25lbnQtYWN0aXZlLWJnKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXItd2lkdGg6ICAgICAkc3BhY2VyIC8gNCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRoci1jb2xvcjogICAgICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGhyLWJnLWNvbG9yOiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjBcbiRoci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaHItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBBbGxvd3MgZm9yIGluaGVyaXRlZCBjb2xvcnNcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGhyLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgLjI1ICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdnItdmFyaWFibGVzXG4kdnItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdnItdmFyaWFibGVzXG5cbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXdlaWdodDogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGR0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMTg3NWVtICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kdGFibGUtdGgtZm9udC13ZWlnaHQ6ICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1jb2xvcjogICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZy1mYWN0b3I6ICAgICAuMDUgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1iZzogICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtaG92ZXItY29sb3I6ICAgICAgICAgICAkdGFibGUtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmctZmFjdG9yOiAgICAgICAuMDc1ICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssICR0YWJsZS1ob3Zlci1iZy1mYWN0b3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLWZhY3RvcjogICAgICAgICAuMSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXI6IGV2ZW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I6IGN1cnJlbnRjb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1zY2FsZTogICAgICAgICAgICAgIC04MCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtbG9vcFxuJHRhYmxlLXZhcmlhbnRzOiAoXG4gIFwicHJpbWFyeVwiOiAgICBzaGlmdC1jb2xvcigkcHJpbWFyeSwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJzZWNvbmRhcnlcIjogIHNoaWZ0LWNvbG9yKCRzZWNvbmRhcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic3VjY2Vzc1wiOiAgICBzaGlmdC1jb2xvcigkc3VjY2VzcywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJpbmZvXCI6ICAgICAgIHNoaWZ0LWNvbG9yKCRpbmZvLCAkdGFibGUtYmctc2NhbGUpLFxuICBcIndhcm5pbmdcIjogICAgc2hpZnQtY29sb3IoJHdhcm5pbmcsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiZGFuZ2VyXCI6ICAgICBzaGlmdC1jb2xvcigkZGFuZ2VyLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICBcImRhcmtcIjogICAgICAgJGRhcmssXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS1sb29wXG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1idG4tdmFyaWFibGVzXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICRmb2N1cy1yaW5nLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5OiAkZm9jdXMtcmluZy1vcGFjaXR5ICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgICAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYmx1cjogICAgICAgICAgJGZvY3VzLXJpbmctYmx1ciAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi12YXJpYWJsZXNcbiRidG4tY29sb3I6ICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ0bi13aGl0ZS1zcGFjZTogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gU2V0IHRvIGBub3dyYXBgIHRvIHByZXZlbnQgdGV4dCB3cmFwcGluZ1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGJ0bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kYnRuLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoJHdoaXRlLCAuMTUpLCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy13aWR0aDogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRidG4tZm9jdXMtYm94LXNoYWRvdzogICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC42NSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJveC1zaGFkb3c6ICAgICAgIGluc2V0IDAgM3B4IDVweCByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1ob3Zlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRidG4taG92ZXItYmctc2hhZGUtYW1vdW50OiAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50OiAgICAgICAgMTUlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc2hhZGUtYW1vdW50OiAgIDIwJSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyLXRpbnQtYW1vdW50OiAgICAxMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy1zaGFkZS1hbW91bnQ6ICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYmctdGludC1hbW91bnQ6ICAgICAgIDIwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAyNSUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQ6ICAgMTAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBidG4tdmFyaWFibGVzXG5cblxuLy8gRm9ybXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdGV4dC12YXJpYWJsZXNcbiRmb3JtLXRleHQtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdGV4dC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tbGFiZWwtdmFyaWFibGVzXG4kZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1sYWJlbC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0taW5wdXQtdmFyaWFibGVzXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1sZyAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtbGc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJvcmRlci1jb2xvcjogICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kaW5wdXQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgJGJveC1zaGFkb3ctaW5zZXQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtY3Vyc29yOiAgICAgICAgICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI6ICAgICAgICAgIGJyaWdodG5lc3MoOTAlKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLXJhZGlvLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjogICAgICAgICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdtNiAxMCAzIDMgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMicgZmlsbD0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcjogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yOiAgICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCc+PHBhdGggZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtY29sb3J9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgIC41ICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbGFiZWwtZGlzYWJsZWQtb3BhY2l0eTogICAgICAgICRmb3JtLWNoZWNrLWlucHV0LWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1idG4tY2hlY2stZGlzYWJsZWQtb3BhY2l0eTogICAgJGJ0bi1kaXNhYmxlZC1vcGFjaXR5ICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLWVuZDogICAgMXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1jaGVjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuJGZvcm0tc3dpdGNoLWNvbG9yOiAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0OiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJnLWltYWdlOiAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1ib3JkZXItcmFkaXVzOiAgICAgICAkZm9ybS1zd2l0Y2gtd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbjogICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtZm9jdXMtY29sb3I6ICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1mb2N1cy1iZy1pbWFnZTogICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcn0nLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlOiAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPSczJyBmaWxsPScjeyRmb3JtLXN3aXRjaC1jaGVja2VkLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uOiByaWdodCBjZW50ZXIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tc3dpdGNoLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtZ3JvdXAtdmFyaWFibGVzXG4kaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXg6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0OiAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpbnB1dC1ncm91cC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tc2VsZWN0LXZhcmlhYmxlc1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplOiAgICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgICAgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgZm9yIGJhY2tncm91bmQtaW1hZ2VcbiRmb3JtLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uOiAgICAgICAgICAgcmlnaHQgJGZvcm0tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgICAxNnB4IDEycHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2Jz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdtMiA1IDYgNiA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctZW5kOiAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMi41ICsgJGZvcm0tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgIGNlbnRlciByaWdodCAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzOiAgICAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICAkYm94LXNoYWRvdy1pbnNldCAhZGVmYXVsdDtcblxuJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgJGZvcm0tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIEVkZ2VcbiRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA3MCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItdHJhbnNpdGlvbjogICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1yYW5nZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmlsZS12YXJpYWJsZXNcbiRmb3JtLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1maWxlLWJ1dHRvbi1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWhvdmVyLWJnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1maWxlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcbiRmb3JtLWZsb2F0aW5nLWhlaWdodDogICAgICAgICAgICAgICAgICBhZGQoMy41cmVtLCAkaW5wdXQtaGVpZ2h0LWJvcmRlcikgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDogICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy15OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ6ICAgICAgICAgMS42MjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI6ICAgICAgICAgLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLWhlaWdodDogICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLW9wYWNpdHk6ICAgICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm06ICAgICAgICAgc2NhbGUoLjg1KSB0cmFuc2xhdGVZKC0uNXJlbSkgdHJhbnNsYXRlWCguMTVyZW0pICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLXRyYW5zaXRpb246ICAgICAgICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIC4xcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mbG9hdGluZy12YXJpYWJsZXNcblxuLy8gRm9ybSB2YWxpZGF0aW9uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZlZWRiYWNrLXZhcmlhYmxlc1xuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJGZvcm0tdGV4dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXN0eWxlOiAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc3R5bGUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvcjogICAgICAgICAkc3VjY2VzcyAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgICRkYW5nZXIgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4Jz48cGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzMuNiA0LjUzYy0uNC0xLjA0LjQ2LTEuNCAxLjEtLjhsMS4xIDEuNCAzLjQtMy44Yy42LS42MyAxLjYtLjI3IDEuMi43bC00IDQuNmMtLjQzLjUtLjguNC0xLjEuMXonLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIHdpZHRoPScxMicgaGVpZ2h0PScxMicgZmlsbD0nbm9uZScgc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nPjxjaXJjbGUgY3g9JzYnIGN5PSc2JyByPSc0LjUnLz48cGF0aCBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBkPSdNNS44IDMuNmguNEw2IDYuNXonLz48Y2lyY2xlIGN4PSc2JyBjeT0nOC4yJyByPScuNicgZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBzdHJva2U9J25vbmUnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLXZhbGlkYXRpb24tY29sb3JzXG4kZm9ybS12YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXZhbGlkLWJvcmRlci1jb2xvcjogICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1jb2xvcjogICAgICAgICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoXG4gIFwidmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0tdmFsaWQtY29sb3IpLFxuICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9c3VjY2VzcyksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtcmdiKSwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgICBcImJvcmRlci1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1ib3JkZXItY29sb3IpLFxuICApLFxuICBcImludmFsaWRcIjogKFxuICAgIFwiY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZCxcbiAgICBcInRvb2x0aXAtY29sb3JcIjogI2ZmZixcbiAgICBcInRvb2x0aXAtYmctY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlciksXG4gICAgXCJmb2N1cy1ib3gtc2hhZG93XCI6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEodmFyKC0tI3skcHJlZml4fWRhbmdlci1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLWludmFsaWQtYm9yZGVyLWNvbG9yKSxcbiAgKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtc3RhY2tcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzLWJhY2tkcm9wOiAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW9mZmNhbnZhczogICAgICAgICAgICAgICAgICAxMDQ1ICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTUgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA4MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9hc3Q6ICAgICAgICAgICAgICAgICAgICAgIDEwOTAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHppbmRleC1zdGFja1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgemluZGV4LWxldmVscy1tYXBcbiR6aW5kZXgtbGV2ZWxzOiAoXG4gIG4xOiAtMSxcbiAgMDogMCxcbiAgMTogMSxcbiAgMjogMixcbiAgMzogM1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LWxldmVscy1tYXBcblxuXG4vLyBOYXZzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXYtdmFyaWFibGVzXG4kbmF2LWxpbmstcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC1zaXplOiAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRuYXYtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay10cmFuc2l0aW9uOiAgICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICBjb2xvci1jb250cmFzdCgkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWJnLCAkY29tcG9uZW50LWFjdGl2ZS1jb2xvcikgIWRlZmF1bHQ7XG5cbiRuYXYtdW5kZXJsaW5lLWdhcDogICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbmF2LXVuZGVybGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtbGluay1hY3RpdmUtY29sb3I6ICAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2LXZhcmlhYmxlc1xuXG5cbi8vIE5hdmJhclxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLXZhcmlhYmxlc1xuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICsgJG5hdi1saW5rLXBhZGRpbmcteSAqIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLWhlaWdodDogICAgICAgICAgICAgICAkbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1wYWRkaW5nLXk6ICAgICAgICAgICAgKCRuYXYtbGluay1oZWlnaHQgLSAkbmF2YmFyLWJyYW5kLWhlaWdodCkgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtbWFyZ2luLWVuZDogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9jdXMtd2lkdGg6ICAgICAgICAkYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXRyYW5zaXRpb246ICAgICAgICAgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJnOiAgICAgICBudWxsICFkZWZhdWx0OyAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbnkgbmF2YmFyUGFnZSgpXG4kbmF2YmFyLWxpZ2h0LWJnOiAkbmF2YmFyLWJnICFkZWZhdWx0OyAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBuYXZiYXJQYWdlKGludmVyc2UgPSBGQUxTRSlcbiRuYXZiYXItZGFyay1iZzogICRuYXZiYXItYmcgIWRlZmF1bHQ7IC8vIEJhY2tncm91bmQgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IFRSVUUpXG5cbiRuYXZiYXItbGlnaHQtY29udHJhc3Q6IGlmKFxuICB0eXBlLW9mKCRuYXZiYXItbGlnaHQtYmcpID09IGNvbG9yLFxuICBjb2xvci1jb250cmFzdCgkbmF2YmFyLWxpZ2h0LWJnKSxcbiAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYilcbikgIWRlZmF1bHQ7IC8vIERlZXBlc3QgY29udHJhc3RpbmcgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IEZBTFNFKS5cbiRuYXZiYXItZGFyay1jb250cmFzdDogaWYoXG4gIHR5cGUtb2YoJG5hdmJhci1kYXJrLWJnKSA9PSBjb2xvcixcbiAgY29sb3ItY29udHJhc3QoJG5hdmJhci1kYXJrLWJnKSxcbiAgdmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYilcbikgIWRlZmF1bHQ7IC8vIERlZXBlc3QgY29udHJhc3RpbmcgY29sb3IgZm9yIG5hdmJhclBhZ2UoaW52ZXJzZSA9IFRSVUUpLlxuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC42NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJG5hdmJhci1saWdodC1jb250cmFzdCwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaWNvbi1jb2xvcjogICAgICAgICAgIHJnYmEoaWYodHlwZS1vZigkbmF2YmFyLWxpZ2h0LWNvbnRyYXN0KT09Y29sb3IsICRuYXZiYXItbGlnaHQtY29udHJhc3QsICRib2R5LWNvbG9yKSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRuYXZiYXItbGlnaHQtY29udHJhc3QsIC4xNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBuYXZiYXItZGFyay12YXJpYWJsZXNcbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJG5hdmJhci1kYXJrLWNvbnRyYXN0LCAuNTUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICAgICAgcmdiYSgkbmF2YmFyLWRhcmstY29udHJhc3QsIC43NSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yOiAgICAgICAgICByZ2JhKCRuYXZiYXItZGFyay1jb250cmFzdCwgMSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstZGlzYWJsZWQtY29sb3I6ICAgICAgICByZ2JhKCRuYXZiYXItZGFyay1jb250cmFzdCwgLjI1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1pY29uLWNvbG9yOiAgICAgICAgICAgIHJnYmEoaWYodHlwZS1vZigkbmF2YmFyLWRhcmstY29udHJhc3QpPT1jb2xvciwgJG5hdmJhci1kYXJrLWNvbnRyYXN0LCAkd2hpdGUpLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAgMzAnPjxwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstaWNvbi1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBzdHJva2Utd2lkdGg9JzInIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkbmF2YmFyLWRhcmstY29udHJhc3QsIC4xKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtaG92ZXItY29sb3I6ICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBuYXZiYXItZGFyay12YXJpYWJsZXNcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi12YXJpYWJsZXNcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZHJvcGRvd24tYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICBjb2xvci1jb250cmFzdCgkZHJvcGRvd24tbGluay1hY3RpdmUtYmcsICRjb21wb25lbnQtYWN0aXZlLWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLWZvY3VzLWJvcmRlci1jb2xvcjogICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGFjY29yZGlvbi1pY29uLWFjdGl2ZS1jb2xvcn0nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJHBvcG92ZXItYm9keS1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgcG9wb3Zlci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cblxuLy8gVG9hc3RzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0b2FzdC12YXJpYWJsZXNcbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktYmctcmdiKSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG4kdG9hc3Qtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkdG9hc3QtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0b2FzdC12YXJpYWJsZXNcblxuXG4vLyBCYWRnZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJhZGdlLXZhcmlhYmxlc1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjc1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4zNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjY1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJhZGdlLXZhcmlhYmxlc1xuXG5cbi8vIE1vZGFsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbW9kYWwtdmFyaWFibGVzXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLW1hcmdpbi1iZXR3ZWVuOiAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1pbm5lci1ib3JkZXItcmFkaXVzOiBzdWJ0cmFjdCgkbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzLCAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14czogICAgICAgJGJveC1zaGFkb3ctc20gIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAkYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIGNvbG9yLWNvbnRyYXN0KCRsaXN0LWdyb3VwLWFjdGl2ZS1iZywgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbi8vIEFtb3VudCBpbnRlbnRpb25hbGx5IG1hdGNoZXMgbWl4dHVyZSBhbW91bnQgb2Ygc2hpbnk6OmlucHV0UGFuZWwoKVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3JzdHVkaW8vc2hpbnkvYmxvYi80ZWViNGExL2luc3Qvd3d3L3NoYXJlZC9zaGlueV9zY3NzL2Jvb3RzdHJhcC5zY3NzI0wyNVxuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgUkdCQSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiLCAwLDAsMCksIDAuMDQpICFkZWZhdWx0O1xuJGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgUkdCKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsMCwwKSkgIWRlZmF1bHQ7XG4kY29kZS1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgICBSR0IodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiwgMCwwLDApKSAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjE4NzVyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHJlbW92aW5nIGluIHY2XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlLWJnICAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlLWNvbG9yICFkZWZhdWx0O1xuIiwKCQkiLy8gRGFyayBjb2xvciBtb2RlIHZhcmlhYmxlc1xuLy9cbi8vIEN1c3RvbSB2YXJpYWJsZXMgZm9yIHRoZSBgW2RhdGEtYnMtdGhlbWU9XCJkYXJrXCJdYCB0aGVtZS4gVXNlIHRoaXMgYXMgYSBzdGFydGluZyBwb2ludCBmb3IgeW91ciBvd24gY3VzdG9tIGNvbG9yIG1vZGVzIGJ5IGNyZWF0aW5nIGEgbmV3IHRoZW1lLXNwZWNpZmljIGZpbGUgbGlrZSBgX3ZhcmlhYmxlcy1kYXJrLnNjc3NgIGFuZCBhZGRpbmcgdGhlIHZhcmlhYmxlcyB5b3UgbmVlZC5cblxuLy9cbi8vIEdsb2JhbCBjb2xvcnNcbi8vXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzYXNzLWRhcmstbW9kZS12YXJzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC1kYXJrLXZhcmlhYmxlc1xuJHByaW1hcnktdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgNDAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgIHRpbnQtY29sb3IoJHNlY29uZGFyeSwgNDAlKSAhZGVmYXVsdDtcbiRzdWNjZXNzLXRleHQtZW1waGFzaXMtZGFyazogICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDQwJSkgIWRlZmF1bHQ7XG4kaW5mby10ZXh0LWVtcGhhc2lzLWRhcms6ICAgICAgICAgICB0aW50LWNvbG9yKCRpbmZvLCA0MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgdGludC1jb2xvcigkd2FybmluZywgNDAlKSAhZGVmYXVsdDtcbiRkYW5nZXItdGV4dC1lbXBoYXNpcy1kYXJrOiAgICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNDAlKSAhZGVmYXVsdDtcbiRsaWdodC10ZXh0LWVtcGhhc2lzLWRhcms6ICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXMtZGFyazogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC1kYXJrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLWRhcmstdmFyaWFibGVzXG4kcHJpbWFyeS1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgODAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYmctc3VidGxlLWRhcms6ICAgICAgICAgIHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGUtZGFyazogICAgICAgICAgICBzaGFkZS1jb2xvcigkc3VjY2VzcywgODAlKSAhZGVmYXVsdDtcbiRpbmZvLWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICAgIHNoYWRlLWNvbG9yKCRpbmZvLCA4MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYmctc3VidGxlLWRhcms6ICAgICAgICAgICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA4MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJnLXN1YnRsZS1kYXJrOiAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRhcmstYmctc3VidGxlLWRhcms6ICAgICAgICAgICAgICAgbWl4KCRncmF5LTgwMCwgJGJsYWNrKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLWRhcmstdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstdmFyaWFibGVzXG4kcHJpbWFyeS1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICBzaGFkZS1jb2xvcigkcHJpbWFyeSwgNDAlKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgIHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDQwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlLWRhcms6ICAgICAgICBzaGFkZS1jb2xvcigkc3VjY2VzcywgNDAlKSAhZGVmYXVsdDtcbiRpbmZvLWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICAgIHNoYWRlLWNvbG9yKCRpbmZvLCA0MCUpICFkZWZhdWx0O1xuJHdhcm5pbmctYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDQwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICBzaGFkZS1jb2xvcigkZGFuZ2VyLCA0MCUpICFkZWZhdWx0O1xuJGxpZ2h0LWJvcmRlci1zdWJ0bGUtZGFyazogICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZS1kYXJrOiAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1ib3JkZXItc3VidGxlLWRhcmstdmFyaWFibGVzXG5cbiRib2R5LWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib2R5LWJnLWRhcms6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1jb2xvci1kYXJrOiAgICAgICAgIHJnYmEoJGJvZHktY29sb3ItZGFyaywgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZy1kYXJrOiAgICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRib2R5LXRlcnRpYXJ5LWNvbG9yLWRhcms6ICAgICAgICAgIHJnYmEoJGJvZHktY29sb3ItZGFyaywgLjUpICFkZWZhdWx0O1xuJGJvZHktdGVydGlhcnktYmctZGFyazogICAgICAgICAgICAgbWl4KCRncmF5LTgwMCwgJGdyYXktOTAwLCA1MCUpICFkZWZhdWx0O1xuJGJvZHktZW1waGFzaXMtY29sb3ItZGFyazogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci1kYXJrOiAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvci10cmFuc2x1Y2VudC1kYXJrOiAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3ItZGFyazogICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGxpbmstY29sb3ItZGFyazogICAgICAgICAgICAgICAgICAgdGludC1jb2xvcigkcHJpbWFyeSwgNDAlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yLWRhcms6ICAgICAgICAgICAgIHNoaWZ0LWNvbG9yKCRsaW5rLWNvbG9yLWRhcmssIC0kbGluay1zaGFkZS1wZXJjZW50YWdlKSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yLWRhcms6ICAgICAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvZGUtY29sb3IsIDQwJSkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yLWRhcms6ICAkYm9keS1jb2xvci1kYXJrICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1kYXJrOiAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yLWRhcmt9JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMicgZD0nbTIgNSA2IDYgNi02Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1zd2l0Y2gtY29sb3ItZGFyazogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjI1KSAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC1iZy1pbWFnZS1kYXJrOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNvbG9yLWRhcmt9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLWNvbG9ycy1kYXJrXG4kZm9ybS12YWxpZC1jb2xvci1kYXJrOiAgICAgICAgICAgICAkZ3JlZW4tMzAwICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yLWRhcms6ICAgICAgJGdyZWVuLTMwMCAhZGVmYXVsdDtcbiRmb3JtLWludmFsaWQtY29sb3ItZGFyazogICAgICAgICAgICRyZWQtMzAwICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3ItZGFyazogICAgJHJlZC0zMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZvcm0tdmFsaWRhdGlvbi1jb2xvcnMtZGFya1xuXG5cbi8vXG4vLyBBY2NvcmRpb25cbi8vXG5cbiRhY2NvcmRpb24taWNvbi1jb2xvci1kYXJrOiAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyayAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3ItZGFyazogICRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyayAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1idXR0b24taWNvbi1kYXJrOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1jb2xvci1kYXJrfSc+PHBhdGggZmlsbC1ydWxlPSdldmVub2RkJyBkPSdNMS42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCAxMC4yOTNsNS42NDYtNS42NDdhLjUuNSAwIDAgMSAuNzA4LjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOCAwbC02LTZhLjUuNSAwIDAgMSAwLS43MDh6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWljb24tZGFyazogIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3ItZGFya30nPjxwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nTTEuNjQ2IDQuNjQ2YS41LjUgMCAwIDEgLjcwOCAwTDggMTAuMjkzbDUuNjQ2LTUuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhsLTYgNmEuNS41IDAgMCAxLS43MDggMGwtNi02YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc2Fzcy1kYXJrLW1vZGUtdmFyc1xuIiwKCQkiLy8gUmUtYXNzaWduZWQgbWFwc1xuLy9cbi8vIFBsYWNlZCBoZXJlIHNvIHRoYXQgb3RoZXJzIGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCBTYXNzIG1hcHMgYW5kIHNlZSBhdXRvbWF0aWMgdXBkYXRlcyB0byB1dGlsaXRpZXMgYW5kIG1vcmUuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvcnMtcmdiXG4kdGhlbWUtY29sb3JzLXJnYjogbWFwLWxvb3AoJHRoZW1lLWNvbG9ycywgdG8tcmdiLCBcIiR2YWx1ZVwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLXJnYlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC1tYXBcbiR0aGVtZS1jb2xvcnMtdGV4dDogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnktdGV4dC1lbXBoYXNpcyxcbiAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeS10ZXh0LWVtcGhhc2lzLFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpcyxcbiAgXCJpbmZvXCI6ICRpbmZvLXRleHQtZW1waGFzaXMsXG4gIFwid2FybmluZ1wiOiAkd2FybmluZy10ZXh0LWVtcGhhc2lzLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLXRleHQtZW1waGFzaXMsXG4gIFwibGlnaHRcIjogJGxpZ2h0LXRleHQtZW1waGFzaXMsXG4gIFwiZGFya1wiOiAkZGFyay10ZXh0LWVtcGhhc2lzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtdGV4dC1tYXBcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS1tYXBcbiR0aGVtZS1jb2xvcnMtYmctc3VidGxlOiAoXG4gIFwicHJpbWFyeVwiOiAkcHJpbWFyeS1iZy1zdWJ0bGUsXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYmctc3VidGxlLFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtYmctc3VidGxlLFxuICBcImluZm9cIjogJGluZm8tYmctc3VidGxlLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmctYmctc3VidGxlLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLWJnLXN1YnRsZSxcbiAgXCJsaWdodFwiOiAkbGlnaHQtYmctc3VidGxlLFxuICBcImRhcmtcIjogJGRhcmstYmctc3VidGxlLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYm9yZGVyLXN1YnRsZS1tYXBcbiR0aGVtZS1jb2xvcnMtYm9yZGVyLXN1YnRsZTogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnktYm9yZGVyLXN1YnRsZSxcbiAgXCJzZWNvbmRhcnlcIjogJHNlY29uZGFyeS1ib3JkZXItc3VidGxlLFxuICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSxcbiAgXCJpbmZvXCI6ICRpbmZvLWJvcmRlci1zdWJ0bGUsXG4gIFwid2FybmluZ1wiOiAkd2FybmluZy1ib3JkZXItc3VidGxlLFxuICBcImRhbmdlclwiOiAkZGFuZ2VyLWJvcmRlci1zdWJ0bGUsXG4gIFwibGlnaHRcIjogJGxpZ2h0LWJvcmRlci1zdWJ0bGUsXG4gIFwiZGFya1wiOiAkZGFyay1ib3JkZXItc3VidGxlLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYm9yZGVyLXN1YnRsZS1tYXBcblxuJHRoZW1lLWNvbG9ycy10ZXh0LWRhcms6IG51bGwgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrOiBudWxsICFkZWZhdWx0O1xuJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcms6IG51bGwgIWRlZmF1bHQ7XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIC8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS10ZXh0LWRhcmstbWFwXG4gICR0aGVtZS1jb2xvcnMtdGV4dC1kYXJrOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcInN1Y2Nlc3NcIjogJHN1Y2Nlc3MtdGV4dC1lbXBoYXNpcy1kYXJrLFxuICAgIFwiaW5mb1wiOiAkaW5mby10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcImRhbmdlclwiOiAkZGFuZ2VyLXRleHQtZW1waGFzaXMtZGFyayxcbiAgICBcImxpZ2h0XCI6ICRsaWdodC10ZXh0LWVtcGhhc2lzLWRhcmssXG4gICAgXCJkYXJrXCI6ICRkYXJrLXRleHQtZW1waGFzaXMtZGFyayxcbiAgKSAhZGVmYXVsdDtcbiAgLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LWRhcmstbWFwXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJnLXN1YnRsZS1kYXJrLW1hcFxuICAkdGhlbWUtY29sb3JzLWJnLXN1YnRsZS1kYXJrOiAoXG4gICAgXCJwcmltYXJ5XCI6ICRwcmltYXJ5LWJnLXN1YnRsZS1kYXJrLFxuICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYmctc3VidGxlLWRhcmssXG4gICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLWJnLXN1YnRsZS1kYXJrLFxuICAgIFwiaW5mb1wiOiAkaW5mby1iZy1zdWJ0bGUtZGFyayxcbiAgICBcIndhcm5pbmdcIjogJHdhcm5pbmctYmctc3VidGxlLWRhcmssXG4gICAgXCJkYW5nZXJcIjogJGRhbmdlci1iZy1zdWJ0bGUtZGFyayxcbiAgICBcImxpZ2h0XCI6ICRsaWdodC1iZy1zdWJ0bGUtZGFyayxcbiAgICBcImRhcmtcIjogJGRhcmstYmctc3VidGxlLWRhcmssXG4gICkgIWRlZmF1bHQ7XG4gIC8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtYmctc3VidGxlLWRhcmstbWFwXG5cbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWJvcmRlci1zdWJ0bGUtZGFyay1tYXBcbiAgJHRoZW1lLWNvbG9ycy1ib3JkZXItc3VidGxlLWRhcms6IChcbiAgICBcInByaW1hcnlcIjogJHByaW1hcnktYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnktYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwic3VjY2Vzc1wiOiAkc3VjY2Vzcy1ib3JkZXItc3VidGxlLWRhcmssXG4gICAgXCJpbmZvXCI6ICRpbmZvLWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcIndhcm5pbmdcIjogJHdhcm5pbmctYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwiZGFuZ2VyXCI6ICRkYW5nZXItYm9yZGVyLXN1YnRsZS1kYXJrLFxuICAgIFwibGlnaHRcIjogJGxpZ2h0LWJvcmRlci1zdWJ0bGUtZGFyayxcbiAgICBcImRhcmtcIjogJGRhcmstYm9yZGVyLXN1YnRsZS1kYXJrLFxuICApICFkZWZhdWx0O1xuICAvLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtZGFyay1tYXBcbn1cblxuLy8gVXRpbGl0aWVzIG1hcHNcbi8vXG4vLyBFeHRlbmRzIHRoZSBkZWZhdWx0IGAkdGhlbWUtY29sb3JzYCBtYXBzIHRvIGhlbHAgY3JlYXRlIG91ciB1dGlsaXRpZXMuXG5cbi8vIENvbWUgdjYsIHdlJ2xsIGRlLWR1cGUgdGhlc2UgdmFyaWFibGVzLiBVbnRpbCB0aGVuLCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2Uga2VlcCB0aGVtIHRvIHJlYXNzaWduLlxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHV0aWxpdGllcy1jb2xvcnNcbiR1dGlsaXRpZXMtY29sb3JzOiAkdGhlbWUtY29sb3JzLXJnYiAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdXRpbGl0aWVzLXRleHQtY29sb3JzXG4kdXRpbGl0aWVzLXRleHQ6IG1hcC1tZXJnZShcbiAgJHV0aWxpdGllcy1jb2xvcnMsXG4gIChcbiAgICBcImJsYWNrXCI6IHRvLXJnYigkYmxhY2spLFxuICAgIFwid2hpdGVcIjogdG8tcmdiKCR3aGl0ZSksXG4gICAgXCJib2R5XCI6IHRvLXJnYigkYm9keS1jb2xvcilcbiAgKVxuKSAhZGVmYXVsdDtcbiR1dGlsaXRpZXMtdGV4dC1jb2xvcnM6IG1hcC1sb29wKCR1dGlsaXRpZXMtdGV4dCwgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJ0ZXh0XCIpICFkZWZhdWx0O1xuXG4kdXRpbGl0aWVzLXRleHQtZW1waGFzaXMtY29sb3JzOiAoXG4gIFwicHJpbWFyeS1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS10ZXh0LWVtcGhhc2lzKSxcbiAgXCJzZWNvbmRhcnktZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS10ZXh0LWVtcGhhc2lzKSxcbiAgXCJzdWNjZXNzLWVtcGhhc2lzXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLXRleHQtZW1waGFzaXMpLFxuICBcImluZm8tZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWluZm8tdGV4dC1lbXBoYXNpcyksXG4gIFwid2FybmluZy1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9d2FybmluZy10ZXh0LWVtcGhhc2lzKSxcbiAgXCJkYW5nZXItZW1waGFzaXNcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlci10ZXh0LWVtcGhhc2lzKSxcbiAgXCJsaWdodC1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtdGV4dC1lbXBoYXNpcyksXG4gIFwiZGFyay1lbXBoYXNpc1wiOiB2YXIoLS0jeyRwcmVmaXh9ZGFyay10ZXh0LWVtcGhhc2lzKVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdXRpbGl0aWVzLXRleHQtY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtYmctY29sb3JzXG4kdXRpbGl0aWVzLWJnOiBtYXAtbWVyZ2UoXG4gICR1dGlsaXRpZXMtY29sb3JzLFxuICAoXG4gICAgXCJibGFja1wiOiB0by1yZ2IoJGJsYWNrKSxcbiAgICBcIndoaXRlXCI6IHRvLXJnYigkd2hpdGUpLFxuICAgIFwiYm9keVwiOiB0by1yZ2IoJGJvZHktYmcpXG4gIClcbikgIWRlZmF1bHQ7XG4kdXRpbGl0aWVzLWJnLWNvbG9yczogbWFwLWxvb3AoJHV0aWxpdGllcy1iZywgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJiZ1wiKSAhZGVmYXVsdDtcblxuJHV0aWxpdGllcy1iZy1zdWJ0bGU6IChcbiAgXCJwcmltYXJ5LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpLFxuICBcInNlY29uZGFyeS1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZy1zdWJ0bGUpLFxuICBcInN1Y2Nlc3Mtc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzLWJnLXN1YnRsZSksXG4gIFwiaW5mby1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWluZm8tYmctc3VidGxlKSxcbiAgXCJ3YXJuaW5nLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9d2FybmluZy1iZy1zdWJ0bGUpLFxuICBcImRhbmdlci1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWRhbmdlci1iZy1zdWJ0bGUpLFxuICBcImxpZ2h0LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtYmctc3VidGxlKSxcbiAgXCJkYXJrLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFyay1iZy1zdWJ0bGUpXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB1dGlsaXRpZXMtYmctY29sb3JzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB1dGlsaXRpZXMtYm9yZGVyLWNvbG9yc1xuJHV0aWxpdGllcy1ib3JkZXI6IG1hcC1tZXJnZShcbiAgJHV0aWxpdGllcy1jb2xvcnMsXG4gIChcbiAgICBcImJsYWNrXCI6IHRvLXJnYigkYmxhY2spLFxuICAgIFwid2hpdGVcIjogdG8tcmdiKCR3aGl0ZSlcbiAgKVxuKSAhZGVmYXVsdDtcbiR1dGlsaXRpZXMtYm9yZGVyLWNvbG9yczogbWFwLWxvb3AoJHV0aWxpdGllcy1ib3JkZXIsIHJnYmEtY3NzLXZhciwgXCIka2V5XCIsIFwiYm9yZGVyXCIpICFkZWZhdWx0O1xuXG4kdXRpbGl0aWVzLWJvcmRlci1zdWJ0bGU6IChcbiAgXCJwcmltYXJ5LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1ib3JkZXItc3VidGxlKSxcbiAgXCJzZWNvbmRhcnktc3VidGxlXCI6IHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYm9yZGVyLXN1YnRsZSksXG4gIFwic3VjY2Vzcy1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXN1Y2Nlc3MtYm9yZGVyLXN1YnRsZSksXG4gIFwiaW5mby1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWluZm8tYm9yZGVyLXN1YnRsZSksXG4gIFwid2FybmluZy1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fXdhcm5pbmctYm9yZGVyLXN1YnRsZSksXG4gIFwiZGFuZ2VyLXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLWJvcmRlci1zdWJ0bGUpLFxuICBcImxpZ2h0LXN1YnRsZVwiOiB2YXIoLS0jeyRwcmVmaXh9bGlnaHQtYm9yZGVyLXN1YnRsZSksXG4gIFwiZGFyay1zdWJ0bGVcIjogdmFyKC0tI3skcHJlZml4fWRhcmstYm9yZGVyLXN1YnRsZSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHV0aWxpdGllcy1ib3JkZXItY29sb3JzXG5cbiR1dGlsaXRpZXMtbGlua3MtdW5kZXJsaW5lOiBtYXAtbG9vcCgkdXRpbGl0aWVzLWNvbG9ycywgcmdiYS1jc3MtdmFyLCBcIiRrZXlcIiwgXCJsaW5rLXVuZGVybGluZVwiKSAhZGVmYXVsdDtcblxuJG5lZ2F0aXZlLXNwYWNlcnM6IGlmKCRlbmFibGUtbmVnYXRpdmUtbWFyZ2lucywgbmVnYXRpdmlmeS1tYXAoJHNwYWNlcnMpLCBudWxsKSAhZGVmYXVsdDtcblxuJGd1dHRlcnM6ICRzcGFjZXJzICFkZWZhdWx0O1xuIiwKCQkiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9jb2xvci1tb2RlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbG9yLXNjaGVtZVwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmlzdWFsbHktaGlkZGVuXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgXCJtaXhpbnMvdXRpbGl0aWVzXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2Ryb3BcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXZhcmlhbnRzXCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY29udGFpbmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbiIsCgkJIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsCgkJIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLAoJCSIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLW1vZGUtbWl4aW5cbkBtaXhpbiBjb2xvci1tb2RlKCRtb2RlOiBsaWdodCwgJHJvb3Q6IGZhbHNlKSB7XG4gIEBpZiAkY29sb3ItbW9kZS10eXBlID09IFwibWVkaWEtcXVlcnlcIiB7XG4gICAgQGlmICRyb290ID09IHRydWUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogJG1vZGUpIHtcbiAgICAgICAgOnJvb3Qge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiAkbW9kZSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIFtkYXRhLWJzLXRoZW1lPVwiI3skbW9kZX1cIl0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNvbG9yLW1vZGUtbWl4aW5cbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCBtaXhpbi1jb2xvci1zY2hlbWVcbkBtaXhpbiBjb2xvci1zY2hlbWUoJG5hbWUpIHtcbiAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogI3skbmFtZX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBtaXhpbi1jb2xvci1zY2hlbWVcbiIsCgkJIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cbiIsCgkJIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLAoJCSIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gSGlkZSBjb250ZW50IHZpc3VhbGx5IHdoaWxlIGtlZXBpbmcgaXQgYWNjZXNzaWJsZSB0byBhc3Npc3RpdmUgdGVjaG5vbG9naWVzXG4vL1xuLy8gU2VlOiBodHRwczovL3d3dy5hMTF5cHJvamVjdC5jb20vcG9zdHMvMjAxMy0wMS0xMS1ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2tpdHR5Z2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4oKSB7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDsgLy8gRml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1Njg2XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gIC8vIEZpeCBmb3IgcG9zaXRpb25lZCB0YWJsZSBjYXB0aW9uIHRoYXQgY291bGQgYmVjb21lIGFub255bW91cyBjZWxsc1xuICAmOm5vdChjYXB0aW9uKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVXNlIHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLCBvciBvbmUgb2YgaXRzIGNoaWxkIGVsZW1lbnRzIGlzIGZvY3VzZWRcbi8vIChpLmUuIHdoZW4gZm9jdXMgaXMgd2l0aGluIHRoZSBlbGVtZW50L2NvbnRhaW5lciB0aGF0IHRoZSBjbGFzcyB3YXMgYXBwbGllZCB0bylcbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCkge1xuICAmOm5vdCg6Zm9jdXMpOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgQGluY2x1ZGUgdmlzdWFsbHktaGlkZGVuKCk7XG4gIH1cbn1cbiIsCgkJIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciBvdmVyZmxvdy13cmFwIC8gd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwKCQkiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLAoJCSIvLyBVdGlsaXR5IGdlbmVyYXRvclxuLy8gVXNlZCB0byBnZW5lcmF0ZSB1dGlsaXRpZXMgJiBwcmludCB1dGlsaXRpZXNcbkBtaXhpbiBnZW5lcmF0ZS11dGlsaXR5KCR1dGlsaXR5LCAkaW5maXg6IFwiXCIsICRpcy1yZnMtbWVkaWEtcXVlcnk6IGZhbHNlKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJHV0aWxpdHksIHZhbHVlcyk7XG5cbiAgLy8gSWYgdGhlIHZhbHVlcyBhcmUgYSBsaXN0IG9yIHN0cmluZywgY29udmVydCBpdCBpbnRvIGEgbWFwXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09IFwic3RyaW5nXCIgb3IgdHlwZS1vZihudGgoJHZhbHVlcywgMSkpICE9IFwibGlzdFwiIHtcbiAgICAkdmFsdWVzOiB6aXAoJHZhbHVlcywgJHZhbHVlcyk7XG4gIH1cblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgJHByb3BlcnRpZXM6IG1hcC1nZXQoJHV0aWxpdHksIHByb3BlcnR5KTtcblxuICAgIC8vIE11bHRpcGxlIHByb3BlcnRpZXMgYXJlIHBvc3NpYmxlLCBmb3IgZXhhbXBsZSB3aXRoIHZlcnRpY2FsIG9yIGhvcml6b250YWwgbWFyZ2lucyBvciBwYWRkaW5nc1xuICAgIEBpZiB0eXBlLW9mKCRwcm9wZXJ0aWVzKSA9PSBcInN0cmluZ1wiIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhcHBlbmQoKCksICRwcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyBVc2UgY3VzdG9tIGNsYXNzIGlmIHByZXNlbnRcbiAgICAkcHJvcGVydHktY2xhc3M6IGlmKG1hcC1oYXMta2V5KCR1dGlsaXR5LCBjbGFzcyksIG1hcC1nZXQoJHV0aWxpdHksIGNsYXNzKSwgbnRoKCRwcm9wZXJ0aWVzLCAxKSk7XG4gICAgJHByb3BlcnR5LWNsYXNzOiBpZigkcHJvcGVydHktY2xhc3MgPT0gbnVsbCwgXCJcIiwgJHByb3BlcnR5LWNsYXNzKTtcblxuICAgIC8vIFVzZSBjdXN0b20gQ1NTIHZhcmlhYmxlIG5hbWUgaWYgcHJlc2VudCwgb3RoZXJ3aXNlIGRlZmF1bHQgdG8gYGNsYXNzYFxuICAgICRjc3MtdmFyaWFibGUtbmFtZTogaWYobWFwLWhhcy1rZXkoJHV0aWxpdHksIGNzcy12YXJpYWJsZS1uYW1lKSwgbWFwLWdldCgkdXRpbGl0eSwgY3NzLXZhcmlhYmxlLW5hbWUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBjbGFzcykpO1xuXG4gICAgLy8gU3RhdGUgcGFyYW1zIHRvIGdlbmVyYXRlIHBzZXVkby1jbGFzc2VzXG4gICAgJHN0YXRlOiBpZihtYXAtaGFzLWtleSgkdXRpbGl0eSwgc3RhdGUpLCBtYXAtZ2V0KCR1dGlsaXR5LCBzdGF0ZSksICgpKTtcblxuICAgICRpbmZpeDogaWYoJHByb3BlcnR5LWNsYXNzID09IFwiXCIgYW5kIHN0ci1zbGljZSgkaW5maXgsIDEsIDEpID09IFwiLVwiLCBzdHItc2xpY2UoJGluZml4LCAyKSwgJGluZml4KTtcblxuICAgIC8vIERvbid0IHByZWZpeCBpZiB2YWx1ZSBrZXkgaXMgbnVsbCAoZS5nLiB3aXRoIHNoYWRvdyBjbGFzcylcbiAgICAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXI6IGlmKCRrZXksIGlmKCRwcm9wZXJ0eS1jbGFzcyA9PSBcIlwiIGFuZCAkaW5maXggPT0gXCJcIiwgXCJcIiwgXCItXCIpICsgJGtleSwgXCJcIik7XG5cbiAgICBAaWYgbWFwLWdldCgkdXRpbGl0eSwgcmZzKSB7XG4gICAgICAvLyBJbnNpZGUgdGhlIG1lZGlhIHF1ZXJ5XG4gICAgICBAaWYgJGlzLXJmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWUpO1xuXG4gICAgICAgIC8vIERvIG5vdCByZW5kZXIgYW55dGhpbmcgaWYgZmx1aWQgYW5kIG5vbiBmbHVpZCB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgICAgICR2YWx1ZTogaWYoJHZhbCA9PSByZnMtZmx1aWQtdmFsdWUoJHZhbHVlKSwgbnVsbCwgJHZhbCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICR2YWx1ZTogcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGlzLWNzcy12YXI6IG1hcC1nZXQoJHV0aWxpdHksIGNzcy12YXIpO1xuICAgICRpcy1sb2NhbC12YXJzOiBtYXAtZ2V0KCR1dGlsaXR5LCBsb2NhbC12YXJzKTtcbiAgICAkaXMtcnRsOiBtYXAtZ2V0KCR1dGlsaXR5LCBydGwpO1xuXG4gICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgIEBpZiAkaXMtcnRsID09IGZhbHNlIHtcbiAgICAgICAgLyogcnRsOmJlZ2luOnJlbW92ZSAqL1xuICAgICAgfVxuXG4gICAgICBAaWYgJGlzLWNzcy12YXIge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRwc2V1ZG8gaW4gJHN0YXRlIHtcbiAgICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9LSN7JHBzZXVkb306I3skcHNldWRvfSB7XG4gICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRjc3MtdmFyaWFibGUtbmFtZX06ICN7JHZhbHVlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAuI3skcHJvcGVydHktY2xhc3MgKyAkaW5maXggKyAkcHJvcGVydHktY2xhc3MtbW9kaWZpZXJ9IHtcbiAgICAgICAgICBAZWFjaCAkcHJvcGVydHkgaW4gJHByb3BlcnRpZXMge1xuICAgICAgICAgICAgQGlmICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAtLSN7JHByZWZpeH0jeyRsb2NhbC12YXJ9OiAjeyR2YXJpYWJsZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJHBzZXVkbyBpbiAkc3RhdGUge1xuICAgICAgICAgIC4jeyRwcm9wZXJ0eS1jbGFzcyArICRpbmZpeCArICRwcm9wZXJ0eS1jbGFzcy1tb2RpZmllcn0tI3skcHNldWRvfTojeyRwc2V1ZG99IHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAgIEBpZiAkaXMtbG9jYWwtdmFycyB7XG4gICAgICAgICAgICAgICAgQGVhY2ggJGxvY2FsLXZhciwgJHZhcmlhYmxlIGluICRpcy1sb2NhbC12YXJzIHtcbiAgICAgICAgICAgICAgICAgIC0tI3skcHJlZml4fSN7JGxvY2FsLXZhcn06ICN7JHZhcmlhYmxlfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWUgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRpcy1ydGwgPT0gZmFsc2Uge1xuICAgICAgICAvKiBydGw6ZW5kOnJlbW92ZSAqL1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gU2hhcmVkIGJldHdlZW4gbW9kYWxzIGFuZCBvZmZjYW52YXNlc1xuQG1peGluIG92ZXJsYXktYmFja2Ryb3AoJHppbmRleCwgJGJhY2tkcm9wLWJnLCAkYmFja2Ryb3Atb3BhY2l0eSkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuIiwKCQkiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFudC1taXhpblxuQG1peGluIGJ1dHRvbi12YXJpYW50KFxuICAkYmFja2dyb3VuZCxcbiAgJGJvcmRlcixcbiAgJGNvbG9yOiBjb2xvci1jb250cmFzdCgkYmFja2dyb3VuZCksXG4gICRob3Zlci1iYWNrZ3JvdW5kOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYmFja2dyb3VuZCwgJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQpLCB0aW50LWNvbG9yKCRiYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJnLXRpbnQtYW1vdW50KSksXG4gICRob3Zlci1ib3JkZXI6IGlmKCRjb2xvciA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCRib3JkZXIsICRidG4taG92ZXItYm9yZGVyLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJvcmRlciwgJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGhvdmVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkaG92ZXItYmFja2dyb3VuZCksXG4gICRhY3RpdmUtYmFja2dyb3VuZDogaWYoJGNvbG9yID09ICRjb2xvci1jb250cmFzdC1saWdodCwgc2hhZGUtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudCksIHRpbnQtY29sb3IoJGJhY2tncm91bmQsICRidG4tYWN0aXZlLWJnLXRpbnQtYW1vdW50KSksXG4gICRhY3RpdmUtYm9yZGVyOiBpZigkY29sb3IgPT0gJGNvbG9yLWNvbnRyYXN0LWxpZ2h0LCBzaGFkZS1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItc2hhZGUtYW1vdW50KSwgdGludC1jb2xvcigkYm9yZGVyLCAkYnRuLWFjdGl2ZS1ib3JkZXItdGludC1hbW91bnQpKSxcbiAgJGFjdGl2ZS1jb2xvcjogY29sb3ItY29udHJhc3QoJGFjdGl2ZS1iYWNrZ3JvdW5kKSxcbiAgJGRpc2FibGVkLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLFxuICAkZGlzYWJsZWQtYm9yZGVyOiAkYm9yZGVyLFxuICAkZGlzYWJsZWQtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRkaXNhYmxlZC1iYWNrZ3JvdW5kKVxuKSB7XG4gIC0tI3skcHJlZml4fWJ0bi1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4tYmc6ICN7JGJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLWNvbG9yOiAjeyRib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRob3Zlci1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJvcmRlci1jb2xvcjogI3skaG92ZXItYm9yZGVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWZvY3VzLXNoYWRvdy1yZ2I6ICN7dG8tcmdiKG1peCgkY29sb3IsICRib3JkZXIsIDE1JSkpfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1jb2xvcjogI3skYWN0aXZlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJhY2tncm91bmR9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLWJvcmRlci1jb2xvcjogI3skYWN0aXZlLWJvcmRlcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtc2hhZG93OiAjeyRidG4tYWN0aXZlLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1idG4tZGlzYWJsZWQtY29sb3I6ICN7JGRpc2FibGVkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJnOiAjeyRkaXNhYmxlZC1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI3skZGlzYWJsZWQtYm9yZGVyfTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgYnRuLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KFxuICAkY29sb3IsXG4gICRjb2xvci1ob3ZlcjogY29sb3ItY29udHJhc3QoJGNvbG9yKSxcbiAgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsXG4gICRhY3RpdmUtYm9yZGVyOiAkY29sb3IsXG4gICRhY3RpdmUtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZClcbikge1xuICAtLSN7JHByZWZpeH1idG4tY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJvcmRlci1jb2xvcjogI3skY29sb3J9O1xuICAtLSN7JHByZWZpeH1idG4taG92ZXItY29sb3I6ICN7JGNvbG9yLWhvdmVyfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWhvdmVyLWJnOiAjeyRhY3RpdmUtYmFja2dyb3VuZH07XG4gIC0tI3skcHJlZml4fWJ0bi1ob3Zlci1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tZm9jdXMtc2hhZG93LXJnYjogI3t0by1yZ2IoJGNvbG9yKX07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtY29sb3I6ICN7JGFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1hY3RpdmUtYmc6ICN7JGFjdGl2ZS1iYWNrZ3JvdW5kfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JGFjdGl2ZS1ib3JkZXJ9O1xuICAtLSN7JHByZWZpeH1idG4tYWN0aXZlLXNoYWRvdzogI3skYnRuLWFjdGl2ZS1ib3gtc2hhZG93fTtcbiAgLS0jeyRwcmVmaXh9YnRuLWRpc2FibGVkLWNvbG9yOiAjeyRjb2xvcn07XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1iZzogdHJhbnNwYXJlbnQ7XG4gIC0tI3skcHJlZml4fWJ0bi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICN7JGNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnRuLWJnOiB0cmFuc3BhcmVudDtcbiAgLS0jeyRwcmVmaXh9Z3JhZGllbnQ6IG5vbmU7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1vdXRsaW5lLXZhcmlhbnQtbWl4aW5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJ0bi1zaXplLW1peGluXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGJvcmRlci1yYWRpdXMpIHtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteTogI3skcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnRuLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgQGluY2x1ZGUgcmZzKCRmb250LXNpemUsIC0tI3skcHJlZml4fWJ0bi1mb250LXNpemUpO1xuICAtLSN7JHByZWZpeH1idG4tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi1zaXplLW1peGluXG4iLAoJCSIvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZXQtbWl4aW5zXG5AbWl4aW4gY2FyZXQtZG93bigkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0LWVuZCgkd2lkdGg6ICRjYXJldC13aWR0aCkge1xuICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtc3RhcnQoJHdpZHRoOiAkY2FyZXQtd2lkdGgpIHtcbiAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoXG4gICRkaXJlY3Rpb246IGRvd24sXG4gICR3aWR0aDogJGNhcmV0LXdpZHRoLFxuICAkc3BhY2luZzogJGNhcmV0LXNwYWNpbmcsXG4gICR2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXZlcnRpY2FsLWFsaWduXG4pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd24oJHdpZHRoKTtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwKCR3aWR0aCk7XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZW5kIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZW5kKCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gc3RhcnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXN0YXJ0KCR3aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmV0LW1peGluc1xuIiwKCQkiLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi1taXhpblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cykge1xuICAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLXBhZGRpbmcteDogI3skcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9cGFnaW5hdGlvbi1wYWRkaW5nLXk6ICN7JHBhZGRpbmcteX07XG4gIEBpbmNsdWRlIHJmcygkZm9udC1zaXplLCAtLSN7JHByZWZpeH1wYWdpbmF0aW9uLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fXBhZ2luYXRpb24tYm9yZGVyLXJhZGl1czogI3skYm9yZGVyLXJhZGl1c307XG59XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tbWl4aW5cbiIsCgkJIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLAoJCSIvLyBUaGlzIG1peGluIHVzZXMgYW4gYGlmKClgIHRlY2huaXF1ZSB0byBiZSBjb21wYXRpYmxlIHdpdGggRGFydCBTYXNzXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3Mvc2Fzcy9pc3N1ZXMvMTg3MyNpc3N1ZWNvbW1lbnQtMTUyMjkzNzI1IGZvciBtb3JlIGRldGFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1taXhpbnNcbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gIEBpZiAoJHN0YXRlID09IFwidmFsaWRcIiBvciAkc3RhdGUgPT0gXCJpbnZhbGlkXCIpIHtcbiAgICAud2FzLXZhbGlkYXRlZCAje2lmKCYsIFwiJlwiLCBcIlwiKX06I3skc3RhdGV9LFxuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAje2lmKCYsIFwiJlwiLCBcIlwiKX0uaXMtI3skc3RhdGV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKFxuICAkc3RhdGUsXG4gICRjb2xvcixcbiAgJGljb24sXG4gICR0b29sdGlwLWNvbG9yOiBjb2xvci1jb250cmFzdCgkY29sb3IpLFxuICAkdG9vbHRpcC1iZy1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSksXG4gICRmb2N1cy1ib3gtc2hhZG93OiAwIDAgJGlucHV0LWJ0bi1mb2N1cy1ibHVyICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgJGlucHV0LWJ0bi1mb2N1cy1jb2xvci1vcGFjaXR5KSxcbiAgJGJvcmRlci1jb2xvcjogJGNvbG9yXG4pIHtcbiAgLiN7JHN0YXRlfS1mZWVkYmFjayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wO1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1mZWVkYmFjay1mb250LXNpemUpO1xuICAgIGZvbnQtc3R5bGU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmctY29sb3I7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBlc2NhcGUtc3ZnKCRpY29uKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAkZm9jdXMtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLXNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgJjpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksXG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pW3NpemU9XCIxXCJdIHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pY29uOiAje2VzY2FwZS1zdmcoJGljb24pfTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLWVuZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb24sICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemUsICRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogJGZvY3VzLWJveC1zaGFkb3c7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuIiwKCQkiLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLXZhcmlhbnRcbkBtaXhpbiB0YWJsZS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJGNvbG9yOiBjb2xvci1jb250cmFzdChvcGFxdWUoJGJvZHktYmcsICRiYWNrZ3JvdW5kKSk7XG4gICAgJGhvdmVyLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtaG92ZXItYmctZmFjdG9yKSk7XG4gICAgJHN0cmlwZWQtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1zdHJpcGVkLWJnLWZhY3RvcikpO1xuICAgICRhY3RpdmUtYmc6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1hY3RpdmUtYmctZmFjdG9yKSk7XG4gICAgJHRhYmxlLWJvcmRlci1jb2xvcjogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWJvcmRlci1mYWN0b3IpKTtcblxuICAgIC0tI3skcHJlZml4fXRhYmxlLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmc6ICN7JGJhY2tncm91bmR9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogI3skdGFibGUtYm9yZGVyLWNvbG9yfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnOiAjeyRzdHJpcGVkLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWNvbG9yOiAje2NvbG9yLWNvbnRyYXN0KCRzdHJpcGVkLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYWN0aXZlLWJnOiAjeyRhY3RpdmUtYmd9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkYWN0aXZlLWJnKX07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JGhvdmVyLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkaG92ZXItYmcpfTtcblxuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtdmFyaWFudFxuIiwKCQkiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4vLyBTaW5nbGUgc2lkZSBib3JkZXItcmFkaXVzXG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byByZXBsYWNlIG5lZ2F0aXZlIHZhbHVlcyB3aXRoIDBcbkBmdW5jdGlvbiB2YWxpZC1yYWRpdXMoJHJhZGl1cykge1xuICAkcmV0dXJuOiAoKTtcbiAgQGVhY2ggJHZhbHVlIGluICRyYWRpdXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCBtYXgoJHZhbHVlLCAwKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgJHZhbHVlKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzLCAkZmFsbGJhY2stYm9yZGVyLXJhZGl1czogZmFsc2UpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBib3JkZXItcmFkaXVzLW1peGluc1xuIiwKCQkiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkc2hhZG93IHtcbiAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsIFwiY29tbWFcIik7XG4gICAgICB9XG4gICAgICBAaWYgJHZhbHVlID09IG5vbmUgYW5kIGxlbmd0aCgkc2hhZG93KSA+IDEge1xuICAgICAgICBAd2FybiBcIlRoZSBrZXl3b3JkICdub25lJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmIChsZW5ndGgoJHJlc3VsdCkgPiAwKSB7XG4gICAgICBib3gtc2hhZG93OiAkcmVzdWx0O1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gR3JhZGllbnRzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1iZy1taXhpblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcjogbnVsbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LWJnLW1peGluXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBncmFkaWVudC1taXhpbnNcbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiBudWxsLCAkZW5kLXBlcmNlbnQ6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkZGVnOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXgtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoJHdoaXRlLCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgZ3JhZGllbnQtbWl4aW5zXG4iLAoJCSIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID09IDAge1xuICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPiAxIHtcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHRyYW5zaXRpb24ge1xuICAgICAgQGlmICR2YWx1ZSA9PSBudWxsIG9yICR2YWx1ZSA9PSBub25lIHtcbiAgICAgICAgQHdhcm4gXCJUaGUga2V5d29yZCAnbm9uZScgb3IgJ251bGwnIG11c3QgYmUgdXNlZCBhcyBhIHNpbmdsZSBhcmd1bWVudC5cIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBAaWYgJGVuYWJsZS1yZWR1Y2VkLW1vdGlvbiBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBudWxsIGFuZCBudGgoJHRyYW5zaXRpb24sIDEpICE9IG5vbmUge1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIHNjc3MtZG9jcy1zdGFydCBjbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBjbGVhcmZpeFxuIiwKCQkiLy8gQ29udGFpbmVyIG1peGluc1xuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoJGd1dHRlcjogJGNvbnRhaW5lci1wYWRkaW5nLXgpIHtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXg6ICN7JGd1dHRlcn07XG4gIC0tI3skcHJlZml4fWd1dHRlci15OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsCgkJIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAtd2Via2l0LWZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcblxuICB9IEBlbHNlIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICAtd2Via2l0LWZsZXg6IDEgMSAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jb2wtYXV0bygpIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIC13ZWJraXQtZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiBkaXZpZGUoJHNpemUsICRjb2x1bW5zKTtcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG5cbi8vIFJvdyBjb2x1bW5zXG4vL1xuLy8gU3BlY2lmeSBvbiBhIHBhcmVudCBlbGVtZW50KGUuZy4sIC5yb3cpIHRvIGZvcmNlIGltbWVkaWF0ZSBjaGlsZHJlbiBpbnRvIE5OXG4vLyBudW1iZXIgb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC13ZWJraXQtZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgICAtd2Via2l0LWZsZXg6IDEgMCAwJTsgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICB9XG5cbiAgICAgIC5yb3ctY29scyN7JGluZml4fS1hdXRvID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRncmlkLXJvdy1jb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtcm93LWNvbHVtbnMge1xuICAgICAgICAgIC5yb3ctY29scyN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByb3ctY29scygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIG1ha2UtY29sLWF1dG8oKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2woJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgICAgQGlmIG5vdCAoJGluZml4ID09IFwiXCIgYW5kICRpID09IDApIHsgLy8gQXZvaWQgZW1pdHRpbmcgdXNlbGVzcyAub2Zmc2V0LTBcbiAgICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gR3V0dGVyc1xuICAgICAgLy9cbiAgICAgIC8vIE1ha2UgdXNlIG9mIGAuZy0qYCwgYC5neC0qYCBvciBgLmd5LSpgIHV0aWxpdGllcyB0byBjaGFuZ2Ugc3BhY2luZyBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRndXR0ZXJzIHtcbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd4I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cblxuICAgICAgICAuZyN7JGluZml4fS0jeyRrZXl9LFxuICAgICAgICAuZ3kjeyRpbmZpeH0tI3ska2V5fSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1jc3NncmlkKCRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgQGlmICRjb2x1bW5zID4gMCB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAgIC5nLWNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gJGk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQgd2l0aCBgMWAgYmVjYXVzZSBgMGAgaXMgYW5kIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIEJTNSsgZGFyayBjb2xvciBtb2RlIGZvcmVncm91bmQgY29sb3JcbiRlbXBoYXNpcy1jb2xvci1yZ2I6IHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsMCwwKSAhZGVmYXVsdDtcblxuLy8gQ2FyZHMgYXJlIHdoaXRlIGJ5IGRlZmF1bHQsIGJ1dCB3ZSB3YW50IGEgc21hcnRlciBkZWZhdWx0IGZvciAud2VsbFxuLy8gdGhhdCBpdCBhcHBlYXJzIGdyYXkgYnkgZGVmYXVsdFxuJHdlbGwtYmc6IGlmKCRib290c3RyYXAtdmVyc2lvbj49NSwgUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAuMDMpLCByZ2JhKCRibGFjaywgLjAzKSkgIWRlZmF1bHQ7XG4kd2VsbC1jb2xvcjogaWYoJGJvb3RzdHJhcC12ZXJzaW9uPj01LCBSR0IoJGVtcGhhc2lzLWNvbG9yLXJnYiksICRib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8gQm9vdHN0cmFwIDUuMy4xICsgc2VsZWN0aXplLmpzIHYwLjEyLjQgKGkuZS4sIHNoaW55IHYxLjcuNSkgc2hpbVxuLy9cbi8vIFN0YXJ0aW5nIHdpdGggNS4zLngsIEJvb3RzdHJhcCBzdGFydGVkIGhhdmluZyBTYXNzIHZhcmlhYmxlcyBkZWZhdWx0IHRvIENTU1xuLy8gdmFyaWFibGVzIChlLmcuLCAkaW5wdXQtY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IpKSwgd2hpY2ggaXMgcHJvYmxlbWF0aWMgZm9yXG4vLyBjb21wdWF0aW9uIHRoYXQgaGFwcGVucyBpbiBTYXNzIChlLmcuLCBgbWl4KCRjb2xvcjEsICRjb2xvcjIpYCkuIFRoaXMgYnVuZGxlXG4vLyBmaXhlcyB0aGlzIHByb2JsZW0gZm9yIHNoaW55OjpzZWxlY3RpemVJbnB1dCgpJ3MgU2FzcyBjb2RlIChmdXR1cmUgdmVyc2lvbnMgb2Zcbi8vIHNlbGVjdGl6ZUlucHV0KCkgc2hvdWxkIGhvcGVmdWxseSBhZGRyZXNzIHRoaXMgcHJvYmxlbSwgbWFraW5nIHRoaXMgdGVtcG9yYXJ5XG4vLyBzdG9wZ2FwIHNvbHV0aW9uIG5vIGxvbmdlciByZXF1aXJlZCkuXG4kc2VsZWN0aXplLWNvbG9yLXRleHQ6IGlmKGlzLWNzcy12YXJpYWJsZSgkaW5wdXQtY29sb3IpLCAkYm9keS1jb2xvciwgJGlucHV0LWNvbG9yKSAhZGVmYXVsdDtcbiRzZWxlY3RpemUtY29sb3ItaXRlbTogcmdiYSgkc2VsZWN0aXplLWNvbG9yLXRleHQsIDAuMSkgIWRlZmF1bHQ7XG4kc2VsZWN0aXplLWNvbG9yLWl0ZW0tYm9yZGVyOiBpZihpcy1jc3MtdmFyaWFibGUoJGlucHV0LWJvcmRlci1jb2xvciksICRib3JkZXItY29sb3IsICRpbnB1dC1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJHNlbGVjdGl6ZS1jb2xvci1kcm9wZG93bjogaWYoaXMtY3NzLXZhcmlhYmxlKCRkcm9wZG93bi1iZyksICRib2R5LWJnLCAkZHJvcGRvd24tYmcpICFkZWZhdWx0O1xuJHNlbGVjdGl6ZS1jb2xvci1kcm9wZG93bi1ib3JkZXItdG9wOiByZ2JhKCRpbnB1dC1ib3JkZXItY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kc2VsZWN0aXplLWNvbG9yLWRyb3Bkb3duLWl0ZW0tY3JlYXRlLXRleHQ6IHJnYmEoJHNlbGVjdGl6ZS1jb2xvci10ZXh0LCAwLjUpICFkZWZhdWx0O1xuQGlmIHZhcmlhYmxlLWV4aXN0cyhcImlucHV0LWJ0bi1mb250LXNpemVcIikge1xuICAkc2VsZWN0aXplLWZvbnQtc2l6ZTogJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG59IEBlbHNlIGlmIHZhcmlhYmxlLWV4aXN0cyhcImZvbnQtc2l6ZS1iYXNlXCIpIHtcbiAgJHNlbGVjdGl6ZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbn1cbiRzZWxlY3RpemUtZm9udC1mYW1pbHk6IGlmKCRpbnB1dC1idG4tZm9udC1mYW1pbHksICRpbnB1dC1idG4tZm9udC1mYW1pbHksIGluaGVyaXQpICFkZWZhdWx0O1xuIiwKCQkiLy8gQWNjb3JkaW9uc1xuLy8gVGhlc2UgZGVmaW5pdGlvbnMgY2FuJ3QgZ28gaW4gX2RlZmF1bHRzLnNjc3Mgd2l0aCBhICFkZWZhdWx0IGZsYWcgKGJlY2F1c2UgIWRlZmF1bHQgZG9lc24ndCByZXNwZWN0IG51bGwpXG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6IG51bGw7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtY29sb3I6IG51bGw7XG4kYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yOiBudWxsO1xuXG4vLyBDb21wb25lbnQgVmFyaWFibGVzXG5AaW1wb3J0IFwiaW9ucmFuZ2VzbGlkZXIvX3ZhcmlhYmxlcy5zY3NzXCI7XG4iLAoJCSIvLyBodHRwczovL2dpdGh1Yi5jb20vcnN0dWRpby9zaGlueS9ibG9iL21haW4vaW5zdC93d3cvc2hhcmVkL2lvbnJhbmdlc2xpZGVyL3Njc3Mvc2hpbnkuc2Nzc1xuXG4kZW1waGFzaXMtY29sb3ItcmdiOiB2YXIoLS1icy1lbXBoYXNpcy1jb2xvci1yZ2IsIDAsIDAsIDApICFkZWZhdWx0O1xuXG4kbWlubWF4X2JnX2NvbG9yOiBSR0JBKCRlbXBoYXNpcy1jb2xvci1yZ2IsIDAuMSkgIWRlZmF1bHQ7XG5cbiR0b3A6IDMycHggIWRlZmF1bHQ7XG5cbiRsaW5lX2hlaWdodDogMXB4ICFkZWZhdWx0O1xuJGxpbmVfYmc6IG5vbmUgIWRlZmF1bHQ7XG4kbGluZV9iZ19jb2xvcjogUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAwLjY1KSAhZGVmYXVsdDtcbiRsaW5lX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcblxuJGhhbmRsZV9jb2xvcjogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kaGFuZGxlX2NvbG9yX2hvdmVyOiB0aW50LWNvbG9yKCRoYW5kbGVfY29sb3IsIDE1JSkgIWRlZmF1bHQ7XG4kaGFuZGxlX2JvcmRlcjogbm9uZSAhZGVmYXVsdDtcbiRoYW5kbGVfYm94X3NoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiRoYW5kbGVfcmFkaXVzOiAkdG9wIC0gMTBweCAhZGVmYXVsdDtcbiRoYW5kbGVfaGVpZ2h0OiAxOXB4ICFkZWZhdWx0O1xuJGhhbmRsZV93aWR0aDogJGhhbmRsZV9oZWlnaHQgIWRlZmF1bHQ7XG5cbiRiYXJfY29sb3I6ICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kZ3JpZF9tYWpvcl9jb2xvcjogUkdCQSgkZW1waGFzaXMtY29sb3ItcmdiLCAwLjY1KSAhZGVmYXVsdDtcbiRncmlkX21pbm9yX2NvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRncmlkX3RleHRfY29sb3I6IFJHQkEoJGVtcGhhc2lzLWNvbG9yLXJnYiwgMC44NSkgIWRlZmF1bHQ7XG4iLAoJCSJcbiRlbmFibGUtc2hhZG93czogdHJ1ZSAhZGVmYXVsdDtcbiRzZWxlY3QtZm9udC1mYW1pbHk6IGlmKCRpbnB1dC1idG4tZm9udC1mYW1pbHksICRpbnB1dC1idG4tZm9udC1mYW1pbHksIGluaGVyaXQpICFkZWZhdWx0O1xuJHNlbGVjdC1mb250LXNpemU6ICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJHNlbGVjdC1saW5lLWhlaWdodDogJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDsgLy9mb3JtZXJseSBsaW5lLWhlaWdodC1jb21wdXRlZFxuXG4kc2VsZWN0LWNvbG9yLXJnYjogdmFyKC0tYnMtZW1waGFzaXMtY29sb3ItcmdiLCAwLCAwLCAwKSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItdGV4dDogUkdCQSgkc2VsZWN0LWNvbG9yLXJnYiwgMC44MykgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWhpZ2hsaWdodDogcmdiYSgyNTUsIDIzNywgNDAsIDAuNCkgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0OiAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0LWZ1bGw6ICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItaW5wdXQtZXJyb3I6ICRkYW5nZXIgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0LWVycm9yLWZvY3VzOiBkYXJrZW4oXG4gICRzZWxlY3QtY29sb3ItaW5wdXQtZXJyb3IsXG4gIDEwJVxuKSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZGlzYWJsZWQ6ICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItaXRlbTogUkdCQSgkc2VsZWN0LWNvbG9yLXJnYiwgMC4wNSkgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYm9yZGVyOiAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZTogJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLXRleHQ6IGNvbG9yLWNvbnRyYXN0KCRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmUpICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZS1ib3JkZXI6IHJnYmEoMCwgMCwgMCwgMCkgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLW9wdGdyb3VwOiAkZHJvcGRvd24tYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLW9wdGdyb3VwLXRleHQ6ICRkcm9wZG93bi1oZWFkZXItY29sb3IgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLW9wdGdyb3VwLWJvcmRlcjogJGRyb3Bkb3duLWRpdmlkZXItYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duOiAkZHJvcGRvd24tYmcgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWJvcmRlci10b3A6IHJnYmEoJGlucHV0LWJvcmRlci1jb2xvciwgMC44KSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1hY3RpdmU6ICRkcm9wZG93bi1saW5rLWhvdmVyLWJnICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZS10ZXh0OiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd24taXRlbS1jcmVhdGUtYWN0aXZlLXRleHQ6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNlbGVjdC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG4kc2VsZWN0LXNoYWRvdy1pbnB1dDogbm9uZSAhZGVmYXVsdDtcbiRzZWxlY3Qtc2hhZG93LWlucHV0LWZvY3VzOiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KSAhZGVmYXVsdDtcbiRzZWxlY3Qtc2hhZG93LWlucHV0LWVycm9yOiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSkgIWRlZmF1bHQ7XG4kc2VsZWN0LXNoYWRvdy1pbnB1dC1lcnJvci1mb2N1czogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLFxuICAwIDAgNnB4IGxpZ2h0ZW4oJHNlbGVjdC1jb2xvci1pbnB1dC1lcnJvciwgMjAlKSAhZGVmYXVsdDtcbiRzZWxlY3QtYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRzZWxlY3QtYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRzZWxlY3Qtd2lkdGgtaXRlbS1ib3JkZXI6IDBweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy14OiAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy15OiAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXg6ICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teTogM3B4ICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nLWl0ZW0teDogNXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1wYWRkaW5nLWl0ZW0teTogMXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXJnaW4taXRlbS14OiAzcHggIWRlZmF1bHQ7XG4kc2VsZWN0LW1hcmdpbi1pdGVtLXk6IDNweCAhZGVmYXVsdDtcblxuJHNlbGVjdC1hcnJvdy1zaXplOiA1cHggIWRlZmF1bHQ7XG4kc2VsZWN0LWFycm93LWNvbG9yOiAkc2VsZWN0LWNvbG9yLXRleHQgIWRlZmF1bHQ7XG4kc2VsZWN0LWFycm93LW9mZnNldDogY2FsYygjeyRzZWxlY3QtcGFkZGluZy14fSArIDVweCkgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJzZWxlY3RpemVcIjtcblxuLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24sXG4uI3skc2VsZWN0aXplfS1kcm9wZG93bi5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMnB4IDAgMCAwO1xuICB6LWluZGV4OiAkemluZGV4LWRyb3Bkb3duO1xuICBiYWNrZ3JvdW5kOiAkc2VsZWN0LWNvbG9yLWRyb3Bkb3duO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yOyAvLyRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE3NSk7XG59XG5cbi4jeyRzZWxlY3RpemV9LWRyb3Bkb3duIHtcbiAgLm9wdGdyb3VwLWhlYWRlciB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgfVxuICAub3B0Z3JvdXA6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vcHRncm91cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGRyb3Bkb3duLWRpdmlkZXItYmc7XG4gICAgbWFyZ2luLWxlZnQ6ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXggKiAtMTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXggKiAtMTtcbiAgfVxuXG4gIC5jcmVhdGUge1xuICAgIHBhZGRpbmctbGVmdDogJHNlbGVjdC1wYWRkaW5nLWRyb3Bkb3duLWl0ZW0teDtcbiAgfVxufVxuXG4uI3skc2VsZWN0aXplfS1kcm9wZG93bi1jb250ZW50IHtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbi4jeyRzZWxlY3RpemV9LWRyb3Bkb3duLWVtcHR5b3B0aW9ubGFiZWwge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi4jeyRzZWxlY3RpemV9LWlucHV0IHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkaW5wdXQtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGlucHV0LXRyYW5zaXRpb24pO1xuXG4gICYuZHJvcGRvd24tYWN0aXZlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LWJvcmRlci1yYWRpdXM7XG4gIH1cbiAgJi5kcm9wZG93bi1hY3RpdmU6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmLmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4uaXMtaW52YWxpZCAuI3skc2VsZWN0aXplfS1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogJHNlbGVjdC1jb2xvci1pbnB1dC1lcnJvcjtcbiAgYm94LXNoYWRvdzogJHNlbGVjdC1zaGFkb3ctaW5wdXQtZXJyb3I7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2VsZWN0LWNvbG9yLWlucHV0LWVycm9yLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRzZWxlY3Qtc2hhZG93LWlucHV0LWVycm9yLWZvY3VzO1xuICB9XG59XG5cbi4jeyRzZWxlY3RpemV9LWNvbnRyb2wge1xuICAmLmZvcm0tY29udHJvbC1zbSB7XG4gICAgLiN7JHNlbGVjdGl6ZX0taW5wdXQge1xuICAgICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICAgICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemUtc207XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtO1xuICAgIH1cbiAgfVxuXG4gICYubXVsdGkge1xuICAgIC4jeyRzZWxlY3RpemV9LWlucHV0IHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygjeyRzZWxlY3QtcGFkZGluZy14fSAtICN7JHNlbGVjdC1wYWRkaW5nLWl0ZW0teH0pO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYygjeyRzZWxlY3QtcGFkZGluZy14fSAtICN7JHNlbGVjdC1wYWRkaW5nLWl0ZW0teH0pO1xuICAgIH1cbiAgICAuI3skc2VsZWN0aXplfS1pbnB1dCA+IGRpdiB7XG4gICAgICBib3JkZXItcmFkaXVzOiBjYWxjKCN7JHNlbGVjdC1ib3JkZXItcmFkaXVzfSAtIDFweCk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLXNlbGVjdC4jeyRzZWxlY3RpemV9LWNvbnRyb2wsXG4uZm9ybS1jb250cm9sLiN7JHNlbGVjdGl6ZX0tY29udHJvbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uaW5wdXQtZ3JvdXA+LmlucHV0LWdyb3VwLWFwcGVuZD4uYnRuLCAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5cbi5pbnB1dC1ncm91cD4uaW5wdXQtZ3JvdXAtcHJlcGVuZD4uYnRuIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG5cbi5pbnB1dC1ncm91cCAuI3skc2VsZWN0aXplfS1jb250cm9sOm5vdCg6bGFzdC1jaGlsZCkge1xuICAuI3skc2VsZWN0aXplfS1pbnB1dHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwIC4jeyRzZWxlY3RpemV9LWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCkge1xuICAuI3skc2VsZWN0aXplfS1pbnB1dHtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5cbi4je3NlbGVjdGl6ZX0tZHJvcGRvd24ucGx1Z2luLWF1dG9fcG9zaXRpb24uI3skc2VsZWN0aXplfS1wb3NpdGlvbi10b3Age1xuICBib3JkZXItdG9wOiAkc2VsZWN0LWJvcmRlciFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206ICRzZWxlY3QtYm9yZGVyIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1ib3JkZXItcmFkaXVzIWltcG9ydGFudDtcbn1cbi4je3NlbGVjdGl6ZX0tY29udHJvbC5wbHVnaW4tYXV0b19wb3NpdGlvbiAuI3tzZWxlY3RpemV9LWlucHV0LiN7JHNlbGVjdGl6ZX0tcG9zaXRpb24tdG9wLmRyb3Bkb3duLWFjdGl2ZSB7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtYm9yZGVyLXJhZGl1cyFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6ICRzZWxlY3QtYm9yZGVyIWltcG9ydGFudDtcbn1cbiIsCgkJIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gYmFzZSBzdHlsZXNcbiRzZWxlY3RpemU6IFwic2VsZWN0aXplXCIgIWRlZmF1bHQ7XG4kc2VsZWN0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuJHNlbGVjdC1mb250LXNtb290aGluZzogaW5oZXJpdCAhZGVmYXVsdDtcbiRzZWxlY3QtZm9udC1zaXplOiAxM3B4ICFkZWZhdWx0O1xuJHNlbGVjdC1saW5lLWhlaWdodDogMThweCAhZGVmYXVsdDtcblxuJHNlbGVjdC1jb2xvci1yZ2I6IDAsMCwwICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci10ZXh0OiBSR0JBKCRzZWxlY3QtY29sb3ItcmdiLCAwLjgzKSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItYm9yZGVyOiAjZDBkMGQwICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1oaWdobGlnaHQ6IHJnYmEoMTI1LCAxNjgsIDIwOCwgMC4yKSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItaW5wdXQ6ICNmZmYgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWlucHV0LWZ1bGw6ICRzZWxlY3QtY29sb3ItaW5wdXQgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRpc2FibGVkOiAjZmFmYWZhICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtOiAjZjJmMmYyICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLXRleHQ6ICRzZWxlY3QtY29sb3ItdGV4dCAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItaXRlbS1ib3JkZXI6ICNkMGQwZDAgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlOiAjZThlOGU4ICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0OiAkc2VsZWN0LWNvbG9yLXRleHQgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLWJvcmRlcjogI2NhY2FjYSAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3ItZHJvcGRvd246ICNmZmYgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWJvcmRlcjogJHNlbGVjdC1jb2xvci1ib3JkZXIgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWJvcmRlci10b3A6ICNmMGYwZjAgIWRlZmF1bHQ7XG4kc2VsZWN0LWNvbG9yLWRyb3Bkb3duLWl0ZW0tYWN0aXZlOiAjZjVmYWZkICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZS10ZXh0OiAjNDk1YzY4ICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWNyZWF0ZS10ZXh0OiBSR0JBKCRzZWxlY3QtY29sb3ItcmdiLCAwLjUpICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWNyZWF0ZS1hY3RpdmUtdGV4dDogJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZS10ZXh0ICFkZWZhdWx0O1xuJHNlbGVjdC1jb2xvci1vcHRncm91cDogJHNlbGVjdC1jb2xvci1kcm9wZG93biAhZGVmYXVsdDtcbiRzZWxlY3QtY29sb3Itb3B0Z3JvdXAtdGV4dDogJHNlbGVjdC1jb2xvci10ZXh0ICFkZWZhdWx0O1xuJHNlbGVjdC1saWdodGVuLWRpc2FibGVkLWl0ZW06IDMwJSAhZGVmYXVsdDtcbiRzZWxlY3QtbGlnaHRlbi1kaXNhYmxlZC1pdGVtLXRleHQ6IDMwJSAhZGVmYXVsdDtcbiRzZWxlY3QtbGlnaHRlbi1kaXNhYmxlZC1pdGVtLWJvcmRlcjogMzAlICFkZWZhdWx0O1xuJHNlbGVjdC1vcGFjaXR5LWRpc2FibGVkOiAwLjUgIWRlZmF1bHQ7XG5cbiRzZWxlY3Qtc2hhZG93LWlucHV0OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuJHNlbGVjdC1zaGFkb3ctaW5wdXQtZm9jdXM6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuJHNlbGVjdC1ib3JkZXI6IDFweCBzb2xpZCAkc2VsZWN0LWNvbG9yLWJvcmRlciAhZGVmYXVsdDtcbiRzZWxlY3QtZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJHNlbGVjdC1jb2xvci1kcm9wZG93bi1ib3JkZXIgIWRlZmF1bHQ7XG4kc2VsZWN0LWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcblxuJHNlbGVjdC13aWR0aC1pdGVtLWJvcmRlcjogMHB4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXgtaGVpZ2h0LWRyb3Bkb3duOiAyMDBweCAhZGVmYXVsdDtcblxuJHNlbGVjdC1wYWRkaW5nLXg6IDhweCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy15OiA4cHggIWRlZmF1bHQ7XG4kc2VsZWN0LXBhZGRpbmctaXRlbS14OiA2cHggIWRlZmF1bHQ7XG4kc2VsZWN0LXBhZGRpbmctaXRlbS15OiAycHggIWRlZmF1bHQ7XG4kc2VsZWN0LXBhZGRpbmctZHJvcGRvd24taXRlbS14OiAkc2VsZWN0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXk6IDVweCAhZGVmYXVsdDtcbiRzZWxlY3QtbWFyZ2luLWl0ZW0teDogM3B4ICFkZWZhdWx0O1xuJHNlbGVjdC1tYXJnaW4taXRlbS15OiAzcHggIWRlZmF1bHQ7XG5cbiRzZWxlY3QtYXJyb3ctc2l6ZTogNXB4ICFkZWZhdWx0O1xuJHNlbGVjdC1hcnJvdy1jb2xvcjogIzgwODA4MCAhZGVmYXVsdDtcbiRzZWxlY3QtYXJyb3ctb2Zmc2V0OiAxNXB4ICFkZWZhdWx0O1xuXG4kc2VsZWN0LWNhcmV0LW1hcmdpbjogMCAwcHggIWRlZmF1bHQ7XG4kc2VsZWN0LWNhcmV0LW1hcmdpbi1ydGw6IDAgNHB4IDAgLTJweCAhZGVmYXVsdDtcblxuJHNlbGVjdC1zcGlubmVyLXNpemU6IDMwcHg7XG4kc2VsZWN0LXNwaW5uZXItYm9yZGVyLXNpemU6IDVweDtcbiRzZWxlY3Qtc3Bpbm5lci1ib3JkZXItY29sb3I6ICRzZWxlY3QtY29sb3ItYm9yZGVyO1xuXG5AbWl4aW4gc2VsZWN0aXplLXZlcnRpY2FsLWdyYWRpZW50KCRjb2xvci10b3AsICRjb2xvci1ib3R0b20pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRjb2xvci10b3AsICRjb2xvci1ib3R0b20sIDYwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRjb2xvci10b3AsICRjb2xvci1ib3R0b20pO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbkBpbXBvcnQgXCJwbHVnaW5zL2RyYWdfZHJvcC5zY3NzXCI7XG5AaW1wb3J0IFwicGx1Z2lucy9kcm9wZG93bl9oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcInBsdWdpbnMvb3B0Z3JvdXBfY29sdW1ucy5zY3NzXCI7XG5AaW1wb3J0IFwicGx1Z2lucy9yZW1vdmVfYnV0dG9uLnNjc3NcIjtcbkBpbXBvcnQgXCJwbHVnaW5zL2NsZWFyX2J1dHRvbi5zY3NzXCI7XG5AaW1wb3J0IFwicGx1Z2lucy9hdXRvX3Bvc2l0aW9uLnNjc3NcIjtcblxuLiN7JHNlbGVjdGl6ZX0tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24sXG4uI3skc2VsZWN0aXplfS1pbnB1dCxcbi4jeyRzZWxlY3RpemV9LWlucHV0IGlucHV0IHtcbiAgY29sb3I6ICRzZWxlY3QtY29sb3ItdGV4dDtcbiAgZm9udC1mYW1pbHk6ICRzZWxlY3QtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJHNlbGVjdC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkc2VsZWN0LWxpbmUtaGVpZ2h0O1xuICBmb250LXNtb290aGluZzogJHNlbGVjdC1mb250LXNtb290aGluZztcbn1cblxuLiN7JHNlbGVjdGl6ZX0taW5wdXQsXG4uI3skc2VsZWN0aXplfS1jb250cm9sLnNpbmdsZSAuI3skc2VsZWN0aXplfS1pbnB1dC5pbnB1dC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkc2VsZWN0LWNvbG9yLWlucHV0O1xuICBjdXJzb3I6IHRleHQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLiN7JHNlbGVjdGl6ZX0taW5wdXQge1xuICBib3JkZXI6ICRzZWxlY3QtYm9yZGVyO1xuICBwYWRkaW5nOiAkc2VsZWN0LXBhZGRpbmcteSAkc2VsZWN0LXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2hhZG93OiAkc2VsZWN0LXNoYWRvdy1pbnB1dDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1ib3JkZXItcmFkaXVzO1xuXG4gIC4jeyRzZWxlY3RpemV9LWNvbnRyb2wubXVsdGkgJi5oYXMtaXRlbXMge1xuICAgICRwYWRkaW5nLXg6ICRzZWxlY3QtcGFkZGluZy14O1xuICAgICRwYWRkaW5nLXRvcDogY2FsYyhcbiAgICAgICN7JHNlbGVjdC1wYWRkaW5nLXl9IC0gI3skc2VsZWN0LXBhZGRpbmctaXRlbS15fSAtICN7JHNlbGVjdC13aWR0aC1pdGVtLWJvcmRlcn1cbiAgICApO1xuICAgICRwYWRkaW5nLWJvdHRvbTogY2FsYyhcbiAgICAgICN7JHNlbGVjdC1wYWRkaW5nLXl9IC0gI3skc2VsZWN0LXBhZGRpbmctaXRlbS15fSAtICN7JHNlbGVjdC1tYXJnaW4taXRlbS15fSAtXG4gICAgICAgICN7JHNlbGVjdC13aWR0aC1pdGVtLWJvcmRlcn1cbiAgICApO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXRvcCAkcGFkZGluZy14ICRwYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gICYuZnVsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1jb2xvci1pbnB1dC1mdWxsO1xuICB9XG4gICYuZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQgKiB7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHNlbGVjdC1zaGFkb3ctaW5wdXQtZm9jdXM7XG4gIH1cbiAgJi5kcm9wZG93bi1hY3RpdmUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtYm9yZGVyLXJhZGl1cyAkc2VsZWN0LWJvcmRlci1yYWRpdXMgMCAwO1xuICB9XG5cbiAgPiAqIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHpvb206IDE7XG4gIH1cbiAgLiN7JHNlbGVjdGl6ZX0tY29udHJvbC5tdWx0aSAmID4gZGl2IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwICRzZWxlY3QtbWFyZ2luLWl0ZW0teCAkc2VsZWN0LW1hcmdpbi1pdGVtLXkgMDtcbiAgICBwYWRkaW5nOiAkc2VsZWN0LXBhZGRpbmctaXRlbS15ICRzZWxlY3QtcGFkZGluZy1pdGVtLXg7XG4gICAgYmFja2dyb3VuZDogJHNlbGVjdC1jb2xvci1pdGVtO1xuICAgIGNvbG9yOiAkc2VsZWN0LWNvbG9yLWl0ZW0tdGV4dDtcbiAgICBib3JkZXI6ICRzZWxlY3Qtd2lkdGgtaXRlbS1ib3JkZXIgc29saWQgJHNlbGVjdC1jb2xvci1pdGVtLWJvcmRlcjtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmU7XG4gICAgICBjb2xvcjogJHNlbGVjdC1jb2xvci1pdGVtLWFjdGl2ZS10ZXh0O1xuICAgICAgYm9yZGVyOiAkc2VsZWN0LXdpZHRoLWl0ZW0tYm9yZGVyIHNvbGlkICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmUtYm9yZGVyO1xuICAgIH1cbiAgfVxuICAuI3skc2VsZWN0aXplfS1jb250cm9sLm11bHRpICYuZGlzYWJsZWQgPiBkaXYge1xuICAgICYsXG4gICAgJi5hY3RpdmUge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oZ3JheSwgJHNlbGVjdC1saWdodGVuLWRpc2FibGVkLWl0ZW0tdGV4dCk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKGdyYXksICRzZWxlY3QtbGlnaHRlbi1kaXNhYmxlZC1pdGVtKTtcbiAgICAgIGJvcmRlcjogJHNlbGVjdC13aWR0aC1pdGVtLWJvcmRlciBzb2xpZFxuICAgICAgICBsaWdodGVuKGdyYXksICRzZWxlY3QtbGlnaHRlbi1kaXNhYmxlZC1pdGVtLWJvcmRlcik7XG4gICAgfVxuICB9XG4gID4gaW5wdXQge1xuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWluZGVudDogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IGF1dG8gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJltwbGFjZWhvbGRlcl0ge1xuICAgICAgYm94LXNpemluZzogaW5pdGlhbDtcbiAgICB9XG4gIH1cbiAgJi5oYXMtaXRlbXMgPiBpbnB1dCB7XG4gICAgbWFyZ2luOiAkc2VsZWN0LWNhcmV0LW1hcmdpbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi4jeyRzZWxlY3RpemV9LWlucHV0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGxlZnQ7XG59XG5cbi4jeyRzZWxlY3RpemV9LWlucHV0LmRyb3Bkb3duLWFjdGl2ZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICRzZWxlY3QtY29sb3ItZHJvcGRvd24tYm9yZGVyLXRvcDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi4jeyRzZWxlY3RpemV9LWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcblxuICBib3JkZXI6ICRzZWxlY3QtZHJvcGRvd24tYm9yZGVyO1xuICBiYWNrZ3JvdW5kOiAkc2VsZWN0LWNvbG9yLWRyb3Bkb3duO1xuICBtYXJnaW46IC0xcHggMCAwIDA7XG4gIGJvcmRlci10b3A6IDAgbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMCAwICRzZWxlY3QtYm9yZGVyLXJhZGl1cyAkc2VsZWN0LWJvcmRlci1yYWRpdXM7XG5cbiAgW2RhdGEtc2VsZWN0YWJsZV0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC5oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZDogJHNlbGVjdC1jb2xvci1oaWdobGlnaHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gICAgfVxuICB9XG4gIC5vcHRpb24sXG4gIC5vcHRncm91cC1oZWFkZXIsXG4gIC5uby1yZXN1bHRzLFxuICAuY3JlYXRlIHtcbiAgICBwYWRkaW5nOiAkc2VsZWN0LXBhZGRpbmctZHJvcGRvd24taXRlbS15ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXg7XG4gIH1cbiAgLm9wdGlvbixcbiAgW2RhdGEtZGlzYWJsZWRdLFxuICBbZGF0YS1kaXNhYmxlZF0gW2RhdGEtc2VsZWN0YWJsZV0ub3B0aW9uIHtcbiAgICBjdXJzb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG4gIFtkYXRhLXNlbGVjdGFibGVdLm9wdGlvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLm9wdGdyb3VwOmZpcnN0LWNoaWxkIC5vcHRncm91cC1oZWFkZXIge1xuICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbiAgfVxuICAub3B0Z3JvdXAtaGVhZGVyIHtcbiAgICBjb2xvcjogJHNlbGVjdC1jb2xvci1vcHRncm91cC10ZXh0O1xuICAgIGJhY2tncm91bmQ6ICRzZWxlY3QtY29sb3Itb3B0Z3JvdXA7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG4gIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmU7XG4gICAgY29sb3I6ICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmUtdGV4dDtcbiAgICAmLmNyZWF0ZSB7XG4gICAgICBjb2xvcjogJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWNyZWF0ZS1hY3RpdmUtdGV4dDtcbiAgICB9XG4gIH1cblxuICAuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmU7XG4gICAgY29sb3I6ICRzZWxlY3QtY29sb3ItaXRlbS1hY3RpdmUtdGV4dDtcbiAgfVxuICAuY3JlYXRlIHtcbiAgICBjb2xvcjogJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWNyZWF0ZS10ZXh0O1xuICB9XG5cbiAgLmFjdGl2ZTpub3QoLnNlbGVjdGVkKSB7XG4gICAgYmFja2dyb3VuZDogJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZTtcbiAgICBjb2xvcjogJHNlbGVjdC1jb2xvci1kcm9wZG93bi1pdGVtLWFjdGl2ZS10ZXh0O1xuICB9XG59XG5cbi4jeyRzZWxlY3RpemV9LWRyb3Bkb3duLWNvbnRlbnQge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6ICRzZWxlY3QtbWF4LWhlaWdodC1kcm9wZG93bjtcbiAgb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24tZW1wdHlvcHRpb25sYWJlbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24gLnNwaW5uZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2VsZWN0LXNwaW5uZXItc2l6ZTtcbiAgaGVpZ2h0OiAkc2VsZWN0LXNwaW5uZXItc2l6ZTtcbiAgbWFyZ2luOiAkc2VsZWN0LXBhZGRpbmctZHJvcGRvd24taXRlbS15ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXg7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRzZWxlY3Qtc3Bpbm5lci1zaXplICogMC44O1xuICAgIGhlaWdodDogJHNlbGVjdC1zcGlubmVyLXNpemUgKiAwLjg7XG4gICAgbWFyZ2luOiAkc2VsZWN0LXNwaW5uZXItc2l6ZSAqIDAuMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAkc2VsZWN0LXNwaW5uZXItYm9yZGVyLXNpemUgc29saWQgJHNlbGVjdC1zcGlubmVyLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRzZWxlY3Qtc3Bpbm5lci1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnRcbiAgICAgICRzZWxlY3Qtc3Bpbm5lci1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYW5pbWF0aW9uOiBsZHMtZHVhbC1yaW5nIDEuMnMgbGluZWFyIGluZmluaXRlO1xuICB9XG4gIEBrZXlmcmFtZXMgbGRzLWR1YWwtcmluZyB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuLiN7JHNlbGVjdGl6ZX0tY29udHJvbC5zaW5nbGUgLiN7JHNlbGVjdGl6ZX0taW5wdXQge1xuICAmLFxuICBpbnB1dCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gICYuaW5wdXQtYWN0aXZlLFxuICAmLmlucHV0LWFjdGl2ZSBpbnB1dDpub3QoOnJlYWQtb25seSkge1xuICAgIGN1cnNvcjogdGV4dDtcbiAgfVxuXG4gICY6bm90KC5uby1hcnJvdyk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogJHNlbGVjdC1hcnJvdy1vZmZzZXQ7XG4gICAgbWFyZ2luLXRvcDogcm91bmQoZGl2aWRlKC0xICogJHNlbGVjdC1hcnJvdy1zaXplLCAyKSk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkc2VsZWN0LWFycm93LXNpemUgJHNlbGVjdC1hcnJvdy1zaXplIDAgJHNlbGVjdC1hcnJvdy1zaXplO1xuICAgIGJvcmRlci1jb2xvcjogJHNlbGVjdC1hcnJvdy1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICAmOm5vdCgubm8tYXJyb3cpLmRyb3Bkb3duLWFjdGl2ZTphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogJHNlbGVjdC1hcnJvdy1zaXplICogLTAuODtcbiAgICBib3JkZXItd2lkdGg6IDAgJHNlbGVjdC1hcnJvdy1zaXplICRzZWxlY3QtYXJyb3ctc2l6ZSAkc2VsZWN0LWFycm93LXNpemU7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkc2VsZWN0LWFycm93LWNvbG9yIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi4jeyRzZWxlY3RpemV9LWNvbnRyb2wucnRsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICYuc2luZ2xlIC4jeyRzZWxlY3RpemV9LWlucHV0OmFmdGVyIHtcbiAgICBsZWZ0OiAkc2VsZWN0LWFycm93LW9mZnNldDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuI3skc2VsZWN0aXplfS1pbnB1dCA+IGlucHV0IHtcbiAgICBtYXJnaW46ICRzZWxlY3QtY2FyZXQtbWFyZ2luLXJ0bCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi4jeyRzZWxlY3RpemV9LWNvbnRyb2wgLiN7JHNlbGVjdGl6ZX0taW5wdXQuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2VsZWN0LW9wYWNpdHktZGlzYWJsZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtY29sb3ItZGlzYWJsZWQ7XG59XG4iLAoJCSIuI3skc2VsZWN0aXplfS1jb250cm9sLnBsdWdpbi1kcmFnX2Ryb3Age1xuICAmLm11bHRpID4gLiN7JHNlbGVjdGl6ZX0taW5wdXQuZHJhZ2dpbmcge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gICYubXVsdGkgPiAuI3skc2VsZWN0aXplfS1pbnB1dCA+IGRpdi51aS1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjIgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwIG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTJweCA0cHggI2ZmZjtcbiAgfVxuICAudWktc29ydGFibGUtcGxhY2Vob2xkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiFcIjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnVpLXNvcnRhYmxlLWhlbHBlciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgfVxufVxuIiwKCQkiLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24ucGx1Z2luLWRyb3Bkb3duX2hlYWRlciB7XG4gIC4jeyRzZWxlY3RpemV9LWRyb3Bkb3duLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICgkc2VsZWN0LXBhZGRpbmctZHJvcGRvd24taXRlbS15ICogMilcbiAgICAgICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRzZWxlY3QtY29sb3ItYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6IFJHQkEoJHNlbGVjdC1jb2xvci1kcm9wZG93biwgMC4xNSk7XG4gICAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1ib3JkZXItcmFkaXVzICRzZWxlY3QtYm9yZGVyLXJhZGl1cyAwIDA7XG4gIH1cbiAgLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24taGVhZGVyLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6ICRzZWxlY3QtcGFkZGluZy1kcm9wZG93bi1pdGVtLXg7XG4gICAgdG9wOiA1MCU7XG4gICAgY29sb3I6ICRzZWxlY3QtY29sb3ItdGV4dDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgbWFyZ2luLXRvcDogLTEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC4jeyRzZWxlY3RpemV9LWRyb3Bkb3duLWhlYWRlci1jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6IFJHQigkc2VsZWN0LWNvbG9yLXJnYik7XG4gIH1cbn1cbiIsCgkJIi4jeyRzZWxlY3RpemV9LWRyb3Bkb3duLnBsdWdpbi1vcHRncm91cF9jb2x1bW5zIHtcbiAgLiN7JHNlbGVjdGl6ZX0tZHJvcGRvd24tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5vcHRncm91cCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBib3JkZXItdG9wOiAwIG5vbmU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG4gIC5vcHRncm91cDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDAgbm9uZTtcbiAgfVxuICAub3B0Z3JvdXA6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vcHRncm91cC1oZWFkZXIge1xuICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbiAgfVxufVxuIiwKCQkiLiN7JHNlbGVjdGl6ZX0tY29udHJvbC5wbHVnaW4tcmVtb3ZlX2J1dHRvbiB7XG4gIC5pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pdGVtIC5yZW1vdmUge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkc2VsZWN0LXBhZGRpbmctaXRlbS15ICRzZWxlY3QtcGFkZGluZy1pdGVtLXg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkc2VsZWN0LWNvbG9yLWl0ZW0tYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWxlZnQ6ICRzZWxlY3QtcGFkZGluZy1pdGVtLXg7XG4gIH1cblxuICAuaXRlbSAucmVtb3ZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB9XG5cbiAgLml0ZW0uYWN0aXZlIC5yZW1vdmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2VsZWN0LWNvbG9yLWl0ZW0tYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gIC5kaXNhYmxlZCAuaXRlbSAucmVtb3ZlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgLmRpc2FibGVkIC5pdGVtIC5yZW1vdmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBsaWdodGVuKFxuICAgICAgZGVzYXR1cmF0ZSgkc2VsZWN0LWNvbG9yLWl0ZW0tYm9yZGVyLCAxMDAlKSxcbiAgICAgICRzZWxlY3QtbGlnaHRlbi1kaXNhYmxlZC1pdGVtLWJvcmRlclxuICAgICk7XG4gIH1cbn1cbiIsCgkJIi4jeyRzZWxlY3RpemV9LWNvbnRyb2wucGx1Z2luLWNsZWFyX2J1dHRvbiB7XG4gICAgLmNsZWFyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IGNhbGMoI3skc2VsZWN0LXBhZGRpbmcteH0gLSAjeyRzZWxlY3QtcGFkZGluZy1pdGVtLXh9KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWJzLWJvZHktY29sb3IsIGJsYWNrKTtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNsZWFyOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmLnNpbmdsZSAuY2xlYXIge1xuICAgICAgICByaWdodDogY2FsYygjeyRzZWxlY3QtcGFkZGluZy14fSAtICN7JHNlbGVjdC1wYWRkaW5nLWl0ZW0teH0gKyAxLjVyZW0pO1xuICAgIH1cblxufVxuIiwKCQkiLiN7c2VsZWN0aXplfS1kcm9wZG93bi5wbHVnaW4tYXV0b19wb3NpdGlvbi4jeyRzZWxlY3RpemV9LXBvc2l0aW9uLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkc2VsZWN0LWNvbG9yLWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcbiAgYm94LXNoYWRvdzogMCAtNnB4IDEycHggcmdiYSh2YXIoLS1icy1ib2R5LWNvbG9yLXJnYiwgMCwwLDApLCAuMTgpO1xufVxuXG4uI3tzZWxlY3RpemV9LWNvbnRyb2wucGx1Z2luLWF1dG9fcG9zaXRpb24gLiN7c2VsZWN0aXplfS1pbnB1dC4jeyRzZWxlY3RpemV9LXBvc2l0aW9uLXRvcC5kcm9wZG93bi1hY3RpdmUge1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDtcbiAgYm9yZGVyLXRvcDogMCBub25lO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogdW5zZXQ7XG4gIH1cbn1cbiIKCV0sCgkibmFtZXMiOiBbXSwKCSJtYXBwaW5ncyI6ICJBdUNBQSxJQUFJLENBQUosV0FBSTtBQ0FKLEFBQ0Usa0JBRGdCLEFBQUEsaUJBQWlCLEFBQWxDLE1BQU0sR0FBRyxnQkFBZ0IsQUFBQSxTQUFTLENBQ047RUFDekIsUUFBUSxFQUFFLE9BQU87Q0FDbEI7O0FBSEgsQUFJRSxrQkFKZ0IsQUFBQSxpQkFBaUIsQUFBbEMsTUFBTSxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQUFBQSx3QkFBd0IsQ0FJTjtFQUM5QyxVQUFVLEVBQUUsa0JBQWtCO0VB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 */