/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none; }

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
textarea,
.ginput_container_select select,
.ginput_complex .address_country select,
.clear-multi .gfield_time_ampm select,
.ginput_container_multiselect select,
.form-field select,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input,
textarea,
.ginput_container_select select,
.ginput_complex .address_country select,
.clear-multi .gfield_time_ampm select,
.ginput_container_multiselect select,
.form-field select {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

html,
body {
  min-height: 100%; }

body {
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
  body * {
    box-sizing: border-box; }

body {
  color: #1a1a1a;
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
  font-feature-settings: "kern", "liga", "pnum";
  font-size: 1rem;
  font-weight: 200;
  line-height: 1.5;
  letter-spacing: -0.016em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  margin: 1.5em 0 1em;
  text-transform: uppercase; }

h1 {
  margin-top: 0;
  font-size: 3rem;
  letter-spacing: -0.048em; }
  @media (min-width: 1025px) {
    h1 {
      font-size: 3.875rem;
      letter-spacing: -0.062em; } }

h2 {
  font-size: 2rem;
  letter-spacing: -0.032em;
  font-weight: 400; }
  @media (min-width: 1025px) {
    h2 {
      font-size: 3rem;
      letter-spacing: -0.048em; } }

h3 {
  font-size: 1.75rem;
  letter-spacing: -0.028em;
  font-weight: 300; }
  @media (min-width: 1025px) {
    h3 {
      font-size: 2rem;
      letter-spacing: -0.032em; } }

h4 {
  font-size: 1.5rem;
  letter-spacing: -0.024em;
  font-weight: 700; }
  @media (min-width: 1025px) {
    h4 {
      font-size: 1.75rem;
      letter-spacing: -0.028em; } }

h5 {
  font-size: 1.3125rem;
  letter-spacing: -0.021em;
  font-weight: 500; }
  @media (min-width: 1025px) {
    h5 {
      font-size: 1.5rem;
      letter-spacing: -0.024em; } }

h6 {
  font-size: 1.1875rem;
  letter-spacing: -0.019em;
  font-weight: 400; }
  @media (min-width: 1025px) {
    h6 {
      font-size: 1.3125rem;
      letter-spacing: -0.021em; } }

p {
  margin: 0 0 1.5em; }

a {
  color: #1a1a1a;
  text-decoration: none;
  transition: color 125ms cubic-bezier(0.77, 0, 0.175, 1); }

hr {
  border-bottom: 1px solid #e3e8ea;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 1.5em 0; }

@keyframes rotate {
  100% {
    transform: rotate(360deg); } }

@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0; }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35; }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124; } }

form {
  text-align: left; }

input[type=number]::-webkit-inner-spin-button, textarea[type=number]::-webkit-inner-spin-button, .ginput_container_select select[type=number]::-webkit-inner-spin-button, .ginput_complex .address_country select[type=number]::-webkit-inner-spin-button, .clear-multi .gfield_time_ampm select[type=number]::-webkit-inner-spin-button, .ginput_container_multiselect select[type=number]::-webkit-inner-spin-button, .form-field select[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button,
textarea[type=number]::-webkit-outer-spin-button,
.ginput_container_select select[type=number]::-webkit-outer-spin-button,
.ginput_complex .address_country select[type=number]::-webkit-outer-spin-button,
.clear-multi .gfield_time_ampm select[type=number]::-webkit-outer-spin-button,
.ginput_container_multiselect select[type=number]::-webkit-outer-spin-button,
.form-field select[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: #91969a; }

::-moz-placeholder {
  /* Firefox 19+ */
  color: #91969a; }

:-ms-input-placeholder {
  /* IE 10+ */
  color: #91969a; }

:-moz-placeholder {
  /* Firefox 18- */
  color: #91969a; }

[type="search"] {
  -webkit-appearance: none;
  appearance: none; }

[type="submit"],
[type="button"] {
  width: 100%;
  height: auto; }
  @media (min-width: 768px) {
    [type="submit"],
    [type="button"] {
      width: auto; } }

input, textarea, .ginput_container_select select, .ginput_complex .address_country select, .clear-multi .gfield_time_ampm select, .ginput_container_multiselect select, .form-field select {
  width: 100%;
  padding: 10px 20px;
  background-color: #fff;
  border: 1px solid #c4c9cd;
  border-radius: 3px;
  transition: border 125ms cubic-bezier(0.77, 0, 0.175, 1), box-shadow 125ms cubic-bezier(0.77, 0, 0.175, 1); }
  input:focus, textarea:focus, .ginput_container_select select:focus, .ginput_complex .address_country select:focus, .clear-multi .gfield_time_ampm select:focus, .ginput_container_multiselect select:focus, .form-field select:focus {
    border-color: #5e6367;
    outline: 0; }

textarea {
  width: 100%;
  overflow: hidden; }

.gform_wrapper {
  max-width: 40rem; }

.gform_title {
  margin-bottom: 2.25rem; }

.gform_description {
  position: relative;
  display: block;
  margin: 4.5rem 0 2.25rem;
  color: #91969a; }
  .gform_description:before {
    content: '';
    position: absolute;
    top: -2.375rem;
    left: 0;
    display: block;
    width: 2.75rem;
    height: 0.25rem;
    background-color: #91969a; }

.gsection_title {
  text-transform: none;
  margin: 0 0 20px; }

.ginput_container_date ~ .gfield_description {
  margin-top: 0; }

.gform_footer {
  margin-top: 2.25rem; }
  .gform_footer form {
    display: -ms-flexbox;
    display: flex; }

.gform_fields {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .gform_fields li {
    width: 100%; }
    @media (min-width: 1026px) {
      .gform_fields li.span-half {
        width: 48%; } }
    @media (min-width: 1026px) {
      .gform_fields li.span-third {
        width: 31%; } }
    .gform_fields li.advanced-search__select {
      margin-bottom: 0; }
      @media (min-width: 1341px) {
        .gform_fields li.advanced-search__select {
          width: 30%; } }
    @media (min-width: 1341px) {
      .gform_fields li.advanced-search__input {
        width: 65%; } }
    .gform_fields li.advanced-search__input label {
      visibility: hidden; }

.gfield {
  margin-bottom: 18px; }

.advanced-search_wrapper .gfield {
  padding: 0; }

@media (min-width: 768px) {
  .gfield_required {
    display: inline-block; } }

.validation_error {
  padding: 1.25rem;
  margin: 0 0 2.25rem;
  background: rgba(166, 25, 46, 0.25);
  color: #a6192e;
  border: 1px dotted #a6192e;
  font-weight: 500; }

.gfield_description {
  font-size: 0.875rem;
  font-weight: 300;
  color: #5e6367;
  margin-bottom: 16px; }
  .gfield_description.validation_message {
    background: none;
    color: #a6192e;
    font-weight: 500;
    margin-top: 16px;
    border: 0; }

.gfield_label {
  position: relative;
  display: block;
  margin-bottom: 10px;
  font-size: 1rem;
  line-height: 1.2;
  color: #5e6367;
  font-weight: 500; }
  .gfield_error .gfield_label {
    color: #a6192e; }

.ginput_container {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  margin-top: 0; }

.gform_drop_area {
  padding: 2.25rem;
  border: 0.0625rem dashed #5e6367;
  text-align: center; }
  .gform_drop_area span {
    display: block;
    margin-bottom: 1.125rem; }

.gfield_list_container .gfield_list_group {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center; }
  .gfield_list_container .gfield_list_group:hover td {
    background-color: transparent; }

.gfield_list_container .gfield_list_cell {
  display: block;
  height: 2.75rem;
  padding: 0;
  border: 0;
  -ms-flex-positive: 2;
  flex-grow: 2; }

.gfield_list_container .gfield_list_icons {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  height: 2.75rem;
  padding: 0;
  border: 0; }
  .gfield_list_container .gfield_list_icons img {
    margin-left: 0.5625rem; }
  .gfield_list_container .gfield_list_icons img:first-child {
    margin-left: 1.125rem; }

.ginput_complex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .ginput_complex label {
    margin-top: 0.5625rem;
    font-size: 0.75rem;
    color: #5e6367; }
  .ginput_complex .ginput_full {
    width: 100%; }
  .ginput_complex .ginput_left,
  .ginput_complex .name_first,
  .ginput_complex .ginput_right,
  .ginput_complex .name_last {
    width: 100%; }
    @media (min-width: 768px) {
      .ginput_complex .ginput_left,
      .ginput_complex .name_first,
      .ginput_complex .ginput_right,
      .ginput_complex .name_last {
        width: calc(50% - 20px); } }

.clear-multi {
  display: -ms-flexbox;
  display: flex; }
  .clear-multi label {
    margin-top: 0.5625rem;
    font-size: 0.75rem;
    color: #91969a; }
  .clear-multi i {
    position: absolute;
    top: 0.4375rem;
    right: -0.75rem;
    font-style: normal; }
  .clear-multi > div {
    margin-left: 1.5rem; }
  .clear-multi > div:first-child {
    margin-left: 0; }
  .clear-multi .ginput_container_time {
    height: 44px;
    width: 75px;
    position: relative; }
    .clear-multi .ginput_container_time input, .clear-multi .ginput_container_time textarea, .clear-multi .ginput_container_time .ginput_container_select select, .ginput_container_select .clear-multi .ginput_container_time select, .clear-multi .ginput_container_time .ginput_complex .address_country select, .ginput_complex .address_country .clear-multi .ginput_container_time select, .clear-multi .ginput_container_time .gfield_time_ampm select, .clear-multi .gfield_time_ampm .ginput_container_time select, .clear-multi .ginput_container_time .ginput_container_multiselect select, .ginput_container_multiselect .clear-multi .ginput_container_time select, .clear-multi .ginput_container_time .form-field select, .form-field .clear-multi .ginput_container_time select, .clear-multi .ginput_container_time select {
      position: absolute;
      left: 0.3125rem;
      bottom: 0; }
    .clear-multi .ginput_container_time label {
      position: absolute;
      bottom: -1.875rem;
      left: 1.125rem;
      margin: 0; }

.gf_clear {
  width: 100%; }

.gfield_error .ginput_container input, .gfield_error .ginput_container textarea, .gfield_error .ginput_container .ginput_container_select select, .ginput_container_select .gfield_error .ginput_container select, .gfield_error .ginput_container .ginput_complex .address_country select, .ginput_complex .address_country .gfield_error .ginput_container select, .gfield_error .ginput_container .clear-multi .gfield_time_ampm select, .clear-multi .gfield_time_ampm .gfield_error .ginput_container select, .gfield_error .ginput_container .ginput_container_multiselect select, .ginput_container_multiselect .gfield_error .ginput_container select, .gfield_error .ginput_container .form-field select, .form-field .gfield_error .ginput_container select {
  border-color: #a6192e; }

.ginput_container_select, .ginput_complex .address_country, .clear-multi .gfield_time_ampm {
  position: relative; }
  .ginput_container_select:before, .ginput_complex .address_country:before, .clear-multi .gfield_time_ampm:before {
    content: url(../assets/img/icons/i_down-arrow.svg);
    position: absolute;
    top: 10px;
    left: auto;
    right: 20px;
    width: 10px;
    height: 2px; }
  .ginput_container_select select, .ginput_complex .address_country select, .clear-multi .gfield_time_ampm select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 60px;
    background: transparent;
    cursor: pointer;
    position: relative;
    z-index: 1;
    overflow: ellipsis; }
    .ginput_container_select select::-ms-expand, .ginput_complex .address_country select::-ms-expand, .clear-multi .gfield_time_ampm select::-ms-expand {
      display: none; }

.ginput_container_multiselect {
  position: relative; }
  .ginput_container_multiselect select {
    padding: 0;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
    z-index: 1; }
    .ginput_container_multiselect select::-ms-expand {
      display: none; }
  .ginput_container_multiselect option {
    padding: 10px; }

.gfield_radio {
  width: 100%; }
  .gfield_radio li {
    margin: 0 0 16px; }
  .gfield_radio [type="radio"] {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    display: inline; }
    .gfield_radio [type="radio"] + label {
      position: relative;
      display: block;
      padding: 20px 20px 20px 60px;
      border: 1px solid #c4c9cd;
      border-radius: 3px;
      text-transform: none;
      font-size: 1.1875rem;
      line-height: 1.5rem;
      cursor: pointer; }
    .gfield_radio [type="radio"] + label:before {
      content: url(../assets/img/icons/i_selection.svg);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 20px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      transition: box-shadow 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    .gfield_radio [type="radio"] + label:hover:before {
      box-shadow: 0 0 0 0.25rem rgba(196, 201, 205, 0.5); }
    .gfield_radio [type="radio"] + label:hover {
      border-color: #5e6367; }
    .gfield_radio [type="radio"]:checked + label {
      border-color: #8fd1c3;
      background: rgba(143, 209, 195, 0.1); }
    .gfield_radio [type="radio"]:checked + label:before {
      content: url(../assets/img/icons/i_selection-radio.svg); }

.gfield_checkbox {
  width: 100%; }
  .gfield_checkbox li {
    display: block;
    margin: 0 0 8px; }
  .gfield_checkbox [type="checkbox"] {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    display: inline; }
    .gfield_checkbox [type="checkbox"] + label {
      position: relative;
      display: inline-block;
      padding: 20px 20px 20px 60px;
      border: 1px solid #c4c9cd;
      border-radius: 3px;
      text-transform: none;
      font-size: 1.1875rem;
      line-height: 1rem;
      cursor: pointer;
      width: 100%; }
    .gfield_checkbox [type="checkbox"] + label:before {
      content: url(../assets/img/icons/i_selection.svg);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 20px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      transition: box-shadow 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    .gfield_checkbox [type="checkbox"] + label:hover:before {
      box-shadow: inset 0 0 0 0.25rem rgba(196, 201, 205, 0.5); }
    .gfield_checkbox [type="checkbox"] + label:hover {
      border-color: #5e6367; }
    .gfield_checkbox [type="checkbox"]:checked + label {
      border-color: #8fd1c3;
      background: rgba(143, 209, 195, 0.1); }
    .gfield_checkbox [type="checkbox"]:checked + label:before {
      content: url(../assets/img/icons/i_selection-check.svg); }

.form .errors {
  padding: 1.25rem;
  margin: 0 0 2.25rem;
  background: rgba(166, 25, 46, 0.25);
  color: #f26a36;
  border: 1px dotted #a6192e;
  font-weight: 500; }

.form .error {
  color: #a6192e;
  font-weight: 500; }

.form-field {
  width: 100%;
  margin: 0 0 9px; }
  .form-field.pd-checkbox {
    line-height: 0; }
  .form-field * {
    width: 100%; }
  .form-field label {
    position: relative;
    display: block;
    margin-bottom: 10px;
    font-size: 1rem;
    line-height: 1.2;
    color: #5e6367;
    font-weight: 500; }
  .form-field select {
    width: 100%; }
  .form-field.email input, .form-field.email textarea, .form-field.email select, .form-field.pd-email input, .form-field.pd-email textarea, .form-field.pd-email select {
    padding: 17px;
    line-height: 1;
    margin-bottom: 10px; }
  .form-field.pd-checkbox .value span {
    margin: 0 10px 0 0; }
  .form-field input[type="checkbox"], .form-field textarea[type="checkbox"], .form-field select[type="checkbox"] {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    display: inline; }
    .form-field input[type="checkbox"] + label, .form-field textarea[type="checkbox"] + label, .form-field .ginput_container_select select[type="checkbox"] + label, .form-field .ginput_complex .address_country select[type="checkbox"] + label, .form-field .clear-multi .gfield_time_ampm select[type="checkbox"] + label, .form-field .ginput_container_multiselect select[type="checkbox"] + label, .form-field select[type="checkbox"] + label {
      position: relative;
      display: inline-block;
      padding: 20px 20px 20px 60px;
      text-transform: none;
      cursor: pointer;
      font-size: 0.875rem;
      line-height: 1.2;
      font-weight: 200;
      border: 0px; }
    .form-field input[type="checkbox"] + label:before, .form-field textarea[type="checkbox"] + label:before, .form-field .ginput_container_select select[type="checkbox"] + label:before, .form-field .ginput_complex .address_country select[type="checkbox"] + label:before, .form-field .clear-multi .gfield_time_ampm select[type="checkbox"] + label:before, .form-field .ginput_container_multiselect select[type="checkbox"] + label:before, .form-field select[type="checkbox"] + label:before {
      content: url(../assets/img/icons/i_selection.svg);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 20px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      transition: box-shadow 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    .form-field input[type="checkbox"] + label:hover:before, .form-field textarea[type="checkbox"] + label:hover:before, .form-field .ginput_container_select select[type="checkbox"] + label:hover:before, .form-field .ginput_complex .address_country select[type="checkbox"] + label:hover:before, .form-field .clear-multi .gfield_time_ampm select[type="checkbox"] + label:hover:before, .form-field .ginput_container_multiselect select[type="checkbox"] + label:hover:before, .form-field select[type="checkbox"] + label:hover:before {
      box-shadow: inset 0 0 0 0.25rem rgba(196, 201, 205, 0.5); }
    .form-field input[type="checkbox"] + label:hover, .form-field textarea[type="checkbox"] + label:hover, .form-field .ginput_container_select select[type="checkbox"] + label:hover, .form-field .ginput_complex .address_country select[type="checkbox"] + label:hover, .form-field .clear-multi .gfield_time_ampm select[type="checkbox"] + label:hover, .form-field .ginput_container_multiselect select[type="checkbox"] + label:hover, .form-field select[type="checkbox"] + label:hover {
      border-color: #5e6367; }
    .form-field input[type="checkbox"]:checked + label, .form-field textarea[type="checkbox"]:checked + label, .form-field .ginput_container_select select[type="checkbox"]:checked + label, .form-field .ginput_complex .address_country select[type="checkbox"]:checked + label, .form-field .clear-multi .gfield_time_ampm select[type="checkbox"]:checked + label, .form-field .ginput_container_multiselect select[type="checkbox"]:checked + label, .form-field select[type="checkbox"]:checked + label {
      border-color: #8fd1c3;
      background: rgba(143, 209, 195, 0.1); }
    .form-field input[type="checkbox"]:checked + label:before, .form-field textarea[type="checkbox"]:checked + label:before, .form-field .ginput_container_select select[type="checkbox"]:checked + label:before, .form-field .ginput_complex .address_country select[type="checkbox"]:checked + label:before, .form-field .clear-multi .gfield_time_ampm select[type="checkbox"]:checked + label:before, .form-field .ginput_container_multiselect select[type="checkbox"]:checked + label:before, .form-field select[type="checkbox"]:checked + label:before {
      content: url(../assets/img/icons/i_selection-check.svg); }
  .form-field.pd-radio .value span {
    display: block;
    width: 100%;
    margin: 0 0 16px; }
  .form-field input[type="radio"], .form-field textarea[type="radio"], .form-field select[type="radio"] {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    display: inline; }
    .form-field input[type="radio"] + label, .form-field textarea[type="radio"] + label, .form-field .ginput_container_select select[type="radio"] + label, .form-field .ginput_complex .address_country select[type="radio"] + label, .form-field .clear-multi .gfield_time_ampm select[type="radio"] + label, .form-field .ginput_container_multiselect select[type="radio"] + label, .form-field select[type="radio"] + label {
      position: relative;
      display: block;
      padding: 20px 20px 20px 60px;
      border: 1px solid #c4c9cd;
      border-radius: 3px;
      text-transform: none;
      font-size: 1.1875rem;
      line-height: 1.5rem;
      cursor: pointer; }
    .form-field input[type="radio"] + label:before, .form-field textarea[type="radio"] + label:before, .form-field .ginput_container_select select[type="radio"] + label:before, .form-field .ginput_complex .address_country select[type="radio"] + label:before, .form-field .clear-multi .gfield_time_ampm select[type="radio"] + label:before, .form-field .ginput_container_multiselect select[type="radio"] + label:before, .form-field select[type="radio"] + label:before {
      content: url(../assets/img/icons/i_selection.svg);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 20px;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      transition: box-shadow 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    .form-field input[type="radio"] + label:hover:before, .form-field textarea[type="radio"] + label:hover:before, .form-field .ginput_container_select select[type="radio"] + label:hover:before, .form-field .ginput_complex .address_country select[type="radio"] + label:hover:before, .form-field .clear-multi .gfield_time_ampm select[type="radio"] + label:hover:before, .form-field .ginput_container_multiselect select[type="radio"] + label:hover:before, .form-field select[type="radio"] + label:hover:before {
      box-shadow: 0 0 0 0.25rem rgba(196, 201, 205, 0.5); }
    .form-field input[type="radio"] + label:hover, .form-field textarea[type="radio"] + label:hover, .form-field .ginput_container_select select[type="radio"] + label:hover, .form-field .ginput_complex .address_country select[type="radio"] + label:hover, .form-field .clear-multi .gfield_time_ampm select[type="radio"] + label:hover, .form-field .ginput_container_multiselect select[type="radio"] + label:hover, .form-field select[type="radio"] + label:hover {
      border-color: #5e6367; }
    .form-field input[type="radio"]:checked + label, .form-field textarea[type="radio"]:checked + label, .form-field .ginput_container_select select[type="radio"]:checked + label, .form-field .ginput_complex .address_country select[type="radio"]:checked + label, .form-field .clear-multi .gfield_time_ampm select[type="radio"]:checked + label, .form-field .ginput_container_multiselect select[type="radio"]:checked + label, .form-field select[type="radio"]:checked + label {
      border-color: #8fd1c3;
      background: rgba(143, 209, 195, 0.1); }
    .form-field input[type="radio"]:checked + label:before, .form-field textarea[type="radio"]:checked + label:before, .form-field .ginput_container_select select[type="radio"]:checked + label:before, .form-field .ginput_complex .address_country select[type="radio"]:checked + label:before, .form-field .clear-multi .gfield_time_ampm select[type="radio"]:checked + label:before, .form-field .ginput_container_multiselect select[type="radio"]:checked + label:before, .form-field select[type="radio"]:checked + label:before {
      content: url(../assets/img/icons/i_selection-radio.svg); }
  .form-field select {
    background: transparent;
    cursor: pointer;
    height: 45px; }
  .form-field .submit {
    display: inline-block; }
  .form-field .description {
    font-size: 0.875rem; }
    .form-field .description a {
      background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }
      .form-field .description a:hover, .form-field .description a:focus, .form-field .description a:active {
        color: #5e6367; }

ul,
ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  [data-content="editor"] ul:not(.gform_fields) {
    list-style-type: disc;
    margin-bottom: 0.75em;
    padding-left: 1.5em; }
  [data-content="editor"] ol {
    list-style-type: decimal;
    margin-bottom: 0.75em;
    padding-left: 1.5em; }

dl {
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: bold;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

figure {
  margin: 0;
  padding: 0; }

figcaption {
  padding: 10px 0 0;
  font-size: 0.875rem;
  color: #5e6367;
  font-style: italic; }

iframe {
  display: block;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto; }

table {
  border-collapse: collapse;
  font-feature-settings: "kern", "liga", "tnum";
  margin: 0 0 1.5em;
  table-layout: fixed;
  width: 100%;
  border-top: 1px solid #c4c9cd;
  border-left: 1px solid #c4c9cd; }

th {
  border-bottom: 1px solid #c4c9cd;
  font-weight: 600;
  padding: 10px;
  text-align: left; }

td {
  border-right: 1px solid #c4c9cd;
  border-bottom: 1px solid #c4c9cd;
  padding: 10px; }

tr,
td,
th {
  vertical-align: middle; }

.header-container,
.content-container,
.footer-container {
  clear: both;
  float: left;
  width: 100%; }
  .header-container:after,
  .content-container:after,
  .footer-container:after {
    content: "";
    display: table;
    clear: both; }

.wrapper {
  margin: 0 auto;
  max-width: 100%;
  padding: 0 30px;
  transition: all 125ms 125ms; }

@media (min-width: 320px) and (max-width: 479px) {
  .wrapper {
    padding: 0 30px; } }

@media (min-width: 480px) and (max-width: 639px) {
  .wrapper {
    padding: 0 60px; } }

@media (min-width: 640px) and (max-width: 1024px) {
  .wrapper {
    padding: 0 60px; } }

@media (min-width: 1025px) and (max-width: 1339px) {
  .wrapper {
    padding: 0 60px; } }
  @media (min-width: 1340px) {
    .wrapper {
      max-width: 1280px;
      padding: 0; } }
  @media (min-width: 1340px) {
    .wrapper--full {
      max-width: 100%;
      padding: 0 100px; } }

.container {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px; }
  @media (min-width: 1340px) {
    .container {
      margin-left: -20px;
      margin-right: -20px; } }

.site-content.pushed {
  margin-top: 143px; }

.grid {
  width: 100%;
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px; }
  @media (min-width: 641px) {
    .grid {
      border-bottom: 1px solid #e3e8ea; }
      .grid:last-child {
        border: 0; } }
  @media (min-width: 1340px) {
    .grid {
      margin-left: -20px;
      margin-right: -20px; } }
  .grid__header {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 100% - 20px);
    flex-basis: calc( 100% - 20px);
    max-width: calc( 100% - 20px);
    margin: 0 10px 20px;
    font-size: 1.75rem;
    text-transform: none; }
    @media (max-width: 639px) {
      .grid__header {
        box-sizing: border-box;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0; } }
    @media (min-width: 768px) {
      .grid__header {
        font-size: 2rem; } }
    .grid__header--topic {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 100% - 20px);
      flex-basis: calc( 100% - 20px);
      max-width: calc( 100% - 20px);
      margin: 0 10px;
      margin-bottom: 0;
      font-size: 1.125rem;
      font-weight: 300; }
      @media (max-width: 639px) {
        .grid__header--topic {
          box-sizing: border-box;
          -ms-flex-positive: 0;
          flex-grow: 0;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
          max-width: 100%;
          margin: 0; } }
      @media (min-width: 768px) {
        .grid__header--topic {
          box-sizing: border-box;
          -ms-flex-positive: 0;
          flex-grow: 0;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          -ms-flex-preferred-size: calc( 100% - 40px);
          flex-basis: calc( 100% - 40px);
          max-width: calc( 100% - 40px);
          margin: 0 20px;
          font-size: 1.25rem;
          min-height: 85px; } }
  .grid__item {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 100% - 1em);
    flex-basis: calc( 100% - 1em);
    max-width: calc( 100% - 1em);
    margin: 0 0.5em 1em; }
    @media (max-width: 639px) {
      .grid__item {
        border-bottom: 1px solid #e3e8ea; }
        .grid__container--topics .grid__item {
          border: 0; } }

@media (min-width: 640px) and (max-width: 1024px) {
  .grid__item[data-size="1"] {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 50% - 20px);
    flex-basis: calc( 50% - 20px);
    max-width: calc( 50% - 20px);
    margin: 0 10px;
    max-width: calc(50% - 20px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column; }
    .grid__item[data-size="1"]:last-child:before {
      content: '';
      position: absolute;
      top: 30px;
      bottom: 30px;
      left: -10px;
      width: 1px;
      background: #e3e8ea; }
    [data-cols="4"] .grid__item[data-size="1"]:nth-child(even):before {
      content: '';
      position: absolute;
      top: 30px;
      bottom: 30px;
      left: -10px;
      width: 1px;
      background: #e3e8ea; }
    [data-cols="4"] .grid__item[data-size="1"]:first-child {
      border-bottom: 1px solid #e3e8ea; }
    [data-cols="4"] .grid__item[data-size="1"]:nth-child(2) {
      border-bottom: 1px solid #e3e8ea; }
      [data-cols="4"] .grid__item[data-size="1"]:nth-child(2):after {
        content: '';
        position: absolute;
        bottom: -1px;
        right: calc(100% - 1px);
        width: 20px;
        height: 1px;
        background: #e3e8ea; }
  .grid__item[data-size="2"] {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 100% - 20px);
    flex-basis: calc( 100% - 20px);
    max-width: calc( 100% - 20px);
    margin: 0 10px;
    border-bottom: 1px solid #e3e8ea; } }

@media (min-width: 1025px) and (max-width: 1339px) {
  .grid__item[data-size="1"] {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 25% - 20px);
    flex-basis: calc( 25% - 20px);
    max-width: calc( 25% - 20px);
    margin: 0 10px;
    max-width: calc(25% - 20px);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column; }
    .grid__item[data-size="1"]:before {
      content: '';
      position: absolute;
      top: 30px;
      bottom: 30px;
      left: -10px;
      width: 1px;
      background: #e3e8ea; }
    .grid__item[data-size="1"]:first-child:before {
      display: none; }
  .grid__item[data-size="2"] {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 50% - 20px);
    flex-basis: calc( 50% - 20px);
    max-width: calc( 50% - 20px);
    margin: 0 10px; } }
    @media (min-width: 1340px) {
      .grid__item[data-size="1"] {
        box-sizing: border-box;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc( 25% - 40px);
        flex-basis: calc( 25% - 40px);
        max-width: calc( 25% - 40px);
        margin: 0 20px;
        max-width: calc(25% - 40px);
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column; }
        .grid__item[data-size="1"]:before {
          content: '';
          position: absolute;
          top: 30px;
          bottom: 30px;
          left: -20px;
          width: 1px;
          background: #e3e8ea; }
        .grid__item[data-size="1"]:first-child:before {
          display: none; }
      .grid__item[data-size="2"] {
        box-sizing: border-box;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc( 50% - 40px);
        flex-basis: calc( 50% - 40px);
        max-width: calc( 50% - 40px);
        margin: 0 20px; } }

.grid--topics-cols .grid__header--topic {
  -ms-flex: none;
  flex: none;
  margin: 0;
  padding-top: 30px; }
  @media (max-width: 639px) {
    .grid--topics-cols .grid__header--topic {
      border-top: 1px solid #e3e8ea; } }

@media (min-width: 768px) {
  .columns {
    display: -ms-grid;
    display: grid; }
    .columns[data-cols='3'] {
      -ms-grid-columns: 1fr 1fr 1fr;
      grid-template-columns: 1fr 1fr 1fr; }
    .columns[data-cols='2'] {
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr; }
    .columns[data-cols='2/3'] {
      -ms-grid-columns: 2fr 3fr;
      grid-template-columns: 2fr 3fr; } }

.site__bar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  border-bottom: 2px solid #c4c9cd;
  background: #fff;
  z-index: 100; }
  .site__bar > [data-item~="flex"] {
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .site__bar-container {
    max-width: 1460px;
    padding: 0 30px;
    margin: 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between; }

.top-bar {
  display: none; }
  @media (min-width: 1025px) {
    .top-bar {
      background: #00558c;
      display: block; } }
  .top-bar__container {
    max-width: 1460px;
    padding: 10px 30px;
    margin: 0 auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    @media (min-width: 1025px) {
      .top-bar__container > * {
        margin-left: 40px; } }
  .top-bar a {
    color: #fff;
    font-weight: 400; }

.site__branding {
  padding: 14px 0; }
  .site__branding .site__title {
    margin: 0;
    font-size: 0; }
    .site__branding .site__title a {
      display: block;
      width: 154px;
      height: 34px;
      background: url("../assets/img/logos/ti-logo-stacked.svg") no-repeat 50% 50%;
      background-size: 154px 34px; }
      @media (min-width: 1340px) {
        .site__branding .site__title a {
          width: 182px;
          height: 40px;
          background-size: 182px 40px; } }

.menu-toggle {
  position: relative;
  width: 30px;
  height: 20px;
  z-index: 20;
  outline: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0; }
  @media (min-width: 1025px) {
    .menu-toggle {
      display: none; } }
  .menu-toggle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #5e6367;
    border-radius: 0;
    transition: all 250ms cubic-bezier(0.77, 0, 0.175, 1);
    transition-property: transform, background-color, width; }
    .menu-toggle span:nth-of-type(1) {
      top: 0; }
    .menu-toggle span:nth-of-type(2) {
      top: 9px; }
    .menu-toggle span:nth-of-type(3) {
      bottom: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(1) {
    transform: translateY(9px) rotate(-45deg); }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(2) {
    opacity: 0; }
  .menu-toggle[aria-expanded="true"] span:nth-of-type(3) {
    transform: translateY(-9px) rotate(45deg); }
  .menu-toggle:focus, .menu-toggle:hover {
    outline: none;
    background: none;
    border: none;
    box-shadow: none; }
    .menu-toggle:focus span:nth-of-type(2), .menu-toggle:hover span:nth-of-type(2) {
      width: 100%; }

.subscribe__btn {
  padding: 50px 30px;
  text-align: center; }
  @media (min-width: 1025px) {
    .subscribe__btn {
      padding: 0;
      width: initial;
      display: block;
      text-align: right; } }
  .subscribe__btn .subscribe__link {
    font-weight: 700;
    font-size: 0.75rem;
    background-color: #00558c;
    color: #fff;
    padding: 7px 34px;
    border-radius: 25px;
    text-transform: uppercase;
    transition: 250ms cubic-bezier(0.77, 0, 0.175, 1); }
    @media (min-width: 1025px) {
      .subscribe__btn .subscribe__link {
        display: inline-block;
        background-color: transparent;
        border: 1px solid #fff; } }
    @media (min-width: 1025px) {
      .subscribe__btn .subscribe__link:focus, .subscribe__btn .subscribe__link:hover {
        background-color: #fff;
        color: #00558c; } }

@media (max-width: 1024px) {
  .search-container {
    width: 30px; } }

.search-toggle {
  padding: 0;
  background: none;
  border-radius: 0;
  height: 23px;
  width: 23px;
  font-size: 0;
  position: relative; }
  .search-toggle:hover {
    background: none;
    box-shadow: none;
    color: inherit; }
  .search-toggle:focus {
    outline: none; }
  .search-toggle svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 100%;
    transition: opacity 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    @media (min-width: 1025px) {
      .search-toggle svg > * {
        fill: #fff; } }
  @media (max-width: 1024px) {
    .search-toggle[aria-pressed="true"] .open-search {
      opacity: 0;
      z-index: -1; } }

.search-form {
  display: inline-block; }
  .search-form input[type='submit'], .search-form textarea[type='submit'], .search-form .ginput_container_select select[type='submit'], .ginput_container_select .search-form select[type='submit'], .search-form .ginput_complex .address_country select[type='submit'], .ginput_complex .address_country .search-form select[type='submit'], .search-form .clear-multi .gfield_time_ampm select[type='submit'], .clear-multi .gfield_time_ampm .search-form select[type='submit'], .search-form .ginput_container_multiselect select[type='submit'], .ginput_container_multiselect .search-form select[type='submit'], .search-form .form-field select[type='submit'], .form-field .search-form select[type='submit'] {
    display: none; }
  .search-form input[type='search'], .search-form textarea[type='search'], .search-form .ginput_container_select select[type='search'], .ginput_container_select .search-form select[type='search'], .search-form .ginput_complex .address_country select[type='search'], .ginput_complex .address_country .search-form select[type='search'], .search-form .clear-multi .gfield_time_ampm select[type='search'], .clear-multi .gfield_time_ampm .search-form select[type='search'], .search-form .ginput_container_multiselect select[type='search'], .ginput_container_multiselect .search-form select[type='search'], .search-form .form-field select[type='search'], .form-field .search-form select[type='search'] {
    background: none;
    color: #5e6367;
    border-width: 0;
    font-weight: 400;
    padding: 0;
    width: 0;
    opacity: 0;
    transition: all 250ms cubic-bezier(0.77, 0, 0.175, 1); }
    @media (min-width: 1025px) {
      .search-form input[type='search'], .search-form textarea[type='search'], .search-form .ginput_container_select select[type='search'], .ginput_container_select .search-form select[type='search'], .search-form .ginput_complex .address_country select[type='search'], .ginput_complex .address_country .search-form select[type='search'], .search-form .clear-multi .gfield_time_ampm select[type='search'], .clear-multi .gfield_time_ampm .search-form select[type='search'], .search-form .ginput_container_multiselect select[type='search'], .ginput_container_multiselect .search-form select[type='search'], .search-form .form-field select[type='search'], .form-field .search-form select[type='search'] {
        color: #fff;
        border-style: solid;
        border-color: #fff;
        border-width: 0 0 1px;
        border-radius: 0; } }
    .search-form input[type='search']:focus, .search-form textarea[type='search']:focus, .search-form .ginput_container_select select[type='search']:focus, .ginput_container_select .search-form select[type='search']:focus, .search-form .ginput_complex .address_country select[type='search']:focus, .ginput_complex .address_country .search-form select[type='search']:focus, .search-form .clear-multi .gfield_time_ampm select[type='search']:focus, .clear-multi .gfield_time_ampm .search-form select[type='search']:focus, .search-form .ginput_container_multiselect select[type='search']:focus, .ginput_container_multiselect .search-form select[type='search']:focus, .search-form .form-field select[type='search']:focus, .form-field .search-form select[type='search']:focus {
      border-color: inherit; }
    .search-form input[type='search']:-ms-input-placeholder, .search-form textarea[type='search']:-ms-input-placeholder, .search-form .ginput_container_select select[type='search']:-ms-input-placeholder, .ginput_container_select .search-form select[type='search']:-ms-input-placeholder, .search-form .ginput_complex .address_country select[type='search']:-ms-input-placeholder, .ginput_complex .address_country .search-form select[type='search']:-ms-input-placeholder, .search-form .clear-multi .gfield_time_ampm select[type='search']:-ms-input-placeholder, .clear-multi .gfield_time_ampm .search-form select[type='search']:-ms-input-placeholder, .search-form .ginput_container_multiselect select[type='search']:-ms-input-placeholder, .ginput_container_multiselect .search-form select[type='search']:-ms-input-placeholder, .search-form .form-field select[type='search']:-ms-input-placeholder, .form-field .search-form select[type='search']:-ms-input-placeholder {
      color: #5e6367;
      opacity: 1; }
    .search-form input[type='search']::placeholder, .search-form textarea[type='search']::placeholder, .search-form .ginput_container_select select[type='search']::placeholder, .ginput_container_select .search-form select[type='search']::placeholder, .search-form .ginput_complex .address_country select[type='search']::placeholder, .ginput_complex .address_country .search-form select[type='search']::placeholder, .search-form .clear-multi .gfield_time_ampm select[type='search']::placeholder, .clear-multi .gfield_time_ampm .search-form select[type='search']::placeholder, .search-form .ginput_container_multiselect select[type='search']::placeholder, .ginput_container_multiselect .search-form select[type='search']::placeholder, .search-form .form-field select[type='search']::placeholder, .form-field .search-form select[type='search']::placeholder {
      color: #5e6367;
      opacity: 1; }
      @media (min-width: 1025px) {
        .search-form input[type='search']:-ms-input-placeholder, .search-form textarea[type='search']:-ms-input-placeholder, .search-form .ginput_container_select select[type='search']:-ms-input-placeholder, .ginput_container_select .search-form select[type='search']:-ms-input-placeholder, .search-form .ginput_complex .address_country select[type='search']:-ms-input-placeholder, .ginput_complex .address_country .search-form select[type='search']:-ms-input-placeholder, .search-form .clear-multi .gfield_time_ampm select[type='search']:-ms-input-placeholder, .clear-multi .gfield_time_ampm .search-form select[type='search']:-ms-input-placeholder, .search-form .ginput_container_multiselect select[type='search']:-ms-input-placeholder, .ginput_container_multiselect .search-form select[type='search']:-ms-input-placeholder, .search-form .form-field select[type='search']:-ms-input-placeholder, .form-field .search-form select[type='search']:-ms-input-placeholder {
          color: transparent; }
        .search-form input[type='search']::placeholder, .search-form textarea[type='search']::placeholder, .search-form .ginput_container_select select[type='search']::placeholder, .ginput_container_select .search-form select[type='search']::placeholder, .search-form .ginput_complex .address_country select[type='search']::placeholder, .ginput_complex .address_country .search-form select[type='search']::placeholder, .search-form .clear-multi .gfield_time_ampm select[type='search']::placeholder, .clear-multi .gfield_time_ampm .search-form select[type='search']::placeholder, .search-form .ginput_container_multiselect select[type='search']::placeholder, .ginput_container_multiselect .search-form select[type='search']::placeholder, .search-form .form-field select[type='search']::placeholder, .form-field .search-form select[type='search']::placeholder {
          color: transparent; } }
  @media (min-width: 1025px) {
    .search-form.toggled input[type='search'], .search-form.toggled textarea[type='search'], .search-form.toggled .ginput_container_select select[type='search'], .ginput_container_select .search-form.toggled select[type='search'], .search-form.toggled .ginput_complex .address_country select[type='search'], .ginput_complex .address_country .search-form.toggled select[type='search'], .search-form.toggled .clear-multi .gfield_time_ampm select[type='search'], .clear-multi .gfield_time_ampm .search-form.toggled select[type='search'], .search-form.toggled .ginput_container_multiselect select[type='search'], .ginput_container_multiselect .search-form.toggled select[type='search'], .search-form.toggled .form-field select[type='search'], .form-field .search-form.toggled select[type='search'] {
      width: 250px;
      opacity: 1; } }
  .panel__search .search-form input[type='search'], .panel__search .search-form textarea[type='search'], .panel__search .search-form .ginput_container_select select[type='search'], .ginput_container_select .panel__search .search-form select[type='search'], .panel__search .search-form .ginput_complex .address_country select[type='search'], .ginput_complex .address_country .panel__search .search-form select[type='search'], .panel__search .search-form .clear-multi .gfield_time_ampm select[type='search'], .clear-multi .gfield_time_ampm .panel__search .search-form select[type='search'], .panel__search .search-form .ginput_container_multiselect select[type='search'], .ginput_container_multiselect .panel__search .search-form select[type='search'], .panel__search .search-form .form-field select[type='search'], .form-field .panel__search .search-form select[type='search'] {
    width: 100%;
    opacity: 1; }

@media (max-width: 1024px) {
  .panel__search {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.95);
    opacity: 0;
    pointer-events: none;
    z-index: -1;
    overflow-y: scroll;
    transition: opacity 125ms cubic-bezier(0.77, 0, 0.175, 1), z-index 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    .panel__search[aria-expanded="true"] {
      opacity: 1;
      z-index: 101;
      pointer-events: initial; }
    .panel__search-container {
      border-bottom: 1px solid #2b3034;
      padding: 72px 30px 32px; }
    .panel__search .search-form {
      position: relative;
      padding-left: 50px; }
      .panel__search .search-form:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        background: url("../assets/img/icons/i_search-gray.svg");
        width: 21px;
        height: 21px; }
    .panel__search .search-toggle--close {
      position: absolute;
      top: 21px;
      right: 30px; } }

@media (min-width: 1025px) {
  .panel__search {
    display: none; } }

@media (max-width: 1024px) {
  body.fixed {
    overflow-y: hidden; } }

.footer-container {
  padding: 60px 0 30px;
  background: #2b3034;
  color: #fff; }
  .footer-container__wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media (min-width: 640px) {
      .footer-container__wrap {
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-align: start;
        align-items: flex-start; } }

.footer-brand {
  text-align: center;
  margin-bottom: 50px; }
  @media (min-width: 640px) {
    .footer-brand {
      margin: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 45%;
      flex-basis: 45%; } }
  @media (min-width: 1025px) {
    .footer-brand {
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 280px;
      flex-basis: 280px;
      -ms-flex-order: 1;
      order: 1;
      text-align: left; } }
  @media (min-width: 1150px) {
    .footer-brand {
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 200px;
      flex-basis: 200px; } }
  @media (min-width: 1340px) {
    .footer-brand {
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 350px;
      flex-basis: 350px; } }
  .footer-brand__logo {
    display: block;
    width: 185px;
    height: 40px;
    font-size: 0;
    margin: 0 auto 30px;
    background: url("../assets/img/logos/ti-logo-stacked--inverse.svg") no-repeat 50% 50%; }
    @media (min-width: 1025px) {
      .footer-brand__logo {
        margin: 0 0 30px; } }
    @media (min-width: 1340px) {
      .footer-brand__logo {
        width: 330px;
        height: 30px;
        background: url("../assets/img/logos/ti-logo-horizontal--inverse.svg") no-repeat 50% 50%; } }
  .footer-brand__tagline {
    margin: 0; }

.footer-mag {
  text-align: center;
  color: #fff;
  margin: 0 0 50px; }
  @media (min-width: 640px) {
    .footer-mag {
      margin: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 45%;
      flex-basis: 45%; } }
  @media (min-width: 1025px) {
    .footer-mag {
      margin: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 250px;
      flex-basis: 250px;
      -ms-flex-order: 5;
      order: 5;
      text-align: left; } }
  @media (min-width: 1340px) {
    .footer-mag {
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 300px;
      flex-basis: 300px; } }
  @media (min-width: 1150px) {
    .footer-mag {
      -ms-flex-order: 3;
      order: 3; } }
  .footer-mag__link {
    color: #fff;
    display: block;
    border-bottom: 1px solid #5e6367; }
    @media (min-width: 1150px) {
      .footer-mag__link {
        border: 0; } }
  .footer-mag__header {
    margin-top: 0;
    font-size: 1.3125rem;
    text-transform: none; }
  .footer-mag__img {
    display: block;
    margin: 0 auto; }

div.socials--footer {
  width: 100%;
  margin-bottom: 50px; }
  @media (min-width: 640px) {
    div.socials--footer {
      margin: 50px auto;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 260px;
      flex-basis: 260px; } }
  @media (min-width: 1025px) {
    div.socials--footer {
      -ms-flex-order: 3;
      order: 3;
      margin: 0; } }
  @media (min-width: 1150px) {
    div.socials--footer {
      -ms-flex-order: 4;
      order: 4;
      margin: 0; } }

.footer__legal {
  display: block;
  width: 100%;
  text-transform: uppercase; }
  @media (min-width: 1025px) {
    .footer__legal {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-align: center;
      align-items: center;
      width: 55%;
      margin-top: 60px;
      -ms-flex-order: 4;
      order: 4; } }
  @media (min-width: 1150px) {
    .footer__legal {
      -ms-flex-order: 5;
      order: 5;
      width: 100%;
      padding-top: 30px;
      margin: 0;
      border-top: 1px solid #5e6367; } }

.footer__nav,
.legal__nav {
  display: block;
  width: 100%; }
  .footer__nav .menu-item,
  .legal__nav .menu-item {
    display: block; }
    .footer__nav .menu-item > a,
    .legal__nav .menu-item > a {
      position: relative;
      display: block;
      padding: 20px 20px 20px 0;
      color: #f0f5f7;
      font-size: 1rem;
      border-bottom: 1px solid #5e6367;
      transition: border-color 125ms cubic-bezier(0.77, 0, 0.175, 1), color 125ms cubic-bezier(0.77, 0, 0.175, 1); }
      .footer__nav .menu-item > a:hover, .footer__nav .menu-item > a:active,
      .legal__nav .menu-item > a:hover,
      .legal__nav .menu-item > a:active {
        color: #fff;
        border-color: #fff; }
      @media (min-width: 1025px) {
        .footer__nav .menu-item > a,
        .legal__nav .menu-item > a {
          margin: 0 0 10px;
          padding: 0;
          border: 0;
          font-weight: 500; } }
      @media (max-width: 1024px) {
        .footer__nav .menu-item > a:before, .footer__nav .menu-item > a:after,
        .legal__nav .menu-item > a:before,
        .legal__nav .menu-item > a:after {
          content: '';
          position: absolute;
          top: 50%;
          right: 4px;
          height: 2px;
          width: 8px;
          background: #fff;
          transform: rotate(-45deg) translateY(4px); }
        .footer__nav .menu-item > a:after,
        .legal__nav .menu-item > a:after {
          transform: rotate(45deg) translateY(-4px); } }

.footer__nav {
  display: none; }
  @media (min-width: 1025px) {
    .footer__nav {
      display: block;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 150px;
      flex-basis: 150px;
      -ms-flex-order: 2;
      order: 2; } }

@media (min-width: 1025px) {
  .legal__nav {
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    -ms-flex-order: 2;
    order: 2;
    text-align: right; }
    .legal__nav .menu-item {
      display: inline-block;
      margin-left: 10px; }
      .legal__nav .menu-item > a {
        position: relative;
        display: inline-block;
        padding: 0;
        color: #c4c9cd;
        font-size: 1rem;
        font-weight: 400;
        border: none; }
        .legal__nav .menu-item > a:hover, .legal__nav .menu-item > a:active {
          color: #fff; } }

.copyright {
  margin: 50px 0 0;
  color: #c4c9cd;
  font-weight: 400; }
  @media (min-width: 1025px) {
    .copyright {
      margin: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 35%;
      flex-basis: 35%;
      -ms-flex-order: 1;
      order: 1; } }

.archive__layout {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px; }
  @media (min-width: 1025px) {
    .archive__layout {
      box-sizing: border-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      margin: 0 -30px; } }

@media (max-width: 1024px) {
  .archive__list {
    -ms-flex-order: 2;
    order: 2; } }

@media (min-width: 1025px) {
  .archive__list {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 75% - 60px);
    flex-basis: calc( 75% - 60px);
    max-width: calc( 75% - 60px);
    margin: 0 30px 60px; } }

@media (max-width: 1024px) {
  .archive__aside {
    -ms-flex-order: 1;
    order: 1; } }

@media (min-width: 1025px) {
  .archive__aside {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 25% - 60px);
    flex-basis: calc( 25% - 60px);
    max-width: calc( 25% - 60px);
    margin: 0 30px 60px; } }

.single__content {
  margin: 0 auto;
  max-width: 620px; }
  .single__content--pull {
    position: relative; }
    @media (min-width: 1340px) {
      .single__content--pull {
        margin: 0 -110px 60px 0; } }
  .single__content.articles {
    max-width: 800px; }
    .single__content.articles .single__figure--featured {
      margin: 30px auto 30px; }
  @media (min-width: 1025px) {
    .single__content--full {
      max-width: 85%; } }

.single .page__header {
  width: 100%;
  max-width: 100%; }

.single__figure {
  margin: 30px auto 30px; }
  .single__figure--featured {
    margin: 0 -30px 30px; }
    @media (min-width: 480px) {
      .single__figure--featured {
        margin: 0 -60px 60px; } }
    .single__figure--featured figcaption {
      margin: 0 30px 0; }
      @media (min-width: 480px) {
        .single__figure--featured figcaption {
          margin: 0 60px 0; } }

.single__content {
  font-size: 1.1875rem;
  line-height: 2; }

.magazine-single--portrait {
  position: relative;
  padding: 0 30px; }
  .magazine-single--portrait:after {
    content: "";
    display: table;
    clear: both; }
  @media (min-width: 480px) {
    .magazine-single--portrait {
      padding: 0 60px; } }
  @media (min-width: 1025px) {
    .magazine-single--portrait {
      padding: 0; } }
  .magazine-single--portrait .magazine-single__feature {
    display: none; }
    @media (min-width: 1340px) {
      .magazine-single--portrait .magazine-single__feature {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: 40%;
        max-width: 733px;
        margin: 0;
        background-position: center center;
        background-size: cover; }
        .magazine-single--portrait .magazine-single__feature.scroll {
          position: absolute;
          top: auto;
          bottom: -200px;
          height: 100vh; } }
  @media (min-width: 1340px) {
    .magazine-single--portrait .magazine-single__content {
      float: left;
      margin: 0 0 0 40%;
      width: 60%; } }
  @media (min-width: 1730px) {
    .magazine-single--portrait .magazine-single__content {
      margin: 0 0 0 850px;
      width: 750px; } }
  .magazine-single--portrait .magazine-single__content .single__content {
    margin-top: 100px; }
  .magazine-single--portrait .magazine-single__content .header__adv + .single__content {
    margin-top: 0; }
  @media (min-width: 1340px) {
    .magazine-single--portrait .single__figure--featured {
      display: none; } }

.magazine-single--landscape {
  padding: 0 30px; }
  @media (min-width: 480px) {
    .magazine-single--landscape {
      padding: 0 60px; } }
  @media (min-width: 1025px) {
    .magazine-single--landscape {
      padding: 0; } }
  .magazine-single--landscape .magazine-single__feature {
    display: none; }
    @media (min-width: 1340px) {
      .magazine-single--landscape .magazine-single__feature {
        position: relative;
        display: block;
        width: 100%;
        height: 650px;
        margin: 0;
        background-position: center center;
        background-size: cover; }
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"]:after {
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          width: 100%;
          height: 100%;
          z-index: 1;
          background: linear-gradient(to bottom, rgba(26, 26, 26, 0) 0%, #1a1a1a 100%);
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); }
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"] .topic a,
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"] .title--single,
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"] .meta,
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"] .meta a {
          color: #fff; }
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"] .topic a {
          background-image: linear-gradient(to right, #91969a 0%, #91969a 100%);
          background-repeat: repeat-x;
          background-position: 0 100%;
          background-size: 100% 1px; }
        .magazine-single--landscape .magazine-single__feature[data-theme="dark"] .page__header:after {
          background: #fff; }
        .magazine-single--landscape .magazine-single__feature[data-theme="light"]:after {
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          width: 100%;
          height: 100%;
          z-index: 1;
          background: linear-gradient(to bottom, rgba(240, 245, 247, 0) 0%, #f0f5f7 100%);
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); }
        .magazine-single--landscape .magazine-single__feature[data-theme="light"] .meta,
        .magazine-single--landscape .magazine-single__feature[data-theme="light"] .meta a {
          color: #2b3034; }
        .magazine-single--landscape .magazine-single__feature[data-style="no-gradient"]:after {
          background: none !important; }
        .magazine-single--landscape .magazine-single__feature .page__header {
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%);
          width: 850px;
          text-align: center;
          z-index: 5; }
          .magazine-single--landscape .magazine-single__feature .page__header:after {
            left: 50%;
            transform: translateX(-50%); } }
  .magazine-single--landscape .magazine-single__content .single__content {
    margin-top: 100px; }
  .magazine-single--landscape .magazine-single__content .header__adv + .single__content {
    margin-top: 0; }
  @media (min-width: 1340px) {
    .magazine-single--landscape .single__figure--featured {
      display: none; } }
  @media (min-width: 1340px) {
    .magazine-single--landscape .page__header.hide {
      display: none; } }

.view--mobile {
  display: block; }
  @media (min-width: 1340px) {
    .view--mobile {
      clip: rect(1px, 1px, 1px, 1px);
      position: absolute;
      height: 0px;
      width: 0px;
      overflow: hidden; } }

@media (min-width: 1340px) {
  .footer__adv.pos-r {
    margin-left: 40%; } }

@media (min-width: 1730px) {
  .footer__adv.pos-r {
    margin-left: 850px;
    width: 750px; } }

@media (max-width: 767px) {
  .watchlist {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px;
    margin-bottom: 30px; }
    .watchlist__item {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 50% - 1em);
      flex-basis: calc( 50% - 1em);
      max-width: calc( 50% - 1em);
      margin: 0 0.5em;
      border-bottom: 1px solid #e3e8ea; }
      .watchlist__item:nth-child(even):before {
        content: '';
        position: absolute;
        top: 30px;
        bottom: 30px;
        left: -10px;
        width: 1px;
        background: #e3e8ea; }
      .watchlist__item:nth-child(even) > .ratio-grid__item-content:after {
        content: '';
        position: absolute;
        bottom: -1px;
        right: calc(100% - 1px);
        width: 20px;
        height: 1px;
        background: #e3e8ea; }
    .watchlist__company {
      position: absolute;
      top: 0;
      left: -9999em;
      height: 0;
      overflow: hidden; } }

@media (min-width: 768px) {
  .watchlist {
    margin: 0 0 30px; }
    .watchlist .ratio-grid__item:after {
      display: none; }
    .watchlist .ratio-grid__item-content {
      position: relative;
      -ms-flex-pack: justify;
      justify-content: space-between; }
    .watchlist .watchlist__item {
      padding: 30px 0;
      border-bottom: 1px solid #e3e8ea; }
    .watchlist .watchlist__company {
      max-width: calc(100% - 180px); }
    .watchlist .watchlist__logo {
      width: 180px;
      border: 1px solid #e3e8ea;
      border-radius: 3px; } }

.watchlist-logo {
  text-align: center; }
  .watchlist-logo > img {
    max-width: 200px;
    height: auto; }

.top-companies__logo {
  padding: 20px; }

@media (max-width: 767px) {
  .top-companies {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px; }
    .top-companies__item {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 50% - 20px);
      flex-basis: calc( 50% - 20px);
      max-width: calc( 50% - 20px);
      margin: 0 10px;
      border-bottom: 1px solid #e3e8ea; }
      .top-companies__item:nth-child(even):before {
        content: '';
        position: absolute;
        top: 30px;
        bottom: 30px;
        left: -10px;
        width: 1px;
        background: #e3e8ea; }
      .top-companies__item:nth-child(even) > .ratio-grid__item-content:after {
        content: '';
        position: absolute;
        bottom: -1px;
        right: calc(100% - 1px);
        width: 20px;
        height: 1px;
        background: #e3e8ea; } }

@media (min-width: 768px) {
  .top-companies {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px; }
    .top-companies__item {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 33.3333333333% - 20px);
      flex-basis: calc( 33.3333333333% - 20px);
      max-width: calc( 33.3333333333% - 20px);
      margin: 0 10px;
      margin-bottom: 20px; }
      .top-companies__item:nth-child(1) {
        position: absolute;
        top: 0;
        right: -10px;
        width: calc(33.33% - 10px); }
      .top-companies__item:nth-child(2) {
        position: absolute;
        top: 215px;
        right: -10px;
        width: calc(33.33% - 10px); }
    .top-companies__logo {
      border: 1px solid #e3e8ea;
      border-radius: 3px;
      transition: border-color 125ms cubic-bezier(0.77, 0, 0.175, 1); }
      .top-companies__logo:hover, .top-companies__logo:focus, .top-companies__logo:active {
        border-color: #2b3034; } }

@media (min-width: 1340px) {
  .top-companies__item {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 25% - 20px);
    flex-basis: calc( 25% - 20px);
    max-width: calc( 25% - 20px);
    margin: 0 10px;
    margin-bottom: 20px; }
    .top-companies__item:nth-child(1) {
      top: 0;
      right: calc(25% - 5px);
      width: calc(25% - 15px); }
    .top-companies__item:nth-child(2) {
      top: 0;
      right: -10px;
      width: calc(25% - 15px); }
    .top-companies__item:nth-child(3) {
      position: absolute;
      top: 215px;
      right: calc(25% - 5px);
      width: calc(25% - 15px); }
    .top-companies__item:nth-child(4) {
      position: absolute;
      top: 215px;
      right: -10px;
      width: calc(25% - 15px); } }

.top20__summary,
.watchlist__summary {
  line-height: 1.4;
  font-size: 1rem; }

.top20-logo {
  text-align: center; }
  .top20-logo > img {
    max-width: 200px;
    height: auto; }
    @media (min-width: 768px) {
      .top20-logo > img {
        max-width: 50%;
        height: auto; } }
  @media (min-width: 768px) {
    .top20-logo {
      display: block;
      position: relative;
      width: 66.66%;
      margin-bottom: 20px; }
      .top20-logo:after {
        content: '';
        display: block;
        width: 100%;
        padding-top: 100%; }
      .top20-logo > img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        max-height: 60%;
        width: auto; } }
  @media (min-width: 1340px) {
    .top20-logo {
      width: 50%; } }

.top-companies-cta > *:first-child {
  margin: 0 0 20px; }
  @media (min-width: 768px) {
    .top-companies-cta > *:first-child {
      margin: 0 20px 0 0; } }

.single-top_companies .column__float {
  padding: 0 20px; }
  @media (min-width: 1025px) {
    .single-top_companies .column__float {
      padding: 0 0 0 20px; } }
  @media (min-width: 1340px) {
    .single-top_companies .column__float {
      padding: 0 0 0 80px; } }
  @media (min-width: 1025px) {
    .single-top_companies .column__float--primary {
      margin-top: 228px; } }
  @media (min-width: 1470px) {
    .single-top_companies .column__float .addthis_share {
      transform: translateX(-710px); } }

@media (min-width: 1025px) {
  .post-type-archive-top_companies .column__float--primary {
    margin: 60px 30px 0; } }

.cs {
  margin-top: 100px; }

.supplier-external {
  border: 0;
  min-height: 800px; }

.supplier-custom-page {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media (min-width: 1025px) {
    .supplier-custom-page {
      box-sizing: border-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      margin: 0 -30px; } }
  .supplier-custom-page .supplier__main:only-child {
    width: 100%; }
  @media (min-width: 1025px) {
    .supplier-custom-page .supplier__main {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 75% - 60px);
      flex-basis: calc( 75% - 60px);
      max-width: calc( 75% - 60px);
      margin: 0 30px 60px; } }
  @media (min-width: 1025px) {
    .supplier-custom-page .supplier__sidebar {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 25% - 60px);
      flex-basis: calc( 25% - 60px);
      max-width: calc( 25% - 60px);
      margin: 0 30px 60px; } }

.supplier__section {
  clear: both; }
  .supplier__section .supplier__heading {
    margin-top: 0;
    padding: 10px;
    font-size: 1.75rem; }

.column__layout {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px; }
  @media (min-width: 1025px) {
    .column__layout {
      box-sizing: border-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      margin: 0 -30px; } }
  @media (max-width: 1024px) {
    .column__layout--main {
      -ms-flex-order: 2;
      order: 2; } }
  @media (min-width: 1025px) {
    .column__layout--main {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 75% - 60px);
      flex-basis: calc( 75% - 60px);
      max-width: calc( 75% - 60px);
      margin: 0 30px 60px; } }
  @media (max-width: 1024px) {
    .column__layout--aside {
      -ms-flex-order: 1;
      order: 1; } }
  @media (min-width: 1025px) {
    .column__layout--aside {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 25% - 60px);
      flex-basis: calc( 25% - 60px);
      max-width: calc( 25% - 60px);
      margin: 0 30px 60px; } }

.column__float {
  float: left;
  width: 100%;
  margin: 0; }
  @media (min-width: 1025px) {
    .column__float {
      margin: 0 -30px; }
      .column__float--primary {
        float: right;
        width: calc( 25% - 60px);
        margin: 0 30px 0; }
      .column__float--secondary {
        float: left;
        width: calc( 75% - 60px);
        margin: 0 30px 60px; }
      .column__float--tertiary {
        float: right;
        clear: right;
        width: calc( 25% - 60px);
        margin: 0 30px 60px; } }

.menu .menu-item-has-children {
  position: relative; }
  .menu .menu-item-has-children .menu-toggle {
    position: relative;
    width: 20px;
    height: 20px;
    display: block; }
    .menu .menu-item-has-children .menu-toggle:after {
      content: '';
      position: absolute;
      right: 5px;
      bottom: 5px;
      width: 6px;
      height: 6px;
      border-left: 2px solid #5e6367;
      border-top: 2px solid #5e6367;
      transform: rotate(225deg);
      transition: transform .3s ease, margin .3s ease;
      cursor: pointer; }
    .menu .menu-item-has-children .menu-toggle__container {
      z-index: 1;
      right: 0;
      top: 0;
      position: absolute;
      width: 20px;
      height: 20px; }
  .menu .menu-item-has-children.active .menu-toggle:after {
    transform: rotate(405deg); }
  .menu .menu-item-has-children a:before, .menu .menu-item-has-children a:after {
    content: none !important; }
  .menu .menu-item-has-children .sub-menu {
    display: none; }
    .menu .menu-item-has-children .sub-menu .menu-item a {
      background-image: none;
      padding-left: 20px; }
      .menu .menu-item-has-children .sub-menu .menu-item a:hover {
        background-image: none; }

.button,
button,
input[type="submit"], textarea[type="submit"], .ginput_container_select select[type="submit"], .ginput_complex .address_country select[type="submit"], .clear-multi .gfield_time_ampm select[type="submit"], .ginput_container_multiselect select[type="submit"], .form-field select[type="submit"], .mag__intro[data-theme="light"] .button--inverted {
  display: inline-block;
  padding: 18px 50px;
  background-color: #1a1a1a;
  border: 0;
  border-radius: 25px;
  box-shadow: none;
  color: #fff;
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.014em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 125ms 125ms; }
  .button:hover,
  button:hover,
  input[type="submit"]:hover, textarea[type="submit"]:hover, .ginput_container_select select[type="submit"]:hover, .ginput_complex .address_country select[type="submit"]:hover, .clear-multi .gfield_time_ampm select[type="submit"]:hover, .ginput_container_multiselect select[type="submit"]:hover, .form-field select[type="submit"]:hover, .mag__intro[data-theme="light"] .button--inverted:hover {
    color: #fff;
    background-color: #2b3034;
    box-shadow: 0 0 0 4px rgba(26, 26, 26, 0.25); }

.button--inverted {
  display: inline-block;
  padding: 18px 50px;
  background-color: #fff;
  border: 1px solid;
  border-color: #1a1a1a;
  border-radius: 25px;
  box-shadow: none;
  color: #1a1a1a;
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.014em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 125ms 125ms; }
  .button--inverted:hover {
    color: rgba(26, 26, 26, 0.8);
    background-color: rgba(255, 255, 255, 0.8);
    border-color: rgba(26, 26, 26, 0.8);
    box-shadow: 0 0 0 4px rgba(26, 26, 26, 0.25); }

.button--ghost, .feature__article[data-theme="light"] .feature__btn {
  display: inline-block;
  padding: 18px 50px;
  background-color: transparent;
  border: 1px solid;
  border-color: #1a1a1a;
  border-radius: 25px;
  box-shadow: none;
  color: #1a1a1a;
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.014em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 125ms 125ms; }
  .button--ghost:hover, .feature__article[data-theme="light"] .feature__btn:hover {
    color: rgba(26, 26, 26, 0.8);
    background-color: transparent;
    border-color: rgba(26, 26, 26, 0.8);
    box-shadow: 0 0 0 4px rgba(26, 26, 26, 0.25); }

.button--ghost-inverted, .feature__article[data-theme="dark"] .feature__btn {
  display: inline-block;
  padding: 18px 50px;
  background-color: transparent;
  border: 1px solid;
  border-color: #fff;
  border-radius: 25px;
  box-shadow: none;
  color: #fff;
  font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.014em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  vertical-align: middle;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: background-color 125ms 125ms; }
  .button--ghost-inverted:hover, .feature__article[data-theme="dark"] .feature__btn:hover {
    color: rgba(255, 255, 255, 0.8);
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.25); }

@media (max-width: 767px) {
  .blocked--mobile {
    display: block; } }

.button--small {
  font-size: 0.75rem;
  padding: 12px 20px; }

.secondary-link {
  position: relative;
  display: inline-block;
  background-image: linear-gradient(to right, #c4c9cd 0%, #c4c9cd 100%);
  background-repeat: repeat-x;
  background-position: 0 100%;
  background-size: 100% 1px;
  font-size: 0.875rem; }

.icon,
.icon:before,
.icon:after {
  transition: all 0.2s ease; }

.i-caret {
  position: relative;
  display: inline-block;
  margin: 0;
  width: 30px;
  height: 30px; }
  .i-caret:before {
    content: '';
    position: absolute;
    right: 13px;
    top: 50%;
    width: 14px;
    height: 2px;
    background: currentColor;
    transform: rotate(45deg); }
  .i-caret:after {
    content: '';
    position: absolute;
    left: 13px;
    right: auto;
    top: 50%;
    width: 14px;
    height: 2px;
    background: currentColor;
    transform: rotate(-45deg); }

.i-menu {
  color: #fff;
  position: relative;
  margin: 0 auto;
  display: block;
  width: 20px;
  height: 2px;
  background-color: currentColor; }
  .i-menu:before {
    content: '';
    position: absolute;
    top: -7px;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: currentColor; }
  .i-menu:after {
    content: '';
    position: absolute;
    top: 7px;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: currentColor; }

.i-close {
  color: #fff;
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px; }
  .i-close:before {
    content: '';
    position: absolute;
    top: 10px;
    width: 18px;
    height: 2px;
    background-color: currentColor;
    transform: rotate(-45deg); }
  .i-close:after {
    content: '';
    position: absolute;
    top: 10px;
    width: 18px;
    height: 2px;
    background-color: currentColor;
    transform: rotate(45deg); }

.i-arrow-right {
  position: relative;
  display: inline-block;
  margin: 0;
  width: 30px;
  height: 30px; }
  .i-arrow-right:before {
    content: '';
    position: absolute;
    right: 2px;
    top: 50%;
    width: 26px;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%); }
  .i-arrow-right:after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform-origin: top right;
    transform: rotate(45deg); }

.i-arrow-left {
  position: relative;
  display: inline-block;
  margin: 0;
  width: 30px;
  height: 30px; }
  .i-arrow-left:before {
    content: '';
    position: absolute;
    left: 2px;
    top: 50%;
    width: 26px;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%); }
  .i-arrow-left:after {
    content: '';
    position: absolute;
    left: 8px;
    top: 50%;
    width: 18px;
    height: 18px;
    border-bottom: solid 2px currentColor;
    border-left: solid 2px currentColor;
    transform-origin: top right;
    transform: rotate(45deg); }

.ratio-grid__item {
  position: relative; }
  .ratio-grid__item:after {
    content: '';
    display: block;
    width: 100%;
    padding-top: 100%; }
  .ratio-grid__item-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center; }

.ratio {
  display: block;
  position: relative;
  width: 100%; }
  .ratio:after {
    content: '';
    display: block;
    width: 100%;
    padding-top: 100%; }
  .ratio--wide:after {
    padding-top: 56.25%; }
  .ratio--traditional:after {
    padding-top: 75%; }
  .ratio__content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 20px; }

.main-navigation {
  display: block; }
  @media (max-width: 1024px) {
    .main-navigation {
      position: fixed;
      left: 0; } }
  @media (min-width: 1025px) {
    .main-navigation {
      -ms-flex: 1;
      flex: 1; } }
  .main-navigation ul {
    list-style: none;
    margin: 0;
    padding-left: 0;
    background-color: #fff; }
  .main-navigation .primary-menu {
    display: none; }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: end;
        justify-content: flex-end;
        -ms-flex-align: center;
        align-items: center; } }
    .main-navigation .primary-menu li {
      position: relative; }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li {
        margin-left: 30px; } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li:before {
        content: '';
        background-color: transparent;
        width: calc(100% + 16px);
        height: 3px;
        position: absolute;
        left: -8px;
        bottom: 14px;
        transition: 250ms cubic-bezier(0.77, 0, 0.175, 1); } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li > ul {
        display: none;
        float: left;
        position: absolute;
        top: 100%;
        left: -999em;
        z-index: 99999;
        padding: 18px 40px;
        width: 100vw;
        max-width: 330px; } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li > ul a {
        padding: 8px 0;
        display: block; } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li:hover:before, .main-navigation .primary-menu > li.focus:before {
        background-color: #00558c; } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li:hover > ul, .main-navigation .primary-menu > li.focus > ul {
        display: block;
        left: -40px; } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li.mega-menu > ul {
        max-width: 850px;
        width: 100vw;
        padding: 17px 40px 27px;
        grid-gap: 8px; } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li.mega-menu > ul li {
        -ms-flex: 1;
        flex: 1;
        padding-right: 10px; } }
    .main-navigation .primary-menu > li.mega-menu > ul > li > a {
      display: none; }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu > li.mega-menu:hover > ul, .main-navigation .primary-menu > li.mega-menu.focus > ul {
        display: -ms-flexbox;
        display: flex;
        left: -200px; } }
    @media (min-width: 1340px) {
      .main-navigation .primary-menu > li.mega-menu:hover > ul, .main-navigation .primary-menu > li.mega-menu.focus > ul {
        left: -300px; } }
    .main-navigation .primary-menu > li.menu-item-has-children {
      padding-right: 20px; }
      @media (min-width: 1025px) {
        .main-navigation .primary-menu > li.menu-item-has-children:after {
          content: '';
          position: absolute;
          top: 50%;
          right: 0;
          transform: translateY(-50%);
          width: 10px;
          height: 6px;
          background: url("../assets/img/icons/i_chevron.svg") no-repeat;
          transition: transform 125ms cubic-bezier(0.77, 0, 0.175, 1); } }
      @media (min-width: 1025px) {
        .main-navigation .primary-menu > li.menu-item-has-children:hover:after, .main-navigation .primary-menu > li.menu-item-has-children.focus:after {
          transform: translateY(-50%) rotate(180deg); } }
    @media (min-width: 1025px) {
      .main-navigation .primary-menu .back-container {
        display: none; } }
  .main-navigation a {
    display: inline-block;
    font-weight: 400;
    text-decoration: none;
    color: #5e6367;
    padding: 20px 0; }
  .main-navigation .mobile-menu-container {
    height: 100vh;
    width: 100%;
    transform: translateX(-100%);
    position: fixed;
    background: #fff;
    top: 0;
    left: 0;
    z-index: 10;
    transition: all 250ms cubic-bezier(0.77, 0, 0.175, 1);
    transition-property: transform;
    overflow: auto;
    margin-top: 66px; }
    .main-navigation .mobile-menu-container ul a {
      padding: 10px 0; }
    .main-navigation .mobile-menu-container > ul > li {
      position: relative;
      border-bottom: 1px solid #c4c9cd; }
      .main-navigation .mobile-menu-container > ul > li > ul {
        height: 100vh;
        width: 100%;
        padding: 30px 30px 80px;
        transform: translateX(100%);
        transition: all 250ms cubic-bezier(0.77, 0, 0.175, 1);
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1; }
        .main-navigation .mobile-menu-container > ul > li > ul.sub-menu--active {
          transform: translateX(0);
          opacity: 1;
          visibility: visible;
          overflow: scroll; }
        .main-navigation .mobile-menu-container > ul > li > ul > li:first-child {
          margin-top: 80px; }
      .main-navigation .mobile-menu-container > ul > li .nav-arrow {
        position: absolute;
        top: 50%;
        right: 25px;
        transform: translateY(-50%);
        background-image: url("../assets/img/icons/i_nav-arrow.svg");
        background-repeat: no-repeat;
        width: 20px;
        height: 20px;
        cursor: pointer;
        background-position: center center; }
      .main-navigation .mobile-menu-container > ul > li > a {
        padding: 30px; }
    .main-navigation .mobile-menu-container .menu-parent {
      font-weight: 700;
      color: #5e6367;
      display: inline-block;
      margin-bottom: 20px;
      padding-left: 45px;
      position: relative; }
      .main-navigation .mobile-menu-container .menu-parent .back {
        position: absolute;
        left: -5px;
        top: 50%;
        display: inline-block;
        cursor: pointer;
        transform: translateY(-45%) rotate(180deg); }
  @media (max-width: 1024px) {
    .main-navigation.toggled .mobile-menu-container {
      left: 0;
      transform: translateX(0);
      background: #fff; } }
  .admin-bar .main-navigation .mobile-menu-container {
    margin-top: 109px; }

@media (max-width: 1024px) {
  .primary-menu,
  .top-bar__nav {
    display: none; } }

.mobile-menu-container .primary-menu, .mobile-menu-container
.top-bar__nav {
  display: block; }

.widget__block {
  margin: 0 0 30px;
  padding: 30px;
  background: #f0f5f7; }
  @media (min-width: 768px) {
    .widget__block {
      margin: 0 0 60px; } }
  @media (max-width: 767px) {
    .widget__block--filter {
      background: none; } }
  .widget__block--filter .widget__title {
    display: none; }
    @media (min-width: 768px) {
      .widget__block--filter .widget__title {
        display: block; } }

.widget__title {
  position: relative;
  display: block;
  padding-bottom: 30px;
  margin: 0 0 30px;
  font-size: 1.3125rem;
  text-transform: none;
  font-weight: 400; }
  .widget__title:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 80px;
    height: 4px;
    background: #2b3034; }

/**
 * Swiper 3.4.2
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * 
 * http://www.idangero.us/swiper/
 * 
 * Copyright 2017, Vladimir Kharlampidi
 * The iDangero.us
 * http://www.idangero.us/
 * 
 * Licensed under MIT
 * 
 * Released on: March 10, 2017
 */
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  /* Fix of Webkit flickering */
  z-index: 1; }

.swiper-container-no-flexbox .swiper-slide {
  float: left; }

.swiper-container-vertical > .swiper-wrapper {
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -ms-flexbox;
  display: flex;
  transition-property: transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex: 0 0 auto;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative; }

/* Auto Height */
.swiper-container-autoheight,
.swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -ms-flex-align: start;
  align-items: flex-start;
  transition-property: transform, height; }

/* a11y */
.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

/* IE10 Windows Phone 8 Fixes */
.swiper-wp8-horizontal {
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

.swiper-wp8-vertical {
  -ms-touch-action: pan-x;
  touch-action: pan-x; }

/* Arrows */
.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  width: 27px;
  height: 44px;
  margin-top: -22px;
  z-index: 10;
  cursor: pointer;
  background-size: 27px 44px;
  background-position: center;
  background-repeat: no-repeat; }

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  left: 10px;
  right: auto; }

.swiper-button-prev.swiper-button-black,
.swiper-container-rtl .swiper-button-next.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-prev.swiper-button-white,
.swiper-container-rtl .swiper-button-next.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");
  right: 10px;
  left: auto; }

.swiper-button-next.swiper-button-black,
.swiper-container-rtl .swiper-button-prev.swiper-button-black {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next.swiper-button-white,
.swiper-container-rtl .swiper-button-prev.swiper-button-white {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

/* Pagination Styles */
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms;
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 10px;
  left: 0;
  width: 100%; }

/* Bullets */
.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: 0.2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-white .swiper-pagination-bullet {
  background: #fff; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: #007aff; }

.swiper-pagination-white .swiper-pagination-bullet-active {
  background: #fff; }

.swiper-pagination-black .swiper-pagination-bullet-active {
  background: #000; }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 5px 0;
  display: block; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 5px; }

/* Progress */
.swiper-pagination-progress {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progress .swiper-pagination-progressbar {
  background: #007aff;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar {
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progress {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-vertical > .swiper-pagination-progress {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-progress.swiper-pagination-white {
  background: rgba(255, 255, 255, 0.5); }

.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar {
  background: #fff; }

.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar {
  background: #000; }

/* 3D Container */
.swiper-container-3d {
  -o-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-wrapper,
.swiper-container-3d .swiper-slide,
.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom,
.swiper-container-3d .swiper-cube-shadow {
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-left,
.swiper-container-3d .swiper-slide-shadow-right,
.swiper-container-3d .swiper-slide-shadow-top,
.swiper-container-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-right {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-top {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

.swiper-container-3d .swiper-slide-shadow-bottom {
  /* Safari 4+, Chrome */
  /* Chrome 10+, Safari 5.1+, iOS 5+ */
  /* Firefox 3.6-15 */
  /* Opera 11.10-12.00 */
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), transparent);
  /* Firefox 16+, IE10, Opera 12.50+ */ }

/* Coverflow */
.swiper-container-coverflow .swiper-wrapper,
.swiper-container-flip .swiper-wrapper {
  /* Windows 8 IE 10 fix */
  -ms-perspective: 1200px; }

/* Cube + Flip */
.swiper-container-cube,
.swiper-container-flip {
  overflow: visible; }

.swiper-container-cube .swiper-slide,
.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-cube .swiper-slide .swiper-slide,
.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-flip .swiper-slide-active,
.swiper-container-cube .swiper-slide-active .swiper-slide-active,
.swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-shadow-top,
.swiper-container-flip .swiper-slide-shadow-top,
.swiper-container-cube .swiper-slide-shadow-bottom,
.swiper-container-flip .swiper-slide-shadow-bottom,
.swiper-container-cube .swiper-slide-shadow-left,
.swiper-container-flip .swiper-slide-shadow-left,
.swiper-container-cube .swiper-slide-shadow-right,
.swiper-container-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Cube */
.swiper-container-cube .swiper-slide {
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active,
.swiper-container-cube .swiper-slide-next,
.swiper-container-cube .swiper-slide-prev,
.swiper-container-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  filter: blur(50px);
  z-index: 0; }

/* Fade */
.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active,
.swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; }

/* Scrollbar */
.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

/* Preloader */
.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s steps(12, end) infinite; }

.swiper-lazy-preloader:after {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-position: 50%;
  background-size: 100%;
  background-repeat: no-repeat; }

.swiper-lazy-preloader-white:after {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"); }

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg); } }

.socials {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  max-width: 260px;
  margin: 0 auto 50px; }
  .panel__menu .socials {
    margin: 0 auto;
    max-width: 100%;
    padding: 15px 30px; }
    @media (min-width: 1025px) {
      .panel__menu .socials {
        display: none; } }
  .socials__link {
    position: relative;
    display: inline-block;
    border: 1px solid #fff;
    width: 50px;
    height: 50px;
    box-shadow: none;
    border-radius: 50%;
    line-height: 1;
    transition: box-shadow 125ms cubic-bezier(0.77, 0, 0.175, 1); }
    .socials__link:hover, .socials__link:active {
      box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.4); }
    .socials__link svg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 25px;
      height: 25px; }
      .socials__link svg * {
        fill: #fff; }
        .panel__menu .socials__link svg * {
          fill: #2b3034; }

.adv__block {
  display: block;
  margin: 0 auto;
  overflow: hidden;
  text-align: center; }
  .adv__block--leaderboard {
    width: 320px;
    height: 50px; }
    @media (min-width: 480px) {
      .adv__block--leaderboard {
        width: 468px;
        height: 60px; } }
    @media (min-width: 768px) {
      .adv__block--leaderboard {
        width: 728px;
        height: 90px; } }
    @media (min-width: 1025px) {
      .adv__block--leaderboard {
        width: 970px;
        height: 90px; } }
  .adv__block--square {
    position: relative; }
    .adv__block--square + .adv__block--square {
      margin-top: 60px; }
  .tile .adv__block iframe {
    width: auto; }
  @media (min-width: 1025px) {
    .magazine-single--portrait .adv__block--leaderboard {
      width: 728px;
      height: 90px; } }

.footer__adv {
  margin: 100px auto 10px; }
  .error404 .footer__adv {
    display: none; }

.header__adv {
  margin: 134px auto 30px; }

.aside__adv {
  padding: 0;
  background-color: transparent; }
  .aside__adv iframe {
    width: auto; }

.title--page {
  font-size: 2rem;
  font-weight: 700;
  text-transform: none;
  margin: 0; }

.title--issue {
  font-size: 3rem;
  font-weight: 500;
  text-transform: none; }

.title--single {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.13;
  text-transform: none;
  margin: 20px 0; }

.title--topic {
  font-size: 2rem;
  font-weight: 700;
  text-transform: none;
  margin: 0 0 10px; }

.title--section {
  font-size: 1.75rem;
  font-weight: 700;
  text-transform: none;
  margin: 0 0 30px; }
  .title--section > span {
    display: block;
    font-weight: 100; }

.title--article {
  font-size: 1.3125rem;
  font-weight: 500;
  text-transform: none;
  margin: 30px 0; }

@media (min-width: 768px) {
  .title--page {
    font-size: 2.5rem; }
  .title--issue {
    font-size: 5rem; }
  .title--topic {
    font-size: 2.8125rem; }
  .title--section {
    font-size: 2rem; }
    .title--section > span {
      display: inline; } }

@media (min-width: 1025px) {
  .title--topic {
    font-size: 4rem; } }

.tile {
  position: relative;
  padding: 30px 0 30px; }
  .tile__img-link {
    display: block;
    width: 100%;
    margin: 0 auto 30px; }
    .tile__img-link picture {
      display: block;
      position: relative;
      width: 100%;
      padding-top: 56.25%;
      /* 16:9 Aspect Ratio */ }
      @media (min-width: 640px) {
        .tile__img-link picture {
          padding-top: 75%;
          /* 4:3 Aspect Ratio */ } }
      .tile__img-link picture img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        max-width: 100%;
        max-height: 100%; }
    .tile__img-link img {
      display: block;
      margin: 0 auto; }
  .tile__info, .tile__content {
    width: 100%; }
  .tile__title {
    margin: 30px 0; }
    .tile__title > a:hover, .tile__title > a:focus, .tile__title > a:active {
      background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }
  .tile__snippet {
    margin: 30px 0 0; }

.tile--large .tile__title {
  font-size: 2rem; }

.tile--large .tile__snippet {
  display: none; }

.tile--medium-wide .tile__info {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -0.5em; }

.tile--medium-wide .tile__snippet {
  display: none; }

@media (min-width: 640px) {
  .tile--medium-wide .tile__img-link,
  .tile--medium-wide .tile__content {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 50% - 20px);
    flex-basis: calc( 50% - 20px);
    max-width: calc( 50% - 20px);
    margin: 0 10px;
    max-width: calc(50% - 20px); } }

.tile--medium-wide .tile__content {
  margin-top: 20px; }

.tile--small .tile__content {
  margin-top: 20px; }

.tile--small .tile__img-link,
.tile--small .tile__snippet {
  display: none; }

.tile--list {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 0;
  border-bottom: 1px solid #e3e8ea; }
  @media (min-width: 640px) {
    .tile--list.showThumb .tile__info {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 66.6666666667% - 20px);
      flex-basis: calc( 66.6666666667% - 20px);
      max-width: calc( 66.6666666667% - 20px);
      -ms-flex-order: 1;
      order: 1;
      margin: 0 10px;
      max-width: calc(66.66667% - 20px); } }
  @media (min-width: 640px) {
    .tile--list.showThumb .tile__img-link {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 33.3333333333% - 20px);
      flex-basis: calc( 33.3333333333% - 20px);
      max-width: calc( 33.3333333333% - 20px);
      -ms-flex-order: 2;
      order: 2;
      margin: 0 10px; } }
  .tile--list .tile__title {
    font-size: 2rem;
    margin: 15px 0; }
  .tile--list .tile__snippet {
    margin-top: 20px; }

.archive__list .tile--list.featured {
  position: relative;
  -ms-flex: none;
  flex: none;
  max-width: 100%; }
  @media (min-width: 640px) {
    .archive__list .tile--list.featured .tile__img-link {
      display: block;
      width: 100%;
      max-width: 100%;
      margin: 0;
      -ms-flex: none;
      flex: none; }
    .archive__list .tile--list.featured .tile__info {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      z-index: 2;
      -ms-flex: none;
      flex: none;
      margin: 0;
      padding: 30px 30px 60px;
      color: #fff;
      max-width: 100%; }
    .archive__list .tile--list.featured .tile__title a,
    .archive__list .tile--list.featured .meta,
    .archive__list .tile--list.featured .meta a,
    .archive__list .tile--list.featured .topic a {
      color: #fff; }
    .archive__list .tile--list.featured .topic a {
      background-image: linear-gradient(to right, #fff 0%, #fff 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; } }
  @media (min-width: 768px) {
    .archive__list .tile--list.featured .tile__info {
      max-width: 75%; } }
  @media (min-width: 1340px) {
    .archive__list .tile--list.featured .tile__info {
      padding: 30px 30px 90px 60px; } }
  .archive__list .tile--list.featured .tile__img-link {
    position: relative; }
    .archive__list .tile--list.featured .tile__img-link > img {
      display: block;
      margin: 0 auto; }
    @media (min-width: 640px) {
      .archive__list .tile--list.featured .tile__img-link:after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        background: linear-gradient(to bottom, rgba(26, 26, 26, 0) 0%, #1a1a1a 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); } }
  .archive__list .tile--list.featured .tile__title {
    font-size: 2rem;
    text-transform: none;
    margin: 15px 0;
    color: #fff; }
    .archive__list .tile--list.featured .tile__title > a:hover, .archive__list .tile--list.featured .tile__title > a:focus, .archive__list .tile--list.featured .tile__title > a:active {
      background-image: linear-gradient(to right, #fff 0%, #fff 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }
    @media (min-width: 640px) {
      .archive__list .tile--list.featured .tile__title {
        font-size: 2.125rem; } }
    @media (min-width: 768px) {
      .archive__list .tile--list.featured .tile__title {
        font-size: 2.5rem; } }
  .archive__list .tile--list.featured .tile__snippet {
    display: none; }

.grid__container--topics .topic {
  display: none; }

.grid__container--topics .tile__title {
  margin-top: 0; }

.grid__container--topics [data-topic="compliance"] .tile__img-link {
  border-top: 4px solid #a6192e; }

.grid__container--topics [data-topic="content-development"] .tile__img-link {
  border-top: 4px solid #f26a36; }

.grid__container--topics [data-topic="diversity-equity-and-inclusion"] .tile__img-link {
  border-top: 4px solid #76232f; }

.grid__container--topics [data-topic="e-learning"] .tile__img-link {
  border-top: 4px solid #ff8f1c; }

.grid__container--topics [data-topic="it-and-technical-training"] .tile__img-link {
  border-top: 4px solid #b94700; }

.grid__container--topics [data-topic="leadership"] .tile__img-link {
  border-top: 4px solid #daaa00; }

.grid__container--topics [data-topic="learning-technologies"] .tile__img-link {
  border-top: 4px solid #82c341; }

.grid__container--topics [data-topic="measurement-and-analytics"] .tile__img-link {
  border-top: 4px solid #00b098; }

.grid__container--topics [data-topic="outsourcing"] .tile__img-link {
  border-top: 4px solid #008264; }

.grid__container--topics [data-topic="onboarding"] .tile__img-link {
  border-top: 4px solid #8fd1c3; }

.grid__container--topics [data-topic="performance-management"] .tile__img-link {
  border-top: 4px solid #00bce7; }

.grid__container--topics [data-topic="professional-development"] .tile__img-link {
  border-top: 4px solid #00558c; }

.grid__container--topics [data-topic="remote-learning"] .tile__img-link {
  border-top: 4px solid #007096; }

.grid__container--topics [data-topic="sales"] .tile__img-link {
  border-top: 4px solid #6756a5; }

.grid__container--topics [data-topic="strategy-alignment-and-planning"] .tile__img-link {
  border-top: 4px solid #772583; }

.grid__container--topics [data-topic="workforce-development"] .tile__img-link {
  border-top: 4px solid #9b26b6; }

.grid--topics-cols .tile {
  border-top: 1px solid #e3e8ea; }
  .grid--topics-cols .tile:nth-child(2) {
    border-top: 0; }
    .grid--topics-cols .tile:nth-child(2) .tile__title {
      font-size: 1.3125rem; }
    .grid--topics-cols .tile:nth-child(2) .tile__img-link {
      display: block; }

.grid--topics-cols .tile__title {
  margin-top: 0;
  font-size: 1rem; }

.grid--topics-cols .tile__content {
  margin-top: 0; }

.tile[data-type="top_companies"] .tile__img-link {
  background: #fff; }
  .tile[data-type="top_companies"] .tile__img-link .placeholder {
    background: none; }
    .tile[data-type="top_companies"] .tile__img-link .placeholder > .svg {
      z-index: 1; }
      .tile[data-type="top_companies"] .tile__img-link .placeholder > .svg * {
        fill: #2b3034; }
    .tile[data-type="top_companies"] .tile__img-link .placeholder .top-company__pattern {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%; }
      .tile[data-type="top_companies"] .tile__img-link .placeholder .top-company__pattern .svg {
        width: 100%;
        height: 100%;
        display: block; }
        .tile[data-type="top_companies"] .tile__img-link .placeholder .top-company__pattern .svg * {
          fill: #e6e6e6; }
  .tile[data-type="top_companies"] .tile__img-link .tile__img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    max-height: 80%;
    max-width: 80%;
    z-index: 2; }

.webinar__tile {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 0 0 30px;
  border-radius: 3px;
  background: #2b3034;
  color: #fff;
  overflow: hidden; }
  .webinar__tile a {
    color: #fff; }
  .webinar__tile .webinar__date {
    position: absolute;
    top: 30px;
    left: 30px;
    z-index: 1; }

.webinar__date {
  display: inline-block;
  vertical-align: middle;
  width: auto;
  text-transform: uppercase;
  line-height: 1; }
  .webinar__date .day {
    display: table-cell;
    vertical-align: middle;
    font-size: 3rem;
    font-weight: 500;
    padding: 0 5px 0 0; }
  .webinar__date .date__wrap {
    display: table-cell;
    vertical-align: middle; }
  .webinar__date .month,
  .webinar__date .year {
    display: block;
    font-size: 1.1875rem; }
  .webinar__date .time {
    display: block;
    font-size: 1.25rem;
    font-weight: 400;
    margin-top: 5px; }

.webinar__time {
  display: inline-block;
  vertical-align: middle;
  line-height: 1;
  margin-left: 10px;
  border-left: 1px solid #c4c9cd;
  padding-left: 10px; }
  .webinar__time .starttime {
    display: inline-block; }
  .webinar__time .length {
    display: block; }

.webinar__icon {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 26px;
  height: 26px;
  margin: 5px 0 0 0; }
  .webinar__icon svg * {
    fill: #fff; }

.webinar__placeholder {
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Aspect Ratio */
  margin-bottom: 30px; }
  @media (min-width: 640px) {
    .webinar__placeholder {
      padding-top: 75%;
      /* 4:3 Aspect Ratio */ } }

.webinar__info {
  -ms-flex-positive: 1;
  flex-grow: 1;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  justify-content: space-between; }

.webinar__content {
  position: relative;
  padding: 0 30px;
  z-index: 1; }
  .webinar__content .topic a {
    background-image: linear-gradient(to right, #91969a 0%, #91969a 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }

.webinar__title {
  margin: 30px 0;
  font-size: 1.3125rem;
  text-transform: none; }
  .webinar__title > a:hover, .webinar__title > a:focus, .webinar__title > a:active {
    background-image: linear-gradient(to right, #fff 0%, #fff 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }

.webinar__footer {
  position: relative;
  padding: 0 30px;
  z-index: 1; }
  .webinar__footer .button {
    margin-top: 30px;
    padding: 18px 20px;
    display: block; }

.webinar__sponsor {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-align: center;
  align-items: center; }
  .webinar__sponsor span {
    display: block;
    font-size: 0.875rem; }
  .webinar__sponsor strong {
    font-size: 1rem;
    font-weight: 500; }

.webinar__sponsor-img {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-preferred-size: 65px;
  flex-basis: 65px;
  background: #fff;
  height: 65px;
  width: 65px;
  max-width: 65px;
  border-radius: 50%;
  padding: 8px;
  margin-right: 10px;
  text-align: center;
  overflow: hidden; }
  .webinar__sponsor-img > img {
    display: block;
    width: 100%; }
  .webinar__sponsor-img--full {
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: 150px;
    flex-basis: 150px;
    width: 150px;
    max-width: 150px;
    height: auto;
    border-radius: 0; }

.webinar__sponsor-text {
  margin: 0;
  line-height: 1.5;
  font-size: 1rem; }

.webinar__pattern {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 0; }
  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .webinar__pattern {
      /* IE10+ CSS styles go here */
      display: none; } }
  .webinar__pattern svg {
    display: block;
    position: absolute;
    bottom: 0; }
    [data-topic="compliance"] .webinar__pattern svg * {
      fill: #a6192e; }
    [data-topic="content-development"] .webinar__pattern svg * {
      fill: #f26a36; }
    [data-topic="diversity-equity-and-inclusion"] .webinar__pattern svg * {
      fill: #76232f; }
    [data-topic="e-learning"] .webinar__pattern svg * {
      fill: #ff8f1c; }
    [data-topic="it-and-technical-training"] .webinar__pattern svg * {
      fill: #b94700; }
    [data-topic="leadership"] .webinar__pattern svg * {
      fill: #daaa00; }
    [data-topic="learning-technologies"] .webinar__pattern svg * {
      fill: #82c341; }
    [data-topic="measurement-and-analytics"] .webinar__pattern svg * {
      fill: #00b098; }
    [data-topic="outsourcing"] .webinar__pattern svg * {
      fill: #008264; }
    [data-topic="onboarding"] .webinar__pattern svg * {
      fill: #8fd1c3; }
    [data-topic="performance-management"] .webinar__pattern svg * {
      fill: #00bce7; }
    [data-topic="professional-development"] .webinar__pattern svg * {
      fill: #00558c; }
    [data-topic="remote-learning"] .webinar__pattern svg * {
      fill: #007096; }
    [data-topic="sales"] .webinar__pattern svg * {
      fill: #6756a5; }
    [data-topic="strategy-alignment-and-planning"] .webinar__pattern svg * {
      fill: #772583; }
    [data-topic="workforce-development"] .webinar__pattern svg * {
      fill: #9b26b6; }

.webinar--featured {
  position: relative;
  padding: 200px 0 30px;
  background: #2b3034; }
  @media (min-width: 1025px) {
    .webinar--featured {
      padding: 120px 0 60px; } }
  .webinar--featured a {
    color: #fff; }
  .webinar--featured .topic a {
    background-image: linear-gradient(to right, #91969a 0%, #91969a 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
  .webinar--featured .webinar__info {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column; }
    @media (min-width: 1025px) {
      .webinar--featured .webinar__info {
        -ms-flex-direction: row;
        flex-direction: row;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-align: center;
        align-items: center; } }
  .webinar--featured .webinar__heading {
    position: relative;
    z-index: 1; }
    @media (min-width: 1025px) {
      .webinar--featured .webinar__heading {
        -ms-flex: 0 1 55%;
        flex: 0 1 55%; } }
    .webinar--featured .webinar__heading .webinar__title {
      font-size: 2rem; }
      @media (min-width: 1025px) {
        .webinar--featured .webinar__heading .webinar__title {
          font-size: 3rem; } }
  .webinar--featured .webinar__card {
    position: relative;
    z-index: 1;
    padding: 30px 0 0;
    color: #fff; }
    @media (min-width: 1025px) {
      .webinar--featured .webinar__card {
        background: #fff;
        padding: 30px;
        color: #2b3034;
        min-width: 400px; } }
  .webinar--featured .webinar__start {
    font-size: 1.75rem;
    margin: 30px 0; }
    @media (min-width: 1025px) {
      .webinar--featured .webinar__start {
        margin: 40px 0; } }
    .webinar--featured .webinar__start .webinar__time {
      border: 0;
      margin-left: 0;
      font-weight: 500; }
  .webinar--featured .button {
    display: block; }
  .webinar--featured .registration-ends {
    margin: 30px 0 0;
    color: #fff; }
    @media (min-width: 1025px) {
      .webinar--featured .registration-ends {
        color: #91969a; } }
  .webinar--featured .webinar__pattern {
    padding: 0;
    width: 60%; }
    @media (min-width: 1025px) {
      .webinar--featured .webinar__pattern {
        width: 500px; } }

.webinar--featured[data-topic="compliance"] .button {
  background-color: #a6192e; }

.webinar--featured[data-topic="content-development"] .button {
  background-color: #f26a36; }

.webinar--featured[data-topic="diversity-equity-and-inclusion"] .button {
  background-color: #76232f; }

.webinar--featured[data-topic="e-learning"] .button {
  background-color: #ff8f1c; }

.webinar--featured[data-topic="it-and-technical-training"] .button {
  background-color: #b94700; }

.webinar--featured[data-topic="leadership"] .button {
  background-color: #daaa00; }

.webinar--featured[data-topic="learning-technologies"] .button {
  background-color: #82c341; }

.webinar--featured[data-topic="measurement-and-analytics"] .button {
  background-color: #00b098; }

.webinar--featured[data-topic="outsourcing"] .button {
  background-color: #008264; }

.webinar--featured[data-topic="onboarding"] .button {
  background-color: #8fd1c3; }

.webinar--featured[data-topic="performance-management"] .button {
  background-color: #00bce7; }

.webinar--featured[data-topic="professional-development"] .button {
  background-color: #00558c; }

.webinar--featured[data-topic="remote-learning"] .button {
  background-color: #007096; }

.webinar--featured[data-topic="sales"] .button {
  background-color: #6756a5; }

.webinar--featured[data-topic="strategy-alignment-and-planning"] .button {
  background-color: #772583; }

.webinar--featured[data-topic="workforce-development"] .button {
  background-color: #9b26b6; }

.webinar__intro {
  margin: 0 0 80px;
  font-size: 1.1875rem;
  line-height: 2; }
  @media (min-width: 1025px) {
    .webinar__intro {
      column-count: 2; } }
  .webinar__intro + .content-module {
    margin-bottom: 80px;
    font-size: 1.125rem; }

.single-webinars .page__header {
  padding-bottom: 20px;
  margin-bottom: 30px; }

.single-webinars .title--single {
  margin-bottom: 0; }

.single-webinars .sponsor__bar .sponsor__block:only-child {
  -ms-flex-preferred-size: 300px;
  flex-basis: 300px;
  max-width: 300px; }

.meta {
  font-size: 0.875rem;
  font-weight: 300;
  color: #5e6367;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center; }
  .meta__wrap {
    -ms-flex: 1;
    flex: 1;
    min-width: 0; }
  .meta__content > *:not(:last-child):after {
    content: '\2022';
    margin: 0 8px;
    display: inline-block; }
  .tile .meta__pub-date {
    display: none; }
  .meta__author[href] {
    display: inline;
    color: #5e6367; }
    .meta__author[href]:hover, .meta__author[href]:focus, .meta__author[href]:active {
      background-image: linear-gradient(to right, #5e6367 0%, #5e6367 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }

.topic {
  font-size: 0.75rem;
  color: #2b3034; }
  .topic > a {
    text-transform: uppercase;
    font-weight: 500;
    line-height: 1.2;
    background-image: linear-gradient(to right, #c4c9cd 0%, #c4c9cd 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
    .topic > a:hover, .topic > a:focus, .topic > a:active {
      background-size: 100% 0;
      color: #5e6367; }

.page-template-custom-topic-landing .content-module {
  padding-top: 50px;
  font-size: 1.125rem; }

.callout {
  clear: both;
  margin: 60px 0;
  width: 100%;
  background: #f0f5f7; }
  .callout:after {
    content: "";
    display: table;
    clear: both; }
  .callout__container {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 -0.5em;
    padding: 60px 30px; }
    @media (min-width: 768px) {
      .callout__container {
        box-sizing: border-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin: 0 -0.5em; } }
  .callout__item {
    -ms-flex: 0 1 100%;
    flex: 0 1 100%;
    text-align: center;
    max-width: 700px; }
    .callout__item--img {
      display: none; }
    .callout__item--content {
      display: block; }
      .callout__item--content .callout__title {
        font-size: 1.75rem;
        font-weight: 400;
        text-transform: none; }
        .callout__item--content .callout__title--link > a:hover, .callout__item--content .callout__title--link > a:focus, .callout__item--content .callout__title--link > a:active {
          background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
          background-repeat: repeat-x;
          background-position: 0 100%;
          background-size: 100% 1px; }
      .callout__item--content .callout__snippet {
        font-size: 1.1875rem; }
    .callout__item--cta {
      display: block; }
      .callout__item--cta .button {
        display: block;
        margin: 0 auto; }
    @media (min-width: 768px) {
      .callout__item {
        max-width: 100%; }
        .callout__item--content {
          box-sizing: border-box;
          -ms-flex-positive: 0;
          flex-grow: 0;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          -ms-flex-preferred-size: calc( 66.6666666667% - 20px);
          flex-basis: calc( 66.6666666667% - 20px);
          max-width: calc( 66.6666666667% - 20px);
          -ms-flex-item-align: center;
          -ms-grid-row-align: center;
          align-self: center;
          margin: 0 10px;
          text-align: left; }
          .callout__item--content .callout__title {
            font-size: 2rem;
            margin-bottom: .5em; }
          .callout__item--content .callout__snippet {
            margin: 0; }
        .callout__item--cta {
          box-sizing: border-box;
          -ms-flex-positive: 0;
          flex-grow: 0;
          -ms-flex-negative: 0;
          flex-shrink: 0;
          -ms-flex-preferred-size: calc( 33.3333333333% - 20px);
          flex-basis: calc( 33.3333333333% - 20px);
          max-width: calc( 33.3333333333% - 20px);
          -ms-flex-item-align: center;
          -ms-grid-row-align: center;
          align-self: center;
          margin: 0 10px; } }
    @media (min-width: 1025px) {
      .callout__item--img {
        position: relative;
        display: block;
        box-sizing: border-box;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc( 25% - 20px);
        flex-basis: calc( 25% - 20px);
        max-width: calc( 25% - 20px);
        -ms-flex-item-align: end;
        align-self: flex-end;
        margin: 0 10px; }
        .callout__item--img img {
          position: absolute;
          bottom: -60px;
          left: 0;
          max-width: 100%;
          max-height: 280px; }
      .callout__item--content {
        box-sizing: border-box;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc( 50% - 20px);
        flex-basis: calc( 50% - 20px);
        max-width: calc( 50% - 20px);
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        margin: 0 10px; }
      .callout__item--cta {
        box-sizing: border-box;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        -ms-flex-preferred-size: calc( 25% - 20px);
        flex-basis: calc( 25% - 20px);
        max-width: calc( 25% - 20px);
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        margin: 0 10px; } }
  .callout__link:hover, .callout__link:active {
    text-decoration: underline; }
  .callout--magazine {
    background: #f0f5f7; }

.page__header + .callout {
  margin-top: 100px; }

.feature__article {
  position: relative; }
  @media (min-width: 640px) {
    .feature__article {
      margin-bottom: 30px; }
      .feature__article .wrapper {
        position: absolute;
        bottom: 0;
        left: 50%;
        width: 100%;
        transform: translateX(-50%);
        z-index: 2; } }
  @media (min-width: 1025px) {
    .feature__article {
      padding-top: 90px; } }

.feature__img {
  position: relative; }
  .feature__img > picture img {
    display: block;
    margin: 0 auto; }
  @media (min-width: 640px) {
    .feature__img:after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      background: linear-gradient(to bottom, rgba(26, 26, 26, 0) 0%, #1a1a1a 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); } }

.feature__info {
  padding: 30px 0;
  border-bottom: 1px solid #e3e8ea;
  color: #fff; }
  @media (min-width: 640px) {
    .feature__info {
      border-bottom: 0; } }

.feature__title {
  font-size: 1.5rem;
  text-transform: none;
  margin: 30px 0; }
  .feature__title > a:hover, .feature__title > a:focus, .feature__title > a:active {
    background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
  @media (min-width: 640px) {
    .feature__title {
      font-size: 2rem; } }
  @media (min-width: 1025px) {
    .feature__title {
      font-size: 2.8125rem; } }
  @media (min-width: 1340px) {
    .feature__title {
      font-size: 3.625rem;
      max-width: 60%; } }
  @media (min-width: 640px) {
    .feature__title--resized {
      font-size: 1.375rem; } }
  @media (min-width: 768px) {
    .feature__title--resized {
      font-size: 1.75rem; } }
  @media (min-width: 1025px) {
    .feature__title--resized {
      font-size: 1.875rem;
      max-width: 60%; } }
  @media (min-width: 1340px) {
    .feature__title--resized {
      font-size: 2.25rem;
      max-width: 60%; } }

@media (min-width: 640px) {
  .feature__btn {
    margin-top: 30px;
    display: inline-block; } }

@media (min-width: 640px) {
  .feature__article[data-theme="dark"] .feature__title a,
  .feature__article[data-theme="dark"] .meta,
  .feature__article[data-theme="dark"] .meta a,
  .feature__article[data-theme="dark"] .topic a {
    color: #fff; }
  .feature__article[data-theme="dark"] .topic a {
    background-image: linear-gradient(to right, #fff 0%, #fff 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
  .feature__article[data-theme="dark"] a:not(.feature__btn):hover, .feature__article[data-theme="dark"] a:not(.feature__btn):active, .feature__article[data-theme="dark"] a:not(.feature__btn):focus {
    background-image: linear-gradient(to right, #fff 0%, #fff 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; } }

@media (max-width: 639px) {
  .feature__article[data-theme="dark"] .feature__btn {
    display: none; } }

@media (min-width: 640px) {
  .feature__article[data-theme="light"] .feature__title a,
  .feature__article[data-theme="light"] .meta,
  .feature__article[data-theme="light"] .meta a,
  .feature__article[data-theme="light"] .topic a {
    color: #2b3034; }
  .feature__article[data-theme="light"] a:not(.feature__btn):hover, .feature__article[data-theme="light"] a:not(.feature__btn):active, .feature__article[data-theme="light"] a:not(.feature__btn):focus {
    background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
  .feature__article[data-theme="light"] .feature__img:after {
    background: linear-gradient(to bottom, rgba(240, 245, 247, 0) 0%, #f0f5f7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); } }

@media (max-width: 639px) {
  .feature__article[data-theme="light"] .feature__btn {
    display: none; } }

.feature__article[data-style="no-gradient"] .feature__img:after {
  background: none !important; }

.sponsor__bar {
  padding: 15px 0 0;
  background-color: #fff; }
  .sponsor__bar .wrapper {
    position: relative; }
  .sponsor__bar .owl-next,
  .sponsor__bar .owl-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
    border-right: 2px solid #2b3034 !important;
    border-bottom: 2px solid #2b3034 !important;
    border-radius: 0 !important; }
    .sponsor__bar .owl-next span,
    .sponsor__bar .owl-prev span {
      text-indent: 101%;
      overflow: hidden;
      display: block; }
  .sponsor__bar .owl-prev {
    left: 0;
    transform: rotate(135deg); }
  .sponsor__bar .owl-next {
    right: 0;
    transform: rotate(-45deg); }
  .sponsor__bar .close {
    display: none; }
  .sponsor__bar.closed {
    display: none; }
  @media (min-width: 1340px) {
    .sponsor__bar.fixed {
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      z-index: 1;
      border-top: 1px solid #c4c9cd; } }
  .sponsor__bar.fixed .close {
    display: block;
    position: absolute;
    top: -27px;
    right: -50px;
    padding: 0px 8px;
    background-color: #e3e8ea;
    border-radius: 100%;
    cursor: pointer; }
  .sponsor__bar.fixed .icon {
    width: 10px; }

.sponsor__bar-wrap[data-count="1"] {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  justify-content: center; }

.sponsor__bar-wrap.owl-carousel img {
  width: 60% !important;
  margin: 0 auto; }

.sponsor__heading {
  font-size: 1.0625rem;
  margin: 0;
  text-align: center;
  font-weight: 400;
  text-transform: none;
  margin-bottom: 10px; }
  .sponsor__heading a {
    display: block;
    font-weight: 700;
    text-decoration: underline; }
    @media (min-width: 768px) {
      .sponsor__heading a {
        display: inline; } }

.sponsor__block {
  position: relative;
  text-align: center; }
  .sponsor__block > div {
    position: relative;
    width: 100%; }
  .sponsor__block .ratio__content {
    padding: 0 20px; }

.sponsor__logo {
  width: 100%;
  transition: transform 125ms cubic-bezier(0.77, 0, 0.175, 1); }
  .sponsor__logo:hover, .sponsor__logo:focus, .sponsor__logo:active {
    transform: scale(1.1); }

.filter:after {
  content: "";
  display: table;
  clear: both; }

@media (min-width: 768px) {
  .filter__heading {
    clear: both;
    float: left;
    width: auto; } }

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

@media (min-width: 769px) {
  .filter__controls--desktop {
    display: block;
    float: right;
    width: auto; }
  .filter__controls--mobile {
    display: none; } }

.filter__label {
  display: inline-block;
  vertical-align: middle;
  font-weight: 500; }

.filter__select {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 10px; }

.filter__toggle {
  display: block;
  margin: 0 0 30px; }

.filter__list {
  transition: max-height 125ms cubic-bezier(0.77, 0, 0.175, 1);
  transform: translate3d(0, 0, 0); }
  .filter__list[aria-expanded="false"] {
    max-height: 0;
    overflow: hidden; }
  .filter__list[aria-expanded="true"] {
    max-height: 1000px;
    overflow: hidden; }
  .filter__list li {
    display: block;
    font-weight: 300; }
    .filter__list li:last-child {
      margin: 0; }
    .filter__list li.active a {
      background-image: linear-gradient(to right, #5e6367 0%, #5e6367 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }
    .filter__list li a {
      background-image: linear-gradient(to right, #c4c9cd 0%, #c4c9cd 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }
      .filter__list li a:hover, .filter__list li a:active, .filter__list li a:focus {
        background-size: 100% 0;
        color: #5e6367; }
  @media (min-width: 768px) {
    .filter__list {
      height: auto; } }

.social__callout {
  margin: 60px 0;
  font-size: 1.5rem;
  color: #5e6367;
  line-height: 1.5;
  text-align: center; }
  @media (min-width: 768px) {
    .social__callout {
      font-size: 1.75rem; } }
  .social__callout-quote {
    margin: 0; }
  .social__callout-link {
    color: #5e6367; }
    .social__callout-link:hover, .social__callout-link:focus, .social__callout-link:active {
      background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px; }
  .social__callout svg,
  .social__callout .icon {
    display: block;
    margin: 10px auto 0;
    width: 30px;
    height: 30px; }
    .social__callout svg *,
    .social__callout .icon * {
      fill: #8fd1c3; }
    @media (min-width: 768px) {
      .social__callout svg,
      .social__callout .icon {
        width: 20px;
        height: 20px; } }

.tags {
  clear: both;
  position: relative;
  padding: 60px 0 0;
  margin: 60px 0 0;
  border-top: 1px solid #e3e8ea; }
  .tags:before {
    content: url("../assets/img/logos/ti-logo-emblem.svg");
    position: absolute;
    top: -14px;
    left: calc(50% - 15px);
    background: #fff;
    padding: 0 15px;
    width: 20px;
    height: 30px; }
  .tags__list {
    margin: 0 auto;
    width: auto;
    padding-bottom: 60px;
    border-bottom: 1px solid #e3e8ea; }
  .tags__item {
    display: block;
    margin: 0 0 20px;
    text-align: center; }
    @media (min-width: 768px) {
      .tags__item {
        text-align: left;
        display: inline-block;
        margin: 0 0 10px; } }
    .tags__item > a {
      display: inline-block;
      padding: 0 20px;
      line-height: 30px;
      height: 30px;
      background: #f0f5f7;
      text-align: center;
      font-size: 0.875rem;
      font-weight: 300;
      color: #5e6367;
      border-radius: 15px;
      transition: background 125ms #base-animation-easing; }
      .tags__item > a:hover, .tags__item > a:active, .tags__item > a:focus {
        background: #e3e8ea; }

.author {
  clear: both;
  padding: 60px 0;
  line-height: 1.5;
  text-align: center; }
  @media (min-width: 768px) {
    .author {
      text-align: left; } }
  .author__pic {
    display: inline-block;
    height: 75px;
    width: 75px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto 30px; }
    @media (min-width: 768px) {
      .author__pic {
        float: left;
        margin: 0 40px 0 0; } }
  .author__bio {
    text-align: center; }
    @media (min-width: 768px) {
      .author__bio {
        margin: 0 0 0 115px;
        text-align: left; } }
    .author__bio [itemprop="name"] {
      font-weight: 500;
      margin: 0 0 10px; }
  .author__more {
    background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px;
    font-weight: 500; }

.related-content {
  box-sizing: border-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -20px; }
  @media (min-width: 1025px) {
    .related-content .tile {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 33.3333333333% - 40px);
      flex-basis: calc( 33.3333333333% - 40px);
      max-width: calc( 33.3333333333% - 40px);
      margin: 0 20px; } }

.placeholder {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9 Aspect Ratio */
  background-color: #e3e8ea; }
  @media (min-width: 640px) {
    .placeholder {
      padding-top: 75%;
      /* 4:3 Aspect Ratio */ } }
  .tile--large .placeholder,
  .featured .placeholder {
    padding-top: 56.25%;
    /* 16:9 Aspect Ratio */ }
  [data-topic="compliance"] .placeholder {
    background-color: #a6192e; }
  [data-topic="content-development"] .placeholder {
    background-color: #f26a36; }
  [data-topic="diversity-equity-and-inclusion"] .placeholder {
    background-color: #76232f; }
  [data-topic="e-learning"] .placeholder {
    background-color: #ff8f1c; }
  [data-topic="it-and-technical-training"] .placeholder {
    background-color: #b94700; }
  [data-topic="leadership"] .placeholder {
    background-color: #daaa00; }
  [data-topic="learning-technologies"] .placeholder {
    background-color: #82c341; }
  [data-topic="measurement-and-analytics"] .placeholder {
    background-color: #00b098; }
  [data-topic="outsourcing"] .placeholder {
    background-color: #008264; }
  [data-topic="onboarding"] .placeholder {
    background-color: #8fd1c3; }
  [data-topic="performance-management"] .placeholder {
    background-color: #00bce7; }
  [data-topic="professional-development"] .placeholder {
    background-color: #00558c; }
  [data-topic="remote-learning"] .placeholder {
    background-color: #007096; }
  [data-topic="sales"] .placeholder {
    background-color: #6756a5; }
  [data-topic="strategy-alignment-and-planning"] .placeholder {
    background-color: #772583; }
  [data-topic="workforce-development"] .placeholder {
    background-color: #9b26b6; }
  .placeholder > .svg {
    width: 120px;
    height: 120px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%); }
    .placeholder > .svg * {
      fill: #fff; }
      [data-topic="leadership"] .placeholder > .svg * {
        fill: #1a1a1a; }

.page__header {
  position: relative;
  padding: 0 0 40px;
  margin: 0 0 60px; }
  .page__header:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 180px;
    height: 8px;
    background: #2b3034; }
  .page-template-default .page__header {
    max-width: 100%; }
    .page-template-default .page__header:after {
      width: 100%; }
  .articles .page__header {
    padding: 0;
    margin: 0; }
    .articles .page__header:after {
      content: none; }
  @media (min-width: 768px) {
    .page__header {
      max-width: 75%; } }
  .page__header--topic {
    margin: 0 0 20px;
    padding: 0 50px;
    text-align: center;
    max-width: 100%; }
    @media (min-width: 768px) {
      .page__header--topic {
        padding: 0 80px; } }
    .page__header--topic:after {
      content: none; }
    .page__header--topic[data-topic="compliance"]:after {
      background: #a6192e; }
    .page__header--topic[data-topic="content-development"]:after {
      background: #f26a36; }
    .page__header--topic[data-topic="diversity-equity-and-inclusion"]:after {
      background: #76232f; }
    .page__header--topic[data-topic="e-learning"]:after {
      background: #ff8f1c; }
    .page__header--topic[data-topic="it-and-technical-training"]:after {
      background: #b94700; }
    .page__header--topic[data-topic="leadership"]:after {
      background: #daaa00; }
    .page__header--topic[data-topic="learning-technologies"]:after {
      background: #82c341; }
    .page__header--topic[data-topic="measurement-and-analytics"]:after {
      background: #00b098; }
    .page__header--topic[data-topic="outsourcing"]:after {
      background: #008264; }
    .page__header--topic[data-topic="onboarding"]:after {
      background: #8fd1c3; }
    .page__header--topic[data-topic="performance-management"]:after {
      background: #00bce7; }
    .page__header--topic[data-topic="professional-development"]:after {
      background: #00558c; }
    .page__header--topic[data-topic="remote-learning"]:after {
      background: #007096; }
    .page__header--topic[data-topic="sales"]:after {
      background: #6756a5; }
    .page__header--topic[data-topic="strategy-alignment-and-planning"]:after {
      background: #772583; }
    .page__header--topic[data-topic="workforce-development"]:after {
      background: #9b26b6; }
  .page__header--contact .contact-sponsor {
    margin: 20px 0 0; }
  @media (min-width: 768px) {
    .page__header--contact {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%;
      max-width: 100%; }
      .page__header--contact .title--page {
        max-width: 60%; }
      .page__header--contact .contact-sponsor {
        -ms-flex-order: 2;
        order: 2;
        margin-top: 30px; }
      .page__header--contact .page__desc {
        width: 100%;
        -ms-flex-order: 3;
        order: 3; } }
  @media (min-width: 1025px) {
    .page__header--contact .title--page {
      max-width: 75%; } }

.page__desc {
  margin: 10px 0 0;
  font-size: 1.1875rem;
  color: #5e6367; }

.posttype-callout {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  margin: 0 0 30px;
  border-bottom: 1px solid #c4c9cd; }
  .posttype-callout__info {
    margin-bottom: 20px; }
  .posttype-callout__cta {
    margin-bottom: 20px; }
  @media (min-width: 480px) {
    .posttype-callout {
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -ms-flex-align: center;
      align-items: center; }
      .posttype-callout__info, .posttype-callout__cta {
        margin-bottom: 30px; } }

.published-issue {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-align: center;
  align-items: center; }
  .published-issue__img {
    display: inline-block;
    max-width: 120px;
    min-width: 0; }
  .published-issue__info {
    min-width: 0;
    margin: 0;
    font-size: 0.875rem;
    font-weight: 300;
    line-height: 1.2; }
    .published-issue__info strong {
      display: block;
      font-size: 1rem;
      font-weight: 500;
      text-transform: capitalize; }
  .published-issue__img + .published-issue__info {
    padding: 0 20px; }

.registration-ends {
  width: 100%;
  margin: -60px 0 60px;
  font-size: 0.875rem;
  color: #91969a;
  font-style: italic; }

.list__item {
  display: block;
  width: 100%;
  border-bottom: 1px solid #e3e8ea; }

.list__link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding: 30px 0;
  overflow: hidden;
  transition: background 125ms cubic-bezier(0.77, 0, 0.175, 1); }
  @media (min-width: 768px) {
    .list__link {
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
      -ms-flex-align: center;
      align-items: center;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin: 0 -40px;
      padding: 30px 40px; }
      .list__link:hover, .list__link:active, .list__link:focus {
        background: #2b3034;
        color: #fff; }
        .list__link:hover .button, .list__link:active .button, .list__link:focus .button {
          display: inline-block;
          padding: 18px 50px;
          background-color: #fff;
          border: 1px solid;
          border-color: #1a1a1a;
          border-radius: 25px;
          box-shadow: none;
          color: #1a1a1a;
          font-family: "Gotham SSm A", "Gotham SSm B", "Gotham", Helvetica, Arial, sans-serif;
          font-size: 0.875rem;
          font-weight: 500;
          line-height: 1;
          letter-spacing: -0.014em;
          text-decoration: none;
          text-transform: uppercase;
          text-align: center;
          -webkit-user-select: none;
          -ms-user-select: none;
          user-select: none;
          vertical-align: middle;
          -webkit-font-smoothing: antialiased;
          cursor: pointer;
          -webkit-appearance: none;
          appearance: none;
          transition: background-color 125ms 125ms; }
          .list__link:hover .button:hover, .list__link:active .button:hover, .list__link:focus .button:hover {
            color: rgba(26, 26, 26, 0.8);
            background-color: rgba(255, 255, 255, 0.8);
            border-color: rgba(26, 26, 26, 0.8);
            box-shadow: 0 0 0 4px rgba(26, 26, 26, 0.25); } }

.list__info {
  display: block; }
  @media (min-width: 768px) {
    .list__info {
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 140px;
      flex-basis: 140px; } }

.list__title {
  margin: 25px 0 0;
  font-size: 1.1875rem;
  font-weight: 500;
  text-transform: none; }
  @media (min-width: 768px) {
    .list__title {
      margin: 0;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: calc(100% - 300px);
      flex-basis: calc(100% - 300px); } }

.list__action {
  display: none; }
  @media (min-width: 768px) {
    .list__action {
      display: inline-block;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 1;
      flex-shrink: 1;
      -ms-flex-preferred-size: 150px;
      flex-basis: 150px; } }

.mag__intro {
  position: relative; }

.mag__cover {
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  padding: 50px 30px 60px;
  height: 100vh; }
  .mag__cover:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(26, 26, 26, 0) 0%, #1a1a1a 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); }
  @media (min-width: 1025px) {
    .mag__cover {
      padding: 50px 60px 60px; } }
  @media (min-width: 1340px) {
    .mag__cover {
      padding: 80px 100px 120px; } }
  .mag__cover > header {
    position: relative;
    z-index: 10;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 100%; }
    .mag__cover > header .scroll-arrow {
      display: none; }
      @media (min-width: 1340px) {
        .mag__cover > header .scroll-arrow {
          display: inline-block;
          position: absolute;
          bottom: -80px;
          left: 50%;
          transform: translateX(-50%);
          width: 60px;
          height: 60px;
          border-radius: 50%;
          border: 2px solid #fff; }
          .mag__cover > header .scroll-arrow > .svg {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
            width: 20px;
            height: 13px; }
            .mag__cover > header .scroll-arrow > .svg > * {
              fill: #fff; } }
  .mag__cover .mag__meta {
    -ms-flex-order: 1;
    order: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-align: center;
    align-items: center; }
    .mag__cover .mag__meta .edition {
      -ms-flex-order: 1;
      order: 1;
      font-size: 0.875rem;
      font-weight: 500;
      text-transform: uppercase;
      margin: 0 0 0 20px; }
      @media (min-width: 768px) {
        .mag__cover .mag__meta .edition {
          -ms-flex: none;
          flex: none;
          position: absolute;
          top: 20px;
          left: -25px;
          margin: 0;
          transform-origin: left top;
          transform: rotate(-90deg) translateX(-100%); } }
      @media (min-width: 1025px) {
        .mag__cover .mag__meta .edition {
          left: -40px; } }
    .mag__cover .mag__meta .mag-intro__logo {
      position: relative;
      display: inline-block;
      width: 100px;
      height: 100px;
      background: rgba(26, 26, 26, 0.75);
      padding: 15px;
      text-align: center; }
      @media (min-width: 768px) {
        .mag__cover .mag__meta .mag-intro__logo {
          width: 250px;
          height: 250px;
          padding: 30px; } }
      .mag__cover .mag__meta .mag-intro__logo > .svg {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%); }
  .mag__cover .mag__cover-title {
    -ms-flex-order: 2;
    order: 2;
    margin-top: auto;
    color: #fff; }
    @media (min-width: 1025px) {
      .mag__cover .mag__cover-title {
        max-width: 55%; } }
  .mag__cover .mag__cta {
    -ms-flex-order: 3;
    order: 3; }

.mag__features {
  padding: 10px 30px 30px; }
  @media (min-width: 1025px) {
    .mag__features {
      padding: 80px 60px 60px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 10;
      height: 100%;
      max-width: 70%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: justify;
      justify-content: space-between; } }
  @media (min-width: 1340px) {
    .mag__features {
      padding: 90px 100px 120px 0px; } }

.mag__intro[data-theme="dark"] .mag__cover-title,
.mag__intro[data-theme="dark"] .mag__meta {
  color: #fff; }

@media (min-width: 1025px) {
  .mag__intro[data-theme="dark"] .topic a,
  .mag__intro[data-theme="dark"] .title--article a,
  .mag__intro[data-theme="dark"] .meta__content,
  .mag__intro[data-theme="dark"] .meta__content a,
  .mag__intro[data-theme="dark"] .mag__nav a,
  .mag__intro[data-theme="dark"] .mag__nav a:hover,
  .mag__intro[data-theme="dark"] .mag__nav a:active {
    color: #fff; }
  .mag__intro[data-theme="dark"] .topic a,
  .mag__intro[data-theme="dark"] .meta__content a:hover,
  .mag__intro[data-theme="dark"] .meta__content a:active,
  .mag__intro[data-theme="dark"] .mag__nav a:hover,
  .mag__intro[data-theme="dark"] .mag__nav a:active {
    background-image: linear-gradient(to right, #fff 0%, #fff 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; } }

.mag__intro[data-theme="light"] .mag__cover-title,
.mag__intro[data-theme="light"] .mag__meta {
  color: #1a1a1a; }

@media (min-width: 1025px) {
  .mag__intro[data-theme="light"] .topic a,
  .mag__intro[data-theme="light"] .title--article a,
  .mag__intro[data-theme="light"] .mag__nav a,
  .mag__intro[data-theme="light"] .mag__nav a:hover,
  .mag__intro[data-theme="light"] .mag__nav a:active,
  .mag__intro[data-theme="light"] .meta,
  .mag__intro[data-theme="light"] .meta a {
    color: #1a1a1a; }
  .mag__intro[data-theme="light"] .topic a,
  .mag__intro[data-theme="light"] .mag__nav a:hover,
  .mag__intro[data-theme="light"] .mag__nav a:active,
  .mag__intro[data-theme="light"] .meta a:hover,
  .mag__intro[data-theme="light"] .meta a:active {
    background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
  .mag__intro[data-theme="light"] .mag__featured-article,
  .mag__intro[data-theme="light"] .mag__nav .menu-item {
    border-color: #5e6367; }
  .mag__intro[data-theme="light"] .scroll-arrow {
    border-color: #2b3034; }
    .mag__intro[data-theme="light"] .scroll-arrow > .svg > * {
      fill: #2b3034; } }

.mag__intro[data-theme="light"] .mag__cover:after {
  background: linear-gradient(to bottom, rgba(240, 245, 247, 0) 0%, #f0f5f7 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#001a1a1a', endColorstr='#1a1a1a',GradientType=0 ); }

.mag__intro[data-style="no-gradient"] .mag__cover:after {
  background: none !important; }

.mag__nav {
  display: block;
  width: 100%; }
  @media (min-width: 1025px) {
    .mag__nav {
      width: auto;
      -ms-flex-item-align: end;
      align-self: flex-end; } }
  .mag__nav .menu-item {
    display: block; }
    .mag__nav .menu-item > a {
      position: relative;
      display: block;
      padding: 20px 20px 20px 0;
      font-size: 1rem;
      border-bottom: 1px solid #e3e8ea;
      transition: border-color 125ms cubic-bezier(0.77, 0, 0.175, 1), color 125ms cubic-bezier(0.77, 0, 0.175, 1); }
      .mag__nav .menu-item > a:hover, .mag__nav .menu-item > a:active {
        color: #1a1a1a;
        border-color: #91969a; }
      @media (max-width: 1024px) {
        .mag__nav .menu-item > a {
          color: #2b3034; }
          .mag__nav .menu-item > a:before, .mag__nav .menu-item > a:after {
            content: '';
            position: absolute;
            top: 50%;
            right: 4px;
            height: 2px;
            width: 8px;
            background: #2b3034;
            transform: rotate(-45deg) translateY(4px); }
          .mag__nav .menu-item > a:after {
            transform: rotate(45deg) translateY(-4px); } }
      @media (min-width: 1025px) {
        .mag__nav .menu-item > a {
          padding: 0;
          margin: 8px 10px;
          border: 0;
          font-weight: 500;
          font-size: 0.875rem;
          text-transform: uppercase; } }
    @media (min-width: 1025px) {
      .mag__nav .menu-item {
        display: inline-block;
        border-right: 1px solid #c4c9cd; }
        .mag__nav .menu-item:first-child a {
          margin-left: 0; }
        .mag__nav .menu-item:last-child {
          border: 0; }
          .mag__nav .menu-item:last-child a {
            margin-right: 0; } }

.mag__featured-article {
  margin: 30px 0 0;
  padding: 0 0 30px;
  border-bottom: 1px solid #e3e8ea; }
  .mag__featured-article .title--article {
    margin: 15px 0; }

.count {
  font-weight: 500;
  font-size: 1.875rem; }

.search-term {
  font-weight: 500; }

.mag-column {
  padding: 0 0 30px;
  margin: 0 0 60px;
  border-bottom: 1px solid #c4c9cd;
  text-align: center; }
  .mag-column .column-type {
    text-transform: none;
    font-size: 1.5rem;
    margin: 0;
    font-weight: 300; }
    .mag-column .column-type strong {
      font-weight: 700; }

.progress {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 100%;
  height: 3px;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background-color: transparent;
  color: #2b3034; }
  .progress__container {
    width: 100%;
    background-color: transparent;
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    display: block; }
  .progress__bar {
    background-color: #2b3034;
    width: 50%;
    display: block;
    height: inherit; }

progress::-webkit-progress-bar {
  background-color: transparent; }

progress::-webkit-progress-value {
  background-color: #2b3034; }

progress::-moz-progress-bar {
  background-color: #2b3034; }

.modal {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 20px; }
  @media (min-width: 768px) {
    .modal {
      -ms-flex-direction: row;
      flex-direction: row; } }
  .modal__image {
    position: relative;
    margin: 0 -20px 0;
    text-align: center; }
    @media (min-width: 768px) {
      .modal__image {
        margin: 0; } }
  @media (min-width: 768px) {
    .modal__content {
      width: calc(100% - 350px);
      margin-left: 50px; } }
  @media (max-width: 767px) {
    .modal__cta {
      position: fixed;
      bottom: 0;
      left: 0;
      width: 100%;
      padding: 20px;
      background: #fff;
      -ms-flex: none;
      flex: none; } }
  .modal__cta .button {
    margin: auto auto 0; }
    @media (max-width: 767px) {
      .modal__cta .button {
        display: block; } }
  .modal .close-modal {
    padding: 0;
    background: none;
    border-radius: 0;
    position: absolute;
    top: 10px;
    right: 10px;
    width: 50px;
    height: 50px; }
    .modal .close-modal:hover {
      background: none;
      box-shadow: none;
      color: inherit; }
    .modal .close-modal > svg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 20px;
      height: 20px; }
    @media (min-width: 768px) {
      .modal .close-modal {
        top: -40px;
        right: -40px; } }

.company__name {
  font-weight: 300;
  font-size: 1.75rem;
  line-height: 1.1;
  margin: 0 0 5px;
  text-transform: none; }

.company__local {
  font-weight: 400;
  font-size: 0.875rem;
  color: #91969a;
  margin: 0; }

.company__desc {
  margin-top: 20px; }

@media (max-width: 767px) {
  .top-categories {
    display: block;
    width: 100%; }
    .top-categories .top__cat {
      display: block; }
      .top-categories .top__cat > .top__link {
        position: relative;
        display: block;
        padding: 20px 20px 20px 0;
        font-size: 1rem;
        color: #2b3034;
        border-bottom: 1px solid #e3e8ea;
        transition: border-color 125ms cubic-bezier(0.77, 0, 0.175, 1), color 125ms cubic-bezier(0.77, 0, 0.175, 1); }
        .top-categories .top__cat > .top__link:hover, .top-categories .top__cat > .top__link:active {
          color: #1a1a1a;
          border-color: #91969a; }
        .top-categories .top__cat > .top__link:before, .top-categories .top__cat > .top__link:after {
          content: '';
          position: absolute;
          top: 50%;
          right: 4px;
          height: 2px;
          width: 8px;
          background: #2b3034;
          transform: rotate(-45deg) translateY(4px); }
        .top-categories .top__cat > .top__link:after {
          transform: rotate(45deg) translateY(-4px); }
        .top-categories .top__cat > .top__link .cat-img {
          display: none; }
      .top-categories .top__cat .actions {
        display: none; } }

@media (min-width: 768px) {
  .top-categories {
    box-sizing: border-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -10px; }
    .top-categories .top__cat {
      box-sizing: border-box;
      -ms-flex-positive: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      -ms-flex-preferred-size: calc( 33.3333333333% - 20px);
      flex-basis: calc( 33.3333333333% - 20px);
      max-width: calc( 33.3333333333% - 20px);
      margin: 0 10px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin-bottom: 20px;
      border: 1px solid #e3e8ea;
      border-radius: 3px; }
    .top-categories .top__link {
      display: block;
      position: relative;
      width: 100%; }
      .top-categories .top__link:after {
        content: '';
        display: block;
        width: 100%;
        padding-top: 100%; }
      .top-categories .top__link .cat-img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 20px;
        text-align: center; }
        .top-categories .top__link .cat-img img {
          display: block;
          max-width: 100%;
          width: auto;
          max-height: 100%;
          height: auto; }
      .top-categories .top__link .cat-name {
        display: none; }
    .top-categories .cat-name {
      font-weight: 500;
      font-size: 1.3125rem;
      text-align: center; }
    .top-categories .actions {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
      flex-direction: column;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-align: center;
      align-items: center;
      padding: 0 10px 20px; }
    .top-categories .secondary-link {
      margin: 10px 0 0; } }

@media (min-width: 1025px) {
  .top-categories .top__cat {
    box-sizing: border-box;
    -ms-flex-positive: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-preferred-size: calc( 20% - 20px);
    flex-basis: calc( 20% - 20px);
    max-width: calc( 20% - 20px);
    margin: 0 10px;
    margin-bottom: 20px; } }

.info-module {
  display: none; }
  @media (min-width: 768px) {
    .info-module {
      display: block;
      position: fixed;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      background: #fff;
      border-top: 1px solid #c4c9cd;
      transform: translateY(100%);
      z-index: 50;
      transition: transform .3s ease; }
      .info-module.show {
        transform: translateY(0); }
      .page-template-custom-topic-landing .info-module {
        display: none; }
      .single .info-module {
        display: none; } }
  .info-module > .wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-line-pack: center;
    align-content: center;
    padding-top: 10px;
    padding-bottom: 10px; }
  .info-module__content {
    margin-right: 10px;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center; }
  .info-module__cta {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    white-space: nowrap;
    font-size: 0.75rem; }
  .info-module__snippet {
    margin: 0; }
    .info-module__snippet[data-weight="bold"] {
      font-weight: 700; }

@media (min-width: 768px) {
  body.pad-footer .footer-container {
    padding-bottom: 130px; } }

.toc {
  margin: 0 0 30px 0;
  list-style-type: decimal-leading-zero;
  list-style-position: inside;
  font-weight: 500; }
  .toc__heading {
    margin-bottom: 10px; }
  .toc > li {
    display: list-item; }
    .toc > li > a {
      display: inline-block;
      margin-left: 20px;
      background-image: linear-gradient(to right, #c4c9cd 0%, #c4c9cd 100%);
      background-repeat: repeat-x;
      background-position: 0 100%;
      background-size: 100% 1px;
      font-weight: 300;
      line-height: 1; }

.wiki__heading {
  position: relative;
  text-transform: none; }
  @media (min-width: 768px) {
    .wiki__heading {
      margin: 0 -70px 30px;
      padding: 0 70px; }
      .wiki__heading:hover > span {
        background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
        background-repeat: repeat-x;
        background-position: 0 100%;
        background-size: 100% 1px; }
      .wiki__heading:hover .copy-link {
        left: 0;
        opacity: 1;
        visibility: visible; } }

.wiki .copy-link {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 50px;
  border: 2px solid #2b3034;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: inline-block;
  transition: all 125ms cubic-bezier(0.77, 0, 0.175, 1); }
  .wiki .copy-link > svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 25px;
    height: 25px; }

.feedback {
  clear: both;
  padding: 20px 0;
  text-align: center; }
  .feedback__heading {
    margin: 0 0 8px;
    text-transform: none;
    font-weight: 700; }
  .feedback__snippet {
    margin: 0 0 10px; }
  .feedback__form {
    transition: visibility 0s ease, max-height .3s ease, opacity .3s ease;
    transition-delay: 0s; }
    .feedback__form[aria-expanded="true"] {
      max-height: 1000px;
      opacity: 1;
      visibility: visible; }
    .feedback__form[aria-expanded="false"] {
      max-height: 0;
      overflow: hidden;
      opacity: 0;
      visibility: hidden;
      transition-delay: .3s, 0s, 0s; }

.separator--bottom {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #c4c9cd; }

.glossary__nav {
  padding: 30px 0 0;
  margin: 0 0 30px;
  text-align: center;
  width: 100%;
  height: 100px;
  overflow: hidden; }
  @media (min-width: 768px) {
    .glossary__nav {
      padding: 30px 0;
      overflow: auto;
      height: auto;
      max-width: 1000px;
      margin: 0 auto 30px; } }
  .glossary__nav-list {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-pack: start;
    justify-content: flex-start;
    overflow-x: scroll;
    height: 100px; }
    @media (min-width: 768px) {
      .glossary__nav-list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -ms-flex-pack: center;
        justify-content: center;
        height: auto;
        overflow: auto; } }
  .glossary__nav-item {
    display: inline-block;
    margin: 0 2px 5px; }
  .glossary__nav-link {
    display: block;
    text-align: center;
    font-weight: 500;
    background: #2b3034;
    color: #fff;
    height: 65px;
    width: 65px;
    line-height: 65px;
    font-size: 24px;
    border-radius: 3px; }
    .glossary__nav-link.disabled {
      background: #c4c9cd; }

.glossary__section {
  clear: both;
  margin-bottom: 15px; }
  .glossary__section:after {
    content: "";
    display: table;
    clear: both; }
  .glossary__section-heading {
    text-transform: uppercase;
    font-weight: 400;
    font-size: 3rem;
    border-bottom: 2px solid #2b3034;
    margin: 0 0 30px; }
  .glossary__section-item {
    display: block; }
    @media (min-width: 768px) {
      .glossary__section-item {
        float: left;
        width: 50%;
        margin: 0 0 15px; }
        .glossary__section-item:nth-child(2n+1) {
          clear: left; } }
    @media (min-width: 1025px) {
      .glossary__section-item {
        width: 33%; }
        .glossary__section-item:nth-child(2n+1) {
          clear: none; }
        .glossary__section-item:nth-child(3n+1) {
          clear: left; } }
    .glossary__section-item > a {
      position: relative;
      display: block;
      padding: 20px 20px 20px 0;
      font-size: 1rem;
      border-bottom: 1px solid #c4c9cd;
      transition: border-color 125ms cubic-bezier(0.77, 0, 0.175, 1), color 125ms cubic-bezier(0.77, 0, 0.175, 1); }
      .glossary__section-item > a:hover, .glossary__section-item > a:active {
        border-color: #91969a; }
      @media (max-width: 767px) {
        .glossary__section-item > a:before, .glossary__section-item > a:after {
          content: '';
          position: absolute;
          top: 50%;
          right: 4px;
          height: 2px;
          width: 8px;
          background: #2b3034;
          transform: rotate(-45deg) translateY(4px); }
        .glossary__section-item > a:after {
          transform: rotate(45deg) translateY(-4px); } }
      @media (min-width: 768px) {
        .glossary__section-item > a {
          display: inline-block;
          padding: 0;
          border: 0;
          font-size: 1.1875rem; }
          .glossary__section-item > a:hover, .glossary__section-item > a:active {
            background-image: linear-gradient(to right, #91969a 0%, #91969a 100%);
            background-repeat: repeat-x;
            background-position: 0 100%;
            background-size: 100% 1px; } }

.addthis_share {
  position: fixed;
  bottom: 0;
  left: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding: 0 20px;
  background: #fff;
  border-top: 1px solid #c4c9cd;
  z-index: 50;
  transition: padding .15s ease, position .15s ease; }
  @media (min-width: 768px) {
    .addthis_share {
      left: 0;
      top: 220px;
      bottom: auto;
      width: auto;
      border: 0;
      -ms-flex-direction: column;
      flex-direction: column;
      padding: 0 10px; }
      .addthis_share.hide {
        visibility: hidden; } }
  @media (min-width: 1340px) {
    .addthis_share {
      left: 50%;
      transform: translateX(-640px);
      padding: 0; }
      .addthis_share--mag-landscape {
        position: absolute;
        top: 810px; }
        .addthis_share--mag-landscape.fixed {
          position: fixed;
          top: 220px; }
      .addthis_share--mag-portrait {
        left: 40%;
        transform: none; } }
  @media (min-width: 1834px) {
    .addthis_share--mag-portrait {
      left: 733px; } }
  .addthis_share__title {
    margin: 0;
    text-transform: uppercase;
    font-size: 0.875rem;
    line-height: 50px;
    font-weight: 700;
    color: #2b3034; }
    @media (min-width: 768px) {
      .addthis_share__title {
        font-size: 0.75rem; } }
  .addthis_share__container {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-align: center;
    align-items: center; }
    @media (min-width: 768px) {
      .addthis_share__container {
        -ms-flex-direction: column;
        flex-direction: column; } }
  .addthis_share__button {
    position: relative;
    display: block;
    height: 50px;
    width: 50px;
    text-align: center;
    margin: 0;
    color: #91969a; }
    .addthis_share__button * {
      pointer-events: none; }
    .addthis_share__button:hover, .addthis_share__button:active, .addthis_share__button:focus {
      background: #c4c9cd; }
      @media (min-width: 768px) {
        .addthis_share__button:hover, .addthis_share__button:active, .addthis_share__button:focus {
          background: transparent; }
          .addthis_share__button:hover > svg > *, .addthis_share__button:active > svg > *, .addthis_share__button:focus > svg > * {
            fill: #1a1a1a; } }
    .addthis_share__button > svg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      width: 25px;
      height: 25px; }
      .addthis_share__button > svg > * {
        fill: #5e6367; }

.gateway__form {
  position: relative;
  padding: 40px;
  background-color: #e3e8ea; }

.loading {
  text-align: center; }
  .loading .spinner {
    animation: rotate 2s linear infinite;
    z-index: 1;
    width: 50px;
    height: 50px;
    display: inline-block;
    margin: 0 auto; }
    .loading .spinner .path {
      stroke: #2b3034;
      stroke-linecap: square;
      animation: dash 1.5s ease-in-out infinite; }

.load-more {
  padding: 20px 0;
  text-align: center; }

.pdf-embed {
  height: 1100px;
  margin: 0 auto 30px; }
  .page-template-custom-cptm-template .pdf-embed {
    width: 100%;
    margin: 0 auto; }
  @media (min-width: 768px) {
    .pdf-embed {
      margin: 0 -60px 30px; } }
  @media (min-width: 1025px) {
    .pdf-embed {
      margin: 0 -180px 30px; } }
  @media (min-width: 1340px) {
    .pdf-embed {
      margin: 0 -260px 30px; } }

/*!
  Modaal - accessible modals - v0.3.1
  by Humaan, for all humans.
  http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden; }

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0; }

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out; }
  .modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden; }
  .modaal-wrapper .modaal-close {
    border: none;
    background: transparent;
    padding: 0;
    -webkit-appearance: none; }
  .modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1; }
  .modaal-wrapper.modaal-start_fade {
    opacity: 0; }
  .modaal-wrapper *[tabindex="0"] {
    outline: none !important; }
  .modaal-wrapper.modaal-fullscreen {
    overflow: hidden; }

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%; }
  .modaal-fullscreen .modaal-outer-wrapper {
    display: block; }

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px; }
  .modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top; }

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto; }
  .modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden; }
  .modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto; }

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: transparent;
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }
  .modaal-close:focus, .modaal-close:hover {
    outline: none;
    background: #fff; }
    .modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
      background: #b93d0c; }
  .modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-close:before, .modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-close:before {
    transform: rotate(-45deg); }
  .modaal-close:after {
    transform: rotate(45deg); }
  .modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px; }

.modaal-content-container {
  padding: 30px; }

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0; }

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent; }
  .modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out; }
    .modaal-confirm-btn.modaal-ok:hover {
      background: #2f2f2f; }
  .modaal-confirm-btn.modaal-cancel {
    text-decoration: underline; }
    .modaal-confirm-btn.modaal-cancel:hover {
      text-decoration: none;
      color: #2f2f2f; }

@keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important; }

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent; }

.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important; }

.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards; }

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px; }

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%; }

.modaal-gallery-wrap {
  position: relative;
  color: #fff; }

.modaal-gallery-item {
  display: none; }
  .modaal-gallery-item img {
    display: block; }
  .modaal-gallery-item.is_active {
    display: block; }

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff; }
  .modaal-gallery-label:focus {
    outline: none; }

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: transparent;
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }
  .modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default; }
  .modaal-gallery-control:focus, .modaal-gallery-control:hover {
    outline: none;
    background: #fff; }
    .modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
      background: #afb7bc; }
  .modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-gallery-control:before {
    margin: -5px 0 0;
    transform: rotate(-45deg); }
  .modaal-gallery-control:after {
    margin: 5px 0 0;
    transform: rotate(45deg); }

.modaal-gallery-next {
  left: 100%;
  margin-left: 40px; }

.modaal-gallery-prev {
  right: 100%;
  margin-right: 40px; }
  .modaal-gallery-prev:before, .modaal-gallery-prev:after {
    left: 22px; }
  .modaal-gallery-prev:before {
    margin: 5px 0 0;
    transform: rotate(-45deg); }
  .modaal-gallery-prev:after {
    margin: -5px 0 0;
    transform: rotate(45deg); }

.modaal-video-wrap {
  margin: auto 50px;
  position: relative; }

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  .modaal-video-container iframe,
  .modaal-video-container object,
  .modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%; }

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block; }

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px; } }

@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px; }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7); }
    .modaal-gallery-control:before, .modaal-gallery-control:after {
      background: #fff; }
  .modaal-gallery-next {
    left: auto;
    right: 20px; }
  .modaal-gallery-prev {
    left: 20px;
    right: auto; } }

@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; } }

@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important; } }

@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px; }
  .modaal-instagram iframe {
    width: 600px !important; } }

@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px; } }

@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important; } }

@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none; } }

.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25); }

@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    transform: scale(1.5); }
  100% {
    opacity: .1;
    transform: scale(1); } }

.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute; }

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff; }

.modaal-loading-spinner > div:nth-of-type(1) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0s; }

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(1) {
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .12s; }

.modaal-loading-spinner > div:nth-of-type(2) {
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .25s; }

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(3) {
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .37s; }

.modaal-loading-spinner > div:nth-of-type(4) {
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .5s; }

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(5) {
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .62s; }

.modaal-loading-spinner > div:nth-of-type(6) {
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .75s; }

.modaal-loading-spinner > div:nth-of-type(7) {
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(8) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: .87s; }

.modaal-loading-spinner > div:nth-of-type(8) {
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0); }

@media (max-width: 767px) {
  .modaal-content-container {
    padding: 30px 30px 80px;
    position: fixed;
    height: 100vh;
    overflow-y: scroll; }
  .modaal-wrapper {
    overflow: hidden; }
    .modaal-wrapper .modaal-outer-wrapper {
      display: block; }
    .modaal-wrapper .modaal-inner-wrapper {
      padding: 0;
      display: block;
      vertical-align: top; }
    .modaal-wrapper .modaal-container {
      max-width: none;
      height: 100%;
      overflow: auto; }
    .modaal-wrapper .modaal-close {
      background: #91969a;
      right: 10px;
      top: 10px; } }

@media (max-width: 767px) {
  table.bt th,
  table.bt td {
    padding: 0;
    text-align: left;
    width: 100%; }
  table.bt tbody td:last-child::before,
  table.bt tbody td:last-child .bt-content {
    border-bottom: 0.25rem solid #fff; }
  table.bt thead,
  table.bt tbody th {
    display: none; }
  table.bt tfoot th,
  table.bt tfoot td,
  table.bt tbody td {
    border: none;
    display: block;
    display: -ms-flexbox;
    display: flex;
    vertical-align: top;
    /* IE 9 */
    float: left\9;
    width: 100%\9; }
  table.bt tfoot th::before,
  table.bt tfoot td::before,
  table.bt tbody td::before {
    content: attr(data-th) ": ";
    display: inline-block;
    -ms-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 30%;
    padding: 0.5625rem;
    background-color: #5e6367;
    color: #fff;
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 1.5;
    word-break: break-word; }
  table.bt tfoot th.bt-hide,
  table.bt tfoot td.bt-hide,
  table.bt tbody td.bt-hide {
    display: none; }
  table.bt tfoot th .bt-content,
  table.bt tfoot td .bt-content,
  table.bt tbody td .bt-content {
    display: block;
    width: 100%;
    padding: 0.5625rem;
    border-top: 0.0625rem solid #c4c9cd;
    vertical-align: top; }
  .bt-wrapper.active {
    max-height: 19.375rem;
    overflow: auto;
    -webkit-overflow-scrolling: touch; } }

.lazyload,
.lazyloading {
  opacity: 0; }

.lazyloaded {
  opacity: 1;
  transition: opacity .4s ease; }

.back-to {
  display: inline-block;
  margin: 0 0 40px;
  font-weight: 600;
  transition: transform .3s ease; }
  .back-to:hover span, .back-to:active span {
    background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px; }
  .back-to:hover .svg,
  .back-to:hover svg, .back-to:active .svg,
  .back-to:active svg {
    transform: translateX(-8px); }
  .back-to span {
    display: inline-block;
    transition: transform .3s ease; }
  .back-to .svg,
  .back-to svg {
    width: 10px;
    height: 10px;
    transition: transform .3s ease; }

.sidebar__menu {
  margin: 0 0 60px; }
  .sidebar__menu .filter__list li a {
    position: relative;
    display: block;
    color: #5e6367;
    font-size: 1rem; }
    .sidebar__menu .filter__list li a:hover, .sidebar__menu .filter__list li a:active {
      color: #2b3034; }
    @media (max-width: 1024px) {
      .sidebar__menu .filter__list li a:before, .sidebar__menu .filter__list li a:after {
        content: '';
        position: absolute;
        top: 50%;
        right: 4px;
        height: 2px;
        width: 8px;
        background: #5e6367;
        transform: rotate(-45deg) translateY(4px); }
      .sidebar__menu .filter__list li a:after {
        transform: rotate(45deg) translateY(-4px); } }
    @media (min-width: 1025px) {
      .sidebar__menu .filter__list li a {
        margin: 0 0 20px;
        padding: 0;
        font-weight: 500; }
        .sidebar__menu .filter__list li a:hover, .sidebar__menu .filter__list li a:active, .sidebar__menu .filter__list li a:focus {
          background-image: linear-gradient(to right, #5e6367 0%, #5e6367 100%);
          background-repeat: repeat-x;
          background-position: 0 100%;
          background-size: 100% 1px;
          transition: background-color 125ms cubic-bezier(0.77, 0, 0.175, 1); } }
  .sidebar__menu .filter__list li.active > a {
    color: #2b3034;
    background-image: linear-gradient(to right, #5e6367 0%, #5e6367 100%);
    background-repeat: repeat-x;
    background-position: 0 100%;
    background-size: 100% 1px;
    transition: background-color 125ms cubic-bezier(0.77, 0, 0.175, 1); }

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  margin: 0 auto;
  -moz-backface-visibility: hidden;
  /* fix firefox animation glitch */ }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%; }

.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
  display: none; }

.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
  cursor: pointer;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
  background: none;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden; }

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
   *  Owl Carousel - Animate Plugin
   */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
   * 	Owl Carousel - Auto Height Plugin
   */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
   * 	Owl Carousel - Lazy Load Plugin
   */
.owl-carousel .owl-item {
  /**
              This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
              calculation of the height of the owl-item that breaks page layouts
           */ }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
  max-height: 0; }

.owl-carousel .owl-item img.owl-lazy {
  transform-style: preserve-3d; }

/*
   * 	Owl Carousel - Video Plugin
   */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

form.post-password-form p:nth-child(2) {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  form.post-password-form p:nth-child(2) label {
    font-size: 0;
    width: 100%; }
  form.post-password-form p:nth-child(2) input, form.post-password-form p:nth-child(2) textarea, form.post-password-form p:nth-child(2) .ginput_container_select select, .ginput_container_select form.post-password-form p:nth-child(2) select, form.post-password-form p:nth-child(2) .ginput_complex .address_country select, .ginput_complex .address_country form.post-password-form p:nth-child(2) select, form.post-password-form p:nth-child(2) .clear-multi .gfield_time_ampm select, .clear-multi .gfield_time_ampm form.post-password-form p:nth-child(2) select, form.post-password-form p:nth-child(2) .ginput_container_multiselect select, .ginput_container_multiselect form.post-password-form p:nth-child(2) select, form.post-password-form p:nth-child(2) .form-field select, .form-field form.post-password-form p:nth-child(2) select {
    font-size: 0.875rem;
    border-radius: 0;
    padding: 15px 10px; }
    form.post-password-form p:nth-child(2) input[name="Submit"], form.post-password-form p:nth-child(2) textarea[name="Submit"], form.post-password-form p:nth-child(2) .ginput_container_select select[name="Submit"], .ginput_container_select form.post-password-form p:nth-child(2) select[name="Submit"], form.post-password-form p:nth-child(2) .ginput_complex .address_country select[name="Submit"], .ginput_complex .address_country form.post-password-form p:nth-child(2) select[name="Submit"], form.post-password-form p:nth-child(2) .clear-multi .gfield_time_ampm select[name="Submit"], .clear-multi .gfield_time_ampm form.post-password-form p:nth-child(2) select[name="Submit"], form.post-password-form p:nth-child(2) .ginput_container_multiselect select[name="Submit"], .ginput_container_multiselect form.post-password-form p:nth-child(2) select[name="Submit"], form.post-password-form p:nth-child(2) .form-field select[name="Submit"], .form-field form.post-password-form p:nth-child(2) select[name="Submit"] {
      width: 33%;
      margin-left: 20px; }

.clear {
  clear: both; }

.block {
  display: block; }

.center {
  text-align: center; }

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.push {
  margin-bottom: 40px; }

.hidden {
  display: none; }

/* Text meant only for screen readers. */
.screen-reader-text, .gfield.gform_hidden {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }
  .screen-reader-text:focus, .gfield.gform_hidden:focus {
    background-color: #c4c9cd;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #91969a;
    display: block;
    font-size: 0.0546875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */ }

.gallery {
  margin-bottom: 1.5em; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }
  .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%; }
  .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }

.gallery-caption {
  display: block; }

.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .wp-caption .wp-caption-text {
    margin: 0.8075em 0; }

.wp-caption-text {
  text-align: center; }

.note {
  font-size: 0.875rem; }

.home .site-content {
  padding-top: 0; }

.home .content-module {
  margin-bottom: 60px;
  font-size: 1.125rem; }

.error-404 {
  text-align: center; }
  .error-404 .page__header {
    display: inline-block;
    margin: 0 auto; }
    .error-404 .page__header:after {
      display: none; }
  .error-404 .page__desc {
    font-size: 1.1875rem; }
    @media (min-width: 768px) {
      .error-404 .page__desc {
        font-size: 1.3125rem; } }

[data-content="editor"] a {
  background-image: linear-gradient(to right, #2b3034 0%, #2b3034 100%);
  background-repeat: repeat-x;
  background-position: 0 100%;
  background-size: 100% 1px; }
  [data-content="editor"] a:hover, [data-content="editor"] a:focus, [data-content="editor"] a:active {
    color: #5e6367; }
  [data-content="editor"] a > img {
    box-shadow: 0px 5px 0px #fff; }

[data-content="editor"] h1 {
  font-size: 2rem;
  text-transform: initial;
  font-weight: 500; }

[data-content="editor"] h2 {
  font-size: 1.375rem;
  font-weight: 400;
  text-transform: initial; }

[data-content="editor"] h3,
[data-content="editor"] h4,
[data-content="editor"] h5 {
  text-transform: initial;
  font-weight: 400;
  font-size: 1.1875rem; }

[data-content="editor"] .gform_fields ul,
[data-content="editor"] .gform_fields ol {
  list-style-type: none;
  margin: 0;
  padding: 0; }

[data-content="editor"] img[class*="align"],
[data-content="editor"] img[class*="wp-image-"] {
  height: auto;
  /* Make sure images with WordPress-added height and width >attributes are scaled correctly */
  width: auto; }

[data-content="editor"] table {
  font-size: 0.9375rem;
  line-height: 1.5;
  border: 0; }
  [data-content="editor"] table td, [data-content="editor"] table th {
    border: 0; }

[data-content="editor"] table.border {
  border-left: 1px solid #c4c9cd;
  border-top: 1px solid #c4c9cd; }
  [data-content="editor"] table.border td, [data-content="editor"] table.border th {
    border-right: 1px solid #c4c9cd;
    border-bottom: 1px solid #c4c9cd; }

.page-template-custom-findcourses {
  padding-top: 80px; }

div[id$="-optin"] {
  height: auto !important;
  max-height: none !important; }
  div[id$="-optin"] div[class$="-form-wrap"] div span {
    word-wrap: break-word !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjMtZ2VuZXJpYy9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCIzLWdlbmVyaWMvX2dsb2JhbC5zY3NzIiwiNC1iYXNlL190eXBvZ3JhcGh5LnNjc3MiLCIxLXNldHRpbmdzL19jb2xvcnMuc2NzcyIsIjEtc2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIjEtc2V0dGluZ3MvX2Z1bmN0aW9ucy5zY3NzIiwiMi10b29scy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiMS1zZXR0aW5ncy9fYW5pbWF0aW9ucy5zY3NzIiwiNC1iYXNlL19hbmltYXRpb25zLnNjc3MiLCI0LWJhc2UvX2Zvcm1zLnNjc3MiLCIyLXRvb2xzL19taXhpbnMuc2NzcyIsIjQtYmFzZS9fbGlzdHMuc2NzcyIsIjEtc2V0dGluZ3MvX21pc2Muc2NzcyIsIjQtYmFzZS9fbWVkaWEuc2NzcyIsIjQtYmFzZS9fdGFibGVzLnNjc3MiLCI1LW9iamVjdHMvX3dyYXBwZXJzLnNjc3MiLCI1LW9iamVjdHMvX2dyaWRzLnNjc3MiLCI1LW9iamVjdHMvX2hlYWRlci5zY3NzIiwiNS1vYmplY3RzL19mb290ZXIuc2NzcyIsIjUtb2JqZWN0cy9fYXJjaGl2ZXMuc2NzcyIsIjUtb2JqZWN0cy9fc2luZ2xlcy5zY3NzIiwiNS1vYmplY3RzL19tYWdhemluZS1zaW5nbGUuc2NzcyIsIjUtb2JqZWN0cy9fd2F0Y2hsaXN0LnNjc3MiLCI1LW9iamVjdHMvX3RvcDIwLnNjc3MiLCI1LW9iamVjdHMvX2N1c3RvbS1zdXBwbGllcnMuc2NzcyIsIjUtb2JqZWN0cy9fY29udGVudC1jb2x1bW5zLnNjc3MiLCI2LWNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiNi1jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCI2LWNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCI2LWNvbXBvbmVudHMvX3JhdGlvLnNjc3MiLCI2LWNvbXBvbmVudHMvX25hdmlnYXRpb24uc2NzcyIsIjYtY29tcG9uZW50cy9fd2lkZ2V0LnNjc3MiLCI2LWNvbXBvbmVudHMvX3N3aXBlci5zY3NzIiwiNi1jb21wb25lbnRzL19zb2NpYWxzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2Fkdi1ibG9ja3Muc2NzcyIsIjYtY29tcG9uZW50cy9fdGl0bGVzLnNjc3MiLCI2LWNvbXBvbmVudHMvX3RpbGVzLnNjc3MiLCI2LWNvbXBvbmVudHMvX3dlYmluYXJzLnNjc3MiLCI2LWNvbXBvbmVudHMvX21ldGEuc2NzcyIsIjYtY29tcG9uZW50cy9fdG9waWNzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2NhbGxvdXRzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2ZlYXR1cmUuc2NzcyIsIjYtY29tcG9uZW50cy9fc3BvbnNvci1iYXIuc2NzcyIsIjYtY29tcG9uZW50cy9fZmlsdGVyLnNjc3MiLCI2LWNvbXBvbmVudHMvX3NvY2lhbC1jYWxsb3V0LnNjc3MiLCI2LWNvbXBvbmVudHMvX3RhZ3Muc2NzcyIsIjYtY29tcG9uZW50cy9fYXV0aG9yLnNjc3MiLCI2LWNvbXBvbmVudHMvX3JlbGF0ZWQtY29udGVudC5zY3NzIiwiNi1jb21wb25lbnRzL19wbGFjZWhvbGRlci5zY3NzIiwiNi1jb21wb25lbnRzL19wYWdlLWhlYWRlci5zY3NzIiwiNi1jb21wb25lbnRzL19wb3N0dHlwZS1jYWxsb3V0LnNjc3MiLCI2LWNvbXBvbmVudHMvX2xpc3RpbmdzLnNjc3MiLCI2LWNvbXBvbmVudHMvX21hZ2F6aW5lLWludHJvLnNjc3MiLCI2LWNvbXBvbmVudHMvX3NlYXJjaC1tZXRhLnNjc3MiLCI2LWNvbXBvbmVudHMvX21hZy1jb2x1bW4uc2NzcyIsIjYtY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCI2LWNvbXBvbmVudHMvX21vZGFsLnNjc3MiLCI2LWNvbXBvbmVudHMvX2NvbXBhbnkuc2NzcyIsIjYtY29tcG9uZW50cy9fdG9wLWNhdGVnb3JpZXMtbGlzdC5zY3NzIiwiNi1jb21wb25lbnRzL19pbmZvLW1vZHVsZS5zY3NzIiwiNi1jb21wb25lbnRzL190b2Muc2NzcyIsIjYtY29tcG9uZW50cy9fd2lraS5zY3NzIiwiNi1jb21wb25lbnRzL19mZWVkYmFjay5zY3NzIiwiNi1jb21wb25lbnRzL19zZXBhcmF0b3JzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2dsb3NzYXJ5LnNjc3MiLCI2LWNvbXBvbmVudHMvX2FkZC10aGlzLnNjc3MiLCI2LWNvbXBvbmVudHMvX2dhdGV3YXkuc2NzcyIsIjYtY29tcG9uZW50cy9fbG9hZGluZy5zY3NzIiwiNi1jb21wb25lbnRzL19wZGYtZW1iZWQuc2NzcyIsIjYtY29tcG9uZW50cy9fbW9kYWFsLnNjc3MiLCI2LWNvbXBvbmVudHMvX2Jhc2ljdGFibGUuc2NzcyIsIjYtY29tcG9uZW50cy9fbGF6eWxvYWQuc2NzcyIsIjYtY29tcG9uZW50cy9fYmFjay5zY3NzIiwiNi1jb21wb25lbnRzL19tZW51LWFzaWRlLnNjc3MiLCI2LWNvbXBvbmVudHMvX293bC1jYXJvdXNlbC5zY3NzIiwiNi1jb21wb25lbnRzL19wdy1wcm90ZWN0LWZvcm0uc2NzcyIsIjctdHJ1bXBzL19oZWxwZXJzLnNjc3MiLCI3LXRydW1wcy9faG9tZXBhZ2Uuc2NzcyIsIjctdHJ1bXBzL180MDQuc2NzcyIsIjctdHJ1bXBzL193eXNpd3lnLnNjc3MiLCI3LXRydW1wcy9fZmluZGNvdXJzZXMuc2NzcyIsIjctdHJ1bXBzL19vcHRpbm1vbnN0ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFFNUU7OztHQUdHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUg7Ozs7Ozs7Ozs7OztFQVdVLE9BQU87RUFDZixlQUFlLEVBQ2hCOztBQUVEOztHQUVHO0FBRUg7Ozs7RUFJRSxzQkFBc0IsRUFDdkI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNF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Q2YsY0FBYyxFQUNmOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsMkJBQTJCO0VBQUUsT0FBTztFQUNwQyxjQUFjO0VBQUUsT0FBTyxFQUN4Qjs7QUVsYUQ7O0VBRUksaUJBQWlCLEVBQ3BCOztBQUNEO0VBQ0ksbUJBQW1CO0VBRW5CLGtDQUFrQyxFQUtyQztFQVJEO0lBTVEsdUJBQXVCLEVBQzFCOztBQ1hMO0VBQ0UsZUNPd0I7RUROeEIsb0ZFQTZFO0VGQzdFLDhDQUE4QztFQUM5QyxnQkc0RGU7RUgzRGYsaUJFY29CO0VGYnBCLGlCRVFvQjtFRlBwQix5QkdKYztFSEtkLG9DQUFvQztFQUNwQyxtQ0FBbUMsRUFDcEM7O0FBRUQ7RUFDRSxvRkVYNkU7RUZZN0UsZ0JHa0RlO0VIakRmLGtCRUF3QjtFRkN4QixvQkFBb0I7RUFDcEIsMEJBQTBCLEVBQzNCOztBQUVEO0VBQ0UsY0FBYztFQUNkLGdCRzBDZTtFSHpDZix5QkdwQmMsRUgwQmY7RUk4Z0JHO0lKdmhCSjtNQU1JLG9CR3NDYTtNSHJDYix5Qkd4QlksRUgwQmYsRUFBQTs7QUFDRDtFQUNFLGdCR2lDZTtFSGhDZix5Qkc3QmM7RUg4QmQsaUJBQWlCLEVBTWxCO0VJb2dCRztJSjdnQko7TUFNSSxnQkc0QmE7TUgzQmIseUJHbENZLEVIb0NmLEVBQUE7O0FBQ0Q7RUFDRSxtQkd1QmU7RUh0QmYseUJHdkNjO0VId0NkLGlCQUFpQixFQU1sQjtFSTBmRztJSm5nQko7TUFNSSxnQkdrQmE7TUhqQmIseUJHNUNZLEVIOENmLEVBQUE7O0FBQ0Q7RUFDRSxrQkdhZTtFSFpmLHlCR2pEYztFSGtEZCxpQkFBaUIsRUFNbEI7RUlnZkc7SUp6Zko7TUFNSSxtQkdRYTtNSFBiLHlCR3REWSxFSHdEZixFQUFBOztBQUNEO0VBQ0UscUJHR2U7RUhGZix5QkczRGM7RUg0RGQsaUJBQWlCLEVBTWxCO0VJc2VHO0lKL2VKO01BTUksa0JHRmE7TUhHYix5QkdoRVksRUhrRWYsRUFBQTs7QUFDRDtFQUNFLHFCR1BlO0VIUWYseUJHckVjO0VIc0VkLGlCQUFpQixFQU1sQjtF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O01BMkR2QixxQkF4RGU7TUF3RGYsYUF4RGU7TUF5RGYscUJBeERpQjtNQXdEakIsZUF4RGlCO01BeURqQixzREFsRHVCO01Ba0R2Qix5Q0FsRHVCO01BbUR2Qix3Q0FuRHVCO01BeUZyQixlQXpCK0MsRXFDeEg5QyxFQUFBOztBQ05MO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixvQkFBb0I7RUFBRSx1QkFBdUI7RUFDN0MsMEI3Q1N3QixFNkN3QnpCO0UxQ3NnQkc7STBDM2lCSjtNQU9NLGlCQUFpQjtNQUFFLHNCQUFzQixFQThCOUMsRUFBQTtFQXJDRDs7SUFhSSxvQkFBb0I7SUFBRSx1QkFBdUIsRUFDOUM7RWhEaXNKRDtJZ0Q1ckpNLDBCN0NEd0IsRTZDRTNCO0VoRDZySkg7SWdEOXJKTSwwQjdDQXdCLEU2Q0MzQjtFaEQrckpIO0lnRGhzSk0sMEI3Q0V3QixFNkNEM0I7RWhEaXNKSDtJZ0Rsc0pNLDBCN0NDd0IsRTZDQTNCO0VoRG1zSkg7SWdEcHNKTSwwQjdDR3dCLEU2Q0YzQjtFaERxc0pIO0lnRHRzSk0sMEI3Q0l3QixFNkNIM0I7RWhEdXNKSDtJZ0R4c0pNLDBCN0NNd0IsRTZDTDNCO0VoRHlzSkg7SWdEMXNKTSwwQjdDUXdCLEU2Q1AzQjtFaEQyc0pIO0lnRDVzSk0sMEI3Q1N3QixFNkNSM0I7RWhENnNKSDtJZ0Q5c0pNLDBCN0NPd0IsRTZDTjNCO0VoRCtzSkg7SWdEaHRKTSwwQjdDVXdCLEU2Q1QzQjtFaERpdEpIO0lnRGx0Sk0sMEI3Q1d3QixFNkNWM0I7RWhEbXRKSDtJZ0RwdEpNLDBCN0NZd0IsRTZDWDNCO0VoRHF0Skg7SWdEdHRKTSwwQjdDYXdCLEU2Q1ozQjtFaER1dEpIO0lnRHh0Sk0sMEI3Q2N3QixFNkNiM0I7RWhEeXRKSDtJZ0QxdEpNLDBCN0Nld0IsRTZDZDNCO0VBcEJMO0lBeUJJLGFBQWE7SUFDYixjQUFjO0l0Q29QaEIsbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxVQUFVO0lBQ1YsNkNBQXNDLEVzQzdPckM7SUFwQ0g7TUE4Qk0sVzdDdkJpQixFNkM0QmxCO01o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QjtFQUM1Qiw0QkFBNEI7RUFDNUIsMEJBQTBCLEVxRXZUdkI7RS9FczZOSDtJK0U1Nk5VLGU1RUljLEU0RUhqQjtFL0U2Nk5QO0krRTE2TlUsNkI1RUhXLEU0RUlkOztBL0U0Nk5UO0UrRXg2TlEsZ0IxRWlEUztFMEVoRFQsd0JBQXdCO0VBQ3hCLGlCQUFpQixFQUNwQjs7QS9FMDZOTDtFK0V2Nk5RLG9CMUUyQ1M7RTBFMUNULGlCQUFpQjtFQUNqQix3QkFBd0IsRUFDM0I7O0EvRXk2Tkw7OztFK0VwNk5RLHdCQUF3QjtFQUN4QixpQkFBaUI7RUFDakIscUIxRWlDUyxFMEVoQ1o7O0EvRXc2Tkw7O0UrRTk1TlEsc0JBQXNCO0VBQ3RCLFVBQVU7RUFDVixXQUFXLEVBQ2Q7O0EvRWk2Tkw7O0UrRXo1TlEsYUFBYTtFQUNiLDZGQUE2RjtFQUM3RixZQUFZLEVBQ2Y7O0EvRTQ1Tkw7RStFejVOUSxxQjFFS1M7RTBFSlQsaUJBQWlCO0VBQ2pCLFVBQVUsRUFLYjtFL0VzNU5IO0krRXg1TlUsVUFBVSxFQUNiOztBL0UwNU5UO0UrRXQ1TlEsK0I1RXpEa0I7RTRFMERsQiw4QjVFMURrQixFNEVnRXJCO0UvRWs1Tkg7SStFcjVOVSxnQzVFN0RjO0k0RThEZCxpQzVFOURjLEU0RStEakI7O0FDM0VUO0VBRUUsa0JBQWtCLEVBQ25COztBQ0hEO0VBQ0ksd0JBQXdCO0VBQ3hCLDRCQUE0QixFQUsvQjtFQVBEO0lBS1EsaUNBQWlDLEVBQ3BDIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLCAvKiAxICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbiwgLyogMiAqL1xubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSwgLyogMSAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udDogaW5oZXJpdDsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufSIsIi8qISBub3JtYWxpemUuY3NzIHY0LjEuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBhbmQgaU9TLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlLFxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbnRleHRhcmVhLFxuLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdCxcbi5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdCxcbi5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3QsXG4uZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3QsXG4uZm9ybS1maWVsZCBzZWxlY3QsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb250IHdlaWdodCB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG50ZXh0YXJlYSxcbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3QsXG4uZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3QsXG4uY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0LFxuLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0LFxuLmZvcm0tZmllbGQgc2VsZWN0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb2YgcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IDAuNTQ7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cbiAgYm9keSAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJvZHkge1xuICBjb2xvcjogIzFhMWExYTtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIFNTbSBBXCIsIFwiR290aGFtIFNTbSBCXCIsIFwiR290aGFtXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcInBudW1cIjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDE2ZW07XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gU1NtIEFcIiwgXCJHb3RoYW0gU1NtIEJcIiwgXCJHb3RoYW1cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiAxLjVlbSAwIDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5oMSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0OGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDMuODc1cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MmVtOyB9IH1cblxuaDIge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMzJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0OGVtOyB9IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMjhlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzMmVtOyB9IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNGVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI4ZW07IH0gfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDIxZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNGVtOyB9IH1cblxuaDYge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxOWVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICBoNiB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjFlbTsgfSB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxLjVlbTsgfVxuXG5hIHtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuXG5ociB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW46IDEuNWVtIDA7IH1cblxuQGtleWZyYW1lcyByb3RhdGUge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBkYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEsIDE1MDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxuICA1MCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDkwLCAxNTA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0zNTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA5MCwgMTUwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTI0OyB9IH1cblxuZm9ybSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCB0ZXh0YXJlYVt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbnRleHRhcmVhW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbi5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDsgfVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gIGNvbG9yOiAjOTE5NjlhOyB9XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAjOTE5NjlhOyB9XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBJRSAxMCsgKi9cbiAgY29sb3I6ICM5MTk2OWE7IH1cblxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAvKiBGaXJlZm94IDE4LSAqL1xuICBjb2xvcjogIzkxOTY5YTsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuW3R5cGU9XCJzdWJtaXRcIl0sXG5bdHlwZT1cImJ1dHRvblwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0ge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG5pbnB1dCwgdGV4dGFyZWEsIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3QsIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdCwgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCwgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0LCAuZm9ybS1maWVsZCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzRjOWNkO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246IGJvcmRlciAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBib3gtc2hhZG93IDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgaW5wdXQ6Zm9jdXMsIHRleHRhcmVhOmZvY3VzLCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0OmZvY3VzLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3Q6Zm9jdXMsIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3Q6Zm9jdXMsIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdDpmb2N1cywgLmZvcm0tZmllbGQgc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM1ZTYzNjc7XG4gICAgb3V0bGluZTogMDsgfVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiA0MHJlbTsgfVxuXG4uZ2Zvcm1fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtOyB9XG5cbi5nZm9ybV9kZXNjcmlwdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNC41cmVtIDAgMi4yNXJlbTtcbiAgY29sb3I6ICM5MTk2OWE7IH1cbiAgLmdmb3JtX2Rlc2NyaXB0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIuMzc1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIuNzVyZW07XG4gICAgaGVpZ2h0OiAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5MTk2OWE7IH1cblxuLmdzZWN0aW9uX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLmdpbnB1dF9jb250YWluZXJfZGF0ZSB+IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5nZm9ybV9mb290ZXIge1xuICBtYXJnaW4tdG9wOiAyLjI1cmVtOyB9XG4gIC5nZm9ybV9mb290ZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG4uZ2Zvcm1fZmllbGRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmdmb3JtX2ZpZWxkcyBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNnB4KSB7XG4gICAgICAuZ2Zvcm1fZmllbGRzIGxpLnNwYW4taGFsZiB7XG4gICAgICAgIHdpZHRoOiA0OCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI2cHgpIHtcbiAgICAgIC5nZm9ybV9maWVsZHMgbGkuc3Bhbi10aGlyZCB7XG4gICAgICAgIHdpZHRoOiAzMSU7IH0gfVxuICAgIC5nZm9ybV9maWVsZHMgbGkuYWR2YW5jZWQtc2VhcmNoX19zZWxlY3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDFweCkge1xuICAgICAgICAuZ2Zvcm1fZmllbGRzIGxpLmFkdmFuY2VkLXNlYXJjaF9fc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogMzAlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MXB4KSB7XG4gICAgICAuZ2Zvcm1fZmllbGRzIGxpLmFkdmFuY2VkLXNlYXJjaF9faW5wdXQge1xuICAgICAgICB3aWR0aDogNjUlOyB9IH1cbiAgICAuZ2Zvcm1fZmllbGRzIGxpLmFkdmFuY2VkLXNlYXJjaF9faW5wdXQgbGFiZWwge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5nZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG5cbi5hZHZhbmNlZC1zZWFyY2hfd3JhcHBlciAuZ2ZpZWxkIHtcbiAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdmaWVsZF9yZXF1aXJlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLnZhbGlkYXRpb25fZXJyb3Ige1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBtYXJnaW46IDAgMCAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2NiwgMjUsIDQ2LCAwLjI1KTtcbiAgY29sb3I6ICNhNjE5MmU7XG4gIGJvcmRlcjogMXB4IGRvdHRlZCAjYTYxOTJlO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzVlNjM2NztcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogI2E2MTkyZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyOiAwOyB9XG5cbi5nZmllbGRfbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjNWU2MzY3O1xuICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCB7XG4gICAgY29sb3I6ICNhNjE5MmU7IH1cblxuLmdpbnB1dF9jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmdmb3JtX2Ryb3BfYXJlYSB7XG4gIHBhZGRpbmc6IDIuMjVyZW07XG4gIGJvcmRlcjogMC4wNjI1cmVtIGRhc2hlZCAjNWU2MzY3O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmdmb3JtX2Ryb3BfYXJlYSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuXG4uZ2ZpZWxkX2xpc3RfY29udGFpbmVyIC5nZmllbGRfbGlzdF9ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmdmaWVsZF9saXN0X2NvbnRhaW5lciAuZ2ZpZWxkX2xpc3RfZ3JvdXA6aG92ZXIgdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5nZmllbGRfbGlzdF9jb250YWluZXIgLmdmaWVsZF9saXN0X2NlbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyLjc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZsZXgtZ3JvdzogMjsgfVxuXG4uZ2ZpZWxkX2xpc3RfY29udGFpbmVyIC5nZmllbGRfbGlzdF9pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMi43NXJlbTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG4gIC5nZmllbGRfbGlzdF9jb250YWluZXIgLmdmaWVsZF9saXN0X2ljb25zIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNTYyNXJlbTsgfVxuICAuZ2ZpZWxkX2xpc3RfY29udGFpbmVyIC5nZmllbGRfbGlzdF9pY29ucyBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjEyNXJlbTsgfVxuXG4uZ2lucHV0X2NvbXBsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZ2lucHV0X2NvbXBsZXggbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDAuNTYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICM1ZTYzNjc7IH1cbiAgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfbGVmdCxcbiAgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0LFxuICAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCxcbiAgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2xhc3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9sZWZ0LFxuICAgICAgLmdpbnB1dF9jb21wbGV4IC5uYW1lX2ZpcnN0LFxuICAgICAgLmdpbnB1dF9jb21wbGV4IC5naW5wdXRfcmlnaHQsXG4gICAgICAuZ2lucHV0X2NvbXBsZXggLm5hbWVfbGFzdCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpOyB9IH1cblxuLmNsZWFyLW11bHRpIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuY2xlYXItbXVsdGkgbGFiZWwge1xuICAgIG1hcmdpbi10b3A6IDAuNTYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICM5MTk2OWE7IH1cbiAgLmNsZWFyLW11bHRpIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNDM3NXJlbTtcbiAgICByaWdodDogLTAuNzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gIC5jbGVhci1tdWx0aSA+IGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTsgfVxuICAuY2xlYXItbXVsdGkgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5jbGVhci1tdWx0aSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgd2lkdGg6IDc1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNsZWFyLW11bHRpIC5naW5wdXRfY29udGFpbmVyX3RpbWUgaW5wdXQsIC5jbGVhci1tdWx0aSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIHRleHRhcmVhLCAuY2xlYXItbXVsdGkgLmdpbnB1dF9jb250YWluZXJfdGltZSAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0LCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QgLmNsZWFyLW11bHRpIC5naW5wdXRfY29udGFpbmVyX3RpbWUgc2VsZWN0LCAuY2xlYXItbXVsdGkgLmdpbnB1dF9jb250YWluZXJfdGltZSAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3QsIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IC5jbGVhci1tdWx0aSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIHNlbGVjdCwgLmNsZWFyLW11bHRpIC5naW5wdXRfY29udGFpbmVyX3RpbWUgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0LCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gLmdpbnB1dF9jb250YWluZXJfdGltZSBzZWxlY3QsIC5jbGVhci1tdWx0aSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdCwgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3QgLmNsZWFyLW11bHRpIC5naW5wdXRfY29udGFpbmVyX3RpbWUgc2VsZWN0LCAuY2xlYXItbXVsdGkgLmdpbnB1dF9jb250YWluZXJfdGltZSAuZm9ybS1maWVsZCBzZWxlY3QsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIHNlbGVjdCwgLmNsZWFyLW11bHRpIC5naW5wdXRfY29udGFpbmVyX3RpbWUgc2VsZWN0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgIC5jbGVhci1tdWx0aSAuZ2lucHV0X2NvbnRhaW5lcl90aW1lIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTEuODc1cmVtO1xuICAgICAgbGVmdDogMS4xMjVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmdmX2NsZWFyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dCwgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYSwgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0LCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciBzZWxlY3QsIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXIgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0LCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHNlbGVjdCwgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0LCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciBzZWxlY3QsIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXIgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0LCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCAuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHNlbGVjdCwgLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciAuZm9ybS1maWVsZCBzZWxlY3QsIC5mb3JtLWZpZWxkIC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0IHtcbiAgYm9yZGVyLWNvbG9yOiAjYTYxOTJlOyB9XG5cbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCwgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnksIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Q6YmVmb3JlLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeTpiZWZvcmUsIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfZG93bi1hcnJvdy5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjBweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDJweDsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0LCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3QsIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3Qge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gICAgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdDo6LW1zLWV4cGFuZCwgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0OjotbXMtZXhwYW5kLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBvcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cblxuLmdmaWVsZF9yYWRpbyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5nZmllbGRfcmFkaW8gbGkge1xuICAgIG1hcmdpbjogMCAwIDE2cHg7IH1cbiAgLmdmaWVsZF9yYWRpbyBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwMDAwcHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuZ2ZpZWxkX3JhZGlvIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDYwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzRjOWNkO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZ2ZpZWxkX3JhZGlvIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKC4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9zZWxlY3Rpb24uc3ZnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgLmdmaWVsZF9yYWRpbyBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgxOTYsIDIwMSwgMjA1LCAwLjUpOyB9XG4gICAgLmdmaWVsZF9yYWRpbyBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNWU2MzY3OyB9XG4gICAgLmdmaWVsZF9yYWRpbyBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ZmQxYzM7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0MywgMjA5LCAxOTUsIDAuMSk7IH1cbiAgICAuZ2ZpZWxkX3JhZGlvIFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoLi4vYXNzZXRzL2ltZy9pY29ucy9pX3NlbGVjdGlvbi1yYWRpby5zdmcpOyB9XG5cbi5nZmllbGRfY2hlY2tib3gge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZ2ZpZWxkX2NoZWNrYm94IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCA4cHg7IH1cbiAgLmdmaWVsZF9jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwMDAwcHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuZ2ZpZWxkX2NoZWNrYm94IFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA2MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M0YzljZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmdmaWVsZF9jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfc2VsZWN0aW9uLnN2Zyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAgIC5nZmllbGRfY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwLjI1cmVtIHJnYmEoMTk2LCAyMDEsIDIwNSwgMC41KTsgfVxuICAgIC5nZmllbGRfY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVlNjM2NzsgfVxuICAgIC5nZmllbGRfY2hlY2tib3ggW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOGZkMWMzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxNDMsIDIwOSwgMTk1LCAwLjEpOyB9XG4gICAgLmdmaWVsZF9jaGVja2JveCBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKC4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9zZWxlY3Rpb24tY2hlY2suc3ZnKTsgfVxuXG4uZm9ybSAuZXJyb3JzIHtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAwIDAgMi4yNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjYsIDI1LCA0NiwgMC4yNSk7XG4gIGNvbG9yOiAjZjI2YTM2O1xuICBib3JkZXI6IDFweCBkb3R0ZWQgI2E2MTkyZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uZm9ybSAuZXJyb3Ige1xuICBjb2xvcjogI2E2MTkyZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uZm9ybS1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgMCA5cHg7IH1cbiAgLmZvcm0tZmllbGQucGQtY2hlY2tib3gge1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5mb3JtLWZpZWxkICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtLWZpZWxkIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogIzVlNjM2NztcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5mb3JtLWZpZWxkIHNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZvcm0tZmllbGQuZW1haWwgaW5wdXQsIC5mb3JtLWZpZWxkLmVtYWlsIHRleHRhcmVhLCAuZm9ybS1maWVsZC5lbWFpbCBzZWxlY3QsIC5mb3JtLWZpZWxkLnBkLWVtYWlsIGlucHV0LCAuZm9ybS1maWVsZC5wZC1lbWFpbCB0ZXh0YXJlYSwgLmZvcm0tZmllbGQucGQtZW1haWwgc2VsZWN0IHtcbiAgICBwYWRkaW5nOiAxN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmZvcm0tZmllbGQucGQtY2hlY2tib3ggLnZhbHVlIHNwYW4ge1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJjaGVja2JveFwiXSwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xMDAwMHB4O1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDYwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgIGJvcmRlcjogMHB4OyB9XG4gICAgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCB0ZXh0YXJlYVt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoLi4vYXNzZXRzL2ltZy9pY29ucy9pX3NlbGVjdGlvbi5zdmcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpob3ZlcjpiZWZvcmUsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpob3ZlcjpiZWZvcmUsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpob3ZlcjpiZWZvcmUsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlLCAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAuMjVyZW0gcmdiYSgxOTYsIDIwMSwgMjA1LCAwLjUpOyB9XG4gICAgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6aG92ZXIsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6aG92ZXIsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6aG92ZXIsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpob3ZlciwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVlNjM2NzsgfVxuICAgIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhmZDFjMztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTQzLCAyMDksIDE5NSwgMC4xKTsgfVxuICAgIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCB0ZXh0YXJlYVt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoLi4vYXNzZXRzL2ltZy9pY29ucy9pX3NlbGVjdGlvbi1jaGVjay5zdmcpOyB9XG4gIC5mb3JtLWZpZWxkLnBkLXJhZGlvIC52YWx1ZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAxNnB4OyB9XG4gIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgLmZvcm0tZmllbGQgdGV4dGFyZWFbdHlwZT1cInJhZGlvXCJdLCAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwMDAwcHg7XG4gICAgdG9wOiBhdXRvO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCwgLmZvcm0tZmllbGQgdGV4dGFyZWFbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCwgLmZvcm0tZmllbGQgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLCAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA2MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M0YzljZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCB0ZXh0YXJlYVt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpiZWZvcmUsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoLi4vYXNzZXRzL2ltZy9pY29ucy9pX3NlbGVjdGlvbi5zdmcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpob3ZlcjpiZWZvcmUsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmhvdmVyOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpob3ZlcjpiZWZvcmUsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpob3ZlcjpiZWZvcmUsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlLCAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXI6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgxOTYsIDIwMSwgMjA1LCAwLjUpOyB9XG4gICAgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXIsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmhvdmVyLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmhvdmVyLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXIsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6aG92ZXIsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpob3ZlciwgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVlNjM2NzsgfVxuICAgIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIHRleHRhcmVhW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwsIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhmZDFjMztcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTQzLCAyMDksIDE5NSwgMC4xKTsgfVxuICAgIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCB0ZXh0YXJlYVt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZvcm0tZmllbGQgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLCAuZm9ybS1maWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoLi4vYXNzZXRzL2ltZy9pY29ucy9pX3NlbGVjdGlvbi1yYWRpby5zdmcpOyB9XG4gIC5mb3JtLWZpZWxkIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogNDVweDsgfVxuICAuZm9ybS1maWVsZCAuc3VibWl0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZvcm0tZmllbGQgLmRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmZvcm0tZmllbGQgLmRlc2NyaXB0aW9uIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzMDM0IDAlLCAjMmIzMDM0IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuICAgICAgLmZvcm0tZmllbGQgLmRlc2NyaXB0aW9uIGE6aG92ZXIsIC5mb3JtLWZpZWxkIC5kZXNjcmlwdGlvbiBhOmZvY3VzLCAuZm9ybS1maWVsZCAuZGVzY3JpcHRpb24gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogIzVlNjM2NzsgfVxuXG51bCxcbm9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgW2RhdGEtY29udGVudD1cImVkaXRvclwiXSB1bDpub3QoLmdmb3JtX2ZpZWxkcykge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVlbTsgfVxuICBbZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIG9sIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cbiAgZGwgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6IDAuNzVlbTsgfVxuICBkbCBkZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbmltZyxcbnBpY3R1cmUge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuZmlnY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHggMCAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzVlNjM2NztcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiwgXCJsaWdhXCIsIFwidG51bVwiO1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzRjOWNkO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjNGM5Y2Q7IH1cblxudGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M0YzljZDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50ZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjNGM5Y2Q7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjOWNkO1xuICBwYWRkaW5nOiAxMHB4OyB9XG5cbnRyLFxudGQsXG50aCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmhlYWRlci1jb250YWluZXIsXG4uY29udGVudC1jb250YWluZXIsXG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlci1jb250YWluZXI6YWZ0ZXIsXG4gIC5jb250ZW50LWNvbnRhaW5lcjphZnRlcixcbiAgLmZvb3Rlci1jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLndyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAxMjVtcyAxMjVtczsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0NzlweCkge1xuICAud3JhcHBlciB7XG4gICAgcGFkZGluZzogMCAzMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSBhbmQgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLndyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgNjBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAud3JhcHBlciB7XG4gICAgcGFkZGluZzogMCA2MHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkgYW5kIChtYXgtd2lkdGg6IDEzMzlweCkge1xuICAud3JhcHBlciB7XG4gICAgcGFkZGluZzogMCA2MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAud3JhcHBlci0tZnVsbCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwIDEwMHB4OyB9IH1cblxuLmNvbnRhaW5lciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIC0xMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7IH0gfVxuXG4uc2l0ZS1jb250ZW50LnB1c2hlZCB7XG4gIG1hcmdpbi10b3A6IDE0M3B4OyB9XG5cbi5ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIC0xMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ncmlkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhOyB9XG4gICAgICAuZ3JpZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgIC5ncmlkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7IH0gfVxuICAuZ3JpZF9faGVhZGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC0gMjBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAwIDEwcHggMjBweDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5ncmlkX19oZWFkZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmdyaWRfX2hlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG4gICAgLmdyaWRfX2hlYWRlci0tdG9waWMge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggMTAwJSAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gMjBweCk7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5ncmlkX19oZWFkZXItLXRvcGljIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5ncmlkX19oZWFkZXItLXRvcGljIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCAxMDAlIC0gNDBweCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAxMDAlIC0gNDBweCk7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDg1cHg7IH0gfVxuICAuZ3JpZF9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLSAxZW0pO1xuICAgIG1heC13aWR0aDogY2FsYyggMTAwJSAtIDFlbSk7XG4gICAgbWFyZ2luOiAwIDAuNWVtIDFlbTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLmdyaWRfX2l0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UzZThlYTsgfVxuICAgICAgICAuZ3JpZF9fY29udGFpbmVyLS10b3BpY3MgLmdyaWRfX2l0ZW0ge1xuICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuZ3JpZF9faXRlbVtkYXRhLXNpemU9XCIxXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCA1MCUgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZ3JpZF9faXRlbVtkYXRhLXNpemU9XCIxXCJdOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgbGVmdDogLTEwcHg7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogI2UzZThlYTsgfVxuICAgIFtkYXRhLWNvbHM9XCI0XCJdIC5ncmlkX19pdGVtW2RhdGEtc2l6ZT1cIjFcIl06bnRoLWNoaWxkKGV2ZW4pOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzBweDtcbiAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlM2U4ZWE7IH1cbiAgICBbZGF0YS1jb2xzPVwiNFwiXSAuZ3JpZF9faXRlbVtkYXRhLXNpemU9XCIxXCJdOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhOyB9XG4gICAgW2RhdGEtY29scz1cIjRcIl0gLmdyaWRfX2l0ZW1bZGF0YS1zaXplPVwiMVwiXTpudGgtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2U4ZWE7IH1cbiAgICAgIFtkYXRhLWNvbHM9XCI0XCJdIC5ncmlkX19pdGVtW2RhdGEtc2l6ZT1cIjFcIl06bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICByaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTNlOGVhOyB9XG4gIC5ncmlkX19pdGVtW2RhdGEtc2l6ZT1cIjJcIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDEwMCUgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDEwMCUgLSAyMHB4KTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UzZThlYTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMzM5cHgpIHtcbiAgLmdyaWRfX2l0ZW1bZGF0YS1zaXplPVwiMVwiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYyggMjUlIC0gMjBweCk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCAyNSUgLSAyMHB4KTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gMjBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmdyaWRfX2l0ZW1bZGF0YS1zaXplPVwiMVwiXTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICBib3R0b206IDMwcHg7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTNlOGVhOyB9XG4gICAgLmdyaWRfX2l0ZW1bZGF0YS1zaXplPVwiMVwiXTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuZ3JpZF9faXRlbVtkYXRhLXNpemU9XCIyXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCA1MCUgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgICAuZ3JpZF9faXRlbVtkYXRhLXNpemU9XCIxXCJdIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMjUlIC0gNDBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyggMjUlIC0gNDBweCk7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gNDBweCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmdyaWRfX2l0ZW1bZGF0YS1zaXplPVwiMVwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgYm90dG9tOiAzMHB4O1xuICAgICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2UzZThlYTsgfVxuICAgICAgICAuZ3JpZF9faXRlbVtkYXRhLXNpemU9XCIxXCJdOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmdyaWRfX2l0ZW1bZGF0YS1zaXplPVwiMlwiXSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDUwJSAtIDQwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDUwJSAtIDQwcHgpO1xuICAgICAgICBtYXJnaW46IDAgMjBweDsgfSB9XG5cbi5ncmlkLS10b3BpY3MtY29scyAuZ3JpZF9faGVhZGVyLS10b3BpYyB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLmdyaWQtLXRvcGljcy1jb2xzIC5ncmlkX19oZWFkZXItLXRvcGljIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTNlOGVhOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBncmlkOyB9XG4gICAgLmNvbHVtbnNbZGF0YS1jb2xzPSczJ10ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsgfVxuICAgIC5jb2x1bW5zW2RhdGEtY29scz0nMiddIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfVxuICAgIC5jb2x1bW5zW2RhdGEtY29scz0nMi8zJ10ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgM2ZyOyB9IH1cblxuLnNpdGVfX2JhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjNGM5Y2Q7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDEwMDsgfVxuICAuc2l0ZV9fYmFyID4gW2RhdGEtaXRlbX49XCJmbGV4XCJdIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAuc2l0ZV9fYmFyLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNDYwcHg7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnRvcC1iYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAudG9wLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDA1NThjO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAudG9wLWJhcl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDE0NjBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAudG9wLWJhcl9fY29udGFpbmVyID4gKiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4OyB9IH1cbiAgLnRvcC1iYXIgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uc2l0ZV9fYnJhbmRpbmcge1xuICBwYWRkaW5nOiAxNHB4IDA7IH1cbiAgLnNpdGVfX2JyYW5kaW5nIC5zaXRlX190aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5zaXRlX19icmFuZGluZyAuc2l0ZV9fdGl0bGUgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNTRweDtcbiAgICAgIGhlaWdodDogMzRweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2Fzc2V0cy9pbWcvbG9nb3MvdGktbG9nby1zdGFja2VkLnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTU0cHggMzRweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgICAgICAuc2l0ZV9fYnJhbmRpbmcgLnNpdGVfX3RpdGxlIGEge1xuICAgICAgICAgIHdpZHRoOiAxODJweDtcbiAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxODJweCA0MHB4OyB9IH1cblxuLm1lbnUtdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiAyMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1lbnUtdG9nZ2xlIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTYzNjc7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIHdpZHRoOyB9XG4gICAgLm1lbnUtdG9nZ2xlIHNwYW46bnRoLW9mLXR5cGUoMSkge1xuICAgICAgdG9wOiAwOyB9XG4gICAgLm1lbnUtdG9nZ2xlIHNwYW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgdG9wOiA5cHg7IH1cbiAgICAubWVudS10b2dnbGUgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBib3R0b206IDA7IH1cbiAgLm1lbnUtdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHNwYW46bnRoLW9mLXR5cGUoMSkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHgpIHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5tZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzcGFuOm50aC1vZi10eXBlKDIpIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5tZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBzcGFuOm50aC1vZi10eXBlKDMpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTlweCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAubWVudS10b2dnbGU6Zm9jdXMsIC5tZW51LXRvZ2dsZTpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLm1lbnUtdG9nZ2xlOmZvY3VzIHNwYW46bnRoLW9mLXR5cGUoMiksIC5tZW51LXRvZ2dsZTpob3ZlciBzcGFuOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5zdWJzY3JpYmVfX2J0biB7XG4gIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc3Vic2NyaWJlX19idG4ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5zdWJzY3JpYmVfX2J0biAuc3Vic2NyaWJlX19saW5rIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NThjO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDdweCAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiAyNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnN1YnNjcmliZV9fYnRuIC5zdWJzY3JpYmVfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuc3Vic2NyaWJlX19idG4gLnN1YnNjcmliZV9fbGluazpmb2N1cywgLnN1YnNjcmliZV9fYnRuIC5zdWJzY3JpYmVfX2xpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzAwNTU4YzsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLnNlYXJjaC1jb250YWluZXIge1xuICAgIHdpZHRoOiAzMHB4OyB9IH1cblxuLnNlYXJjaC10b2dnbGUge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIzcHg7XG4gIHdpZHRoOiAyM3B4O1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zZWFyY2gtdG9nZ2xlIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnNlYXJjaC10b2dnbGUgc3ZnID4gKiB7XG4gICAgICAgIGZpbGw6ICNmZmY7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnNlYXJjaC10b2dnbGVbYXJpYS1wcmVzc2VkPVwidHJ1ZVwiXSAub3Blbi1zZWFyY2gge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHotaW5kZXg6IC0xOyB9IH1cblxuLnNlYXJjaC1mb3JtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPSdzdWJtaXQnXSwgLnNlYXJjaC1mb3JtIHRleHRhcmVhW3R5cGU9J3N1Ym1pdCddLCAuc2VhcmNoLWZvcm0gLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPSdzdWJtaXQnXSwgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc3VibWl0J10sIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT0nc3VibWl0J10sIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc3VibWl0J10sIC5zZWFyY2gtZm9ybSAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9J3N1Ym1pdCddLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzdWJtaXQnXSwgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPSdzdWJtaXQnXSwgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3QgLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzdWJtaXQnXSwgLnNlYXJjaC1mb3JtIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPSdzdWJtaXQnXSwgLmZvcm0tZmllbGQgLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0nc2VhcmNoJ10sIC5zZWFyY2gtZm9ybSB0ZXh0YXJlYVt0eXBlPSdzZWFyY2gnXSwgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0gLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0gLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5zZWFyY2gtZm9ybSAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5mb3JtLWZpZWxkIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICM1ZTYzNjc7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0gdGV4dGFyZWFbdHlwZT0nc2VhcmNoJ10sIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QgLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLnNlYXJjaC1mb3JtIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0gLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0gLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuZm9ybS1maWVsZCAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgICAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIC5zZWFyY2gtZm9ybSB0ZXh0YXJlYVt0eXBlPSdzZWFyY2gnXTpmb2N1cywgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddOmZvY3VzLCAuc2VhcmNoLWZvcm0gLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgc2VsZWN0W3R5cGU9J3NlYXJjaCddOmZvY3VzLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddOmZvY3VzLCAuc2VhcmNoLWZvcm0gLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIC5zZWFyY2gtZm9ybSAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIC5mb3JtLWZpZWxkIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gICAgLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLnNlYXJjaC1mb3JtIHRleHRhcmVhW3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QgLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLnNlYXJjaC1mb3JtIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLnNlYXJjaC1mb3JtIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5mb3JtLWZpZWxkIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjNWU2MzY3O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuc2VhcmNoLWZvcm0gdGV4dGFyZWFbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuc2VhcmNoLWZvcm0gLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuc2VhcmNoLWZvcm0gLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5jbGVhci1tdWx0aSAuZ2ZpZWxkX3RpbWVfYW1wbSAuc2VhcmNoLWZvcm0gc2VsZWN0W3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLnNlYXJjaC1mb3JtIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIsIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ106OnBsYWNlaG9sZGVyLCAuc2VhcmNoLWZvcm0gLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9J3NlYXJjaCddOjpwbGFjZWhvbGRlciwgLmZvcm0tZmllbGQgLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXTo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc2VhcmNoLWZvcm0udG9nZ2xlZCBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgLnNlYXJjaC1mb3JtLnRvZ2dsZWQgdGV4dGFyZWFbdHlwZT0nc2VhcmNoJ10sIC5zZWFyY2gtZm9ybS50b2dnbGVkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCAuc2VhcmNoLWZvcm0udG9nZ2xlZCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5zZWFyY2gtZm9ybS50b2dnbGVkIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLmdpbnB1dF9jb21wbGV4IC5hZGRyZXNzX2NvdW50cnkgLnNlYXJjaC1mb3JtLnRvZ2dsZWQgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0udG9nZ2xlZCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gLnNlYXJjaC1mb3JtLnRvZ2dsZWQgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuc2VhcmNoLWZvcm0udG9nZ2xlZCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5zZWFyY2gtZm9ybS50b2dnbGVkIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLnNlYXJjaC1mb3JtLnRvZ2dsZWQgLmZvcm0tZmllbGQgc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuZm9ybS1maWVsZCAuc2VhcmNoLWZvcm0udG9nZ2xlZCBzZWxlY3RbdHlwZT0nc2VhcmNoJ10ge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgb3BhY2l0eTogMTsgfSB9XG4gIC5wYW5lbF9fc2VhcmNoIC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPSdzZWFyY2gnXSwgLnBhbmVsX19zZWFyY2ggLnNlYXJjaC1mb3JtIHRleHRhcmVhW3R5cGU9J3NlYXJjaCddLCAucGFuZWxfX3NlYXJjaCAuc2VhcmNoLWZvcm0gLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IC5wYW5lbF9fc2VhcmNoIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5wYW5lbF9fc2VhcmNoIC5zZWFyY2gtZm9ybSAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IC5wYW5lbF9fc2VhcmNoIC5zZWFyY2gtZm9ybSBzZWxlY3RbdHlwZT0nc2VhcmNoJ10sIC5wYW5lbF9fc2VhcmNoIC5zZWFyY2gtZm9ybSAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9J3NlYXJjaCddLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gLnBhbmVsX19zZWFyY2ggLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLnBhbmVsX19zZWFyY2ggLnNlYXJjaC1mb3JtIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3QgLnBhbmVsX19zZWFyY2ggLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLnBhbmVsX19zZWFyY2ggLnNlYXJjaC1mb3JtIC5mb3JtLWZpZWxkIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSwgLmZvcm0tZmllbGQgLnBhbmVsX19zZWFyY2ggLnNlYXJjaC1mb3JtIHNlbGVjdFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5wYW5lbF9fc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgei1pbmRleCAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgLnBhbmVsX19zZWFyY2hbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gICAgLnBhbmVsX19zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMmIzMDM0O1xuICAgICAgcGFkZGluZzogNzJweCAzMHB4IDMycHg7IH1cbiAgICAucGFuZWxfX3NlYXJjaCAuc2VhcmNoLWZvcm0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgICAucGFuZWxfX3NlYXJjaCAuc2VhcmNoLWZvcm06YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9hc3NldHMvaW1nL2ljb25zL2lfc2VhcmNoLWdyYXkuc3ZnXCIpO1xuICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgaGVpZ2h0OiAyMXB4OyB9XG4gICAgLnBhbmVsX19zZWFyY2ggLnNlYXJjaC10b2dnbGUtLWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjFweDtcbiAgICAgIHJpZ2h0OiAzMHB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAucGFuZWxfX3NlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgYm9keS5maXhlZCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9IH1cblxuLmZvb3Rlci1jb250YWluZXIge1xuICBwYWRkaW5nOiA2MHB4IDAgMzBweDtcbiAgYmFja2dyb3VuZDogIzJiMzAzNDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmZvb3Rlci1jb250YWluZXJfX3dyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmZvb3Rlci1jb250YWluZXJfX3dyYXAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cblxuLmZvb3Rlci1icmFuZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZm9vdGVyLWJyYW5kIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogNDUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mb290ZXItYnJhbmQge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBmbGV4LWJhc2lzOiAyODBweDtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAuZm9vdGVyLWJyYW5kIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogMjAwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLmZvb3Rlci1icmFuZCB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IDM1MHB4OyB9IH1cbiAgLmZvb3Rlci1icmFuZF9fbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE4NXB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9hc3NldHMvaW1nL2xvZ29zL3RpLWxvZ28tc3RhY2tlZC0taW52ZXJzZS5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZm9vdGVyLWJyYW5kX19sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgICAgLmZvb3Rlci1icmFuZF9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiAzMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9hc3NldHMvaW1nL2xvZ29zL3RpLWxvZ28taG9yaXpvbnRhbC0taW52ZXJzZS5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCU7IH0gfVxuICAuZm9vdGVyLWJyYW5kX190YWdsaW5lIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmZvb3Rlci1tYWcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mb290ZXItbWFnIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogNDUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mb290ZXItbWFnIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogMjUwcHg7XG4gICAgICBvcmRlcjogNTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLmZvb3Rlci1tYWcge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBmbGV4LWJhc2lzOiAzMDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAuZm9vdGVyLW1hZyB7XG4gICAgICBvcmRlcjogMzsgfSB9XG4gIC5mb290ZXItbWFnX19saW5rIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVlNjM2NzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICAgIC5mb290ZXItbWFnX19saW5rIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgLmZvb3Rlci1tYWdfX2hlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuZm9vdGVyLW1hZ19faW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG5kaXYuc29jaWFscy0tZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgZGl2LnNvY2lhbHMtLWZvb3RlciB7XG4gICAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogMjYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgZGl2LnNvY2lhbHMtLWZvb3RlciB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgICBkaXYuc29jaWFscy0tZm9vdGVyIHtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmZvb3Rlcl9fbGVnYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mb290ZXJfX2xlZ2FsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA1NSU7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgb3JkZXI6IDQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTE1MHB4KSB7XG4gICAgLmZvb3Rlcl9fbGVnYWwge1xuICAgICAgb3JkZXI6IDU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM1ZTYzNjc7IH0gfVxuXG4uZm9vdGVyX19uYXYsXG4ubGVnYWxfX25hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZm9vdGVyX19uYXYgLm1lbnUtaXRlbSxcbiAgLmxlZ2FsX19uYXYgLm1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZm9vdGVyX19uYXYgLm1lbnUtaXRlbSA+IGEsXG4gICAgLmxlZ2FsX19uYXYgLm1lbnUtaXRlbSA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAwO1xuICAgICAgY29sb3I6ICNmMGY1Zjc7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzVlNjM2NztcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpLCBjb2xvciAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgICAuZm9vdGVyX19uYXYgLm1lbnUtaXRlbSA+IGE6aG92ZXIsIC5mb290ZXJfX25hdiAubWVudS1pdGVtID4gYTphY3RpdmUsXG4gICAgICAubGVnYWxfX25hdiAubWVudS1pdGVtID4gYTpob3ZlcixcbiAgICAgIC5sZWdhbF9fbmF2IC5tZW51LWl0ZW0gPiBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLmZvb3Rlcl9fbmF2IC5tZW51LWl0ZW0gPiBhLFxuICAgICAgICAubGVnYWxfX25hdiAubWVudS1pdGVtID4gYSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmZvb3Rlcl9fbmF2IC5tZW51LWl0ZW0gPiBhOmJlZm9yZSwgLmZvb3Rlcl9fbmF2IC5tZW51LWl0ZW0gPiBhOmFmdGVyLFxuICAgICAgICAubGVnYWxfX25hdiAubWVudS1pdGVtID4gYTpiZWZvcmUsXG4gICAgICAgIC5sZWdhbF9fbmF2IC5tZW51LWl0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDRweCk7IH1cbiAgICAgICAgLmZvb3Rlcl9fbmF2IC5tZW51LWl0ZW0gPiBhOmFmdGVyLFxuICAgICAgICAubGVnYWxfX25hdiAubWVudS1pdGVtID4gYTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTRweCk7IH0gfVxuXG4uZm9vdGVyX19uYXYge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZm9vdGVyX19uYXYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IDE1MHB4O1xuICAgICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5sZWdhbF9fbmF2IHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgZmxleC1iYXNpczogNjAlO1xuICAgIG9yZGVyOiAyO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmxlZ2FsX19uYXYgLm1lbnUtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgLmxlZ2FsX19uYXYgLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICNjNGM5Y2Q7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC5sZWdhbF9fbmF2IC5tZW51LWl0ZW0gPiBhOmhvdmVyLCAubGVnYWxfX25hdiAubWVudS1pdGVtID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmOyB9IH1cblxuLmNvcHlyaWdodCB7XG4gIG1hcmdpbjogNTBweCAwIDA7XG4gIGNvbG9yOiAjYzRjOWNkO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogMzUlO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4uYXJjaGl2ZV9fbGF5b3V0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5hcmNoaXZlX19sYXlvdXQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBtYXJnaW46IDAgLTMwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5hcmNoaXZlX19saXN0IHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFyY2hpdmVfX2xpc3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDc1JSAtIDYwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYyggNzUlIC0gNjBweCk7XG4gICAgbWFyZ2luOiAwIDMwcHggNjBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFyY2hpdmVfX2FzaWRlIHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmFyY2hpdmVfX2FzaWRlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAyNSUgLSA2MHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDI1JSAtIDYwcHgpO1xuICAgIG1hcmdpbjogMCAzMHB4IDYwcHg7IH0gfVxuXG4uc2luZ2xlX19jb250ZW50IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNjIwcHg7IH1cbiAgLnNpbmdsZV9fY29udGVudC0tcHVsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgICAgLnNpbmdsZV9fY29udGVudC0tcHVsbCB7XG4gICAgICAgIG1hcmdpbjogMCAtMTEwcHggNjBweCAwOyB9IH1cbiAgLnNpbmdsZV9fY29udGVudC5hcnRpY2xlcyB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDsgfVxuICAgIC5zaW5nbGVfX2NvbnRlbnQuYXJ0aWNsZXMgLnNpbmdsZV9fZmlndXJlLS1mZWF0dXJlZCB7XG4gICAgICBtYXJnaW46IDMwcHggYXV0byAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc2luZ2xlX19jb250ZW50LS1mdWxsIHtcbiAgICAgIG1heC13aWR0aDogODUlOyB9IH1cblxuLnNpbmdsZSAucGFnZV9faGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc2luZ2xlX19maWd1cmUge1xuICBtYXJnaW46IDMwcHggYXV0byAzMHB4OyB9XG4gIC5zaW5nbGVfX2ZpZ3VyZS0tZmVhdHVyZWQge1xuICAgIG1hcmdpbjogMCAtMzBweCAzMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2luZ2xlX19maWd1cmUtLWZlYXR1cmVkIHtcbiAgICAgICAgbWFyZ2luOiAwIC02MHB4IDYwcHg7IH0gfVxuICAgIC5zaW5nbGVfX2ZpZ3VyZS0tZmVhdHVyZWQgZmlnY2FwdGlvbiB7XG4gICAgICBtYXJnaW46IDAgMzBweCAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLnNpbmdsZV9fZmlndXJlLS1mZWF0dXJlZCBmaWdjYXB0aW9uIHtcbiAgICAgICAgICBtYXJnaW46IDAgNjBweCAwOyB9IH1cblxuLnNpbmdsZV9fY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMjsgfVxuXG4ubWFnYXppbmUtc2luZ2xlLS1wb3J0cmFpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAzMHB4OyB9XG4gIC5tYWdhemluZS1zaW5nbGUtLXBvcnRyYWl0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5tYWdhemluZS1zaW5nbGUtLXBvcnRyYWl0IHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubWFnYXppbmUtc2luZ2xlLS1wb3J0cmFpdCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1hZ2F6aW5lLXNpbmdsZS0tcG9ydHJhaXQgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAgIC5tYWdhemluZS1zaW5nbGUtLXBvcnRyYWl0IC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MzNweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAgIC5tYWdhemluZS1zaW5nbGUtLXBvcnRyYWl0IC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmUuc2Nyb2xsIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGJvdHRvbTogLTIwMHB4O1xuICAgICAgICAgIGhlaWdodDogMTAwdmg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLm1hZ2F6aW5lLXNpbmdsZS0tcG9ydHJhaXQgLm1hZ2F6aW5lLXNpbmdsZV9fY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAwIDAgNDAlO1xuICAgICAgd2lkdGg6IDYwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNzMwcHgpIHtcbiAgICAubWFnYXppbmUtc2luZ2xlLS1wb3J0cmFpdCAubWFnYXppbmUtc2luZ2xlX19jb250ZW50IHtcbiAgICAgIG1hcmdpbjogMCAwIDAgODUwcHg7XG4gICAgICB3aWR0aDogNzUwcHg7IH0gfVxuICAubWFnYXppbmUtc2luZ2xlLS1wb3J0cmFpdCAubWFnYXppbmUtc2luZ2xlX19jb250ZW50IC5zaW5nbGVfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIC5tYWdhemluZS1zaW5nbGUtLXBvcnRyYWl0IC5tYWdhemluZS1zaW5nbGVfX2NvbnRlbnQgLmhlYWRlcl9fYWR2ICsgLnNpbmdsZV9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLm1hZ2F6aW5lLXNpbmdsZS0tcG9ydHJhaXQgLnNpbmdsZV9fZmlndXJlLS1mZWF0dXJlZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIHtcbiAgcGFkZGluZzogMCAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubWFnYXppbmUtc2luZ2xlLS1sYW5kc2NhcGUgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19mZWF0dXJlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNjUwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgICAubWFnYXppbmUtc2luZ2xlLS1sYW5kc2NhcGUgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZVtkYXRhLXRoZW1lPVwiZGFya1wiXTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMjYsIDI2LCAyNiwgMCkpLCB0bygjMWExYTFhKSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNiwgMjYsIDI2LCAwKSAwJSwgIzFhMWExYSAxMDAlKTtcbiAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMWExYTFhJywgZW5kQ29sb3JzdHI9JyMxYTFhMWEnLEdyYWRpZW50VHlwZT0wICk7IH1cbiAgICAgICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmVbZGF0YS10aGVtZT1cImRhcmtcIl0gLnRvcGljIGEsXG4gICAgICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19mZWF0dXJlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC50aXRsZS0tc2luZ2xlLFxuICAgICAgICAubWFnYXppbmUtc2luZ2xlLS1sYW5kc2NhcGUgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZVtkYXRhLXRoZW1lPVwiZGFya1wiXSAubWV0YSxcbiAgICAgICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmVbZGF0YS10aGVtZT1cImRhcmtcIl0gLm1ldGEgYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmVbZGF0YS10aGVtZT1cImRhcmtcIl0gLnRvcGljIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzkxOTY5YSAwJSwgIzkxOTY5YSAxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH1cbiAgICAgICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmVbZGF0YS10aGVtZT1cImRhcmtcIl0gLnBhZ2VfX2hlYWRlcjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICAgICAubWFnYXppbmUtc2luZ2xlLS1sYW5kc2NhcGUgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZVtkYXRhLXRoZW1lPVwibGlnaHRcIl06YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDI0MCwgMjQ1LCAyNDcsIDApKSwgdG8oI2YwZjVmNykpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjQwLCAyNDUsIDI0NywgMCkgMCUsICNmMGY1ZjcgMTAwJSk7XG4gICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDFhMWExYScsIGVuZENvbG9yc3RyPScjMWExYTFhJyxHcmFkaWVudFR5cGU9MCApOyB9XG4gICAgICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19mZWF0dXJlW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWV0YSxcbiAgICAgICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmVbZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5tZXRhIGEge1xuICAgICAgICAgIGNvbG9yOiAjMmIzMDM0OyB9XG4gICAgICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19mZWF0dXJlW2RhdGEtc3R5bGU9XCJuby1ncmFkaWVudFwiXTphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19mZWF0dXJlIC5wYWdlX19oZWFkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IDg1MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB6LWluZGV4OiA1OyB9XG4gICAgICAgICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5tYWdhemluZS1zaW5nbGVfX2ZlYXR1cmUgLnBhZ2VfX2hlYWRlcjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19jb250ZW50IC5zaW5nbGVfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAubWFnYXppbmUtc2luZ2xlX19jb250ZW50IC5oZWFkZXJfX2FkdiArIC5zaW5nbGVfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgIC5tYWdhemluZS1zaW5nbGUtLWxhbmRzY2FwZSAuc2luZ2xlX19maWd1cmUtLWZlYXR1cmVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLm1hZ2F6aW5lLXNpbmdsZS0tbGFuZHNjYXBlIC5wYWdlX19oZWFkZXIuaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnZpZXctLW1vYmlsZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAudmlldy0tbW9iaWxlIHtcbiAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMHB4O1xuICAgICAgd2lkdGg6IDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gIC5mb290ZXJfX2Fkdi5wb3MtciB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNzMwcHgpIHtcbiAgLmZvb3Rlcl9fYWR2LnBvcy1yIHtcbiAgICBtYXJnaW4tbGVmdDogODUwcHg7XG4gICAgd2lkdGg6IDc1MHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC53YXRjaGxpc3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwIC0xMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAud2F0Y2hsaXN0X19pdGVtIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDUwJSAtIDFlbSk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoIDUwJSAtIDFlbSk7XG4gICAgICBtYXJnaW46IDAgMC41ZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UzZThlYTsgfVxuICAgICAgLndhdGNobGlzdF9faXRlbTpudGgtY2hpbGQoZXZlbik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTNlOGVhOyB9XG4gICAgICAud2F0Y2hsaXN0X19pdGVtOm50aC1jaGlsZChldmVuKSA+IC5yYXRpby1ncmlkX19pdGVtLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlM2U4ZWE7IH1cbiAgICAud2F0Y2hsaXN0X19jb21wYW55IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC05OTk5ZW07XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC53YXRjaGxpc3Qge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgICAud2F0Y2hsaXN0IC5yYXRpby1ncmlkX19pdGVtOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud2F0Y2hsaXN0IC5yYXRpby1ncmlkX19pdGVtLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLndhdGNobGlzdCAud2F0Y2hsaXN0X19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhOyB9XG4gICAgLndhdGNobGlzdCAud2F0Y2hsaXN0X19jb21wYW55IHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTgwcHgpOyB9XG4gICAgLndhdGNobGlzdCAud2F0Y2hsaXN0X19sb2dvIHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlM2U4ZWE7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH0gfVxuXG4ud2F0Y2hsaXN0LWxvZ28ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLndhdGNobGlzdC1sb2dvID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4udG9wLWNvbXBhbmllc19fbG9nbyB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50b3AtY29tcGFuaWVzIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMCAtMTBweDsgfVxuICAgIC50b3AtY29tcGFuaWVzX19pdGVtIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCA1MCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2U4ZWE7IH1cbiAgICAgIC50b3AtY29tcGFuaWVzX19pdGVtOm50aC1jaGlsZChldmVuKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIGJvdHRvbTogMzBweDtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlM2U4ZWE7IH1cbiAgICAgIC50b3AtY29tcGFuaWVzX19pdGVtOm50aC1jaGlsZChldmVuKSA+IC5yYXRpby1ncmlkX19pdGVtLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxcHgpO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlM2U4ZWE7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1jb21wYW5pZXMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwIC0xMHB4OyB9XG4gICAgLnRvcC1jb21wYW5pZXNfX2l0ZW0ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggMzMuMzMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgIG1heC13aWR0aDogY2FsYyggMzMuMzMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgLnRvcC1jb21wYW5pZXNfX2l0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gMTBweCk7IH1cbiAgICAgIC50b3AtY29tcGFuaWVzX19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAyMTVweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAxMHB4KTsgfVxuICAgIC50b3AtY29tcGFuaWVzX19sb2dvIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlM2U4ZWE7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAgICAgLnRvcC1jb21wYW5pZXNfX2xvZ286aG92ZXIsIC50b3AtY29tcGFuaWVzX19sb2dvOmZvY3VzLCAudG9wLWNvbXBhbmllc19fbG9nbzphY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyYjMwMzQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gIC50b3AtY29tcGFuaWVzX19pdGVtIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCAyNSUgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDI1JSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAudG9wLWNvbXBhbmllc19faXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IGNhbGMoMjUlIC0gNXB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE1cHgpOyB9XG4gICAgLnRvcC1jb21wYW5pZXNfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE1cHgpOyB9XG4gICAgLnRvcC1jb21wYW5pZXNfX2l0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMjE1cHg7XG4gICAgICByaWdodDogY2FsYygyNSUgLSA1cHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTVweCk7IH1cbiAgICAudG9wLWNvbXBhbmllc19faXRlbTpudGgtY2hpbGQoNCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyMTVweDtcbiAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE1cHgpOyB9IH1cblxuLnRvcDIwX19zdW1tYXJ5LFxuLndhdGNobGlzdF9fc3VtbWFyeSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4udG9wMjAtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudG9wMjAtbG9nbyA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC50b3AyMC1sb2dvID4gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3AyMC1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIC50b3AyMC1sb2dvOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgICAgIC50b3AyMC1sb2dvID4gaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbWF4LWhlaWdodDogNjAlO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAudG9wMjAtbG9nbyB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnRvcC1jb21wYW5pZXMtY3RhID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcC1jb21wYW5pZXMtY3RhID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuXG4uc2luZ2xlLXRvcF9jb21wYW5pZXMgLmNvbHVtbl9fZmxvYXQge1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zaW5nbGUtdG9wX2NvbXBhbmllcyAuY29sdW1uX19mbG9hdCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgIC5zaW5nbGUtdG9wX2NvbXBhbmllcyAuY29sdW1uX19mbG9hdCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCA4MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zaW5nbGUtdG9wX2NvbXBhbmllcyAuY29sdW1uX19mbG9hdC0tcHJpbWFyeSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMjhweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuc2luZ2xlLXRvcF9jb21wYW5pZXMgLmNvbHVtbl9fZmxvYXQgLmFkZHRoaXNfc2hhcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03MTBweCk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5wb3N0LXR5cGUtYXJjaGl2ZS10b3BfY29tcGFuaWVzIC5jb2x1bW5fX2Zsb2F0LS1wcmltYXJ5IHtcbiAgICBtYXJnaW46IDYwcHggMzBweCAwOyB9IH1cblxuLmNzIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cblxuLnN1cHBsaWVyLWV4dGVybmFsIHtcbiAgYm9yZGVyOiAwO1xuICBtaW4taGVpZ2h0OiA4MDBweDsgfVxuXG4uc3VwcGxpZXItY3VzdG9tLXBhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc3VwcGxpZXItY3VzdG9tLXBhZ2Uge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBtYXJnaW46IDAgLTMwcHg7IH0gfVxuICAuc3VwcGxpZXItY3VzdG9tLXBhZ2UgLnN1cHBsaWVyX19tYWluOm9ubHktY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuc3VwcGxpZXItY3VzdG9tLXBhZ2UgLnN1cHBsaWVyX19tYWluIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDc1JSAtIDYwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCA3NSUgLSA2MHB4KTtcbiAgICAgIG1hcmdpbjogMCAzMHB4IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnN1cHBsaWVyLWN1c3RvbS1wYWdlIC5zdXBwbGllcl9fc2lkZWJhciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCAyNSUgLSA2MHB4KTtcbiAgICAgIG1heC13aWR0aDogY2FsYyggMjUlIC0gNjBweCk7XG4gICAgICBtYXJnaW46IDAgMzBweCA2MHB4OyB9IH1cblxuLnN1cHBsaWVyX19zZWN0aW9uIHtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLnN1cHBsaWVyX19zZWN0aW9uIC5zdXBwbGllcl9faGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG4uY29sdW1uX19sYXlvdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAtMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmNvbHVtbl9fbGF5b3V0IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgbWFyZ2luOiAwIC0zMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jb2x1bW5fX2xheW91dC0tbWFpbiB7XG4gICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAzO1xuICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuY29sdW1uX19sYXlvdXQtLW1haW4ge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggNzUlIC0gNjBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoIDc1JSAtIDYwcHgpO1xuICAgICAgbWFyZ2luOiAwIDMwcHggNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29sdW1uX19sYXlvdXQtLWFzaWRlIHtcbiAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gICAgICAtbXMtZmxleC1vcmRlcjogMTtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5jb2x1bW5fX2xheW91dC0tYXNpZGUge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggMjUlIC0gNjBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoIDI1JSAtIDYwcHgpO1xuICAgICAgbWFyZ2luOiAwIDMwcHggNjBweDsgfSB9XG5cbi5jb2x1bW5fX2Zsb2F0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5jb2x1bW5fX2Zsb2F0IHtcbiAgICAgIG1hcmdpbjogMCAtMzBweDsgfVxuICAgICAgLmNvbHVtbl9fZmxvYXQtLXByaW1hcnkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKCAyNSUgLSA2MHB4KTtcbiAgICAgICAgbWFyZ2luOiAwIDMwcHggMDsgfVxuICAgICAgLmNvbHVtbl9fZmxvYXQtLXNlY29uZGFyeSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYyggNzUlIC0gNjBweCk7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4IDYwcHg7IH1cbiAgICAgIC5jb2x1bW5fX2Zsb2F0LS10ZXJ0aWFyeSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogY2FsYyggMjUlIC0gNjBweCk7XG4gICAgICAgIG1hcmdpbjogMCAzMHB4IDYwcHg7IH0gfVxuXG4ubWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAubWVudS10b2dnbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNXB4O1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM1ZTYzNjc7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzVlNjM2NztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UsIG1hcmdpbiAuM3MgZWFzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5tZW51LXRvZ2dsZV9fY29udGFpbmVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4OyB9XG4gIC5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuLmFjdGl2ZSAubWVudS10b2dnbGU6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7IH1cbiAgLm1lbnUgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gYTpiZWZvcmUsIC5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWVudSAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuc3ViLW1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5tZW51IC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5zdWItbWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5idXR0b24sXG5idXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLCB0ZXh0YXJlYVt0eXBlPVwic3VibWl0XCJdLCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0W3R5cGU9XCJzdWJtaXRcIl0sIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPVwic3VibWl0XCJdLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9XCJzdWJtaXRcIl0sIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPVwic3VibWl0XCJdLCAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT1cInN1Ym1pdFwiXSwgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5idXR0b24tLWludmVydGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxOHB4IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBTU20gQVwiLCBcIkdvdGhhbSBTU20gQlwiLCBcIkdvdGhhbVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNGVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTI1bXMgMTI1bXM7IH1cbiAgLmJ1dHRvbjpob3ZlcixcbiAgYnV0dG9uOmhvdmVyLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCB0ZXh0YXJlYVt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gc2VsZWN0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZm9ybS1maWVsZCBzZWxlY3RbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5idXR0b24tLWludmVydGVkOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzMDM0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpOyB9XG5cbi5idXR0b24tLWludmVydGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxOHB4IDUwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gU1NtIEFcIiwgXCJHb3RoYW0gU1NtIEJcIiwgXCJHb3RoYW1cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTRlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyNW1zIDEyNW1zOyB9XG4gIC5idXR0b24tLWludmVydGVkOmhvdmVyIHtcbiAgICBjb2xvcjogcmdiYSgyNiwgMjYsIDI2LCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjYsIDI2LCAyNiwgMC44KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KTsgfVxuXG4uYnV0dG9uLS1naG9zdCwgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5mZWF0dXJlX19idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDE4cHggNTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gU1NtIEFcIiwgXCJHb3RoYW0gU1NtIEJcIiwgXCJHb3RoYW1cIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMTRlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyNW1zIDEyNW1zOyB9XG4gIC5idXR0b24tLWdob3N0OmhvdmVyLCAuZmVhdHVyZV9fYXJ0aWNsZVtkYXRhLXRoZW1lPVwibGlnaHRcIl0gLmZlYXR1cmVfX2J0bjpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEoMjYsIDI2LCAyNiwgMC44KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjYsIDI2LCAyNiwgMC44KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNiwgMjYsIDI2LCAwLjI1KTsgfVxuXG4uYnV0dG9uLS1naG9zdC1pbnZlcnRlZCwgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImRhcmtcIl0gLmZlYXR1cmVfX2J0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMThweCA1MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBTU20gQVwiLCBcIkdvdGhhbSBTU20gQlwiLCBcIkdvdGhhbVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxNGVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTI1bXMgMTI1bXM7IH1cbiAgLmJ1dHRvbi0tZ2hvc3QtaW52ZXJ0ZWQ6aG92ZXIsIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5mZWF0dXJlX19idG46aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5ibG9ja2VkLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmJ1dHRvbi0tc21hbGwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDEycHggMjBweDsgfVxuXG4uc2Vjb25kYXJ5LWxpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjYzRjOWNkIDAlLCAjYzRjOWNkIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uaWNvbixcbi5pY29uOmJlZm9yZSxcbi5pY29uOmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsgfVxuXG4uaS1jYXJldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7IH1cbiAgLmktY2FyZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEzcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAuaS1jYXJldDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEzcHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLmktbWVudSB7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLmktbWVudTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03cHg7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgLmktbWVudTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yOyB9XG5cbi5pLWNsb3NlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxOHB4OyB9XG4gIC5pLWNsb3NlOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAuaS1jbG9zZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5pLWFycm93LXJpZ2h0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDsgfVxuICAuaS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmktYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uaS1hcnJvdy1sZWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDsgfVxuICAuaS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDJweDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5pLWFycm93LWxlZnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA4cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4ucmF0aW8tZ3JpZF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmF0aW8tZ3JpZF9faXRlbTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgLnJhdGlvLWdyaWRfX2l0ZW0tY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5yYXRpbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yYXRpbzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgLnJhdGlvLS13aWRlOmFmdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5yYXRpby0tdHJhZGl0aW9uYWw6YWZ0ZXIge1xuICAgIHBhZGRpbmctdG9wOiA3NSU7IH1cbiAgLnJhdGlvX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweDsgfVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgbGVmdDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICAgIGZsZXg6IDE7IH0gfVxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTZweCk7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgIGJvdHRvbTogMTRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMjUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogLTk5OWVtO1xuICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgcGFkZGluZzogMThweCA0MHB4O1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIG1heC13aWR0aDogMzMwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5tYWluLW5hdmlnYXRpb24gLnByaW1hcnktbWVudSA+IGxpID4gdWwgYSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGk6aG92ZXI6YmVmb3JlLCAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgPiBsaS5mb2N1czpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NThjOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgPiBsaTpob3ZlciA+IHVsLCAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgPiBsaS5mb2N1cyA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxlZnQ6IC00MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgPiBsaS5tZWdhLW1lbnUgPiB1bCB7XG4gICAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgcGFkZGluZzogMTdweCA0MHB4IDI3cHg7XG4gICAgICAgIGdyaWQtZ2FwOiA4cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5tYWluLW5hdmlnYXRpb24gLnByaW1hcnktbWVudSA+IGxpLm1lZ2EtbWVudSA+IHVsIGxpIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG4gICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkubWVnYS1tZW51ID4gdWwgPiBsaSA+IGEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5tYWluLW5hdmlnYXRpb24gLnByaW1hcnktbWVudSA+IGxpLm1lZ2EtbWVudTpob3ZlciA+IHVsLCAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgPiBsaS5tZWdhLW1lbnUuZm9jdXMgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxlZnQ6IC0yMDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkubWVnYS1tZW51OmhvdmVyID4gdWwsIC5tYWluLW5hdmlnYXRpb24gLnByaW1hcnktbWVudSA+IGxpLm1lZ2EtbWVudS5mb2N1cyA+IHVsIHtcbiAgICAgICAgbGVmdDogLTMwMHB4OyB9IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9hc3NldHMvaW1nL2ljb25zL2lfY2hldnJvbi5zdmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlcjphZnRlciwgLm1haW4tbmF2aWdhdGlvbiAucHJpbWFyeS1tZW51ID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbi5mb2N1czphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIC5wcmltYXJ5LW1lbnUgLmJhY2stY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYWluLW5hdmlnYXRpb24gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjNWU2MzY3O1xuICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAubWFpbi1uYXZpZ2F0aW9uIC5tb2JpbGUtbWVudS1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogNjZweDsgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWNvbnRhaW5lciB1bCBhIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIC5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNGM5Y2Q7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggODBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uIC5tb2JpbGUtbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gdWwuc3ViLW1lbnUtLWFjdGl2ZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gICAgICAgIC5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIC5tb2JpbGUtbWVudS1jb250YWluZXIgPiB1bCA+IGxpIC5uYXYtYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9hc3NldHMvaW1nL2ljb25zL2lfbmF2LWFycm93LnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOyB9XG4gICAgICAubWFpbi1uYXZpZ2F0aW9uIC5tb2JpbGUtbWVudS1jb250YWluZXIgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uIC5tb2JpbGUtbWVudS1jb250YWluZXIgLm1lbnUtcGFyZW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzVlNjM2NztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5tYWluLW5hdmlnYXRpb24gLm1vYmlsZS1tZW51LWNvbnRhaW5lciAubWVudS1wYXJlbnQgLmJhY2sge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00NSUpIHJvdGF0ZSgxODBkZWcpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWFpbi1uYXZpZ2F0aW9uLnRvZ2dsZWQgLm1vYmlsZS1tZW51LWNvbnRhaW5lciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfSB9XG4gIC5hZG1pbi1iYXIgLm1haW4tbmF2aWdhdGlvbiAubW9iaWxlLW1lbnUtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDlweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5wcmltYXJ5LW1lbnUsXG4gIC50b3AtYmFyX19uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubW9iaWxlLW1lbnUtY29udGFpbmVyIC5wcmltYXJ5LW1lbnUsIC5tb2JpbGUtbWVudS1jb250YWluZXJcbi50b3AtYmFyX19uYXYge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2lkZ2V0X19ibG9jayB7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmMGY1Zjc7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLndpZGdldF9fYmxvY2sge1xuICAgICAgbWFyZ2luOiAwIDAgNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC53aWRnZXRfX2Jsb2NrLS1maWx0ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTsgfSB9XG4gIC53aWRnZXRfX2Jsb2NrLS1maWx0ZXIgLndpZGdldF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC53aWRnZXRfX2Jsb2NrLS1maWx0ZXIgLndpZGdldF9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi53aWRnZXRfX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAud2lkZ2V0X190aXRsZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQ6ICMyYjMwMzQ7IH1cblxuLyoqXG4gKiBTd2lwZXIgMy40LjJcbiAqIE1vc3QgbW9kZXJuIG1vYmlsZSB0b3VjaCBzbGlkZXIgYW5kIGZyYW1ld29yayB3aXRoIGhhcmR3YXJlIGFjY2VsZXJhdGVkIHRyYW5zaXRpb25zXG4gKiBcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvc3dpcGVyL1xuICogXG4gKiBDb3B5cmlnaHQgMjAxNywgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqIFRoZSBpRGFuZ2Vyby51c1xuICogaHR0cDovL3d3dy5pZGFuZ2Vyby51cy9cbiAqIFxuICogTGljZW5zZWQgdW5kZXIgTUlUXG4gKiBcbiAqIFJlbGVhc2VkIG9uOiBNYXJjaCAxMCwgMjAxN1xuICovXG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm07XG4gIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LWJveC1saW5lczogbXVsdGlwbGU7XG4gIC1tb3otYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tcy10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LFxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1vei10cmFuc2Zvcm07XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IC1vLXRyYW5zZm9ybTtcbiAgLW1zLXRyYW5zaXRpb24tcHJvcGVydHk6IC1tcy10cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgaGVpZ2h0OyB9XG5cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDsgfVxuXG4vKiBJRTEwIFdpbmRvd3MgUGhvbmUgOCBGaXhlcyAqL1xuLnN3aXBlci13cDgtaG9yaXpvbnRhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15OyB9XG5cbi5zd2lwZXItd3A4LXZlcnRpY2FsIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXg7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXg7IH1cblxuLyogQXJyb3dzICovXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCxcbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMzU7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1idXR0b24tcHJldixcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00wJTJDMjJMMjIlMkMwbDIuMSUyQzIuMUw0LjIlMkMyMmwxOS45JTJDMTkuOUwyMiUyQzQ0TDAlMkMyMkwwJTJDMjJMMCUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyMzAwN2FmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTgsJTNDc3ZnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHZpZXdCb3glM0QnMCUyMDAlMjAyNyUyMDQ0JyUzRSUzQ3BhdGglMjBkJTNEJ00yNyUyQzIyTDI3JTJDMjJMNSUyQzQ0bC0yLjEtMi4xTDIyLjglMkMyMkwyLjklMkMyLjFMNSUyQzBMMjclMkMyMkwyNyUyQzIyeiclMjBmaWxsJTNEJyUyM2ZmZmZmZiclMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cblxuLyogUGFnaW5hdGlvbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDMwMG1zO1xuICAtbW96LXRyYW5zaXRpb246IDMwMG1zO1xuICAtby10cmFuc2l0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbjogMzAwbXM7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qIENvbW1vbiBTdHlsZXMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIEJ1bGxldHMgKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDVweDsgfVxuXG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiAjMDA3YWZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcyB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiAzRCBDb250YWluZXIgKi9cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAtbW96LXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC1vLXBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgLW1zLXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovIH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgcmlnaHQgdG9wLCBsZWZ0IHRvcCwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byh0cmFuc3BhcmVudCkpO1xuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovIH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbShyZ2JhKDAsIDAsIDAsIDAuNSkpLCB0byh0cmFuc3BhcmVudCkpO1xuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqLyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IGJvdHRvbSwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogQ2hyb21lIDEwKywgU2FmYXJpIDUuMSssIGlPUyA1KyAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgdHJhbnNwYXJlbnQpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHRyYW5zcGFyZW50KTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCB0cmFuc3BhcmVudCk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi8gfVxuXG4vKiBDb3ZlcmZsb3cgKi9cbi5zd2lwZXItY29udGFpbmVyLWNvdmVyZmxvdyAuc3dpcGVyLXdyYXBwZXIsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItd3JhcHBlciB7XG4gIC8qIFdpbmRvd3MgOCBJRSAxMCBmaXggKi9cbiAgLW1zLXBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLyogQ3ViZSArIEZsaXAgKi9cbi5zd2lwZXItY29udGFpbmVyLWN1YmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEN1YmUgKi9cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAwLjY7XG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDUwcHgpO1xuICBmaWx0ZXI6IGJsdXIoNTBweCk7XG4gIHotaW5kZXg6IDA7IH1cblxuLyogRmFkZSAqL1xuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1vLXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbW96LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2Zyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBjYW52YXMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMSU7XG4gIGJvdHRvbTogM3B4O1xuICB6LWluZGV4OiA1MDtcbiAgaGVpZ2h0OiA1cHg7XG4gIHdpZHRoOiA5OCU7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiAxJTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogOTglOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIFByZWxvYWRlciAqL1xuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMTIwJTIwMTIwJyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB4bWxucyUzQXhsaW5rJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhsaW5rJyUzRSUzQ2RlZnMlM0UlM0NsaW5lJTIwaWQlM0QnbCclMjB4MSUzRCc2MCclMjB4MiUzRCc2MCclMjB5MSUzRCc3JyUyMHkyJTNEJzI3JyUyMHN0cm9rZSUzRCclMjNmZmYnJTIwc3Ryb2tlLXdpZHRoJTNEJzExJyUyMHN0cm9rZS1saW5lY2FwJTNEJ3JvdW5kJyUyRiUzRSUzQyUyRmRlZnMlM0UlM0NnJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoNjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDkwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxMjAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDE1MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjM3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTgwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNDYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyMTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy41NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDI0MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjY2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjcwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNzUnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgzMDAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy44NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMzMCUyMDYwJTJDNjApJyUyRiUzRSUzQyUyRmclM0UlM0MlMkZzdmclM0VcIik7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5zb2NpYWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfVxuICAucGFuZWxfX21lbnUgLnNvY2lhbHMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAucGFuZWxfX21lbnUgLnNvY2lhbHMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnNvY2lhbHNfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgLnNvY2lhbHNfX2xpbms6aG92ZXIsIC5zb2NpYWxzX19saW5rOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOyB9XG4gICAgLnNvY2lhbHNfX2xpbmsgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDsgfVxuICAgICAgLnNvY2lhbHNfX2xpbmsgc3ZnICoge1xuICAgICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICAgIC5wYW5lbF9fbWVudSAuc29jaWFsc19fbGluayBzdmcgKiB7XG4gICAgICAgICAgZmlsbDogIzJiMzAzNDsgfVxuXG4uYWR2X19ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hZHZfX2Jsb2NrLS1sZWFkZXJib2FyZCB7XG4gICAgd2lkdGg6IDMyMHB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgICAgLmFkdl9fYmxvY2stLWxlYWRlcmJvYXJkIHtcbiAgICAgICAgd2lkdGg6IDQ2OHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmFkdl9fYmxvY2stLWxlYWRlcmJvYXJkIHtcbiAgICAgICAgd2lkdGg6IDcyOHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5hZHZfX2Jsb2NrLS1sZWFkZXJib2FyZCB7XG4gICAgICAgIHdpZHRoOiA5NzBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4OyB9IH1cbiAgLmFkdl9fYmxvY2stLXNxdWFyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmFkdl9fYmxvY2stLXNxdWFyZSArIC5hZHZfX2Jsb2NrLS1zcXVhcmUge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAudGlsZSAuYWR2X19ibG9jayBpZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubWFnYXppbmUtc2luZ2xlLS1wb3J0cmFpdCAuYWR2X19ibG9jay0tbGVhZGVyYm9hcmQge1xuICAgICAgd2lkdGg6IDcyOHB4O1xuICAgICAgaGVpZ2h0OiA5MHB4OyB9IH1cblxuLmZvb3Rlcl9fYWR2IHtcbiAgbWFyZ2luOiAxMDBweCBhdXRvIDEwcHg7IH1cbiAgLmVycm9yNDA0IC5mb290ZXJfX2FkdiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uaGVhZGVyX19hZHYge1xuICBtYXJnaW46IDEzNHB4IGF1dG8gMzBweDsgfVxuXG4uYXNpZGVfX2FkdiB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5hc2lkZV9fYWR2IGlmcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRpdGxlLS1wYWdlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi50aXRsZS0taXNzdWUge1xuICBmb250LXNpemU6IDNyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50aXRsZS0tc2luZ2xlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4xMztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbi50aXRsZS0tdG9waWMge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi50aXRsZS0tc2VjdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLnRpdGxlLS1zZWN0aW9uID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGl0bGUtLWFydGljbGUge1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMzBweCAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGl0bGUtLXBhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIC50aXRsZS0taXNzdWUge1xuICAgIGZvbnQtc2l6ZTogNXJlbTsgfVxuICAudGl0bGUtLXRvcGljIHtcbiAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfVxuICAudGl0bGUtLXNlY3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIC50aXRsZS0tc2VjdGlvbiA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAudGl0bGUtLXRvcGljIHtcbiAgICBmb250LXNpemU6IDRyZW07IH0gfVxuXG4udGlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMzBweCAwIDMwcHg7IH1cbiAgLnRpbGVfX2ltZy1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gICAgLnRpbGVfX2ltZy1saW5rIHBpY3R1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgICAvKiAxNjo5IEFzcGVjdCBSYXRpbyAqLyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLnRpbGVfX2ltZy1saW5rIHBpY3R1cmUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgICAgICAgLyogNDozIEFzcGVjdCBSYXRpbyAqLyB9IH1cbiAgICAgIC50aWxlX19pbWctbGluayBwaWN0dXJlIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC50aWxlX19pbWctbGluayBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAudGlsZV9faW5mbywgLnRpbGVfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC50aWxlX190aXRsZSB7XG4gICAgbWFyZ2luOiAzMHB4IDA7IH1cbiAgICAudGlsZV9fdGl0bGUgPiBhOmhvdmVyLCAudGlsZV9fdGl0bGUgPiBhOmZvY3VzLCAudGlsZV9fdGl0bGUgPiBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMyYjMwMzQgMCUsICMyYjMwMzQgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gIC50aWxlX19zbmlwcGV0IHtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9XG5cbi50aWxlLS1sYXJnZSAudGlsZV9fdGl0bGUge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuLnRpbGUtLWxhcmdlIC50aWxlX19zbmlwcGV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGlsZS0tbWVkaXVtLXdpZGUgLnRpbGVfX2luZm8ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAtMC41ZW07IH1cblxuLnRpbGUtLW1lZGl1bS13aWRlIC50aWxlX19zbmlwcGV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnRpbGUtLW1lZGl1bS13aWRlIC50aWxlX19pbWctbGluayxcbiAgLnRpbGUtLW1lZGl1bS13aWRlIC50aWxlX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCA1MCUgLSAyMHB4KTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMCAxMHB4O1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfSB9XG5cbi50aWxlLS1tZWRpdW0td2lkZSAudGlsZV9fY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnRpbGUtLXNtYWxsIC50aWxlX19jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4udGlsZS0tc21hbGwgLnRpbGVfX2ltZy1saW5rLFxuLnRpbGUtLXNtYWxsIC50aWxlX19zbmlwcGV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udGlsZS0tbGlzdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50aWxlLS1saXN0LnNob3dUaHVtYiAudGlsZV9faW5mbyB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCA2Ni42NjY2NjY2NjY3JSAtIDIwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCA2Ni42NjY2NjY2NjY3JSAtIDIwcHgpO1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIG1heC13aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAyMHB4KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC50aWxlLS1saXN0LnNob3dUaHVtYiAudGlsZV9faW1nLWxpbmsge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgZmxleC1iYXNpczogY2FsYyggMzMuMzMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgIG1heC13aWR0aDogY2FsYyggMzMuMzMzMzMzMzMzMyUgLSAyMHB4KTtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7IH0gfVxuICAudGlsZS0tbGlzdCAudGlsZV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAudGlsZS0tbGlzdCAudGlsZV9fc25pcHBldCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uYXJjaGl2ZV9fbGlzdCAudGlsZS0tbGlzdC5mZWF0dXJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX19pbWctbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxleDogbm9uZTsgfVxuICAgIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX19pbmZvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDYwcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX190aXRsZSBhLFxuICAgIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC5tZXRhLFxuICAgIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC5tZXRhIGEsXG4gICAgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRvcGljIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYXJjaGl2ZV9fbGlzdCAudGlsZS0tbGlzdC5mZWF0dXJlZCAudG9waWMgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYgMCUsICNmZmYgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX2luZm8ge1xuICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX2luZm8ge1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDkwcHggNjBweDsgfSB9XG4gIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX19pbWctbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX2ltZy1saW5rID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX19pbWctbGluazphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI2LCAyNiwgMjYsIDApIDAlLCAjMWExYTFhIDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjYsIDI2LCAyNiwgMCkgMCUsICMxYTFhMWEgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjYsIDI2LCAyNiwgMCkgMCUsICMxYTFhMWEgMTAwJSk7XG4gICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAxYTFhMWEnLCBlbmRDb2xvcnN0cj0nIzFhMWExYScsR3JhZGllbnRUeXBlPTAgKTsgfSB9XG4gIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX3RpdGxlID4gYTpob3ZlciwgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX3RpdGxlID4gYTpmb2N1cywgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX3RpdGxlID4gYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmIDAlLCAjZmZmIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLmFyY2hpdmVfX2xpc3QgLnRpbGUtLWxpc3QuZmVhdHVyZWQgLnRpbGVfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYXJjaGl2ZV9fbGlzdCAudGlsZS0tbGlzdC5mZWF0dXJlZCAudGlsZV9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gIC5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIC50aWxlX19zbmlwcGV0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5ncmlkX19jb250YWluZXItLXRvcGljcyAudG9waWMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ncmlkX19jb250YWluZXItLXRvcGljcyAudGlsZV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5ncmlkX19jb250YWluZXItLXRvcGljcyBbZGF0YS10b3BpYz1cImNvbXBsaWFuY2VcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNhNjE5MmU7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwiY29udGVudC1kZXZlbG9wbWVudFwiXSAudGlsZV9faW1nLWxpbmsge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgI2YyNmEzNjsgfVxuXG4uZ3JpZF9fY29udGFpbmVyLS10b3BpY3MgW2RhdGEtdG9waWM9XCJkaXZlcnNpdHktZXF1aXR5LWFuZC1pbmNsdXNpb25cIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM3NjIzMmY7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwiZS1sZWFybmluZ1wiXSAudGlsZV9faW1nLWxpbmsge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgI2ZmOGYxYzsgfVxuXG4uZ3JpZF9fY29udGFpbmVyLS10b3BpY3MgW2RhdGEtdG9waWM9XCJpdC1hbmQtdGVjaG5pY2FsLXRyYWluaW5nXCJdIC50aWxlX19pbWctbGluayB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjYjk0NzAwOyB9XG5cbi5ncmlkX19jb250YWluZXItLXRvcGljcyBbZGF0YS10b3BpYz1cImxlYWRlcnNoaXBcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNkYWFhMDA7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwibGVhcm5pbmctdGVjaG5vbG9naWVzXCJdIC50aWxlX19pbWctbGluayB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjODJjMzQxOyB9XG5cbi5ncmlkX19jb250YWluZXItLXRvcGljcyBbZGF0YS10b3BpYz1cIm1lYXN1cmVtZW50LWFuZC1hbmFseXRpY3NcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMGIwOTg7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwib3V0c291cmNpbmdcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMDgyNjQ7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwib25ib2FyZGluZ1wiXSAudGlsZV9faW1nLWxpbmsge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzhmZDFjMzsgfVxuXG4uZ3JpZF9fY29udGFpbmVyLS10b3BpY3MgW2RhdGEtdG9waWM9XCJwZXJmb3JtYW5jZS1tYW5hZ2VtZW50XCJdIC50aWxlX19pbWctbGluayB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjMDBiY2U3OyB9XG5cbi5ncmlkX19jb250YWluZXItLXRvcGljcyBbZGF0YS10b3BpYz1cInByb2Zlc3Npb25hbC1kZXZlbG9wbWVudFwiXSAudGlsZV9faW1nLWxpbmsge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzAwNTU4YzsgfVxuXG4uZ3JpZF9fY29udGFpbmVyLS10b3BpY3MgW2RhdGEtdG9waWM9XCJyZW1vdGUtbGVhcm5pbmdcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICMwMDcwOTY7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwic2FsZXNcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM2NzU2YTU7IH1cblxuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIFtkYXRhLXRvcGljPVwic3RyYXRlZ3ktYWxpZ25tZW50LWFuZC1wbGFubmluZ1wiXSAudGlsZV9faW1nLWxpbmsge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgIzc3MjU4MzsgfVxuXG4uZ3JpZF9fY29udGFpbmVyLS10b3BpY3MgW2RhdGEtdG9waWM9XCJ3b3JrZm9yY2UtZGV2ZWxvcG1lbnRcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM5YjI2YjY7IH1cblxuLmdyaWQtLXRvcGljcy1jb2xzIC50aWxlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlM2U4ZWE7IH1cbiAgLmdyaWQtLXRvcGljcy1jb2xzIC50aWxlOm50aC1jaGlsZCgyKSB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC5ncmlkLS10b3BpY3MtY29scyAudGlsZTpudGgtY2hpbGQoMikgLnRpbGVfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gICAgLmdyaWQtLXRvcGljcy1jb2xzIC50aWxlOm50aC1jaGlsZCgyKSAudGlsZV9faW1nLWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdyaWQtLXRvcGljcy1jb2xzIC50aWxlX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uZ3JpZC0tdG9waWNzLWNvbHMgLnRpbGVfX2NvbnRlbnQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi50aWxlW2RhdGEtdHlwZT1cInRvcF9jb21wYW5pZXNcIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAudGlsZVtkYXRhLXR5cGU9XCJ0b3BfY29tcGFuaWVzXCJdIC50aWxlX19pbWctbGluayAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAudGlsZVtkYXRhLXR5cGU9XCJ0b3BfY29tcGFuaWVzXCJdIC50aWxlX19pbWctbGluayAucGxhY2Vob2xkZXIgPiAuc3ZnIHtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC50aWxlW2RhdGEtdHlwZT1cInRvcF9jb21wYW5pZXNcIl0gLnRpbGVfX2ltZy1saW5rIC5wbGFjZWhvbGRlciA+IC5zdmcgKiB7XG4gICAgICAgIGZpbGw6ICMyYjMwMzQ7IH1cbiAgICAudGlsZVtkYXRhLXR5cGU9XCJ0b3BfY29tcGFuaWVzXCJdIC50aWxlX19pbWctbGluayAucGxhY2Vob2xkZXIgLnRvcC1jb21wYW55X19wYXR0ZXJuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnRpbGVbZGF0YS10eXBlPVwidG9wX2NvbXBhbmllc1wiXSAudGlsZV9faW1nLWxpbmsgLnBsYWNlaG9sZGVyIC50b3AtY29tcGFueV9fcGF0dGVybiAuc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnRpbGVbZGF0YS10eXBlPVwidG9wX2NvbXBhbmllc1wiXSAudGlsZV9faW1nLWxpbmsgLnBsYWNlaG9sZGVyIC50b3AtY29tcGFueV9fcGF0dGVybiAuc3ZnICoge1xuICAgICAgICAgIGZpbGw6ICNlNmU2ZTY7IH1cbiAgLnRpbGVbZGF0YS10eXBlPVwidG9wX2NvbXBhbmllc1wiXSAudGlsZV9faW1nLWxpbmsgLnRpbGVfX2ltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgei1pbmRleDogMjsgfVxuXG4ud2ViaW5hcl9fdGlsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IDAgMCAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICMyYjMwMzQ7XG4gIGNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC53ZWJpbmFyX190aWxlIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC53ZWJpbmFyX190aWxlIC53ZWJpbmFyX19kYXRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMHB4O1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgei1pbmRleDogMTsgfVxuXG4ud2ViaW5hcl9fZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC53ZWJpbmFyX19kYXRlIC5kYXkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAwIDVweCAwIDA7IH1cbiAgLndlYmluYXJfX2RhdGUgLmRhdGVfX3dyYXAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAud2ViaW5hcl9fZGF0ZSAubW9udGgsXG4gIC53ZWJpbmFyX19kYXRlIC55ZWFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICAud2ViaW5hcl9fZGF0ZSAudGltZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi53ZWJpbmFyX190aW1lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2M0YzljZDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gIC53ZWJpbmFyX190aW1lIC5zdGFydHRpbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAud2ViaW5hcl9fdGltZSAubGVuZ3RoIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2ViaW5hcl9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICByaWdodDogMzBweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luOiA1cHggMCAwIDA7IH1cbiAgLndlYmluYXJfX2ljb24gc3ZnICoge1xuICAgIGZpbGw6ICNmZmY7IH1cblxuLndlYmluYXJfX3BsYWNlaG9sZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gIC8qIDE2OjkgQXNwZWN0IFJhdGlvICovXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLndlYmluYXJfX3BsYWNlaG9sZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgICAvKiA0OjMgQXNwZWN0IFJhdGlvICovIH0gfVxuXG4ud2ViaW5hcl9faW5mbyB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi53ZWJpbmFyX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLndlYmluYXJfX2NvbnRlbnQgLnRvcGljIGEge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzkxOTY5YSAwJSwgIzkxOTY5YSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH1cblxuLndlYmluYXJfX3RpdGxlIHtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAud2ViaW5hcl9fdGl0bGUgPiBhOmhvdmVyLCAud2ViaW5hcl9fdGl0bGUgPiBhOmZvY3VzLCAud2ViaW5hcl9fdGl0bGUgPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmIDAlLCAjZmZmIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuXG4ud2ViaW5hcl9fZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLndlYmluYXJfX2Zvb3RlciAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ud2ViaW5hcl9fc3BvbnNvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAud2ViaW5hcl9fc3BvbnNvciBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC53ZWJpbmFyX19zcG9uc29yIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLndlYmluYXJfX3Nwb25zb3ItaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LWJhc2lzOiA2NXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBoZWlnaHQ6IDY1cHg7XG4gIHdpZHRoOiA2NXB4O1xuICBtYXgtd2lkdGg6IDY1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAud2ViaW5hcl9fc3BvbnNvci1pbWcgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC53ZWJpbmFyX19zcG9uc29yLWltZy0tZnVsbCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IDE1MHB4O1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi53ZWJpbmFyX19zcG9uc29yLXRleHQge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4ud2ViaW5hcl9fcGF0dGVybiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwOyB9XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLndlYmluYXJfX3BhdHRlcm4ge1xuICAgICAgLyogSUUxMCsgQ1NTIHN0eWxlcyBnbyBoZXJlICovXG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLndlYmluYXJfX3BhdHRlcm4gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgW2RhdGEtdG9waWM9XCJjb21wbGlhbmNlXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICNhNjE5MmU7IH1cbiAgICBbZGF0YS10b3BpYz1cImNvbnRlbnQtZGV2ZWxvcG1lbnRcIl0gLndlYmluYXJfX3BhdHRlcm4gc3ZnICoge1xuICAgICAgZmlsbDogI2YyNmEzNjsgfVxuICAgIFtkYXRhLXRvcGljPVwiZGl2ZXJzaXR5LWVxdWl0eS1hbmQtaW5jbHVzaW9uXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICM3NjIzMmY7IH1cbiAgICBbZGF0YS10b3BpYz1cImUtbGVhcm5pbmdcIl0gLndlYmluYXJfX3BhdHRlcm4gc3ZnICoge1xuICAgICAgZmlsbDogI2ZmOGYxYzsgfVxuICAgIFtkYXRhLXRvcGljPVwiaXQtYW5kLXRlY2huaWNhbC10cmFpbmluZ1wiXSAud2ViaW5hcl9fcGF0dGVybiBzdmcgKiB7XG4gICAgICBmaWxsOiAjYjk0NzAwOyB9XG4gICAgW2RhdGEtdG9waWM9XCJsZWFkZXJzaGlwXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICNkYWFhMDA7IH1cbiAgICBbZGF0YS10b3BpYz1cImxlYXJuaW5nLXRlY2hub2xvZ2llc1wiXSAud2ViaW5hcl9fcGF0dGVybiBzdmcgKiB7XG4gICAgICBmaWxsOiAjODJjMzQxOyB9XG4gICAgW2RhdGEtdG9waWM9XCJtZWFzdXJlbWVudC1hbmQtYW5hbHl0aWNzXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICMwMGIwOTg7IH1cbiAgICBbZGF0YS10b3BpYz1cIm91dHNvdXJjaW5nXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICMwMDgyNjQ7IH1cbiAgICBbZGF0YS10b3BpYz1cIm9uYm9hcmRpbmdcIl0gLndlYmluYXJfX3BhdHRlcm4gc3ZnICoge1xuICAgICAgZmlsbDogIzhmZDFjMzsgfVxuICAgIFtkYXRhLXRvcGljPVwicGVyZm9ybWFuY2UtbWFuYWdlbWVudFwiXSAud2ViaW5hcl9fcGF0dGVybiBzdmcgKiB7XG4gICAgICBmaWxsOiAjMDBiY2U3OyB9XG4gICAgW2RhdGEtdG9waWM9XCJwcm9mZXNzaW9uYWwtZGV2ZWxvcG1lbnRcIl0gLndlYmluYXJfX3BhdHRlcm4gc3ZnICoge1xuICAgICAgZmlsbDogIzAwNTU4YzsgfVxuICAgIFtkYXRhLXRvcGljPVwicmVtb3RlLWxlYXJuaW5nXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICMwMDcwOTY7IH1cbiAgICBbZGF0YS10b3BpYz1cInNhbGVzXCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICM2NzU2YTU7IH1cbiAgICBbZGF0YS10b3BpYz1cInN0cmF0ZWd5LWFsaWdubWVudC1hbmQtcGxhbm5pbmdcIl0gLndlYmluYXJfX3BhdHRlcm4gc3ZnICoge1xuICAgICAgZmlsbDogIzc3MjU4MzsgfVxuICAgIFtkYXRhLXRvcGljPVwid29ya2ZvcmNlLWRldmVsb3BtZW50XCJdIC53ZWJpbmFyX19wYXR0ZXJuIHN2ZyAqIHtcbiAgICAgIGZpbGw6ICM5YjI2YjY7IH1cblxuLndlYmluYXItLWZlYXR1cmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyMDBweCAwIDMwcHg7XG4gIGJhY2tncm91bmQ6ICMyYjMwMzQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53ZWJpbmFyLS1mZWF0dXJlZCB7XG4gICAgICBwYWRkaW5nOiAxMjBweCAwIDYwcHg7IH0gfVxuICAud2ViaW5hci0tZmVhdHVyZWQgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLndlYmluYXItLWZlYXR1cmVkIC50b3BpYyBhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM5MTk2OWEgMCUsICM5MTk2OWEgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9faW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLndlYmluYXItLWZlYXR1cmVkIC53ZWJpbmFyX19pbmZvIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLndlYmluYXItLWZlYXR1cmVkIC53ZWJpbmFyX19oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9faGVhZGluZyB7XG4gICAgICAgIGZsZXg6IDAgMSA1NSU7IH0gfVxuICAgIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9faGVhZGluZyAud2ViaW5hcl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9faGVhZGluZyAud2ViaW5hcl9fdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTsgfSB9XG4gIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9fY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud2ViaW5hci0tZmVhdHVyZWQgLndlYmluYXJfX2NhcmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBjb2xvcjogIzJiMzAzNDtcbiAgICAgICAgbWluLXdpZHRoOiA0MDBweDsgfSB9XG4gIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9fc3RhcnQge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBtYXJnaW46IDMwcHggMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9fc3RhcnQge1xuICAgICAgICBtYXJnaW46IDQwcHggMDsgfSB9XG4gICAgLndlYmluYXItLWZlYXR1cmVkIC53ZWJpbmFyX19zdGFydCAud2ViaW5hcl9fdGltZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLndlYmluYXItLWZlYXR1cmVkIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC53ZWJpbmFyLS1mZWF0dXJlZCAucmVnaXN0cmF0aW9uLWVuZHMge1xuICAgIG1hcmdpbjogMzBweCAwIDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAud2ViaW5hci0tZmVhdHVyZWQgLnJlZ2lzdHJhdGlvbi1lbmRzIHtcbiAgICAgICAgY29sb3I6ICM5MTk2OWE7IH0gfVxuICAud2ViaW5hci0tZmVhdHVyZWQgLndlYmluYXJfX3BhdHRlcm4ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC53ZWJpbmFyLS1mZWF0dXJlZCAud2ViaW5hcl9fcGF0dGVybiB7XG4gICAgICAgIHdpZHRoOiA1MDBweDsgfSB9XG5cbi53ZWJpbmFyLS1mZWF0dXJlZFtkYXRhLXRvcGljPVwiY29tcGxpYW5jZVwiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E2MTkyZTsgfVxuXG4ud2ViaW5hci0tZmVhdHVyZWRbZGF0YS10b3BpYz1cImNvbnRlbnQtZGV2ZWxvcG1lbnRcIl0gLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjZhMzY7IH1cblxuLndlYmluYXItLWZlYXR1cmVkW2RhdGEtdG9waWM9XCJkaXZlcnNpdHktZXF1aXR5LWFuZC1pbmNsdXNpb25cIl0gLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NjIzMmY7IH1cblxuLndlYmluYXItLWZlYXR1cmVkW2RhdGEtdG9waWM9XCJlLWxlYXJuaW5nXCJdIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY4ZjFjOyB9XG5cbi53ZWJpbmFyLS1mZWF0dXJlZFtkYXRhLXRvcGljPVwiaXQtYW5kLXRlY2huaWNhbC10cmFpbmluZ1wiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I5NDcwMDsgfVxuXG4ud2ViaW5hci0tZmVhdHVyZWRbZGF0YS10b3BpYz1cImxlYWRlcnNoaXBcIl0gLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWFhMDA7IH1cblxuLndlYmluYXItLWZlYXR1cmVkW2RhdGEtdG9waWM9XCJsZWFybmluZy10ZWNobm9sb2dpZXNcIl0gLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MmMzNDE7IH1cblxuLndlYmluYXItLWZlYXR1cmVkW2RhdGEtdG9waWM9XCJtZWFzdXJlbWVudC1hbmQtYW5hbHl0aWNzXCJdIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiMDk4OyB9XG5cbi53ZWJpbmFyLS1mZWF0dXJlZFtkYXRhLXRvcGljPVwib3V0c291cmNpbmdcIl0gLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNjQ7IH1cblxuLndlYmluYXItLWZlYXR1cmVkW2RhdGEtdG9waWM9XCJvbmJvYXJkaW5nXCJdIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGZkMWMzOyB9XG5cbi53ZWJpbmFyLS1mZWF0dXJlZFtkYXRhLXRvcGljPVwicGVyZm9ybWFuY2UtbWFuYWdlbWVudFwiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYmNlNzsgfVxuXG4ud2ViaW5hci0tZmVhdHVyZWRbZGF0YS10b3BpYz1cInByb2Zlc3Npb25hbC1kZXZlbG9wbWVudFwiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTU4YzsgfVxuXG4ud2ViaW5hci0tZmVhdHVyZWRbZGF0YS10b3BpYz1cInJlbW90ZS1sZWFybmluZ1wiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzA5NjsgfVxuXG4ud2ViaW5hci0tZmVhdHVyZWRbZGF0YS10b3BpYz1cInNhbGVzXCJdIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjc1NmE1OyB9XG5cbi53ZWJpbmFyLS1mZWF0dXJlZFtkYXRhLXRvcGljPVwic3RyYXRlZ3ktYWxpZ25tZW50LWFuZC1wbGFubmluZ1wiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3MjU4MzsgfVxuXG4ud2ViaW5hci0tZmVhdHVyZWRbZGF0YS10b3BpYz1cIndvcmtmb3JjZS1kZXZlbG9wbWVudFwiXSAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzliMjZiNjsgfVxuXG4ud2ViaW5hcl9faW50cm8ge1xuICBtYXJnaW46IDAgMCA4MHB4O1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC53ZWJpbmFyX19pbnRybyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7IH0gfVxuICAud2ViaW5hcl9faW50cm8gKyAuY29udGVudC1tb2R1bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uc2luZ2xlLXdlYmluYXJzIC5wYWdlX19oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2luZ2xlLXdlYmluYXJzIC50aXRsZS0tc2luZ2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uc2luZ2xlLXdlYmluYXJzIC5zcG9uc29yX19iYXIgLnNwb25zb3JfX2Jsb2NrOm9ubHktY2hpbGQge1xuICBmbGV4LWJhc2lzOiAzMDBweDtcbiAgbWF4LXdpZHRoOiAzMDBweDsgfVxuXG4ubWV0YSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjNWU2MzY3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5tZXRhX193cmFwIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAubWV0YV9fY29udGVudCA+ICo6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAyMic7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRpbGUgLm1ldGFfX3B1Yi1kYXRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZXRhX19hdXRob3JbaHJlZl0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBjb2xvcjogIzVlNjM2NzsgfVxuICAgIC5tZXRhX19hdXRob3JbaHJlZl06aG92ZXIsIC5tZXRhX19hdXRob3JbaHJlZl06Zm9jdXMsIC5tZXRhX19hdXRob3JbaHJlZl06YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzVlNjM2NyAwJSwgIzVlNjM2NyAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH1cblxuLnRvcGljIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzJiMzAzNDsgfVxuICAudG9waWMgPiBhIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjNGM5Y2QgMCUsICNjNGM5Y2QgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gICAgLnRvcGljID4gYTpob3ZlciwgLnRvcGljID4gYTpmb2N1cywgLnRvcGljID4gYTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDA7XG4gICAgICBjb2xvcjogIzVlNjM2NzsgfVxuXG4ucGFnZS10ZW1wbGF0ZS1jdXN0b20tdG9waWMtbGFuZGluZyAuY29udGVudC1tb2R1bGUge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uY2FsbG91dCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDYwcHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmMGY1Zjc7IH1cbiAgLmNhbGxvdXQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNhbGxvdXRfX2NvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgLTAuNWVtO1xuICAgIHBhZGRpbmc6IDYwcHggMzBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNhbGxvdXRfX2NvbnRhaW5lciB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDAgLTAuNWVtOyB9IH1cbiAgLmNhbGxvdXRfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMSAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDcwMHB4OyB9XG4gICAgLmNhbGxvdXRfX2l0ZW0tLWltZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNhbGxvdXRfX2l0ZW0tLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jYWxsb3V0X19pdGVtLS1jb250ZW50IC5jYWxsb3V0X190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICAgLmNhbGxvdXRfX2l0ZW0tLWNvbnRlbnQgLmNhbGxvdXRfX3RpdGxlLS1saW5rID4gYTpob3ZlciwgLmNhbGxvdXRfX2l0ZW0tLWNvbnRlbnQgLmNhbGxvdXRfX3RpdGxlLS1saW5rID4gYTpmb2N1cywgLmNhbGxvdXRfX2l0ZW0tLWNvbnRlbnQgLmNhbGxvdXRfX3RpdGxlLS1saW5rID4gYTphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJiMzAzNCAwJSwgIzJiMzAzNCAxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH1cbiAgICAgIC5jYWxsb3V0X19pdGVtLS1jb250ZW50IC5jYWxsb3V0X19zbmlwcGV0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAuY2FsbG91dF9faXRlbS0tY3RhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuY2FsbG91dF9faXRlbS0tY3RhIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYWxsb3V0X19pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5jYWxsb3V0X19pdGVtLS1jb250ZW50IHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKCA2Ni42NjY2NjY2NjY3JSAtIDIwcHgpO1xuICAgICAgICAgIG1heC13aWR0aDogY2FsYyggNjYuNjY2NjY2NjY2NyUgLSAyMHB4KTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAgIC5jYWxsb3V0X19pdGVtLS1jb250ZW50IC5jYWxsb3V0X190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gICAgICAgICAgLmNhbGxvdXRfX2l0ZW0tLWNvbnRlbnQgLmNhbGxvdXRfX3NuaXBwZXQge1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5jYWxsb3V0X19pdGVtLS1jdGEge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDMzLjMzMzMzMzMzMzMlIC0gMjBweCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMzMzJSAtIDIwcHgpO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDAgMTBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmNhbGxvdXRfX2l0ZW0tLWltZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDI1JSAtIDIwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDI1JSAtIDIwcHgpO1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICAgICAgLmNhbGxvdXRfX2l0ZW0tLWltZyBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IC02MHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OyB9XG4gICAgICAuY2FsbG91dF9faXRlbS0tY29udGVudCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoIDUwJSAtIDIwcHgpO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgICAuY2FsbG91dF9faXRlbS0tY3RhIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYyggMjUlIC0gMjBweCk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyggMjUlIC0gMjBweCk7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH0gfVxuICAuY2FsbG91dF9fbGluazpob3ZlciwgLmNhbGxvdXRfX2xpbms6YWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY2FsbG91dC0tbWFnYXppbmUge1xuICAgIGJhY2tncm91bmQ6ICNmMGY1Zjc7IH1cblxuLnBhZ2VfX2hlYWRlciArIC5jYWxsb3V0IHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cblxuLmZlYXR1cmVfX2FydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZlYXR1cmVfX2FydGljbGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICAgLmZlYXR1cmVfX2FydGljbGUgLndyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAyOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mZWF0dXJlX19hcnRpY2xlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MHB4OyB9IH1cblxuLmZlYXR1cmVfX2ltZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmVhdHVyZV9faW1nID4gcGljdHVyZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5mZWF0dXJlX19pbWc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjYsIDI2LCAyNiwgMCkgMCUsICMxYTFhMWEgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjYsIDI2LCAyNiwgMCkgMCUsICMxYTFhMWEgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI2LCAyNiwgMjYsIDApIDAlLCAjMWExYTFhIDEwMCUpO1xuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDFhMWExYScsIGVuZENvbG9yc3RyPScjMWExYTFhJyxHcmFkaWVudFR5cGU9MCApOyB9IH1cblxuLmZlYXR1cmVfX2luZm8ge1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhO1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZmVhdHVyZV9faW5mbyB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLmZlYXR1cmVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDMwcHggMDsgfVxuICAuZmVhdHVyZV9fdGl0bGUgPiBhOmhvdmVyLCAuZmVhdHVyZV9fdGl0bGUgPiBhOmZvY3VzLCAuZmVhdHVyZV9fdGl0bGUgPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzMDM0IDAlLCAjMmIzMDM0IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuZmVhdHVyZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mZWF0dXJlX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAuZmVhdHVyZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLmZlYXR1cmVfX3RpdGxlLS1yZXNpemVkIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmVhdHVyZV9fdGl0bGUtLXJlc2l6ZWQge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mZWF0dXJlX190aXRsZS0tcmVzaXplZCB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgbWF4LXdpZHRoOiA2MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLmZlYXR1cmVfX3RpdGxlLS1yZXNpemVkIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgIG1heC13aWR0aDogNjAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5mZWF0dXJlX19idG4ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5mZWF0dXJlX190aXRsZSBhLFxuICAuZmVhdHVyZV9fYXJ0aWNsZVtkYXRhLXRoZW1lPVwiZGFya1wiXSAubWV0YSxcbiAgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImRhcmtcIl0gLm1ldGEgYSxcbiAgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImRhcmtcIl0gLnRvcGljIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC50b3BpYyBhIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYgMCUsICNmZmYgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIGE6bm90KC5mZWF0dXJlX19idG4pOmhvdmVyLCAuZmVhdHVyZV9fYXJ0aWNsZVtkYXRhLXRoZW1lPVwiZGFya1wiXSBhOm5vdCguZmVhdHVyZV9fYnRuKTphY3RpdmUsIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIGE6bm90KC5mZWF0dXJlX19idG4pOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYgMCUsICNmZmYgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5mZWF0dXJlX19idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5mZWF0dXJlX190aXRsZSBhLFxuICAuZmVhdHVyZV9fYXJ0aWNsZVtkYXRhLXRoZW1lPVwibGlnaHRcIl0gLm1ldGEsXG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWV0YSBhLFxuICAuZmVhdHVyZV9fYXJ0aWNsZVtkYXRhLXRoZW1lPVwibGlnaHRcIl0gLnRvcGljIGEge1xuICAgIGNvbG9yOiAjMmIzMDM0OyB9XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJsaWdodFwiXSBhOm5vdCguZmVhdHVyZV9fYnRuKTpob3ZlciwgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImxpZ2h0XCJdIGE6bm90KC5mZWF0dXJlX19idG4pOmFjdGl2ZSwgLmZlYXR1cmVfX2FydGljbGVbZGF0YS10aGVtZT1cImxpZ2h0XCJdIGE6bm90KC5mZWF0dXJlX19idG4pOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMyYjMwMzQgMCUsICMyYjMwMzQgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAuZmVhdHVyZV9faW1nOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLCAyNDUsIDI0NywgMCkgMCUsICNmMGY1ZjcgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI0MCwgMjQ1LCAyNDcsIDApIDAlLCAjZjBmNWY3IDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjQwLCAyNDUsIDI0NywgMCkgMCUsICNmMGY1ZjcgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDFhMWExYScsIGVuZENvbG9yc3RyPScjMWExYTFhJyxHcmFkaWVudFR5cGU9MCApOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAuZmVhdHVyZV9fYnRuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZlYXR1cmVfX2FydGljbGVbZGF0YS1zdHlsZT1cIm5vLWdyYWRpZW50XCJdIC5mZWF0dXJlX19pbWc6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnNwb25zb3JfX2JhciB7XG4gIHBhZGRpbmc6IDE1cHggMCAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5zcG9uc29yX19iYXIgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3BvbnNvcl9fYmFyIC5vd2wtbmV4dCxcbiAgLnNwb25zb3JfX2JhciAub3dsLXByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyYjMwMzQgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzJiMzAzNCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuICAgIC5zcG9uc29yX19iYXIgLm93bC1uZXh0IHNwYW4sXG4gICAgLnNwb25zb3JfX2JhciAub3dsLXByZXYgc3BhbiB7XG4gICAgICB0ZXh0LWluZGVudDogMTAxJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3BvbnNvcl9fYmFyIC5vd2wtcHJldiB7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gIC5zcG9uc29yX19iYXIgLm93bC1uZXh0IHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5zcG9uc29yX19iYXIgLmNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zcG9uc29yX19iYXIuY2xvc2VkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAuc3BvbnNvcl9fYmFyLmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2M0YzljZDsgfSB9XG4gIC5zcG9uc29yX19iYXIuZml4ZWQgLmNsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjdweDtcbiAgICByaWdodDogLTUwcHg7XG4gICAgcGFkZGluZzogMHB4IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlOGVhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zcG9uc29yX19iYXIuZml4ZWQgLmljb24ge1xuICAgIHdpZHRoOiAxMHB4OyB9XG5cbi5zcG9uc29yX19iYXItd3JhcFtkYXRhLWNvdW50PVwiMVwiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5zcG9uc29yX19iYXItd3JhcC5vd2wtY2Fyb3VzZWwgaW1nIHtcbiAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3BvbnNvcl9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnNwb25zb3JfX2hlYWRpbmcgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNwb25zb3JfX2hlYWRpbmcgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG5cbi5zcG9uc29yX19ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zcG9uc29yX19ibG9jayA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zcG9uc29yX19ibG9jayAucmF0aW9fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuXG4uc3BvbnNvcl9fbG9nbyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAuc3BvbnNvcl9fbG9nbzpob3ZlciwgLnNwb25zb3JfX2xvZ286Zm9jdXMsIC5zcG9uc29yX19sb2dvOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi5maWx0ZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5maWx0ZXJfX2hlYWRpbmcge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5maWx0ZXJfX2NvbnRyb2xzLS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5maWx0ZXJfX2NvbnRyb2xzLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5maWx0ZXJfX2NvbnRyb2xzLS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmZpbHRlcl9fY29udHJvbHMtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5maWx0ZXJfX2xhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5maWx0ZXJfX3NlbGVjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9XG5cbi5maWx0ZXJfX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG5cbi5maWx0ZXJfX2xpc3Qge1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLmZpbHRlcl9fbGlzdFthcmlhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmlsdGVyX19saXN0W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmlsdGVyX19saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmZpbHRlcl9fbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5maWx0ZXJfX2xpc3QgbGkuYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNWU2MzY3IDAlLCAjNWU2MzY3IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuICAgIC5maWx0ZXJfX2xpc3QgbGkgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjNGM5Y2QgMCUsICNjNGM5Y2QgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gICAgICAuZmlsdGVyX19saXN0IGxpIGE6aG92ZXIsIC5maWx0ZXJfX2xpc3QgbGkgYTphY3RpdmUsIC5maWx0ZXJfX2xpc3QgbGkgYTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAwO1xuICAgICAgICBjb2xvcjogIzVlNjM2NzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmlsdGVyX19saXN0IHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG5cbi5zb2NpYWxfX2NhbGxvdXQge1xuICBtYXJnaW46IDYwcHggMDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiAjNWU2MzY3O1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnNvY2lhbF9fY2FsbG91dCB7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH0gfVxuICAuc29jaWFsX19jYWxsb3V0LXF1b3RlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnNvY2lhbF9fY2FsbG91dC1saW5rIHtcbiAgICBjb2xvcjogIzVlNjM2NzsgfVxuICAgIC5zb2NpYWxfX2NhbGxvdXQtbGluazpob3ZlciwgLnNvY2lhbF9fY2FsbG91dC1saW5rOmZvY3VzLCAuc29jaWFsX19jYWxsb3V0LWxpbms6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJiMzAzNCAwJSwgIzJiMzAzNCAxMDAlKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH1cbiAgLnNvY2lhbF9fY2FsbG91dCBzdmcsXG4gIC5zb2NpYWxfX2NhbGxvdXQgLmljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgLnNvY2lhbF9fY2FsbG91dCBzdmcgKixcbiAgICAuc29jaWFsX19jYWxsb3V0IC5pY29uICoge1xuICAgICAgZmlsbDogIzhmZDFjMzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNvY2lhbF9fY2FsbG91dCBzdmcsXG4gICAgICAuc29jaWFsX19jYWxsb3V0IC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDsgfSB9XG5cbi50YWdzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNjBweCAwIDA7XG4gIG1hcmdpbjogNjBweCAwIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTNlOGVhOyB9XG4gIC50YWdzOmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiLi4vYXNzZXRzL2ltZy9sb2dvcy90aS1sb2dvLWVtYmxlbS5zdmdcIik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE0cHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDMwcHg7IH1cbiAgLnRhZ3NfX2xpc3Qge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTNlOGVhOyB9XG4gIC50YWdzX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnRhZ3NfX2l0ZW0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuICAgIC50YWdzX19pdGVtID4gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMGY1Zjc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiAjNWU2MzY3O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTI1bXMgI2Jhc2UtYW5pbWF0aW9uLWVhc2luZzsgfVxuICAgICAgLnRhZ3NfX2l0ZW0gPiBhOmhvdmVyLCAudGFnc19faXRlbSA+IGE6YWN0aXZlLCAudGFnc19faXRlbSA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTNlOGVhOyB9XG5cbi5hdXRob3Ige1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogNjBweCAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmF1dGhvciB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmF1dGhvcl9fcGljIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5hdXRob3JfX3BpYyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuICAuYXV0aG9yX19iaW8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmF1dGhvcl9fYmlvIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmF1dGhvcl9fYmlvIFtpdGVtcHJvcD1cIm5hbWVcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmF1dGhvcl9fbW9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzMDM0IDAlLCAjMmIzMDM0IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5yZWxhdGVkLWNvbnRlbnQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMCAtMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnJlbGF0ZWQtY29udGVudCAudGlsZSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCAzMy4zMzMzMzMzMzMzJSAtIDQwcHgpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMzMzJSAtIDQwcHgpO1xuICAgICAgbWFyZ2luOiAwIDIwcHg7IH0gfVxuXG4ucGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAvKiAxNjo5IEFzcGVjdCBSYXRpbyAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlOGVhOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5wbGFjZWhvbGRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNzUlO1xuICAgICAgLyogNDozIEFzcGVjdCBSYXRpbyAqLyB9IH1cbiAgLnRpbGUtLWxhcmdlIC5wbGFjZWhvbGRlcixcbiAgLmZlYXR1cmVkIC5wbGFjZWhvbGRlciB7XG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTtcbiAgICAvKiAxNjo5IEFzcGVjdCBSYXRpbyAqLyB9XG4gIFtkYXRhLXRvcGljPVwiY29tcGxpYW5jZVwiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhNjE5MmU7IH1cbiAgW2RhdGEtdG9waWM9XCJjb250ZW50LWRldmVsb3BtZW50XCJdIC5wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyNmEzNjsgfVxuICBbZGF0YS10b3BpYz1cImRpdmVyc2l0eS1lcXVpdHktYW5kLWluY2x1c2lvblwiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NjIzMmY7IH1cbiAgW2RhdGEtdG9waWM9XCJlLWxlYXJuaW5nXCJdIC5wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmOGYxYzsgfVxuICBbZGF0YS10b3BpYz1cIml0LWFuZC10ZWNobmljYWwtdHJhaW5pbmdcIl0gLnBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjk0NzAwOyB9XG4gIFtkYXRhLXRvcGljPVwibGVhZGVyc2hpcFwiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWFhMDA7IH1cbiAgW2RhdGEtdG9waWM9XCJsZWFybmluZy10ZWNobm9sb2dpZXNcIl0gLnBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODJjMzQxOyB9XG4gIFtkYXRhLXRvcGljPVwibWVhc3VyZW1lbnQtYW5kLWFuYWx5dGljc1wiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGIwOTg7IH1cbiAgW2RhdGEtdG9waWM9XCJvdXRzb3VyY2luZ1wiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDgyNjQ7IH1cbiAgW2RhdGEtdG9waWM9XCJvbmJvYXJkaW5nXCJdIC5wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhmZDFjMzsgfVxuICBbZGF0YS10b3BpYz1cInBlcmZvcm1hbmNlLW1hbmFnZW1lbnRcIl0gLnBsYWNlaG9sZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBiY2U3OyB9XG4gIFtkYXRhLXRvcGljPVwicHJvZmVzc2lvbmFsLWRldmVsb3BtZW50XCJdIC5wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTU4YzsgfVxuICBbZGF0YS10b3BpYz1cInJlbW90ZS1sZWFybmluZ1wiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwOTY7IH1cbiAgW2RhdGEtdG9waWM9XCJzYWxlc1wiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzU2YTU7IH1cbiAgW2RhdGEtdG9waWM9XCJzdHJhdGVneS1hbGlnbm1lbnQtYW5kLXBsYW5uaW5nXCJdIC5wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3MjU4MzsgfVxuICBbZGF0YS10b3BpYz1cIndvcmtmb3JjZS1kZXZlbG9wbWVudFwiXSAucGxhY2Vob2xkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5YjI2YjY7IH1cbiAgLnBsYWNlaG9sZGVyID4gLnN2ZyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5wbGFjZWhvbGRlciA+IC5zdmcgKiB7XG4gICAgICBmaWxsOiAjZmZmOyB9XG4gICAgICBbZGF0YS10b3BpYz1cImxlYWRlcnNoaXBcIl0gLnBsYWNlaG9sZGVyID4gLnN2ZyAqIHtcbiAgICAgICAgZmlsbDogIzFhMWExYTsgfVxuXG4ucGFnZV9faGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgbWFyZ2luOiAwIDAgNjBweDsgfVxuICAucGFnZV9faGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6ICMyYjMwMzQ7IH1cbiAgLnBhZ2UtdGVtcGxhdGUtZGVmYXVsdCAucGFnZV9faGVhZGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAucGFnZS10ZW1wbGF0ZS1kZWZhdWx0IC5wYWdlX19oZWFkZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFydGljbGVzIC5wYWdlX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmFydGljbGVzIC5wYWdlX19oZWFkZXI6YWZ0ZXIge1xuICAgICAgY29udGVudDogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZV9faGVhZGVyIHtcbiAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cbiAgLnBhZ2VfX2hlYWRlci0tdG9waWMge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlX19oZWFkZXItLXRvcGljIHtcbiAgICAgICAgcGFkZGluZzogMCA4MHB4OyB9IH1cbiAgICAucGFnZV9faGVhZGVyLS10b3BpYzphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLnBhZ2VfX2hlYWRlci0tdG9waWNbZGF0YS10b3BpYz1cImNvbXBsaWFuY2VcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2E2MTkyZTsgfVxuICAgIC5wYWdlX19oZWFkZXItLXRvcGljW2RhdGEtdG9waWM9XCJjb250ZW50LWRldmVsb3BtZW50XCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMjZhMzY7IH1cbiAgICAucGFnZV9faGVhZGVyLS10b3BpY1tkYXRhLXRvcGljPVwiZGl2ZXJzaXR5LWVxdWl0eS1hbmQtaW5jbHVzaW9uXCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NjIzMmY7IH1cbiAgICAucGFnZV9faGVhZGVyLS10b3BpY1tkYXRhLXRvcGljPVwiZS1sZWFybmluZ1wiXTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY4ZjFjOyB9XG4gICAgLnBhZ2VfX2hlYWRlci0tdG9waWNbZGF0YS10b3BpYz1cIml0LWFuZC10ZWNobmljYWwtdHJhaW5pbmdcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2I5NDcwMDsgfVxuICAgIC5wYWdlX19oZWFkZXItLXRvcGljW2RhdGEtdG9waWM9XCJsZWFkZXJzaGlwXCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkYWFhMDA7IH1cbiAgICAucGFnZV9faGVhZGVyLS10b3BpY1tkYXRhLXRvcGljPVwibGVhcm5pbmctdGVjaG5vbG9naWVzXCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4MmMzNDE7IH1cbiAgICAucGFnZV9faGVhZGVyLS10b3BpY1tkYXRhLXRvcGljPVwibWVhc3VyZW1lbnQtYW5kLWFuYWx5dGljc1wiXTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDBiMDk4OyB9XG4gICAgLnBhZ2VfX2hlYWRlci0tdG9waWNbZGF0YS10b3BpYz1cIm91dHNvdXJjaW5nXCJdOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDgyNjQ7IH1cbiAgICAucGFnZV9faGVhZGVyLS10b3BpY1tkYXRhLXRvcGljPVwib25ib2FyZGluZ1wiXTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOGZkMWMzOyB9XG4gICAgLnBhZ2VfX2hlYWRlci0tdG9waWNbZGF0YS10b3BpYz1cInBlcmZvcm1hbmNlLW1hbmFnZW1lbnRcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwYmNlNzsgfVxuICAgIC5wYWdlX19oZWFkZXItLXRvcGljW2RhdGEtdG9waWM9XCJwcm9mZXNzaW9uYWwtZGV2ZWxvcG1lbnRcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwNTU4YzsgfVxuICAgIC5wYWdlX19oZWFkZXItLXRvcGljW2RhdGEtdG9waWM9XCJyZW1vdGUtbGVhcm5pbmdcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwNzA5NjsgfVxuICAgIC5wYWdlX19oZWFkZXItLXRvcGljW2RhdGEtdG9waWM9XCJzYWxlc1wiXTphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjc1NmE1OyB9XG4gICAgLnBhZ2VfX2hlYWRlci0tdG9waWNbZGF0YS10b3BpYz1cInN0cmF0ZWd5LWFsaWdubWVudC1hbmQtcGxhbm5pbmdcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzc3MjU4MzsgfVxuICAgIC5wYWdlX19oZWFkZXItLXRvcGljW2RhdGEtdG9waWM9XCJ3b3JrZm9yY2UtZGV2ZWxvcG1lbnRcIl06YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzliMjZiNjsgfVxuICAucGFnZV9faGVhZGVyLS1jb250YWN0IC5jb250YWN0LXNwb25zb3Ige1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2VfX2hlYWRlci0tY29udGFjdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAucGFnZV9faGVhZGVyLS1jb250YWN0IC50aXRsZS0tcGFnZSB7XG4gICAgICAgIG1heC13aWR0aDogNjAlOyB9XG4gICAgICAucGFnZV9faGVhZGVyLS1jb250YWN0IC5jb250YWN0LXNwb25zb3Ige1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgICAgLnBhZ2VfX2hlYWRlci0tY29udGFjdCAucGFnZV9fZGVzYyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcmRlcjogMzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucGFnZV9faGVhZGVyLS1jb250YWN0IC50aXRsZS0tcGFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG5cbi5wYWdlX19kZXNjIHtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGNvbG9yOiAjNWU2MzY3OyB9XG5cbi5wb3N0dHlwZS1jYWxsb3V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNGM5Y2Q7IH1cbiAgLnBvc3R0eXBlLWNhbGxvdXRfX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnBvc3R0eXBlLWNhbGxvdXRfX2N0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAucG9zdHR5cGUtY2FsbG91dCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnBvc3R0eXBlLWNhbGxvdXRfX2luZm8sIC5wb3N0dHlwZS1jYWxsb3V0X19jdGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cblxuLnB1Ymxpc2hlZC1pc3N1ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5wdWJsaXNoZWQtaXNzdWVfX2ltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5wdWJsaXNoZWQtaXNzdWVfX2luZm8ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAucHVibGlzaGVkLWlzc3VlX19pbmZvIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAucHVibGlzaGVkLWlzc3VlX19pbWcgKyAucHVibGlzaGVkLWlzc3VlX19pbmZvIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cblxuLnJlZ2lzdHJhdGlvbi1lbmRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogLTYwcHggMCA2MHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzkxOTY5YTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5saXN0X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UzZThlYTsgfVxuXG4ubGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0X19saW5rIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW46IDAgLTQwcHg7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH1cbiAgICAgIC5saXN0X19saW5rOmhvdmVyLCAubGlzdF9fbGluazphY3RpdmUsIC5saXN0X19saW5rOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJiMzAzNDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmxpc3RfX2xpbms6aG92ZXIgLmJ1dHRvbiwgLmxpc3RfX2xpbms6YWN0aXZlIC5idXR0b24sIC5saXN0X19saW5rOmZvY3VzIC5idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAxOHB4IDUwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMWExYTFhO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBTU20gQVwiLCBcIkdvdGhhbSBTU20gQlwiLCBcIkdvdGhhbVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDE0ZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjVtcyAxMjVtczsgfVxuICAgICAgICAgIC5saXN0X19saW5rOmhvdmVyIC5idXR0b246aG92ZXIsIC5saXN0X19saW5rOmFjdGl2ZSAuYnV0dG9uOmhvdmVyLCAubGlzdF9fbGluazpmb2N1cyAuYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI2LCAyNiwgMjYsIDAuOCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjYsIDI2LCAyNiwgMC44KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDI2LCAyNiwgMjYsIDAuMjUpOyB9IH1cblxuLmxpc3RfX2luZm8ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGlzdF9faW5mbyB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IDE0MHB4OyB9IH1cblxuLmxpc3RfX3RpdGxlIHtcbiAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0X190aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDMwMHB4KTsgfSB9XG5cbi5saXN0X19hY3Rpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0X19hY3Rpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBmbGV4LWJhc2lzOiAxNTBweDsgfSB9XG5cbi5tYWdfX2ludHJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tYWdfX2NvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBwYWRkaW5nOiA1MHB4IDMwcHggNjBweDtcbiAgaGVpZ2h0OiAxMDB2aDsgfVxuICAubWFnX19jb3ZlcjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjYsIDI2LCAyNiwgMCkgMCUsICMxYTFhMWEgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI2LCAyNiwgMjYsIDApIDAlLCAjMWExYTFhIDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjYsIDI2LCAyNiwgMCkgMCUsICMxYTFhMWEgMTAwJSk7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDFhMWExYScsIGVuZENvbG9yc3RyPScjMWExYTFhJyxHcmFkaWVudFR5cGU9MCApOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAubWFnX19jb3ZlciB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHggNjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzQwcHgpIHtcbiAgICAubWFnX19jb3ZlciB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDEwMHB4IDEyMHB4OyB9IH1cbiAgLm1hZ19fY292ZXIgPiBoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5tYWdfX2NvdmVyID4gaGVhZGVyIC5zY3JvbGwtYXJyb3cge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNDBweCkge1xuICAgICAgICAubWFnX19jb3ZlciA+IGhlYWRlciAuc2Nyb2xsLWFycm93IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTgwcHg7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7IH1cbiAgICAgICAgICAubWFnX19jb3ZlciA+IGhlYWRlciAuc2Nyb2xsLWFycm93ID4gLnN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcHg7IH1cbiAgICAgICAgICAgIC5tYWdfX2NvdmVyID4gaGVhZGVyIC5zY3JvbGwtYXJyb3cgPiAuc3ZnID4gKiB7XG4gICAgICAgICAgICAgIGZpbGw6ICNmZmY7IH0gfVxuICAubWFnX19jb3ZlciAubWFnX19tZXRhIHtcbiAgICBvcmRlcjogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tYWdfX2NvdmVyIC5tYWdfX21ldGEgLmVkaXRpb24ge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubWFnX19jb3ZlciAubWFnX19tZXRhIC5lZGl0aW9uIHtcbiAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgtMTAwJSk7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAubWFnX19jb3ZlciAubWFnX19tZXRhIC5lZGl0aW9uIHtcbiAgICAgICAgICBsZWZ0OiAtNDBweDsgfSB9XG4gICAgLm1hZ19fY292ZXIgLm1hZ19fbWV0YSAubWFnLWludHJvX19sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI2LCAyNiwgMjYsIDAuNzUpO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5tYWdfX2NvdmVyIC5tYWdfX21ldGEgLm1hZy1pbnRyb19fbG9nbyB7XG4gICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgICAubWFnX19jb3ZlciAubWFnX19tZXRhIC5tYWctaW50cm9fX2xvZ28gPiAuc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAubWFnX19jb3ZlciAubWFnX19jb3Zlci10aXRsZSB7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5tYWdfX2NvdmVyIC5tYWdfX2NvdmVyLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NSU7IH0gfVxuICAubWFnX19jb3ZlciAubWFnX19jdGEge1xuICAgIG9yZGVyOiAzOyB9XG5cbi5tYWdfX2ZlYXR1cmVzIHtcbiAgcGFkZGluZzogMTBweCAzMHB4IDMwcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5tYWdfX2ZlYXR1cmVzIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggNjBweCA2MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNzAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLm1hZ19fZmVhdHVyZXMge1xuICAgICAgcGFkZGluZzogOTBweCAxMDBweCAxMjBweCAwcHg7IH0gfVxuXG4ubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwiZGFya1wiXSAubWFnX19jb3Zlci10aXRsZSxcbi5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5tYWdfX21ldGEge1xuICBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC50b3BpYyBhLFxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwiZGFya1wiXSAudGl0bGUtLWFydGljbGUgYSxcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImRhcmtcIl0gLm1ldGFfX2NvbnRlbnQsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5tZXRhX19jb250ZW50IGEsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5tYWdfX25hdiBhLFxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwiZGFya1wiXSAubWFnX19uYXYgYTpob3ZlcixcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImRhcmtcIl0gLm1hZ19fbmF2IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwiZGFya1wiXSAudG9waWMgYSxcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImRhcmtcIl0gLm1ldGFfX2NvbnRlbnQgYTpob3ZlcixcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImRhcmtcIl0gLm1ldGFfX2NvbnRlbnQgYTphY3RpdmUsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5tYWdfX25hdiBhOmhvdmVyLFxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwiZGFya1wiXSAubWFnX19uYXYgYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZiAwJSwgI2ZmZiAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH0gfVxuXG4ubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLm1hZ19fY292ZXItdGl0bGUsXG4ubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLm1hZ19fbWV0YSB7XG4gIGNvbG9yOiAjMWExYTFhOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC50b3BpYyBhLFxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLnRpdGxlLS1hcnRpY2xlIGEsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWFnX19uYXYgYSxcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5tYWdfX25hdiBhOmhvdmVyLFxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLm1hZ19fbmF2IGE6YWN0aXZlLFxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLm1ldGEsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWV0YSBhIHtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLnRvcGljIGEsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWFnX19uYXYgYTpob3ZlcixcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5tYWdfX25hdiBhOmFjdGl2ZSxcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5tZXRhIGE6aG92ZXIsXG4gIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWV0YSBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzMDM0IDAlLCAjMmIzMDM0IDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuICAubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0gLm1hZ19fZmVhdHVyZWQtYXJ0aWNsZSxcbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5tYWdfX25hdiAubWVudS1pdGVtIHtcbiAgICBib3JkZXItY29sb3I6ICM1ZTYzNjc7IH1cbiAgLm1hZ19faW50cm9bZGF0YS10aGVtZT1cImxpZ2h0XCJdIC5zY3JvbGwtYXJyb3cge1xuICAgIGJvcmRlci1jb2xvcjogIzJiMzAzNDsgfVxuICAgIC5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAuc2Nyb2xsLWFycm93ID4gLnN2ZyA+ICoge1xuICAgICAgZmlsbDogIzJiMzAzNDsgfSB9XG5cbi5tYWdfX2ludHJvW2RhdGEtdGhlbWU9XCJsaWdodFwiXSAubWFnX19jb3ZlcjphZnRlciB7XG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNDAsIDI0NSwgMjQ3LCAwKSAwJSwgI2YwZjVmNyAxMDAlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI0MCwgMjQ1LCAyNDcsIDApIDAlLCAjZjBmNWY3IDEwMCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI0MCwgMjQ1LCAyNDcsIDApIDAlLCAjZjBmNWY3IDEwMCUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMWExYTFhJywgZW5kQ29sb3JzdHI9JyMxYTFhMWEnLEdyYWRpZW50VHlwZT0wICk7IH1cblxuLm1hZ19faW50cm9bZGF0YS1zdHlsZT1cIm5vLWdyYWRpZW50XCJdIC5tYWdfX2NvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tYWdfX25hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm1hZ19fbmF2IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuICAubWFnX19uYXYgLm1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubWFnX19uYXYgLm1lbnUtaXRlbSA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlM2U4ZWE7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKSwgY29sb3IgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAgICAgLm1hZ19fbmF2IC5tZW51LWl0ZW0gPiBhOmhvdmVyLCAubWFnX19uYXYgLm1lbnUtaXRlbSA+IGE6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzkxOTY5YTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAubWFnX19uYXYgLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAjMmIzMDM0OyB9XG4gICAgICAgICAgLm1hZ19fbmF2IC5tZW51LWl0ZW0gPiBhOmJlZm9yZSwgLm1hZ19fbmF2IC5tZW51LWl0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzJiMzAzNDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSg0cHgpOyB9XG4gICAgICAgICAgLm1hZ19fbmF2IC5tZW51LWl0ZW0gPiBhOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC00cHgpOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICAgLm1hZ19fbmF2IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbjogOHB4IDEwcHg7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAubWFnX19uYXYgLm1lbnUtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2M0YzljZDsgfVxuICAgICAgICAubWFnX19uYXYgLm1lbnUtaXRlbTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAubWFnX19uYXYgLm1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgICAgICAubWFnX19uYXYgLm1lbnUtaXRlbTpsYXN0LWNoaWxkIGEge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm1hZ19fZmVhdHVyZWQtYXJ0aWNsZSB7XG4gIG1hcmdpbjogMzBweCAwIDA7XG4gIHBhZGRpbmc6IDAgMCAzMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UzZThlYTsgfVxuICAubWFnX19mZWF0dXJlZC1hcnRpY2xlIC50aXRsZS0tYXJ0aWNsZSB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cblxuLmNvdW50IHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuXG4uc2VhcmNoLXRlcm0ge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5tYWctY29sdW1uIHtcbiAgcGFkZGluZzogMCAwIDMwcHg7XG4gIG1hcmdpbjogMCAwIDYwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjOWNkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1hZy1jb2x1bW4gLmNvbHVtbi10eXBlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5tYWctY29sdW1uIC5jb2x1bW4tdHlwZSBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTNweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3B4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzJiMzAzNDsgfVxuICAucHJvZ3Jlc3NfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogM3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wcm9ncmVzc19fYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzMDM0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiMzAzNDsgfVxuXG5wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIzMDM0OyB9XG5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubW9kYWwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5tb2RhbF9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgLTIwcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tb2RhbF9faW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubW9kYWxfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1MHB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm1vZGFsX19jdGEge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBmbGV4OiBub25lOyB9IH1cbiAgLm1vZGFsX19jdGEgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLm1vZGFsX19jdGEgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1vZGFsIC5jbG9zZS1tb2RhbCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICAubW9kYWwgLmNsb3NlLW1vZGFsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubW9kYWwgLmNsb3NlLW1vZGFsID4gc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1vZGFsIC5jbG9zZS1tb2RhbCB7XG4gICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgIHJpZ2h0OiAtNDBweDsgfSB9XG5cbi5jb21wYW55X19uYW1lIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5jb21wYW55X19sb2NhbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTE5NjlhO1xuICBtYXJnaW46IDA7IH1cblxuLmNvbXBhbnlfX2Rlc2Mge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudG9wLWNhdGVnb3JpZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnRvcC1jYXRlZ29yaWVzIC50b3BfX2NhdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnRvcC1jYXRlZ29yaWVzIC50b3BfX2NhdCA+IC50b3BfX2xpbmsge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiAjMmIzMDM0O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UzZThlYTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGNvbG9yIDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAgICAgLnRvcC1jYXRlZ29yaWVzIC50b3BfX2NhdCA+IC50b3BfX2xpbms6aG92ZXIsIC50b3AtY2F0ZWdvcmllcyAudG9wX19jYXQgPiAudG9wX19saW5rOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICMxYTFhMWE7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjOTE5NjlhOyB9XG4gICAgICAgIC50b3AtY2F0ZWdvcmllcyAudG9wX19jYXQgPiAudG9wX19saW5rOmJlZm9yZSwgLnRvcC1jYXRlZ29yaWVzIC50b3BfX2NhdCA+IC50b3BfX2xpbms6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzJiMzAzNDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoNHB4KTsgfVxuICAgICAgICAudG9wLWNhdGVnb3JpZXMgLnRvcF9fY2F0ID4gLnRvcF9fbGluazphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTRweCk7IH1cbiAgICAgICAgLnRvcC1jYXRlZ29yaWVzIC50b3BfX2NhdCA+IC50b3BfX2xpbmsgLmNhdC1pbWcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC50b3AtY2F0ZWdvcmllcyAudG9wX19jYXQgLmFjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtY2F0ZWdvcmllcyB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDAgLTEwcHg7IH1cbiAgICAudG9wLWNhdGVnb3JpZXMgLnRvcF9fY2F0IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoIDMzLjMzMzMzMzMzMzMlIC0gMjBweCk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzMzMlIC0gMjBweCk7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlM2U4ZWE7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgICAudG9wLWNhdGVnb3JpZXMgLnRvcF9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAudG9wLWNhdGVnb3JpZXMgLnRvcF9fbGluazphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDAlOyB9XG4gICAgICAudG9wLWNhdGVnb3JpZXMgLnRvcF9fbGluayAuY2F0LWltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC50b3AtY2F0ZWdvcmllcyAudG9wX19saW5rIC5jYXQtaW1nIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAudG9wLWNhdGVnb3JpZXMgLnRvcF9fbGluayAuY2F0LW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRvcC1jYXRlZ29yaWVzIC5jYXQtbmFtZSB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudG9wLWNhdGVnb3JpZXMgLmFjdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDIwcHg7IH1cbiAgICAudG9wLWNhdGVnb3JpZXMgLnNlY29uZGFyeS1saW5rIHtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC50b3AtY2F0ZWdvcmllcyAudG9wX19jYXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoIDIwJSAtIDIwcHgpO1xuICAgIG1heC13aWR0aDogY2FsYyggMjAlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5pbmZvLW1vZHVsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmluZm8tbW9kdWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjNGM5Y2Q7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgICB6LWluZGV4OiA1MDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTsgfVxuICAgICAgLmluZm8tbW9kdWxlLnNob3cge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgICAgIC5wYWdlLXRlbXBsYXRlLWN1c3RvbS10b3BpYy1sYW5kaW5nIC5pbmZvLW1vZHVsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5zaW5nbGUgLmluZm8tbW9kdWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5pbmZvLW1vZHVsZSA+IC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuaW5mby1tb2R1bGVfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLmluZm8tbW9kdWxlX19jdGEge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuaW5mby1tb2R1bGVfX3NuaXBwZXQge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5pbmZvLW1vZHVsZV9fc25pcHBldFtkYXRhLXdlaWdodD1cImJvbGRcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5wYWQtZm9vdGVyIC5mb290ZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7IH0gfVxuXG4udG9jIHtcbiAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwtbGVhZGluZy16ZXJvO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnRvY19faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAudG9jID4gbGkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuICAgIC50b2MgPiBsaSA+IGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNjNGM5Y2QgMCUsICNjNGM5Y2QgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi53aWtpX19oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAud2lraV9faGVhZGluZyB7XG4gICAgICBtYXJnaW46IDAgLTcwcHggMzBweDtcbiAgICAgIHBhZGRpbmc6IDAgNzBweDsgfVxuICAgICAgLndpa2lfX2hlYWRpbmc6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjMmIzMDM0IDAlLCAjMmIzMDM0IDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDsgfVxuICAgICAgLndpa2lfX2hlYWRpbmc6aG92ZXIgLmNvcHktbGluayB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH0gfVxuXG4ud2lraSAuY29weS1saW5rIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGxlZnQ6IDUwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyYjMwMzQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMTI1bXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTsgfVxuICAud2lraSAuY29weS1saW5rID4gc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDsgfVxuXG4uZmVlZGJhY2sge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMjBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZlZWRiYWNrX19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZmVlZGJhY2tfX3NuaXBwZXQge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmZlZWRiYWNrX19mb3JtIHtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGVhc2UsIG1heC1oZWlnaHQgLjNzIGVhc2UsIG9wYWNpdHkgLjNzIGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7IH1cbiAgICAuZmVlZGJhY2tfX2Zvcm1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAuZmVlZGJhY2tfX2Zvcm1bYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zcywgMHMsIDBzOyB9XG5cbi5zZXBhcmF0b3ItLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2M0YzljZDsgfVxuXG4uZ2xvc3NhcnlfX25hdiB7XG4gIHBhZGRpbmc6IDMwcHggMCAwO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5nbG9zc2FyeV9fbmF2IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAzMHB4OyB9IH1cbiAgLmdsb3NzYXJ5X19uYXYtbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gICAgaGVpZ2h0OiAxMDBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmdsb3NzYXJ5X19uYXYtbGlzdCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87IH0gfVxuICAuZ2xvc3NhcnlfX25hdi1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDJweCA1cHg7IH1cbiAgLmdsb3NzYXJ5X19uYXYtbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogIzJiMzAzNDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC5nbG9zc2FyeV9fbmF2LWxpbmsuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogI2M0YzljZDsgfVxuXG4uZ2xvc3NhcnlfX3NlY3Rpb24ge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuZ2xvc3NhcnlfX3NlY3Rpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmdsb3NzYXJ5X19zZWN0aW9uLWhlYWRpbmcge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyYjMwMzQ7XG4gICAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAuZ2xvc3NhcnlfX3NlY3Rpb24taXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgICAgICAgLmdsb3NzYXJ5X19zZWN0aW9uLWl0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmdsb3NzYXJ5X19zZWN0aW9uLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMlOyB9XG4gICAgICAgIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtOm50aC1jaGlsZCgybisxKSB7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmdsb3NzYXJ5X19zZWN0aW9uLWl0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gICAgLmdsb3NzYXJ5X19zZWN0aW9uLWl0ZW0gPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjOWNkO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSksIGNvbG9yIDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAgIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtID4gYTpob3ZlciwgLmdsb3NzYXJ5X19zZWN0aW9uLWl0ZW0gPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzkxOTY5YTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtID4gYTpiZWZvcmUsIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtID4gYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmIzMDM0O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSg0cHgpOyB9XG4gICAgICAgIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtID4gYTphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTRweCk7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5nbG9zc2FyeV9fc2VjdGlvbi1pdGVtID4gYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgICAgICAgLmdsb3NzYXJ5X19zZWN0aW9uLWl0ZW0gPiBhOmhvdmVyLCAuZ2xvc3NhcnlfX3NlY3Rpb24taXRlbSA+IGE6YWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzkxOTY5YSAwJSwgIzkxOTY5YSAxMDAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH0gfVxuXG4uYWRkdGhpc19zaGFyZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2M0YzljZDtcbiAgei1pbmRleDogNTA7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgLjE1cyBlYXNlLCBwb3NpdGlvbiAuMTVzIGVhc2U7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFkZHRoaXNfc2hhcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMjIwcHg7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgIC5hZGR0aGlzX3NoYXJlLmhpZGUge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLmFkZHRoaXNfc2hhcmUge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02NDBweCk7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuYWRkdGhpc19zaGFyZS0tbWFnLWxhbmRzY2FwZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4MTBweDsgfVxuICAgICAgICAuYWRkdGhpc19zaGFyZS0tbWFnLWxhbmRzY2FwZS5maXhlZCB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMjIwcHg7IH1cbiAgICAgIC5hZGR0aGlzX3NoYXJlLS1tYWctcG9ydHJhaXQge1xuICAgICAgICBsZWZ0OiA0MCU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxODM0cHgpIHtcbiAgICAuYWRkdGhpc19zaGFyZS0tbWFnLXBvcnRyYWl0IHtcbiAgICAgIGxlZnQ6IDczM3B4OyB9IH1cbiAgLmFkZHRoaXNfc2hhcmVfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyYjMwMzQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5hZGR0aGlzX3NoYXJlX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC5hZGR0aGlzX3NoYXJlX19jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmFkZHRoaXNfc2hhcmVfX2NvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuYWRkdGhpc19zaGFyZV9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM5MTk2OWE7IH1cbiAgICAuYWRkdGhpc19zaGFyZV9fYnV0dG9uICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuYWRkdGhpc19zaGFyZV9fYnV0dG9uOmhvdmVyLCAuYWRkdGhpc19zaGFyZV9fYnV0dG9uOmFjdGl2ZSwgLmFkZHRoaXNfc2hhcmVfX2J1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzRjOWNkOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmFkZHRoaXNfc2hhcmVfX2J1dHRvbjpob3ZlciwgLmFkZHRoaXNfc2hhcmVfX2J1dHRvbjphY3RpdmUsIC5hZGR0aGlzX3NoYXJlX19idXR0b246Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgLmFkZHRoaXNfc2hhcmVfX2J1dHRvbjpob3ZlciA+IHN2ZyA+ICosIC5hZGR0aGlzX3NoYXJlX19idXR0b246YWN0aXZlID4gc3ZnID4gKiwgLmFkZHRoaXNfc2hhcmVfX2J1dHRvbjpmb2N1cyA+IHN2ZyA+ICoge1xuICAgICAgICAgICAgZmlsbDogIzFhMWExYTsgfSB9XG4gICAgLmFkZHRoaXNfc2hhcmVfX2J1dHRvbiA+IHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7IH1cbiAgICAgIC5hZGR0aGlzX3NoYXJlX19idXR0b24gPiBzdmcgPiAqIHtcbiAgICAgICAgZmlsbDogIzVlNjM2NzsgfVxuXG4uZ2F0ZXdheV9fZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzZThlYTsgfVxuXG4ubG9hZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubG9hZGluZyAuc3Bpbm5lciB7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMnMgbGluZWFyIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5sb2FkaW5nIC5zcGlubmVyIC5wYXRoIHtcbiAgICAgIHN0cm9rZTogIzJiMzAzNDtcbiAgICAgIHN0cm9rZS1saW5lY2FwOiBzcXVhcmU7XG4gICAgICBhbmltYXRpb246IGRhc2ggMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgfVxuXG4ubG9hZC1tb3JlIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBkZi1lbWJlZCB7XG4gIGhlaWdodDogMTEwMHB4O1xuICBtYXJnaW46IDAgYXV0byAzMHB4OyB9XG4gIC5wYWdlLXRlbXBsYXRlLWN1c3RvbS1jcHRtLXRlbXBsYXRlIC5wZGYtZW1iZWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wZGYtZW1iZWQge1xuICAgICAgbWFyZ2luOiAwIC02MHB4IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnBkZi1lbWJlZCB7XG4gICAgICBtYXJnaW46IDAgLTE4MHB4IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7XG4gICAgLnBkZi1lbWJlZCB7XG4gICAgICBtYXJnaW46IDAgLTI2MHB4IDMwcHg7IH0gfVxuXG4vKiFcbiAgTW9kYWFsIC0gYWNjZXNzaWJsZSBtb2RhbHMgLSB2MC4zLjFcbiAgYnkgSHVtYWFuLCBmb3IgYWxsIGh1bWFucy5cbiAgaHR0cDovL2h1bWFhbi5jb21cbiAqL1xuLm1vZGFhbC1ub3Njcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1vZGFhbC1hY2Nlc3NpYmxlLWhpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuICAvKiBJRTYsIElFNyAqL1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubW9kYWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5tb2RhYWwtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5OTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLm1vZGFhbC13cmFwcGVyICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubW9kYWFsLXdyYXBwZXIgLm1vZGFhbC1jbG9zZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG4gIC5tb2RhYWwtd3JhcHBlci5tb2RhYWwtc3RhcnRfbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tb2RhYWwtd3JhcHBlci5tb2RhYWwtc3RhcnRfZmFkZSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAubW9kYWFsLXdyYXBwZXIgKlt0YWJpbmRleD1cIjBcIl0ge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubW9kYWFsLXdyYXBwZXIubW9kYWFsLWZ1bGxzY3JlZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1vZGFhbC1vdXRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAubW9kYWFsLWZ1bGxzY3JlZW4gLm1vZGFhbC1vdXRlci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogODBweCAyNXB4OyB9XG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ubW9kYWFsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzAwMDtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGN1cnNvcjogYXV0bzsgfVxuICAubW9kYWFsLWNvbnRhaW5lci5pc19sb2FkaW5nIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuXG4ubW9kYWFsLWNsb3NlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMjBweDtcbiAgdG9wOiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLm1vZGFhbC1jbG9zZTpmb2N1cywgLm1vZGFhbC1jbG9zZTpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLm1vZGFhbC1jbG9zZTpmb2N1czpiZWZvcmUsIC5tb2RhYWwtY2xvc2U6Zm9jdXM6YWZ0ZXIsIC5tb2RhYWwtY2xvc2U6aG92ZXI6YmVmb3JlLCAubW9kYWFsLWNsb3NlOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNiOTNkMGM7IH1cbiAgLm1vZGFhbC1jbG9zZSBzcGFuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gICAgLyogSUU2LCBJRTcgKi9cbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1vZGFhbC1jbG9zZTpiZWZvcmUsIC5tb2RhYWwtY2xvc2U6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE0cHg7XG4gICAgbGVmdDogMjNweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLm1vZGFhbC1jbG9zZTpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLm1vZGFhbC1jbG9zZTphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAubW9kYWFsLWNsb3NlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWZiN2JjO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogMTBweDsgfVxuXG4ubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMzBweDsgfVxuXG4ubW9kYWFsLWNvbmZpcm0td3JhcCB7XG4gIHBhZGRpbmc6IDMwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4ubW9kYWFsLWNvbmZpcm0tYnRuIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLm1vZGFhbC1jb25maXJtLWJ0bi5tb2RhYWwtb2sge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjNTU1O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAubW9kYWFsLWNvbmZpcm0tYnRuLm1vZGFhbC1vazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmYyZjJmOyB9XG4gIC5tb2RhYWwtY29uZmlybS1idG4ubW9kYWFsLWNhbmNlbCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubW9kYWFsLWNvbmZpcm0tYnRuLm1vZGFhbC1jYW5jZWw6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICMyZjJmMmY7IH1cblxuQGtleWZyYW1lcyBpbnN0YVJldmVhbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBpbnN0YVJldmVhbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaW5zdGFSZXZlYWwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQC1tcy1rZXlmcmFtZXMgaW5zdGFSZXZlYWwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLm1vZGFhbC1pbnN0YWdyYW0gLm1vZGFhbC1jb250YWluZXIge1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubW9kYWFsLWluc3RhZ3JhbSAubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLm1vZGFhbC1pbnN0YWdyYW0gLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciA+IGJsb2NrcXVvdGUge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuXG4ubW9kYWFsLWluc3RhZ3JhbSBpZnJhbWUge1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW46IC02cHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogODAwcHggIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb246IGluc3RhUmV2ZWFsIDFzIGxpbmVhciBmb3J3YXJkczsgfVxuXG4ubW9kYWFsLWltYWdlIC5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogMTQwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE0MHB4OyB9XG5cbi5tb2RhYWwtaW1hZ2UgLm1vZGFhbC1jb250YWluZXIge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tb2RhYWwtZ2FsbGVyeS13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4ubW9kYWFsLWdhbGxlcnktaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubW9kYWFsLWdhbGxlcnktaXRlbS5pc19hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tb2RhYWwtZ2FsbGVyeS1sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMjBweCAwIDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjsgfVxuICAubW9kYWFsLWdhbGxlcnktbGFiZWw6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cblxuLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG9wYWNpdHk6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sLmlzX2hpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2w6Zm9jdXMsIC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sOmhvdmVyIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAubW9kYWFsLWdhbGxlcnktY29udHJvbDpmb2N1czpiZWZvcmUsIC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sOmZvY3VzOmFmdGVyLCAubW9kYWFsLWdhbGxlcnktY29udHJvbDpob3ZlcjpiZWZvcmUsIC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sOmhvdmVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNhZmI3YmM7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2wgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuICAgIC8qIElFNiwgSUU3ICovXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sOmJlZm9yZSwgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2w6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogMjVweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2w6YmVmb3JlIHtcbiAgICBtYXJnaW46IC01cHggMCAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2w6YWZ0ZXIge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cblxuLm1vZGFhbC1nYWxsZXJ5LW5leHQge1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogNDBweDsgfVxuXG4ubW9kYWFsLWdhbGxlcnktcHJldiB7XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LXByZXY6YmVmb3JlLCAubW9kYWFsLWdhbGxlcnktcHJldjphZnRlciB7XG4gICAgbGVmdDogMjJweDsgfVxuICAubW9kYWFsLWdhbGxlcnktcHJldjpiZWZvcmUge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5tb2RhYWwtZ2FsbGVyeS1wcmV2OmFmdGVyIHtcbiAgICBtYXJnaW46IC01cHggMCAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4ubW9kYWFsLXZpZGVvLXdyYXAge1xuICBtYXJnaW46IGF1dG8gNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5tb2RhYWwtdmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubW9kYWFsLXZpZGVvLWNvbnRhaW5lciBpZnJhbWUsXG4gIC5tb2RhYWwtdmlkZW8tY29udGFpbmVyIG9iamVjdCxcbiAgLm1vZGFhbC12aWRlby1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLm1vZGFhbC1pZnJhbWUgLm1vZGFhbC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ubW9kYWFsLWlmcmFtZS1lbGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm1vZGFhbC12aWRlby1jb250YWluZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGhlaWdodDogNzMxcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNDBweCkge1xuICAubW9kYWFsLWltYWdlIC5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7IH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2wge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDIwcHg7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAgIC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sOmJlZm9yZSwgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2w6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAubW9kYWFsLWdhbGxlcnktbmV4dCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjBweDsgfVxuICAubW9kYWFsLWdhbGxlcnktcHJldiB7XG4gICAgbGVmdDogMjBweDtcbiAgICByaWdodDogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tb2RhYWwtaW5zdGFncmFtIGlmcmFtZSB7XG4gICAgd2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMTEwMHB4KSB7XG4gIC5tb2RhYWwtaW5zdGFncmFtIGlmcmFtZSB7XG4gICAgd2lkdGg6IDcwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMTAwMHB4KSB7XG4gIC5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cbiAgLm1vZGFhbC1pbnN0YWdyYW0gaWZyYW1lIHtcbiAgICB3aWR0aDogNjAwcHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA5MDBweCkge1xuICAubW9kYWFsLWluc3RhZ3JhbSBpZnJhbWUge1xuICAgIHdpZHRoOiA1MDBweCAhaW1wb3J0YW50OyB9XG4gIC5tb2RhYWwtdmlkZW8tY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDUxMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAubW9kYWFsLWluc3RhZ3JhbSBpZnJhbWUge1xuICAgIHdpZHRoOiAyODBweCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogODIwcHgpIHtcbiAgLm1vZGFhbC1nYWxsZXJ5LWxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMTAwcHggMCAwIC0xMDBweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjI1KTsgfVxuXG5ALW1zLWtleWZyYW1lcyBtb2RhYWwtbG9hZGluZy1zcGlubmVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IC4xO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogLjE7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAuMTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtby1rZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAuMTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lciB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAuMTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2IHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXYgPiBkaXYge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDEpID4gZGl2IHtcbiAgLW1zLWFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtby1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDBzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMHM7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXY6bnRoLW9mLXR5cGUoMikgPiBkaXYsIC5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDMpID4gZGl2IHtcbiAgLW1zLWFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtby1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDEpIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXY6bnRoLW9mLXR5cGUoMikgPiBkaXYge1xuICBhbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAuMTJzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjEycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC4xMnM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogLjEycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMTJzOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDIpIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXY6bnRoLW9mLXR5cGUoMykgPiBkaXYge1xuICBhbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjI1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMjVzOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDQpID4gZGl2LCAubW9kYWFsLWxvYWRpbmctc3Bpbm5lciA+IGRpdjpudGgtb2YtdHlwZSg1KSA+IGRpdiB7XG4gIC1tcy1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4ubW9kYWFsLWxvYWRpbmctc3Bpbm5lciA+IGRpdjpudGgtb2YtdHlwZSgzKSB7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXY6bnRoLW9mLXR5cGUoNCkgPiBkaXYge1xuICBhbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAuMzdzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjM3cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC4zN3M7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogLjM3cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuMzdzOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDQpIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTsgfVxuXG4ubW9kYWFsLWxvYWRpbmctc3Bpbm5lciA+IGRpdjpudGgtb2YtdHlwZSg1KSA+IGRpdiB7XG4gIGFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IC41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IC41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogLjVzOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDYpID4gZGl2LCAubW9kYWFsLWxvYWRpbmctc3Bpbm5lciA+IGRpdjpudGgtb2YtdHlwZSg3KSA+IGRpdiB7XG4gIC1tcy1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbW96LWFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4ubW9kYWFsLWxvYWRpbmctc3Bpbm5lciA+IGRpdjpudGgtb2YtdHlwZSg1KSB7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXY6bnRoLW9mLXR5cGUoNikgPiBkaXYge1xuICBhbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAuNjJzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjYycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC42MnM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogLjYycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuNjJzOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDYpIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDI3MGRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTsgfVxuXG4ubW9kYWFsLWxvYWRpbmctc3Bpbm5lciA+IGRpdjpudGgtb2YtdHlwZSg3KSA+IGRpdiB7XG4gIGFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tcy1hbmltYXRpb24tZGVsYXk6IC43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAuNzVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAuNzVzO1xuICBhbmltYXRpb24tZGVsYXk6IC43NXM7IH1cblxuLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgPiBkaXY6bnRoLW9mLXR5cGUoNykge1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDMxNWRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgzMTVkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMzE1ZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgzMTVkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDMxNWRlZykgdHJhbnNsYXRlKDcwcHgsIDApOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDgpID4gZGl2IHtcbiAgLW1zLWFuaW1hdGlvbjogbW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIC1tb3otYW5pbWF0aW9uOiBtb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgLXdlYmtpdC1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtby1hbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICBhbmltYXRpb246IG1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAuODdzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjg3cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC44N3M7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogLjg3cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAuODdzOyB9XG5cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyID4gZGl2Om50aC1vZi10eXBlKDgpIHtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoODRweCwgODRweCkgcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlKDcwcHgsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSg4NHB4LCA4NHB4KSByb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUoNzBweCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDg0cHgsIDg0cHgpIHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZSg3MHB4LCAwKTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDgwcHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5tb2RhYWwtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5tb2RhYWwtd3JhcHBlciAubW9kYWFsLW91dGVyLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubW9kYWFsLXdyYXBwZXIgLm1vZGFhbC1pbm5lci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAubW9kYWFsLXdyYXBwZXIgLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAubW9kYWFsLXdyYXBwZXIgLm1vZGFhbC1jbG9zZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTE5NjlhO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgdGFibGUuYnQgdGgsXG4gIHRhYmxlLmJ0IHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgdGFibGUuYnQgdGJvZHkgdGQ6bGFzdC1jaGlsZDo6YmVmb3JlLFxuICB0YWJsZS5idCB0Ym9keSB0ZDpsYXN0LWNoaWxkIC5idC1jb250ZW50IHtcbiAgICBib3JkZXItYm90dG9tOiAwLjI1cmVtIHNvbGlkICNmZmY7IH1cbiAgdGFibGUuYnQgdGhlYWQsXG4gIHRhYmxlLmJ0IHRib2R5IHRoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLmJ0IHRmb290IHRoLFxuICB0YWJsZS5idCB0Zm9vdCB0ZCxcbiAgdGFibGUuYnQgdGJvZHkgdGQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC8qIElFIDkgKi9cbiAgICBmbG9hdDogbGVmdFxcOTtcbiAgICB3aWR0aDogMTAwJVxcOTsgfVxuICB0YWJsZS5idCB0Zm9vdCB0aDo6YmVmb3JlLFxuICB0YWJsZS5idCB0Zm9vdCB0ZDo6YmVmb3JlLFxuICB0YWJsZS5idCB0Ym9keSB0ZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgICAtbXMtZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNjM2NztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDsgfVxuICB0YWJsZS5idCB0Zm9vdCB0aC5idC1oaWRlLFxuICB0YWJsZS5idCB0Zm9vdCB0ZC5idC1oaWRlLFxuICB0YWJsZS5idCB0Ym9keSB0ZC5idC1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLmJ0IHRmb290IHRoIC5idC1jb250ZW50LFxuICB0YWJsZS5idCB0Zm9vdCB0ZCAuYnQtY29udGVudCxcbiAgdGFibGUuYnQgdGJvZHkgdGQgLmJ0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbTtcbiAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI2M0YzljZDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5idC13cmFwcGVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMTkuMzc1cmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfSB9XG5cbi5sYXp5bG9hZCxcbi5sYXp5bG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxhenlsb2FkZWQge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlOyB9XG5cbi5iYWNrLXRvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCA0MHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7IH1cbiAgLmJhY2stdG86aG92ZXIgc3BhbiwgLmJhY2stdG86YWN0aXZlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzJiMzAzNCAwJSwgIzJiMzAzNCAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7IH1cbiAgLmJhY2stdG86aG92ZXIgLnN2ZyxcbiAgLmJhY2stdG86aG92ZXIgc3ZnLCAuYmFjay10bzphY3RpdmUgLnN2ZyxcbiAgLmJhY2stdG86YWN0aXZlIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpOyB9XG4gIC5iYWNrLXRvIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7IH1cbiAgLmJhY2stdG8gLnN2ZyxcbiAgLmJhY2stdG8gc3ZnIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlOyB9XG5cbi5zaWRlYmFyX19tZW51IHtcbiAgbWFyZ2luOiAwIDAgNjBweDsgfVxuICAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzVlNjM2NztcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpIGE6aG92ZXIsIC5zaWRlYmFyX19tZW51IC5maWx0ZXJfX2xpc3QgbGkgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMyYjMwMzQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpIGE6YmVmb3JlLCAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDRweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1ZTYzNjc7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSg0cHgpOyB9XG4gICAgICAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpIGE6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNHB4KTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLnNpZGViYXJfX21lbnUgLmZpbHRlcl9fbGlzdCBsaSBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpIGE6aG92ZXIsIC5zaWRlYmFyX19tZW51IC5maWx0ZXJfX2xpc3QgbGkgYTphY3RpdmUsIC5zaWRlYmFyX19tZW51IC5maWx0ZXJfX2xpc3QgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNWU2MzY3IDAlLCAjNWU2MzY3IDEwMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDFweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyNW1zIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH0gfVxuICAuc2lkZWJhcl9fbWVudSAuZmlsdGVyX19saXN0IGxpLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjMmIzMDM0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzVlNjM2NyAwJSwgIzVlNjM2NyAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjVtcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG5cbi8qKlxuICogT3dsIENhcm91c2VsIHYyLjMuNFxuICogQ29weXJpZ2h0IDIwMTMtMjAxOCBEYXZpZCBEZXV0c2NoXG4gKiBMaWNlbnNlZCB1bmRlcjogU0VFIExJQ0VOU0UgSU4gaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIG1hcmdpbjogMCBhdXRvO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqLyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGhlaWdodDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIsXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLFxuLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LFxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsXG4ub3dsLWNhcm91c2VsIC5vd2wtZG90IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG4ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcbi5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1ncmFiIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICAgKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAgICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICAgKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICAgKi9cbi5vd2wtaGVpZ2h0IHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0OyB9XG5cbi8qXG4gICAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICAgKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgLyoqXG4gICAgICAgICAgICAgIFRoaXMgaXMgaW50cm9kdWNlZCBkdWUgdG8gYSBidWcgaW4gSUUxMSB3aGVyZSBsYXp5IGxvYWRpbmcgY29tYmluZWQgd2l0aCBhdXRvaGVpZ2h0IHBsdWdpbiBjYXVzZXMgYSB3cm9uZ1xuICAgICAgICAgICAgICBjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcbiAgICAgICAgICAgKi8gfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcbiAgbWF4LWhlaWdodDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi8qXG4gICAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gICAqL1xuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10biB7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgaW5wdXQsIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIHRleHRhcmVhLCBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBwOm50aC1jaGlsZCgyKSAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qgc2VsZWN0LCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgc2VsZWN0LCBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBwOm50aC1jaGlsZCgyKSAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBzZWxlY3QsIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIHNlbGVjdCwgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdCwgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIHNlbGVjdCwgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0LCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBwOm50aC1jaGlsZCgyKSBzZWxlY3QsIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIC5mb3JtLWZpZWxkIHNlbGVjdCwgLmZvcm0tZmllbGQgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgc2VsZWN0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcGFkZGluZzogMTVweCAxMHB4OyB9XG4gICAgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgaW5wdXRbbmFtZT1cIlN1Ym1pdFwiXSwgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgdGV4dGFyZWFbbmFtZT1cIlN1Ym1pdFwiXSwgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHNlbGVjdFtuYW1lPVwiU3VibWl0XCJdLCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgc2VsZWN0W25hbWU9XCJTdWJtaXRcIl0sIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIC5naW5wdXRfY29tcGxleCAuYWRkcmVzc19jb3VudHJ5IHNlbGVjdFtuYW1lPVwiU3VibWl0XCJdLCAuZ2lucHV0X2NvbXBsZXggLmFkZHJlc3NfY291bnRyeSBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBwOm50aC1jaGlsZCgyKSBzZWxlY3RbbmFtZT1cIlN1Ym1pdFwiXSwgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgLmNsZWFyLW11bHRpIC5nZmllbGRfdGltZV9hbXBtIHNlbGVjdFtuYW1lPVwiU3VibWl0XCJdLCAuY2xlYXItbXVsdGkgLmdmaWVsZF90aW1lX2FtcG0gZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgc2VsZWN0W25hbWU9XCJTdWJtaXRcIl0sIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IHNlbGVjdFtuYW1lPVwiU3VibWl0XCJdLCAuZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCBmb3JtLnBvc3QtcGFzc3dvcmQtZm9ybSBwOm50aC1jaGlsZCgyKSBzZWxlY3RbbmFtZT1cIlN1Ym1pdFwiXSwgZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0gcDpudGgtY2hpbGQoMikgLmZvcm0tZmllbGQgc2VsZWN0W25hbWU9XCJTdWJtaXRcIl0sIC5mb3JtLWZpZWxkIGZvcm0ucG9zdC1wYXNzd29yZC1mb3JtIHA6bnRoLWNoaWxkKDIpIHNlbGVjdFtuYW1lPVwiU3VibWl0XCJdIHtcbiAgICAgIHdpZHRoOiAzMyU7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYmxvY2sge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5hbGlnbmxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuNWVtOyB9XG5cbi5hbGlnbnJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTsgfVxuXG4uYWxpZ25jZW50ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnB1c2gge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0LCAuZ2ZpZWxkLmdmb3JtX2hpZGRlbiB7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMsIC5nZmllbGQuZ2Zvcm1faGlkZGVuOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjOWNkO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjOTE5NjlhO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC4wNTQ2ODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdG9wOiA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovIH1cblxuLmdhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuXG4uZ2FsbGVyeS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAzMy4zMyU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxNi42NiU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTQuMjglOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDExLjExJTsgfVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndwLWNhcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC53cC1jYXB0aW9uIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW46IDAuODA3NWVtIDA7IH1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubm90ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmhvbWUgLnNpdGUtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5ob21lIC5jb250ZW50LW1vZHVsZSB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLmVycm9yLTQwNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZXJyb3ItNDA0IC5wYWdlX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5lcnJvci00MDQgLnBhZ2VfX2hlYWRlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lcnJvci00MDQgLnBhZ2VfX2Rlc2Mge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZXJyb3ItNDA0IC5wYWdlX19kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH0gfVxuXG5bZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIGEge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMyYjMwMzQgMCUsICMyYjMwMzQgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMXB4OyB9XG4gIFtkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gYTpob3ZlciwgW2RhdGEtY29udGVudD1cImVkaXRvclwiXSBhOmZvY3VzLCBbZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzVlNjM2NzsgfVxuICBbZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIGEgPiBpbWcge1xuICAgIGJveC1zaGFkb3c6IDBweCA1cHggMHB4ICNmZmY7IH1cblxuW2RhdGEtY29udGVudD1cImVkaXRvclwiXSBoMSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuW2RhdGEtY29udGVudD1cImVkaXRvclwiXSBoMiB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyB9XG5cbltkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gaDMsXG5bZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIGg0LFxuW2RhdGEtY29udGVudD1cImVkaXRvclwiXSBoNSB7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuXG5bZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIC5nZm9ybV9maWVsZHMgdWwsXG5bZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIC5nZm9ybV9maWVsZHMgb2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIGltZ1tjbGFzcyo9XCJhbGlnblwiXSxcbltkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gIGhlaWdodDogYXV0bztcbiAgLyogTWFrZSBzdXJlIGltYWdlcyB3aXRoIFdvcmRQcmVzcy1hZGRlZCBoZWlnaHQgYW5kIHdpZHRoID5hdHRyaWJ1dGVzIGFyZSBzY2FsZWQgY29ycmVjdGx5ICovXG4gIHdpZHRoOiBhdXRvOyB9XG5cbltkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gdGFibGUge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyOiAwOyB9XG4gIFtkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gdGFibGUgdGQsIFtkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gdGFibGUgdGgge1xuICAgIGJvcmRlcjogMDsgfVxuXG5bZGF0YS1jb250ZW50PVwiZWRpdG9yXCJdIHRhYmxlLmJvcmRlciB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2M0YzljZDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjNGM5Y2Q7IH1cbiAgW2RhdGEtY29udGVudD1cImVkaXRvclwiXSB0YWJsZS5ib3JkZXIgdGQsIFtkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0gdGFibGUuYm9yZGVyIHRoIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYzRjOWNkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzRjOWNkOyB9XG5cbi5wYWdlLXRlbXBsYXRlLWN1c3RvbS1maW5kY291cnNlcyB7XG4gIHBhZGRpbmctdG9wOiA4MHB4OyB9XG5cbmRpdltpZCQ9XCItb3B0aW5cIl0ge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGRpdltpZCQ9XCItb3B0aW5cIl0gZGl2W2NsYXNzJD1cIi1mb3JtLXdyYXBcIl0gZGl2IHNwYW4ge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyB9XG4iLCJodG1sLFxuYm9keSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbn1cbmJvZHkge1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAvLyBBbGxvdyBNb2JpbGUgRWxhc3RpY2l0eVxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAqIHtcbiAgICAgICAgLy8gU2V0IGJvcmRlci1ib3ggb24gYWxsIGVsZW1lbnRzXG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxufSIsImJvZHkge1xuICBjb2xvcjogJGJhc2UtZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiLCBcImxpZ2FcIiwgXCJwbnVtXCI7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGJhc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbiAgbGV0dGVyLXNwYWNpbmc6IGxldHRlci1zcGFjaW5nKDE2KTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGhlYWRpbmctbGluZS1oZWlnaHQ7XG4gIG1hcmdpbjogMS41ZW0gMCAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbmgxIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiByZW0oNDgpO1xuICBsZXR0ZXItc3BhY2luZzogbGV0dGVyLXNwYWNpbmcoNDgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBmb250LXNpemU6IHJlbSg2Mik7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGxldHRlci1zcGFjaW5nKDYyKTtcbiAgfVxufVxuaDIge1xuICBmb250LXNpemU6IHJlbSgzMik7XG4gIGxldHRlci1zcGFjaW5nOiBsZXR0ZXItc3BhY2luZygzMik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbGV0dGVyLXNwYWNpbmcoNDgpO1xuICB9XG59XG5oMyB7XG4gIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IGxldHRlci1zcGFjaW5nKDI4KTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIGxldHRlci1zcGFjaW5nOiBsZXR0ZXItc3BhY2luZygzMik7XG4gIH1cbn1cbmg0IHtcbiAgZm9udC1zaXplOiByZW0oMjQpO1xuICBsZXR0ZXItc3BhY2luZzogbGV0dGVyLXNwYWNpbmcoMjQpO1xuICBmb250LXdlaWdodDogNzAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGxldHRlci1zcGFjaW5nKDI4KTtcbiAgfVxufVxuaDUge1xuICBmb250LXNpemU6IHJlbSgyMSk7XG4gIGxldHRlci1zcGFjaW5nOiBsZXR0ZXItc3BhY2luZygyMSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGFwdG9wJykge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbGV0dGVyLXNwYWNpbmcoMjQpO1xuICB9XG59XG5oNiB7XG4gIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IGxldHRlci1zcGFjaW5nKDE5KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1sYXB0b3AnKSB7XG4gICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgIGxldHRlci1zcGFjaW5nOiBsZXR0ZXItc3BhY2luZygyMSk7XG4gIH1cbn1cblxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbmEge1xuICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbn1cblxuXG5ibG9ja3F1b3RlIHt9XG5jaXRlIHt9XG5cbmhyIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cbiIsIi8vIENvbG9yc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLy8gVXNhZ2U6IGNvbG9yOiBnZXQtY29sb3IoYmx1ZSk7IG9yIGNvbG9yOiBnZXQtYWNjZW50KGN5YW4pO1xuXG4vLyBjb2xvciB2YXJpYWJsZSBtYXBcbiRjb2xvcnM6IChcbiAgICBibHVlOiAgICAgICAgICAjMDA1NThjLFxuICAgIHdoaXRlOiAgICAgICAgICNmZmYsXG4gICAgYmxhY2s6ICAgICAgICAgIzFhMWExYSxcbiAgICBjaGFyY29hbDogICAgICAjMmIzMDM0LFxuICAgIGRhcmstZ3JheTogICAgICM1ZTYzNjcsXG4gICAgZ3JheTogICAgICAgICAgIzkxOTY5YSxcbiAgICBsaWdodC1ncmF5OiAgICAjYzRjOWNkLFxuICAgIGxpZ2h0ZXItZ3JheTogICNlM2U4ZWEsXG4gICAgb2ZmLXdoaXRlOiAgICAgI2YwZjVmNyxcbik7XG5cbiRhY2NlbnRzOiAoXG4gICAgcmVkOiAgICAgICAgICAgICAgICAgI2E2MTkyZSxcbiAgICBvcmFuZ2U6ICAgICAgICAgICAgICAjZjI2YTM2LFxuICAgIGNhcnJvdC1vcmFuZ2U6ICAgICAgICNmZjhmMWMsXG4gICAgZGFyay1yZWQ6ICAgICAgICAgICAgIzc2MjMyZixcbiAgICBjYXJyb3Qtb3JhbmdlLXNoYWRlOiAjYjk0NzAwLFxuICAgIHllbGxvdy1zaGFkZTogICAgICAgICNkYWFhMDAsXG4gICAgeWVsbG93OiAgICAgICAgICAgICAgI2ZjZDYwYixcbiAgICB0aS1ncmVlbjogICAgICAgICAgICAjODJjMzQxLFxuICAgIGFxdWE6ICAgICAgICAgICAgICAgICM4ZmQxYzMsXG4gICAgdGVhbDogICAgICAgICAgICAgICAgIzAwYjA5OCxcbiAgICB0ZWFsLXNoYWRlOiAgICAgICAgICAjMDA4MjY0LFxuICAgIGJyaWdodC1ibHVlOiAgICAgICAgICMwMGJjZTcsXG4gICAgdGktYmx1ZTogICAgICAgICAgICAgIzAwNTU4YyxcbiAgICBicmlnaHQtYmx1ZS1zaGFkZTogICAjMDA3MDk2LFxuICAgIHB1cnBsZTogICAgICAgICAgICAgICM2NzU2YTUsXG4gICAgYnl6YW50aW5lLXNoYWRlOiAgICAgIzc3MjU4MyxcbiAgICBieXphbnRpbmU6ICAgICAgICAgICAjOWIyNmI2LFxuKTtcblxuJHRvcGljczogKFxuICAgIGNvbXBsaWFuY2U6ICAgICAgICAgICAgICAgICAgICAgICBnZXQtYWNjZW50KHJlZCksXG4gICAgY29udGVudC1kZXZlbG9wbWVudDogICAgICAgICAgICAgIGdldC1hY2NlbnQob3JhbmdlKSxcbiAgICBkaXZlcnNpdHktZXF1aXR5LWFuZC1pbmNsdXNpb246ICAgZ2V0LWFjY2VudChkYXJrLXJlZCksXG4gICAgZS1sZWFybmluZzogICAgICAgICAgICAgICAgICAgICAgIGdldC1hY2NlbnQoY2Fycm90LW9yYW5nZSksXG4gICAgaXQtYW5kLXRlY2huaWNhbC10cmFpbmluZzogICAgICAgIGdldC1hY2NlbnQoY2Fycm90LW9yYW5nZS1zaGFkZSksXG4gICAgbGVhZGVyc2hpcDogICAgICAgICAgICAgICAgICAgICAgIGdldC1hY2NlbnQoeWVsbG93LXNoYWRlKSxcbiAgICBsZWFybmluZy10ZWNobm9sb2dpZXM6ICAgICAgICAgICAgZ2V0LWFjY2VudCh0aS1ncmVlbiksXG4gICAgbWVhc3VyZW1lbnQtYW5kLWFuYWx5dGljczogICAgICAgIGdldC1hY2NlbnQodGVhbCksXG4gICAgb3V0c291cmNpbmc6ICAgICAgICAgICAgICAgICAgICAgIGdldC1hY2NlbnQodGVhbC1zaGFkZSksXG4gICAgb25ib2FyZGluZzogICAgICAgICAgICAgICAgICAgICAgIGdldC1hY2NlbnQoYXF1YSksXG4gICAgcGVyZm9ybWFuY2UtbWFuYWdlbWVudDogICAgICAgICAgIGdldC1hY2NlbnQoYnJpZ2h0LWJsdWUpLFxuICAgIHByb2Zlc3Npb25hbC1kZXZlbG9wbWVudDogICAgICAgICBnZXQtYWNjZW50KHRpLWJsdWUpLFxuICAgIHJlbW90ZS1sZWFybmluZzogICAgICAgICAgICAgICAgICBnZXQtYWNjZW50KGJyaWdodC1ibHVlLXNoYWRlKSxcbiAgICBzYWxlczogICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0LWFjY2VudChwdXJwbGUpLFxuICAgIHN0cmF0ZWd5LWFsaWdubWVudC1hbmQtcGxhbm5pbmc6ICBnZXQtYWNjZW50KGJ5emFudGluZS1zaGFkZSksXG4gICAgd29ya2ZvcmNlLWRldmVsb3BtZW50OiAgICAgICAgICAgIGdldC1hY2NlbnQoYnl6YW50aW5lKSxcbik7XG4iLCIvLyBUeXBvZ3JhcGh5XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4kZ290aGFtOiBcIkdvdGhhbSBTU20gQVwiLCBcIkdvdGhhbSBTU20gQlwiLCBcIkdvdGhhbVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4kYmFzZS1mb250LWZhbWlseTogJGdvdGhhbTtcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiAkZ290aGFtO1xuXG4vLyBGb250IFNpemVzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4kYmFzZS1mb250LXNpemU6IHJlbSgxNik7XG4kZm9udHNpemUtcm9vdDogJGJhc2UtZm9udC1zaXplO1xuXG4vLyBMaW5lIGhlaWdodCBhbmQgbGV0dGVyIHNwYWNpbmdcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjU7XG4kaGVhZGluZy1saW5lLWhlaWdodDogMS4yNTtcblxuLy8gRm9udCBXZWlnaHRcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRiYXNlLWZvbnQtd2VpZ2h0OiAyMDA7IC8vIEdvdGhhbSBFeHRyYSBMaWdodFxuLy8gMjAwID0gRXh0cmEgTGlnaHRcbi8vIDMwMCA9IExpZ2h0XG4vLyA0MDAgPSBCb29rXG4vLyA1MDAgPSBNZWRpdW1cbi8vIDcwMCA9IEJvbGRcblxuLy8gRm9udCBDb2xvcnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRiYXNlLWZvbnQtY29sb3I6IGdldC1jb2xvcihibGFjayk7XG4kYWN0aW9uLWNvbG9yOiBnZXQtY29sb3IoYmxhY2spO1xuIiwiLy8gTGV0dGVyIFNwYWNpbmdcbi8vIFVwZGF0ZSBwaG90b3Nob3AgbGV0dGVyIHNwYWNpbmcgdmFsdWUgaW4gZW1zXG5AZnVuY3Rpb24gbGV0dGVyLXNwYWNpbmcoJHZhbCkge1xuICBAcmV0dXJuICggJHZhbCAvIDEwMDAgKSAqIC0xZW07XG59XG5cblxuLy8gSGVhZGluZ3Ncbi8vXG4vLyBRdWlja2x5IHBhc3MgQ1NTIHJ1bGVzIHRvIGhlYWRpbmdzLiBDYW4gc3BlY2lmeSByYW5nZXMuXG4vL1xuLy8gTWFya3VwOlxuLy8gLy9cbi8vIC8vIEZ1bmN0aW9uOiBIZWFkaW5nc1xuLy8gLy8gI3toZWFkaW5ncyggJGZyb20sICR0byApfSB7IC4uLiB9XG4vLyAvL1xuLy8gLy8gJGZyb206ICdudW1iZXInXG4vLyAvLyAkdG86ICAgJ251bWJlcidcbi8vIC8vXG4vLyAje2hlYWRpbmdzKDEsNil9IHtcbi8vICAgY29sb3I6IHdoaXRlO1xuLy8gfVxuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gSGVhZGluZ3NcblxuQGZ1bmN0aW9uIGhlYWRpbmdzKCRmcm9tOiAxLCAkdG86IDYpIHtcbiAgQGlmICRmcm9tID09ICR0byB7XG4gICAgQHJldHVybiAnaCN7JGZyb219JztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAnaCN7JGZyb219LCcgKyBoZWFkaW5ncygkZnJvbSsxLCAkdG8pO1xuICB9XG59XG5cbi8vLyBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIG51bWJlci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChXaXRoIFVuaXQpfSAkdmFsdWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgJGRpbWVuc2lvbjogc3RyaXAtdW5pdHMoMTBlbSk7XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAkZGltZW5zaW9uOiAxMDtcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xufVxuXG5cbi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiByZW0oJHB4dmFsKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG5cbiAgJGJhc2U6ICRlbS1iYXNlO1xuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuXG5cbi8vIEdldCBDb2xvciAmIEdldCBBY2NlbnQgQ29sb3Jcbi8vXG4vLyBSZXRyaWV2ZSBhIGNvbG9yIHZhbHVlIGZyb20gYSBTYXNzIG1hcC5cbi8vXG4vLyBNYXJrdXA6XG4vLyAvL1xuLy8gLy8gRnVuY3Rpb246IEdldCBDb2xvclxuLy8gLy8gZ2V0LWNvbG9yKCAkY29sb3IgKTtcbi8vIC8vIGdldC1hY2NlbnQoICRjb2xvciApO1xuLy8gLy9cbi8vIC8vICRjb2xvcjogJ3N0cmluZydcbi8vIC8vXG4vLyBjb2xvcjogZ2V0LWNvbG9yKG9yYW5nZSk7XG4vLyBjb2xvcjogZ2V0LWFjY2VudChvcmFuZ2UpO1xuLy9cbi8vIFN0eWxlZ3VpZGUgRnVuY3Rpb25zIC0gR2V0IENvbG9yXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRjb2xvcikge1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkY29sb3JzLCAkY29sb3IpIHtcbiAgICAkY29sb3I6IG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yKTtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvciB7XG4gICAgICBAZXJyb3IgJ0NvbG9yIG5hbWU6IGAjeyRjb2xvcn1gIG5vdCBmb3VuZC4nO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRjb2xvcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1hY2NlbnQoJGNvbG9yKSB7XG4gIFxuICBAaWYgbWFwLWhhcy1rZXkoJGFjY2VudHMsICRjb2xvcikge1xuICAgICRjb2xvcjogbWFwLWdldCgkYWNjZW50cywgJGNvbG9yKTtcbiAgfSBAZWxzZSB7XG4gICAgQGlmIHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvciB7XG4gICAgICBAZXJyb3IgJ0NvbG9yIG5hbWU6IGAjeyRjb2xvcn1gIG5vdCBmb3VuZC4nO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRjb2xvcjtcbn0iLCIvLyBNZWRpYSBRdWVyaWVzIGFuZCBCcmVha3BvaW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vXG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjJcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMVxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgbG9nKCcuLicpIHt9YCBvciBgJF86IGxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBsb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBsb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpID09ICctJztcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIEBmb3IgJGkgZnJvbSBpZigkbWludXMsIDIsIDEpIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBsb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4iLCIvLyBBbmltYXRpb25zICYgVHJhbnNpdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kYW5pbWF0aW9uLWZhc3Q6IDEyNW1zO1xuJGFuaW1hdGlvbi1hdmVyYWdlOiAyNTBtcztcbiRhbmltYXRpb24tc2xvdzogNTAwbXM7XG5cbiRiYXNlLWFuaW1hdGlvbi1zcGVlZDogJGFuaW1hdGlvbi1mYXN0O1xuJGJhc2UtYW5pbWF0aW9uLWVhc2luZzogY3ViaWMtYmV6aWVyKC43NywgMCwgLjE3NSwgMSk7XG4iLCJAa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEsIDE1MDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxuICA1MCUge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDkwLCAxNTA7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0zNTtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiA5MCwgMTUwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTI0O1xuICB9XG59XG4iLCIvLyBGb3JtXG5mb3JtIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vLyBEaXNhYmxlIHdlYmtpdCBzcGlubmVycyBmb3IgbnVtYmVyIGlucHV0c1xuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gUGxhY2Vob2xkZXIgZm9ybWF0dGluZ1xuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHsgLyogQ2hyb21lL09wZXJhL1NhZmFyaSAqL1xuICBjb2xvcjogZ2V0LWNvbG9yKGdyYXkpO1xufVxuOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6IGdldC1jb2xvcihncmF5KTtcbn1cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cbiAgY29sb3I6IGdldC1jb2xvcihncmF5KTtcbn1cbjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgY29sb3I6IGdldC1jb2xvcihncmF5KTtcbn1cblxuXG4vLyBSZXNldCBzZWFyY2ggaW5wdXRzXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblt0eXBlPVwic3VibWl0XCJdLFxuW3R5cGU9XCJidXR0b25cIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG59XG5cbmlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nLFxuICAgIGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIFRleHRhcmVhXG50ZXh0YXJlYSB7XG4gIEBleHRlbmQgaW5wdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8vIEdSQVZJVFkgRk9STSBTVFlMRVMgQkVMT1dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdyYXZpdHlGb3JtczogV3JhcHBlclxuLmdmb3JtX3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IHJlbSg2NDApO1xufVxuXG5cbi8vIEdyYXZpdHlGb3JtczogVGl0bGVcbi5nZm9ybV90aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHJlbSgzNik7XG59XG5cblxuLy8gR3Jhdml0eUZvcm1zOiBGb3JtIERlc2NyaXB0aW9uXG4uZ2Zvcm1fZGVzY3JpcHRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IHJlbSg3MikgMCByZW0oMzYpO1xuICBjb2xvcjogZ2V0LWNvbG9yKGdyYXkpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiByZW0oLTM4KTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiByZW0oNDQpO1xuICAgIGhlaWdodDogcmVtKDQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihncmF5KTtcbiAgfVxufVxuXG4vLyBHcmF2aXR5Rm9ybXM6IFNlY3Rpb24gVGl0bGVcbi5nc2VjdGlvbl90aXRsZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuXG59XG5cbi5naW5wdXRfY29udGFpbmVyX2RhdGUge1xuICB+IC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cblxuLy8gR0Zvcm0gRm9vdGVyXG4uZ2Zvcm1fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogcmVtKDM2KTtcblxuICBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cblxuLmdmb3JtX2ZpZWxkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAmLnNwYW4taGFsZiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj5sYXB0b3BcIil7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICAgICYuc3Bhbi10aGlyZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj5sYXB0b3BcIil7XG4gICAgICAgIHdpZHRoOiAzMSU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hZHZhbmNlZC1zZWFyY2hfX3NlbGVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKXtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFkdmFuY2VkLXNlYXJjaF9faW5wdXQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKXtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5nZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xufVxuLmFkdmFuY2VkLXNlYXJjaF93cmFwcGVyIHtcbiAgLmdmaWVsZCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLmdmaWVsZC5nZm9ybV9oaWRkZW4ge1xuICBAZXh0ZW5kIC5zY3JlZW4tcmVhZGVyLXRleHQ7XG59XG4uZ2ZpZWxkX3JlcXVpcmVkIHtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cblxuLy8gR3Jhdml0eUZvcm1zOiBFcnJvciBWYWxpZGF0aW9uXG4udmFsaWRhdGlvbl9lcnJvciB7XG4gIHBhZGRpbmc6IHJlbSgyMCk7XG4gIG1hcmdpbjogMCAwIHJlbSgzNik7XG4gIGJhY2tncm91bmQ6IHJnYmEoZ2V0LWFjY2VudChyZWQpLCAuMjUpO1xuICBjb2xvcjogZ2V0LWFjY2VudChyZWQpO1xuICBib3JkZXI6IDFweCBkb3R0ZWQgZ2V0LWFjY2VudChyZWQpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5cbi8vIEdyYXZpdHlGb3JtczogRGVzY3JpcHRpb25cbi5nZmllbGRfZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAmLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogZ2V0LWFjY2VudChyZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuXG4vLyBMYWJlbFxuLmdmaWVsZF9sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICBmb250LXdlaWdodDogNTAwO1xuXG4gIEBhdC1yb290IC5nZmllbGRfZXJyb3IgLmdmaWVsZF9sYWJlbCB7XG4gICAgY29sb3I6IGdldC1hY2NlbnQocmVkKTtcbiAgfVxufVxuXG5cbi8vIEdyYXZpdHlGb3JtczogSW5wdXQgQ29udGFpbmVyXG4uZ2lucHV0X2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmdmb3JtX2Ryb3BfYXJlYSB7XG4gIHBhZGRpbmc6IHJlbSgzNik7XG4gIGJvcmRlcjogcmVtKDEpIGRhc2hlZCBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxOCk7XG4gIH1cbn1cblxuXG4vLyBHcmF2aXR5Rm9ybXM6IExpc3QgQ29udGFpbmVyXG4uZ2ZpZWxkX2xpc3RfY29udGFpbmVyIHtcblxuICAuZ2ZpZWxkX2xpc3RfZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6aG92ZXIgdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdmaWVsZF9saXN0X2NlbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogcmVtKDQ0KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmbGV4LWdyb3c6IDI7XG4gIH1cbiAgLmdmaWVsZF9saXN0X2ljb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiByZW0oNDQpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0oOSk7XG4gICAgfVxuICAgIGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtKDE4KTtcbiAgICB9XG4gIH1cblxufVxuXG5cbi8vIEdyYXZpdHlGb3JtczogQ29tcGxleC9BZGRyZXNzIGFuZCBDb21wbGV4L05hbWVcbi5naW5wdXRfY29tcGxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiByZW0oOSk7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgfVxuXG4gIC8vIHNpemVzXG4gIC5naW5wdXRfZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmdpbnB1dF9sZWZ0LFxuICAubmFtZV9maXJzdCxcbiAgLmdpbnB1dF9yaWdodCxcbiAgLm5hbWVfbGFzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAvLyBhZGRyZXNzIGNvdW50cnlcbiAgLmFkZHJlc3NfY291bnRyeSB7XG4gICAgQGV4dGVuZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Q7XG4gIH1cblxufVxuXG5cbi8vIEdyYXZpdHlGb3JtczogVGltZVxuLmNsZWFyLW11bHRpIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBsYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDkpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKGdyYXkpO1xuICB9XG5cbiAgaSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDcpO1xuICAgIHJpZ2h0OiByZW0oLTEyKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cblxuICA+IGRpdiB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbSgyNCk7XG4gIH1cbiAgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLmdpbnB1dF9jb250YWluZXJfdGltZSB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlucHV0LCBzZWxlY3Qge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogcmVtKDUpO1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IHJlbSgtMzBweCk7XG4gICAgICBsZWZ0OiByZW0oMTgpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nZmllbGRfdGltZV9hbXBtIHtcbiAgICBAZXh0ZW5kIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdDtcbiAgfVxufVxuXG5cbi8vIEdyYXZpdHlGb3JtczogQ2xlYXJmaXhcbi5nZl9jbGVhciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBJbnB1dHNcbi5naW5wdXRfY29udGFpbmVyIGlucHV0IHtcblxuICAuZ2ZpZWxkX2Vycm9yICYge1xuICAgIGJvcmRlci1jb2xvcjogZ2V0LWFjY2VudChyZWQpO1xuICB9XG59XG5cblxuLy8gU2VsZWN0XG4uZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfZG93bi1hcnJvdy5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjBweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgQGV4dGVuZCBpbnB1dDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgb3B0aW9uIHt9XG59XG5cblxuLy8gTXVsdGkgU2VsZWN0XG4uZ2lucHV0X2NvbnRhaW5lcl9tdWx0aXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBzZWxlY3Qge1xuICAgIEBleHRlbmQgaW5wdXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBvcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbn1cblxuXG4vLyBSYWRpb3Ncbi5nZmllbGRfcmFkaW8ge1xuICB3aWR0aDogMTAwJTtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIEBpbmNsdWRlIGhpZGUtb2ZmLXNjcmVlbjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICArIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNjBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbSgyNCk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfc2VsZWN0aW9uLnN2Zyk7XG4gICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgIH1cbiAgICArIGxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCByZW0oNCkgcmdiYShnZXQtY29sb3IobGlnaHQtZ3JheSksIC41KTtcbiAgICB9XG4gICAgKyBsYWJlbDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7fVxuICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWFjY2VudChjeWFuKTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoZ2V0LWFjY2VudChjeWFuKSwgLjEpO1xuICAgIH1cbiAgICAmOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogdXJsKC4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9zZWxlY3Rpb24tcmFkaW8uc3ZnKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHt9XG4gICAgJjpmb2N1cyArIGxhYmVsIHt9XG4gICAgJjpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLmdmaWVsZF9jaGVja2JveCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gIH1cblxuICBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBAaW5jbHVkZSBoaWRlLW9mZi1zY3JlZW47XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgKyBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA2MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtKDE2KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB1cmwoLi4vYXNzZXRzL2ltZy9pY29ucy9pX3NlbGVjdGlvbi5zdmcpO1xuICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICB9XG4gICAgKyBsYWJlbDpob3ZlcjpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgcmVtKDQpIHJnYmEoZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpLCAuNSk7XG4gICAgfVxuICAgICsgbGFiZWw6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQge31cbiAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBib3JkZXItY29sb3I6IGdldC1hY2NlbnQoY3lhbik7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKGdldC1hY2NlbnQoY3lhbiksIC4xKTtcbiAgICB9XG4gICAgJjpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfc2VsZWN0aW9uLWNoZWNrLnN2Zyk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7fVxuICAgICY6Zm9jdXMgKyBsYWJlbCB7fVxuICAgICY6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIFBBUkRPVCBGT1JNIFNUWUxFUyBCRUxPV1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5mb3JtIC5lcnJvcnMge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMi4yNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKGdldC1hY2NlbnQocmVkKSwgLjI1KTtcbiAgICBjb2xvcjogI2YyNmEzNjtcbiAgICBib3JkZXI6IDFweCBkb3R0ZWQgZ2V0LWFjY2VudChyZWQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5mb3JtIC5lcnJvciB7XG4gICAgY29sb3I6IGdldC1hY2NlbnQocmVkKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZm9ybS1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgOXB4O1xuICAgICYucGQtY2hlY2tib3gge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuXG4gICAgKiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICM1ZTYzNjc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5lbWFpbCwgJi5wZC1lbWFpbCB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENoZWNrYm94IHdyYXBwZXJzXG4gICAgJi5wZC1jaGVja2JveCAudmFsdWUge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIENoZWNrYm94ZXMgKHNhbWUgYXMgR2Zvcm1zKVxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtb2ZmLXNjcmVlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNjBweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgfVxuICAgICAgICArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogdXJsKC4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9zZWxlY3Rpb24uc3ZnKTtcbiAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgKyBsYWJlbDpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIHJlbSg0KSByZ2JhKGdldC1jb2xvcihsaWdodC1ncmF5KSwgLjUpO1xuICAgICAgICB9XG4gICAgICAgICsgbGFiZWw6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge31cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWFjY2VudChjeWFuKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKGdldC1hY2NlbnQoY3lhbiksIC4xKTtcbiAgICAgICAgfVxuICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfc2VsZWN0aW9uLWNoZWNrLnN2Zyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSYWRpbyB3cmFwcGVyc1xuICAgICYucGQtcmFkaW8gLnZhbHVlIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtb2ZmLXNjcmVlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA2MHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogdXJsKC4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9zZWxlY3Rpb24uc3ZnKTtcbiAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgKyBsYWJlbDpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIHJlbSg0KSByZ2JhKGdldC1jb2xvcihsaWdodC1ncmF5KSwgLjUpO1xuICAgICAgICB9XG4gICAgICAgICsgbGFiZWw6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmNoZWNrZWQge31cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWFjY2VudChjeWFuKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKGdldC1hY2NlbnQoY3lhbiksIC4xKTtcbiAgICAgICAgfVxuICAgICAgICAmOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybCguLi9hc3NldHMvaW1nL2ljb25zL2lfc2VsZWN0aW9uLXJhZGlvLnN2Zyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWxlY3QgZHJvcGRvd25zXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGV4dGVuZCBpbnB1dDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgIH1cblxuICAgIC5zdWJtaXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCk7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGbGV4Ym94IEdyaWQgTWl4aW5zXG4vLyBWZXJzaW9uIDAuMS4zXG4vLyBEZXNjcmlwdGlvbjogU2FzcyBNaXhpbnMgdG8gZ2VuZXJhdGUgRmxleGJveCBncmlkXG4vLyBBdXRob3I6IHRoaW5nc3ltXG4vLyBHaXRIdWI6IGh0dHBzOi8vZ2l0aHViLmNvbS90aGluZ3N5bS9mbGV4Ym94LWdyaWQtbWl4aW5zXG4vLyBNSVQgTGljZW5zZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AY2hhcnNldCAndXRmLTgnO1xuXG5AbWl4aW4gZ3JpZCgkZGlzcGxheTogZmxleCwgJGZsZXgtZGlyZWN0aW9uOiBudWxsLCAkZmxleC13cmFwOiB3cmFwLCAkZmxleC1mbG93OiBudWxsLCAkanVzdGlmeS1jb250ZW50OiBudWxsLCAkYWxpZ24taXRlbXM6IG51bGwsICRhbGlnbi1jb250ZW50OiBudWxsLCAkZ3V0dGVyOiAxZW0sICRncmlkLXR5cGU6IHNrZWxldG9uKVxue1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIEBpZiAkZGlzcGxheSB7XG4gICAgZGlzcGxheTogJGRpc3BsYXk7XG4gIH1cblxuICBAaWYgJGZsZXgtZGlyZWN0aW9uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogJGZsZXgtZGlyZWN0aW9uO1xuICB9XG4gIEBpZiAkZmxleC13cmFwIHtcbiAgICBmbGV4LXdyYXA6ICRmbGV4LXdyYXA7XG4gIH1cblxuICBAaWYgJGZsZXgtZmxvdyB7XG4gICAgZmxleC1mbG93OiAkZmxleC1mbG93O1xuICB9XG5cbiAgQGlmICRqdXN0aWZ5LWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogJGp1c3RpZnktY29udGVudDtcbiAgfVxuICBAaWYgJGFsaWduLWl0ZW1zIHtcbiAgICBhbGlnbi1pdGVtczogJGFsaWduLWl0ZW1zO1xuICB9XG4gIEBpZiAkYWxpZ24tY29udGVudCB7XG4gICAgYWxpZ24tY29udGVudDogJGFsaWduLWNvbnRlbnQ7XG4gIH1cblxuICBAaWYgJGdyaWQtdHlwZSA9PSBza2VsZXRvbiB7XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1tYXJnaW4oJG1hcmdpbjogMCAkZ3V0dGVyIC8gMiAqIC0xKTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGdyaWQtY29sKCRjb2w6IG51bGwsICRncmlkLWNvbHVtbnM6IDEyLCAkY29sLW9mZnNldDogbnVsbCwgJGd1dHRlcjogMWVtLCAkY29uZGVuc2VkOiBmYWxzZSwgJGFsaWduLXNlbGY6IG51bGwsICRmbGV4LWdyb3c6IDAsICRmbGV4LXNocmluazogMSwgJGZsZXgtYmFzaXM6IGF1dG8sICRvcmRlcjogbnVsbCwgJGdyaWQtdHlwZTogc2tlbGV0b24sICRsYXN0LWNoaWxkOiBmYWxzZSlcbntcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICBAaWYgdHlwZS1vZigkY29sKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRjb2wpID09IHRydWUge1xuICAgICRmbGV4LWdyb3c6IDA7XG4gICAgJGZsZXgtc2hyaW5rOiAwO1xuICAgICRmbGV4LWJhc2lzOiBwZXJjZW50YWdlKCRjb2wgLyAkZ3JpZC1jb2x1bW5zKTtcblxuICAgIEBpZiAkZ3JpZC10eXBlID09IHNrZWxldG9uIHtcbiAgICAgIEBpZiAkZ3V0dGVyIGFuZCB1bml0KCRndXR0ZXIpID09ICclJyB7XG4gICAgICAgICRmbGV4LWJhc2lzOiAkZmxleC1iYXNpcyAtICRndXR0ZXI7XG4gICAgICB9IEBlbHNlIGlmICRndXR0ZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXIpID09IGZhbHNlIHtcbiAgICAgICAgJGZsZXgtYmFzaXM6IGNhbGMoICN7JGZsZXgtYmFzaXN9IC0gI3skZ3V0dGVyfSk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIGlmICRncmlkLXR5cGUgPT0gbWFyZ2luLW9mZnNldCB7XG4gICAgICBAaWYgJGd1dHRlciBhbmQgdW5pdCgkZ3V0dGVyKSA9PSAnJScge1xuICAgICAgICAkZmxleC1iYXNpczogKDEwMCUgLSAoJGd1dHRlciAqICgkZ3JpZC1jb2x1bW5zIC8gJGNvbCAtIDEpKSkgLyAoJGdyaWQtY29sdW1ucyAvICRjb2wpO1xuICAgICAgfSBAZWxzZSBpZiAkZ3V0dGVyIGFuZCB1bml0bGVzcygkZ3V0dGVyKSA9PSBmYWxzZSB7XG4gICAgICAgICRmbGV4LWJhc2lzOiBjYWxjKCAjeyRmbGV4LWJhc2lzfSAtICN7JGd1dHRlciAqICgkZ3JpZC1jb2x1bW5zIC8gJGNvbCAtIDEpIC8gKCRncmlkLWNvbHVtbnMgLyAkY29sKX0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkY29sLW9mZnNldCBhbmQgdW5pdCgkY29sLW9mZnNldCkgPT0gJyUnIHtcbiAgICAgICRmbGV4LWJhc2lzOiAkZmxleC1iYXNpcyArICRjb2wtb2Zmc2V0O1xuICAgIH0gQGVsc2UgaWYgJGNvbC1vZmZzZXQgYW5kIHVuaXRsZXNzKCRjb2wtb2Zmc2V0KSA9PSBmYWxzZSB7XG4gICAgICAkZmxleC1iYXNpczogY2FsYyggI3skZmxleC1iYXNpc30gKyAjeyRjb2wtb2Zmc2V0fSk7XG4gICAgfVxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkY29sKSA9PSBmYWxzZSB7XG4gICAgJGZsZXgtZ3JvdzogMDtcbiAgICAkZmxleC1zaHJpbms6IDA7XG4gICAgJGZsZXgtYmFzaXM6ICRjb2w7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ2F1dG8nIHtcbiAgICAkZmxleC1ncm93OiAxO1xuICAgICRmbGV4LXNocmluazogMTtcbiAgICAkZmxleC1iYXNpczogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gIC8vIGZsZXg6IDE7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ2VxdWFsJyB7XG4gICAgJGZsZXgtZ3JvdzogMTtcbiAgICAkZmxleC1zaHJpbms6IDE7XG4gICAgJGZsZXgtYmFzaXM6IDA7XG4gIC8vIGZsZXg6IG5vbmU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ25vbmUnIHtcbiAgICAkZmxleC1ncm93OiAwO1xuICAgICRmbGV4LXNocmluazogMDtcbiAgICAkZmxleC1iYXNpczogYXV0bztcbiAgLy8gZmxleDogaW5pdGlhbDtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRjb2wpID09IHN0cmluZyBhbmQgJGNvbCA9PSAnaW5pdGlhbCcge1xuICAgICRmbGV4LWdyb3c6IDA7XG4gICAgJGZsZXgtc2hyaW5rOiAxO1xuICAgICRmbGV4LWJhc2lzOiBhdXRvO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gc3RyaW5nIGFuZCAkY29sID09ICdicmVha3BvaW50JyB7XG4gICAgJGZsZXgtZ3JvdzogMDtcbiAgICAkZmxleC1zaHJpbms6IDE7XG4gICAgJGZsZXgtYmFzaXM6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBmbGV4LWdyb3c6ICRmbGV4LWdyb3c7XG4gIGZsZXgtc2hyaW5rOiAkZmxleC1zaHJpbms7XG4gIGZsZXgtYmFzaXM6ICRmbGV4LWJhc2lzO1xuICBtYXgtd2lkdGg6ICRmbGV4LWJhc2lzO1xuXG4gIEBpZiAkYWxpZ24tc2VsZiB7XG4gICAgYWxpZ24tc2VsZjogJGFsaWduLXNlbGY7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkb3JkZXIpID09IG51bWJlciB7XG4gICAgb3JkZXI6ICRvcmRlcjtcbiAgfVxuXG4gIEBpZiAkZ3V0dGVyIGFuZCB1bml0bGVzcygkZ3V0dGVyKSA9PSBmYWxzZSB7XG4gICAgQGlmICRncmlkLXR5cGUgPT0gc2tlbGV0b24ge1xuICAgICAgQGlmICRjb25kZW5zZWQgPT0gdHJ1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW1hcmdpbigkbWFyZ2luOiAwICRndXR0ZXIgLyAyKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1tYXJnaW4oJG1hcmdpbjogMCAkZ3V0dGVyIC8gMiAkZ3V0dGVyKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRncmlkLXR5cGUgPT0gbWFyZ2luLW9mZnNldCB7XG4gICAgICBAaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ2JyZWFrcG9pbnQnIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtbWFyZ2luKCRtYXJnaW4tcmlnaHQ6IDApO1xuICAgICAgfSBAZWxzZSBpZiAkbGFzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW1hcmdpbigkbWFyZ2luLXJpZ2h0OiAwKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1tYXJnaW4oJG1hcmdpbi1yaWdodDogJGd1dHRlcik7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29uZGVuc2VkID09IGZhbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtbWFyZ2luKCRtYXJnaW4tYm90dG9tOiAkZ3V0dGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuQG1peGluIGdyaWQtbWFyZ2luKCRtYXJnaW46IG51bGwsICRtYXJnaW4tdG9wOiBudWxsLCAkbWFyZ2luLXJpZ2h0OiBudWxsLCAkbWFyZ2luLWJvdHRvbTogbnVsbCwgJG1hcmdpbi1sZWZ0OiBudWxsKVxue1xuICBAaWYgJG1hcmdpbiAhPSBudWxsIHtcbiAgICBtYXJnaW46ICRtYXJnaW47XG4gIH1cbiAgQGlmICRtYXJnaW4tdG9wICE9IG51bGwge1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICB9XG4gIEBpZiAkbWFyZ2luLWJvdHRvbSAhPSBudWxsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcbiAgfVxuICBAaWYgJG1hcmdpbi1sZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gIH1cbiAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXJpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBncmlkLWNvbC1tYXJnaW4oJG1hcmdpbjogbnVsbCwgJG1hcmdpbi10b3A6IG51bGwsICRtYXJnaW4tcmlnaHQ6IG51bGwsICRtYXJnaW4tYm90dG9tOiBudWxsLCAkbWFyZ2luLWxlZnQ6IG51bGwpXG57XG4gIEBpbmNsdWRlIGdyaWQtbWFyZ2luKCRtYXJnaW4sICRtYXJnaW4tdG9wLCAkbWFyZ2luLXJpZ2h0LCAkbWFyZ2luLWJvdHRvbSwgJG1hcmdpbi1sZWZ0KTtcbn1cblxuXG5cbkBtaXhpbiBidXR0b24oXG4gICAgJGJ0bi1iZy1jb2xvcjogZ2V0LWNvbG9yKGJsYWNrKSxcbiAgICAkYnRuLWJnLWNvbG9yLWhvdmVyOiBnZXQtY29sb3IoY2hhcmNvYWwpLFxuICAgICRidG4tdGV4dC1jb2xvcjogZ2V0LWNvbG9yKHdoaXRlKSxcbiAgICAkYnRuLXRleHQtY29sb3ItaG92ZXI6IGdldC1jb2xvcih3aGl0ZSksXG4gICAgJGJ0bi1ib3JkZXI6IG51bGwsXG4gICAgJGJ0bi1ib3JkZXItY29sb3I6IG51bGwsXG4gICAgJGJ0bi1ib3JkZXItY29sb3ItaG92ZXI6IG51bGwsXG4gICAgJGJ0bi1ib3JkZXItcmFkaXVzOiAyNXB4LFxuICAgICRidG4tYm94LXNoYWRvdzogbm9uZSxcbiAgICAkYnRuLWJveC1zaGFkb3ctaG92ZXI6IHJnYmEoZ2V0LWNvbG9yKGJsYWNrKSwgLjI1KSxcbiAgICAkZGlzYWJsZWQ6IGZhbHNlKSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMThweCA1MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tYmctY29sb3I7XG4gICAgQGlmICRidG4tYm9yZGVyID09IG51bGwge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm9yZGVyOiAkYnRuLWJvcmRlcjtcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYnRuLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93O1xuICAgIGNvbG9yOiAkYnRuLXRleHQtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiBsZXR0ZXItc3BhY2luZygxNCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLXNwZWVkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYnRuLXRleHQtY29sb3ItaG92ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidG4tYmctY29sb3ItaG92ZXI7XG5cbiAgICAgICAgQGlmICRidG4tYm9yZGVyICE9IDAge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnRuLWJvcmRlci1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiAkYnRuLWJveC1zaGFkb3ctaG92ZXIgIT0gbnVsbCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggJGJ0bi1ib3gtc2hhZG93LWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBSZXNldCBCdXR0b25cbi8vXG4vLyBaZXJvIG91dCBidXR0b24gcHJvcGVydGllcy5cblxuQG1peGluIHJlc2V0LWJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi8vIEhpZGUgT2ZmIFNjcmVlblxuLy9cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgb2ZmLXNjcmVlbiBmb3Igc2NyZWVuLXJlYWRlcnMuXG5cbkBtaXhpbiBoaWRlLW9mZi1zY3JlZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xMDAwMHB4O1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5IGNlbnRlcmVkXG4vLyBVc2FnZTogQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuLy8gTm90ZTogcGFyZW50IGVsZW1lbnQgc2hvdWxkIHVzZSBwb3NpdGlvbjogcmVsYXRpdmU7XG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgdmVydGljYWxseSBjZW50ZXJlZFxuLy8gVXNhZ2U6IEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbi8vIE5vdGU6IHBhcmVudCBlbGVtZW50IHNob3VsZCB1c2UgcG9zaXRpb246IHJlbGF0aXZlO1xuQG1peGluIHZlcnRpY2FsLWNlbnRlcigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5cbi8vIFBvc2l0aW9uIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGNlbnRlcmVkXG4vLyBVc2FnZTogQGluY2x1ZGUgaG9yaXpvbnRhbC1jZW50ZXI7XG4vLyBOb3RlOiBwYXJlbnQgZWxlbWVudCBzaG91bGQgdXNlIHBvc2l0aW9uOiByZWxhdGl2ZTtcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlcigpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8gQ29sdW1uIGJvcmRlcnMgaW4gdGhlIGd1dHRlcnMgb24gZ3JpZFxuQG1peGluIGd1dHRlci1ib3JkZXIgKCAkbGVmdDogLTEwcHggKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgYm90dG9tOiAzMHB4O1xuICBsZWZ0OiAkbGVmdDtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG59XG5cbi8vIEZpbGwgaW4gR3V0dGVyIEdhcCBvbiBHcmlkc1xuQG1peGluIGd1dHRlci1nYXAoICR3aWR0aDogMjBweCApIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXB4O1xuICByaWdodDogY2FsYygxMDAlIC0gMXB4KTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IGdldC1jb2xvcihsaWdodGVyLWdyYXkpO1xufVxuXG4vLyBTcGVjaWFsIFVuZGVybGluZSBmb3IgaW5saW5lIGVsZW1lbnRzIChiZXR0ZXIgdGhhbiB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSlcbkBtaXhpbiB1bmRlcmxpbmUoICRiZ2NvbG9yOiBnZXQtY29sb3IoY2hhcmNvYWwpICkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRiZ2NvbG9yIDAlLCAkYmdjb2xvciAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxcHg7XG59XG5cbi8vIFF1YW50aXR5IFF1ZXJpZXNcbi8vIENvcGllZCBmcm9tOiBodHRwOi8vY29kZXBlbi5pby9TaXRlUG9pbnQvcGVuL29nYVJCR1xuQG1peGluIHF1YW50aXR5LXF1ZXJ5KCAkbnVtYmVyLCAkY29tcGFyaXNvbjogJ2VxdWFsJyApIHtcbiAgJG50aDogJyc7XG5cbiAgQGlmIGluZGV4KCAoJ2dyZWF0ZXInICdtb3JlJyAnPicpLCAkY29tcGFyaXNvbiApIHtcbiAgICAkbnRoOiAnbiArICN7JG51bWJlcn0nO1xuICB9IEBlbHNlIGlmIGluZGV4KCAoJ2xlc3MnICdmZXdlcicgJzwnKSwgJGNvbXBhcmlzb24gKSB7XG4gICAgJG50aDogJy1uICsgI3skbnVtYmVyfSc7XG4gIH0gQGVsc2UgaWYgaW5kZXgoICgnZXF1YWwnICdzYW1lJyAnPScpLCAkY29tcGFyaXNvbiApIHtcbiAgICAkbnRoOiAkbnVtYmVyO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIlNvcnJ5LCB0aGF0J3MgYW4gaW52YWxpZCAkY29tcGFyaXNvbiB2YWx1ZS5cIlxuICB9XG5cbiAgJjpudGgtbGFzdC1jaGlsZCgjeyRudGh9KTpmaXJzdC1jaGlsZCB7XG4gICAgJixcbiAgICAmIH4gKiB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHFxLWVxdWFsKCAkbnVtYmVyICkge1xuICBAaW5jbHVkZSBxdWFudGl0eS1xdWVyeSggJG51bWJlciwgZXF1YWwgKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHFxLWdyZWF0ZXIoICRudW1iZXIgKSB7XG4gIEBpbmNsdWRlIHF1YW50aXR5LXF1ZXJ5KCAkbnVtYmVyLCBncmVhdGVyICkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBxcS1sZXNzKCAkbnVtYmVyICkge1xuICBAaW5jbHVkZSBxdWFudGl0eS1xdWVyeSggJG51bWJlciwgbGVzcyApIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gTGlzdHNcbi8vXG4vLyBFbGVtZW50IHRoYXQgZ3JvdXBzIHJlbGF0ZWQgY29udGVudCB0b2dldGhlci4gVGhleSdyZSBwYXJ0IG9mIGV2ZXJ5ZGF5IGxpZmUgYW5kIGNvbWUgaW4gbXVsdGlwbGUgZm9ybWF0cy5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gTGlzdHNcblxudWwsXG5vbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gICYlZGVmYXVsdC11bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJGJhc2Utc3BhY2luZztcbiAgfVxuXG4gICYlZGVmYXVsdC1vbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJGJhc2Utc3BhY2luZztcbiAgfVxufVxuXG4vLyBVbm9yZGVyZWQgTGlzdHNcbi8vXG4vLyBUaGUgdWwgZWxlbWVudCwgdGhlIG5hbWUgZm9yIHdoaWNoIGlzIGFuIGFiYnJldmlhdGlvbiBvZiB1bm9yZGVyZWQgbGlzdCwgaXMgdXNlZCB0byBncm91cCBhIGNvbGxlY3Rpb24gb2YgaXRlbXMgdG9nZXRoZXIgaW4gYSBsaXN0LCBidXQgaW4gYSB3YXkgdGhhdCBkb2VzbuKAmXQgc3VnZ2VzdCBhbiBvcmRlciBvZiBwcmVjZWRlbmNlIG9yIGltcG9ydGFuY2UuXG4vL1xuLy8gTWFya3VwOlxuLy8gPHVsPlxuLy8gICAgIDxsaT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDwvbGk+XG4vLyAgICAgPGxpPkNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdDwvbGk+XG4vLyAgICAgPGxpPkludGVnZXIgbW9sZXN0aWUgbG9yZW0gYXQgbWFzc2E8L2xpPlxuLy8gPC91bD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gTGlzdHMgLSBVbm9yZGVyZWQgTGlzdHNcblxudWwge31cblxuXG4vLyBPcmRlcmVkIExpc3RzXG4vL1xuLy8gVGhlIG9sIGVsZW1lbnQgaXMgc2ltaWxhciB0byB0aGUgdWwgZWxlbWVudCBpbiB0aGF0IGl04oCZcyB1c2VkIHRvIGdyb3VwIGEgY29sbGVjdGlvbiBvZiBpdGVtcyB0b2dldGhlciBpbiBhIGxpc3QuXG4vL1xuLy8gTWFya3VwOlxuLy8gPG9sPlxuLy8gICAgIDxsaT5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDwvbGk+XG4vLyAgICAgPGxpPkNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdDwvbGk+XG4vLyAgICAgPGxpPkludGVnZXIgbW9sZXN0aWUgbG9yZW0gYXQgbWFzc2E8L2xpPlxuLy8gPC9vbD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gTGlzdHMgLSBPcmRlcmVkIExpc3RzXG5cbm9sIHt9XG5cblxuLy8gRGVmaW5pdGlvbiBMaXN0c1xuLy9cbi8vIElmIHlvdSB3YW50IHRvIGxpc3QgYSBzZXJpZXMgb2YgaXRlbXMgdGhhdCBlc3NlbnRpYWxseSBoYXZlIGEgdGl0bGUgYW5kIGEgZGVzY3JpcHRpb24gb2Ygc29tZSBraW5kICh0aGF0IGlzLCBlYWNoIGl0ZW0gaGFzIHR3byBwYXJ0cyksIHVzZSB0aGUgZGVmaW5pdGlvbiBsaXN0IGRsIGVsZW1lbnQuXG4vL1xuLy8gTWFya3VwOlxuLy8gPGRsPlxuLy8gICAgIDxkdD5EZWZpbml0aW9uIExpc3Q8L2R0PlxuLy8gICAgIDxkZD5BIG51bWJlciBvZiBjb25uZWN0ZWQgaXRlbXMgb3IgbmFtZXMgd3JpdHRlbiBvciBwcmludGVkIGNvbnNlY3V0aXZlbHksIHR5cGljYWxseSBvbmUgYmVsb3cgdGhlIG90aGVyLjwvZGQ+XG4vLyAgICAgPGR0PlRoaXMgaXMgYSB0ZXJtLjwvZHQ+XG4vLyAgICAgPGRkPlRoaXMgaXMgdGhlIGRlZmluaXRpb24gb2YgdGhhdCB0ZXJtLCB3aGljaCBib3RoIGxpdmUgaW4gYSBkbC48L2RkPlxuLy8gICAgIDxkdD5IZXJlIGlzIGFub3RoZXIgdGVybS48L2R0PlxuLy8gICAgIDxkZD5BbmQgaXQgZ2V0cyBhIGRlZmluaXRpb24gdG9vLCB3aGljaCBpcyB0aGlzIGxpbmUuPC9kZD5cbi8vICAgICA8ZHQ+SGVyZSBpcyB0ZXJtIHRoYXQgc2hhcmVzIGEgZGVmaW5pdGlvbiB3aXRoIHRoZSB0ZXJtIGJlbG93LjwvZHQ+XG4vLyAgICAgPGRkPkFuZCBpdCBnZXRzIGEgZGVmaW5pdGlvbiB0b28sIHdoaWNoIGlzIHRoaXMgbGluZS48L2RkPlxuLy8gPC9kbD5cbi8vXG4vLyBTdHlsZWd1aWRlIEVsZW1lbnRzIC0gTGlzdHMgLSBEZWZpbml0aW9uIExpc3RzXG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi10b3A6ICRzbWFsbC1zcGFjaW5nO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLy8gT3RoZXIgU2l6ZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRiYXNlLWJvcmRlci1yYWRpdXM6IDBweDtcbiRiYXNlLXNwYWNpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0ICogMWVtO1xuJHNtYWxsLXNwYWNpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuXG4vLyBCb3JkZXJcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRiYXNlLWJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4kYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4kYmFzZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuJHNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCRiYXNlLWJvcmRlci1jb2xvciwgNzUlKTtcblxuLy8gRm9ybXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiRmb3JtLWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDNweCByZ2JhKCMwMDAsIDAuMDYpO1xuJGZvcm0tYm94LXNoYWRvdy1mb2N1czogJGZvcm0tYm94LXNoYWRvdywgMCAwIDVweCByZ2JhKCRhY3Rpb24tY29sb3IsIC43KTsiLCJpbWcsXG5waWN0dXJlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5pZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbnZpZGVvIHt9XG4iLCJ0YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcInRudW1cIjtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbn1cblxudGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG50ZCB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgcGFkZGluZzogMTBweDtcbn1cblxudHIsXG50ZCxcbnRoIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsIi5oZWFkZXItY29udGFpbmVyLFxuLmNvbnRlbnQtY29udGFpbmVyLFxuLmZvb3Rlci1jb250YWluZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbi53cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLXNwZWVkO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lXCIsIFwiPHBoYWJsZXRcIikgeyAvL3Bob25lXG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBoYWJsZXRcIiwgXCI8bWluaS10YWJsZXRcIikgeyAvL3BoYWJsZXRcbiAgICAgICAgcGFkZGluZzogMCA2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIiwgXCI8bGFwdG9wXCIpIHsgLy90YWJsZXRzXG4gICAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiLCBcIjxkZXNrdG9wXCIpIHsgLy9sYXB0b3BcbiAgICAgICAgcGFkZGluZzogMCA2MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICYtLWZ1bGwge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTAwcHg7XG4gICAgICB9XG4gICAgfVxufVxuXG4uY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBncmlkKCRndXR0ZXI6IDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBAaW5jbHVkZSBncmlkLW1hcmdpbigkbWFyZ2luLWxlZnQ6IC0yMHB4LCAkbWFyZ2luLXJpZ2h0OiAtMjBweCk7XG4gICAgfVxufVxuXG4uc2l0ZS1jb250ZW50IHtcbiAgICAmLnB1c2hlZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE0M3B4O1xuICAgIH1cbn1cbiIsIi8vIERlZmF1bHQgR3JpZCBJdGVtc1xuLy8gU2VlIGJlbG93IGZvciBUb3BpY3MgR3JpZFxuLmdyaWQge1xuICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBncmlkKCRndXR0ZXI6IDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+bWluaS10YWJsZXRcIikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1tYXJnaW4oJG1hcmdpbi1sZWZ0OiAtMjBweCwgJG1hcmdpbi1yaWdodDogLTIwcHgpO1xuICAgIH1cblxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDEyLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogMjBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bWluaS10YWJsZXRcIikge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogMTIsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAwLCAkY29uZGVuc2VkOiBmYWxzZSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJi0tdG9waWMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogMTIsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAyMHB4LCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtaW5pLXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogMTIsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAwLCAkY29uZGVuc2VkOiBmYWxzZSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAxMiwgJGdyaWQtY29sdW1uczogMTIsICRndXR0ZXI6IDQwcHgsICRjb25kZW5zZWQ6IHRydWUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA4NXB4OyAvLyBGb3Igd3JhcHBpbmcgdGl0bGVzLiBLZWVwIHRoZW0gdGhlIHNhbWUgaGVpZ2h0IGZvciBvbmUgdnMgdHdvIGxpbmVzXG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEyKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtaW5pLXRhYmxldFwiKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG5cbiAgICAgICAgICAgIC5ncmlkX19jb250YWluZXItLXRvcGljcyAmIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIiwgXCI8bGFwdG9wXCIpIHtcblxuICAgICAgICAgICAgLy8gVGFyZ2V0IFNpbmdsZSBXaWR0aCBJdGVtc1xuICAgICAgICAgICAgJltkYXRhLXNpemU9XCIxXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiA2LCAkZ3V0dGVyOiAyMHB4LCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDsgLy8gRml4IFNhZmFyaSBCdWdcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgLy8gQWRkIGJvcmRlciBsZWZ0IHRvIHNlY29uZCBjb2x1bW4gb2Ygc2luZ2xlcyAob24gZG91YmxlL3NpbmdsZS9zaW5nbGUpXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkKCkge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBndXR0ZXItYm9yZGVyKCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBJZiBncmlkIGlzIDQgc2luZ2xlc1xuICAgICAgICAgICAgICAgIFtkYXRhLWNvbHM9XCI0XCJdICYge1xuICAgICAgICAgICAgICAgICAgICAvLyBBZGQgYm9yZGVyIGxlZnQgdG8gcmlnaHQgY29sdW1uc1xuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3V0dGVyLWJvcmRlcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZCBib3R0b20gYm9yZGVycyBmb3IgZmlyc3QgdHdvIGl0ZW1zIChmaXJzdCByb3cpXG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodGVyLWdyYXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlsbCBpbiBndXR0ZXIgZ2FwXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBndXR0ZXItZ2FwKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJltkYXRhLXNpemU9XCIyXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA2LCAkZ3JpZC1jb2x1bW5zOiA2LCAkZ3V0dGVyOiAyMHB4LCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgICAgICAvLyBBbHdheXMgZmlyc3QgY2hpbGQsIHNvIG5lZWRzIGEgYm9yZGVyLWJvdHRvbVxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiLCBcIjxkZXNrdG9wXCIpIHtcblxuICAgICAgICAgICAgJltkYXRhLXNpemU9XCIxXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogMjBweCwgJGNvbmRlbnNlZDogdHJ1ZSk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI1JSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IC8vIEZpeCBTYWZhcmkgQnVnXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCBsZWZ0IGd1dHRlciBib3JkZXJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGd1dHRlci1ib3JkZXIoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gRG9udCBoYXZlIG9uZSBvbiBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtc2l6ZT1cIjJcIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDYsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAyMHB4LCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgJltkYXRhLXNpemU9XCIxXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNDBweCwgJGNvbmRlbnNlZDogdHJ1ZSk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDI1JSAtIDQwcHgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IC8vIEZpeCBTYWZhcmkgQnVnXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCBsZWZ0IGd1dHRlciBib3JkZXJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGd1dHRlci1ib3JkZXIoJGxlZnQ6IC0yMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gRG9udCBoYXZlIG9uZSBvbiBmaXJzdCBjaGlsZFxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJltkYXRhLXNpemU9XCIyXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA2LCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNDBweCwgJGNvbmRlbnNlZDogdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmdyaWQtLXRvcGljcy1jb2xzIHtcblxuICAgIC5ncmlkX19oZWFkZXItLXRvcGljIHtcbiAgICAgICAgLy9AaW5jbHVkZSBncmlkLWNvbCgkY29sOiAxMiwgJGdyaWQtY29sdW1uczogMTIsICRndXR0ZXI6IDAsICRjb25kZW5zZWQ6IGZhbHNlKTtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtaW5pLXRhYmxldFwiKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcblxuICAgICAgICAmW2RhdGEtY29scz0nMyddIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtY29scz0nMiddIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1jb2xzPScyLzMnXSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAzZnI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBIZWFkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1haW4gbmF2aWdhdGlvbiBCYXJcbi8vIEhvbGRzIG1lbnUgaWNvbiwgbG9nbywgcGFnZS10aXRsZSBvbiBzY3JvbGwsIHN1YnNjcmliZSwgYW5kIHNlYXJjaCBpY29uXG4uc2l0ZV9fYmFyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICB9XG5cbiAgICA+IFtkYXRhLWl0ZW1+PVwiZmxleFwiXSB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cblxuICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG5cbi50b3AtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihibHVlKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDYwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbn1cblxuXG4vLyBTaXRlIExvZ28gLSBzd2l0Y2ggbG9nbyB0eXBlIG9uIGJyZWFrcG9pbnRzXG4uc2l0ZV9fYnJhbmRpbmcge1xuICAgIHBhZGRpbmc6IDE0cHggMDtcblxuICAgIC5zaXRlX190aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTU0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2Fzc2V0cy9pbWcvbG9nb3MvdGktbG9nby1zdGFja2VkLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTRweCAzNHB4OyAvLyBGb3IgSUUgU1ZHIGJhY2tncm91bmQgc2l6aW5nIGJ1Z1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4MnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MnB4IDQwcHg7IC8vIEZvciBJRSBTVkcgYmFja2dyb3VuZCBzaXppbmcgYnVnXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gaGFtYnVyZ2VyIGFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9jb2RlcGVuLmlvL254d29ybGQvcGVuL1JQTExibVxuLm1lbnUtdG9nZ2xlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMzBweDtcblx0aGVpZ2h0OiAyMHB4O1xuXHR6LWluZGV4OiAyMDtcblx0b3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRzcGFuIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdHRyYW5zaXRpb246IGFsbCAkYW5pbWF0aW9uLWF2ZXJhZ2UgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGJhY2tncm91bmQtY29sb3IsIHdpZHRoO1xuXG5cdFx0JjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHR0b3A6IDA7XG5cdFx0fVxuXHRcdCY6bnRoLW9mLXR5cGUoMikge1xuXHRcdFx0dG9wOiA5cHg7XG5cdFx0fVxuXHRcdCY6bnRoLW9mLXR5cGUoMykge1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHgpIHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1vZi10eXBlKDIpIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdH1cblxuXHRcdFx0JjpudGgtb2YtdHlwZSgzKSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOXB4KSByb3RhdGUoNDVkZWcpO1xuXHRcdFx0fVxuICAgICAgICB9XG4gICAgfVxuXG5cdCY6Zm9jdXMsICY6aG92ZXIge1xuXHRcdG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuXHRcdHNwYW46bnRoLW9mLXR5cGUoMikge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG5cbi8vIFN1YnNjcmliZSBidXR0b25cbi5zdWJzY3JpYmVfX2J0biB7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5zdWJzY3JpYmVfX2xpbmsge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihibHVlKTtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiAkYW5pbWF0aW9uLWF2ZXJhZ2UgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGJsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgd2lkdGg6IDMwcHhcbiAgICB9XG59XG5cbi8vIFRvZ2dsZSBTZWFyY2ggQnV0dG9uXG4uc2VhcmNoLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYnV0dG9uKCk7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICAgIGZpbGw6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xuICAgICAgICAub3Blbi1zZWFyY2gge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICRhbmltYXRpb24tYXZlcmFnZSAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50b2dnbGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFuZWxfX3NlYXJjaCAmIHtcbiAgICAgICAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGFuZWxfX3NlYXJjaCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC45NSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgb3BhY2l0eSAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIHotaW5kZXggJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcycHggMzBweCAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9zZWFyY2gtZ3JheS5zdmcnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLXRvZ2dsZS0tY2xvc2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAyMXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIFdoZW4gbWVudXMgYXJlIG9wZW4sIHN0b3Agc2Nyb2xsaW5nIG9uIHBhZ2VcbmJvZHkuZml4ZWQge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPGxhcHRvcFwiKSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG59XG4iLCIvLyBGb290ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNjBweCAwIDMwcHg7XG4gICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcblxuICAgICZfX3dyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci1icmFuZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIC8vZmxleDogMCAxIDQ1JTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogNDUlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAvL2ZsZXg6IDAgMSAyODBweDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogMjgwcHg7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0xMTUwcHhcIikge1xuICAgICAgICAvL2ZsZXg6IDAgMSAyMDBweDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogMjAwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAvL2ZsZXg6IDAgMSAzNTBweDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogMzUwcHg7XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTg1cHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2Fzc2V0cy9pbWcvbG9nb3MvdGktbG9nby1zdGFja2VkLS1pbnZlcnNlLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2Fzc2V0cy9pbWcvbG9nb3MvdGktbG9nby1ob3Jpem9udGFsLS1pbnZlcnNlLnN2ZycpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RhZ2xpbmUge1xuICAgICAgICAvL2ZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKFwiPj1taW5pLXRhYmxldFwiKSB7XG4gICAgICAgIC8vICAgICBmb250LXNpemU6IHJlbSgyMSk7XG4gICAgICAgIC8vIH1cbiAgICB9XG59XG5cbi5mb290ZXItbWFnIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1taW5pLXRhYmxldFwiKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy9mbGV4OiAwIDEgNDUlO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiA0NSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy9mbGV4OiAwIDEgMjUwcHg7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIGZsZXgtYmFzaXM6IDI1MHB4O1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIC8vZmxleDogMCAxIDMwMHB4O1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49MTE1MHB4XCIpIHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdldC1jb2xvcihkYXJrLWdyYXkpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0xMTUwcHhcIikge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2hlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICAgICZfX2ltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG59XG5cbmRpdi5zb2NpYWxzLS1mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgICAgICAgLy9mbGV4OiAwIDEgYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogMjYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PTExNTBweFwiKSB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uZm9vdGVyX19sZWdhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49MTE1MHB4XCIpIHtcbiAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgfVxufVxuXG4uZm9vdGVyX19uYXYsXG4ubGVnYWxfX25hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDA7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKG9mZi13aGl0ZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICBjb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoNHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGVZKC00cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogMTUwcHg7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgIH1cbn1cblxuLmxlZ2FsX19uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAvLyBmbGV4OiAwIDEgNjAlO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiA2MCU7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb3B5cmlnaHQge1xuICAgIG1hcmdpbjogNTBweCAwIDA7XG4gICAgY29sb3I6IGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy8gZmxleDogMCAxIDM1JTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgZmxleC1iYXNpczogMzUlO1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG59XG4iLCIuYXJjaGl2ZSB7XG4gICAgJl9fbGF5b3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCgkZ3V0dGVyOiAyMHB4LCAkZmxleC1kaXJlY3Rpb246IGNvbHVtbik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkKCRndXR0ZXI6IDYwcHgsICRmbGV4LWRpcmVjdGlvbjogcm93LCAkZmxleC13cmFwOiBub3dyYXApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA5LCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNjBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19hc2lkZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2luZ2xlIHtcblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA2MjBweDtcblxuICAgICAgICAmLS1wdWxsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtMTEwcHggNjBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hcnRpY2xlcyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICAgICAgLnNpbmdsZV9fZmlndXJlLS1mZWF0dXJlZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1mdWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VfX2hlYWRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMzBweDtcblxuICAgICAgICAmLS1mZWF0dXJlZCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgLTMwcHggMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBoYWJsZXRcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAtNjBweCA2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMzBweCAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBoYWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNjBweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgIH1cbn1cbiIsIi5tYWdhemluZS1zaW5nbGUge1xuICAvLyBQb3J0cmFpdCBsYXlvdXRcbiAgJi0tcG9ydHJhaXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waGFibGV0XCIpIHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA3MzNweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICYuc2Nyb2xsIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIGJvdHRvbTogLTIwMHB4OyAvLyBkb3duIG92ZXIgZm9vdGVyIGFkdiBhbmQgaXRzIG1hcmdpbiB0b3BcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hZ2F6aW5lLXNpbmdsZV9fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDQwJTtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj0xNzMwcHhcIikge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDg1MHB4O1xuICAgICAgICB3aWR0aDogNzUwcHg7XG4gICAgICB9XG5cbiAgICAgICAgLy8gV2hlbiBubyBoZWFkZXIgYWR2IGlzIHRoZXJlLCBwdXNoIGNvbnRlbnQgZG93blxuICAgICAgICAuc2luZ2xlX19jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC5oZWFkZXJfX2FkdiArIC5zaW5nbGVfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnNpbmdsZV9fZmlndXJlLS1mZWF0dXJlZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIExheW91dFxuICAmLS1sYW5kc2NhcGUge1xuICAgIHBhZGRpbmc6IDAgMzBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waGFibGV0XCIpIHtcbiAgICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm1hZ2F6aW5lLXNpbmdsZV9fZmVhdHVyZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2NTBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAgICZbZGF0YS10aGVtZT1cImRhcmtcIl17XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgyNiwyNiwyNiwwKSksdG8ocmdiYSgyNiwyNiwyNiwxKSkpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNiwyNiwyNiwwKSAwJSxyZ2JhKDI2LDI2LDI2LDEpIDEwMCUpO1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwMDFhMWExYScsIGVuZENvbG9yc3RyPScjMWExYTFhJyxHcmFkaWVudFR5cGU9MCApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50b3BpYyBhLFxuICAgICAgICAgIC50aXRsZS0tc2luZ2xlLFxuICAgICAgICAgIC5tZXRhLFxuICAgICAgICAgIC5tZXRhIGEge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC50b3BpYyBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKGdyYXkpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnBhZ2VfX2hlYWRlcjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS10aGVtZT1cImxpZ2h0XCJde1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKHJnYmEoMjQwLDI0NSwyNDcsMCkpLHRvKHJnYmEoMjQwLDI0NSwyNDcsMSkpKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjQwLDI0NSwyNDcsMCkgMCUscmdiYSgyNDAsMjQ1LDI0NywxKSAxMDAlKTtcbiAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAxYTFhMWEnLCBlbmRDb2xvcnN0cj0nIzFhMWExYScsR3JhZGllbnRUeXBlPTAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubWV0YSxcbiAgICAgICAgICAubWV0YSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoY2hhcmNvYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zdHlsZT1cIm5vLWdyYWRpZW50XCJdIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZV9faGVhZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcbiAgICAgICAgICB3aWR0aDogODUwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tYWdhemluZS1zaW5nbGVfX2NvbnRlbnQge1xuICAgICAgICAvLyBXaGVuIG5vIGhlYWRlciBhZHYgaXMgdGhlcmUsIHB1c2ggY29udGVudCBkb3duXG4gICAgICAgIC5zaW5nbGVfX2NvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlcl9fYWR2ICsgLnNpbmdsZV9fY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpbmdsZV9fZmlndXJlLS1mZWF0dXJlZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VfX2hlYWRlci5oaWRlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4udmlldy0tbW9iaWxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMHB4O1xuICAgIHdpZHRoOiAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG4vLyBPbiBzaW5nbGUgVmVydGljYWwgcGFnZSwgSlMgYWRkcyBjbGFzcyAucG9zLXIgdG8gbW92ZSBmb290ZXIgYWQgc3BhY2Vcbi5mb290ZXJfX2Fkdi5wb3MtciB7XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICBtYXJnaW4tbGVmdDogNDAlO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj0xNzMwcHhcIikge1xuICAgIG1hcmdpbi1sZWZ0OiA4NTBweDtcbiAgICB3aWR0aDogNzUwcHg7XG4gIH1cbn1cbiIsIi53YXRjaGxpc3Qge1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgZ3JpZCgkZ3V0dGVyOiAyMHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA2LCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGNvbmRlbnNlZDogdHJ1ZSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG5cbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGd1dHRlci1ib3JkZXIoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiAucmF0aW8tZ3JpZF9faXRlbS1jb250ZW50OmFmdGVyIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ3V0dGVyLWdhcCgpO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIEhpZGUgY29tcGFueSBpbmZvIG9uIG1vYmlsZVxuICAgICZfX2NvbXBhbnkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTk5OTllbTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIC8vIFJlbW92ZSByYXRpby1ncmlkIHN0eWxpbmdcbiAgICAucmF0aW8tZ3JpZF9faXRlbTphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucmF0aW8tZ3JpZF9faXRlbS1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAud2F0Y2hsaXN0X19pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICB9XG5cbiAgICAud2F0Y2hsaXN0X19jb21wYW55IHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTgwcHgpO1xuICAgIH1cblxuICAgIC53YXRjaGxpc3RfX2xvZ28ge1xuICAgICAgd2lkdGg6IDE4MHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuICB9XG59XG5cbi53YXRjaGxpc3QtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIi50b3AtY29tcGFuaWVzIHtcblxuICAmX19sb2dvIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIGdyaWQoJGd1dHRlcjogMjBweCk7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDYsICRncmlkLWNvbHVtbnM6IDEyLCAkY29uZGVuc2VkOiB0cnVlLCAkZ3V0dGVyOiAyMHB4KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ3V0dGVyLWJvcmRlcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IC5yYXRpby1ncmlkX19pdGVtLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBndXR0ZXItZ2FwKCk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgZ3JpZCgkZ3V0dGVyOiAyMHB4KTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogNCwgJGdyaWQtY29sdW1uczogMTIsICRjb25kZW5zZWQ6IHRydWUsICRndXR0ZXI6IDIwcHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAxMHB4KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIxNXB4O1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzJSAtIDEwcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBib3JkZXItY29sb3I6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoXCI+PTg1MHB4XCIpIHtcbiAgLy8gICAmX19pdGVtIHtcbiAgLy8gICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgLy8gICAgICAgdG9wOiAyOTBweDtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgJl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGNvbmRlbnNlZDogdHJ1ZSwgJGd1dHRlcjogMjBweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMjUlIC0gNXB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMTVweCk7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxNXB4KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIxNXB4O1xuICAgICAgICByaWdodDogY2FsYygyNSUgLSA1cHgpO1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAxNXB4KTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIxNXB4O1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udG9wMjBfX3N1bW1hcnksXG4ud2F0Y2hsaXN0X19zdW1tYXJ5IHtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgZm9udC1zaXplOiByZW0oMTYpO1xufVxuXG4udG9wMjAtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgLy8gRGVmYXVsdHMgdG8gU3F1YXJlIDE6MVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICA+IGltZyB7XG4gICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcbiAgICAgIG1heC1oZWlnaHQ6IDYwJTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi50b3AtY29tcGFuaWVzLWN0YSB7XG4gID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDtcbiAgICB9XG4gIH1cbn1cblxuLy9TaW5nbGUgVG9wIENvbXBhbmllc1xuLnNpbmdsZS10b3BfY29tcGFuaWVzIHtcbiAgLmNvbHVtbl9fZmxvYXQge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCA4MHB4O1xuICB9XG5cbiAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMjhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGR0aGlzX3NoYXJlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03MTBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vQXJjaGl2ZSBUb3AgQ29tcGFuaWVzXG4ucG9zdC10eXBlLWFyY2hpdmUtdG9wX2NvbXBhbmllcyB7XG4gIC5jb2x1bW5fX2Zsb2F0LS1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgIG1hcmdpbjogNjBweCAzMHB4IDA7XG4gICAgfVxuICB9XG59IiwiLmNzIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IC8vIG5vIGFkLCBzbyBwdXNoIGRvd25cbn1cbi5zdXBwbGllci1leHRlcm5hbCB7XG4gIGJvcmRlcjogMDtcbiAgbWluLWhlaWdodDogODAwcHg7XG59XG5cbi5zdXBwbGllci1jdXN0b20tcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgQGluY2x1ZGUgZ3JpZCgkZ3V0dGVyOiA2MHB4LCAkZmxleC1kaXJlY3Rpb246IHJvdywgJGZsZXgtd3JhcDogbm93cmFwKTtcbiAgfVxuXG4gIC5zdXBwbGllcl9fbWFpbiB7XG5cbiAgICAmOm9ubHktY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA5LCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNjBweCk7XG4gICAgfVxuICB9XG5cbiAgLnN1cHBsaWVyX19zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDMsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiA2MHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gSW5kaXZpZHVhbCBTZWN0aW9uc1xuLnN1cHBsaWVyX19zZWN0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG5cbiAgLnN1cHBsaWVyX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICB9XG59XG4iLCIuY29sdW1uX19sYXlvdXQge1xuICAgIEBpbmNsdWRlIGdyaWQoJGd1dHRlcjogMjBweCwgJGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4pO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoJGd1dHRlcjogNjBweCwgJGZsZXgtZGlyZWN0aW9uOiByb3csICRmbGV4LXdyYXA6IG5vd3JhcCk7XG4gICAgfVxuXG4gICAgJi0tbWFpbiB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDM7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDI7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA5LCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNjBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hc2lkZSB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7XG4gICAgICAgICAgICAgICAgLW1zLWZsZXgtb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogNjBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb2x1bW5fX2Zsb2F0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcblxuICAgICAgICBtYXJnaW46IDAgLTMwcHg7XG5cbiAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMjUlIC0gNjBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMzBweCAwO1xuICAgICAgICB9XG4gICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCA3NSUgLSA2MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4IDYwcHg7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS10ZXJ0aWFyeSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBjbGVhcjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyggMjUlIC0gNjBweCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMzBweCA2MHB4O1xuXG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubWVudSB7XG4gICAgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLm1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLCBtYXJnaW4gLjNzIGVhc2U7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAubWVudS10b2dnbGUge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIiVidG4ge1xuICBAaW5jbHVkZSBidXR0b24oKTtcbn1cblxuJWJ0bi1pbnZlcnRlZCB7XG4gIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAkYnRuLWJnLWNvbG9yOiBnZXQtY29sb3Iod2hpdGUpLFxuICAgICRidG4tYmctY29sb3ItaG92ZXI6IHJnYmEoZ2V0LWNvbG9yKHdoaXRlKSwgLjgpLFxuICAgICRidG4tdGV4dC1jb2xvcjogZ2V0LWNvbG9yKGJsYWNrKSxcbiAgICAkYnRuLXRleHQtY29sb3ItaG92ZXI6IHJnYmEoZ2V0LWNvbG9yKGJsYWNrKSwgLjgpLFxuICAgICRidG4tYm9yZGVyOiAxcHggc29saWQsXG4gICAgJGJ0bi1ib3JkZXItY29sb3I6IGdldC1jb2xvcihibGFjayksXG4gICAgJGJ0bi1ib3JkZXItY29sb3ItaG92ZXI6IHJnYmEoZ2V0LWNvbG9yKGJsYWNrKSwgLjgpLFxuICAgICRidG4tYm94LXNoYWRvdy1ob3ZlcjogcmdiYShnZXQtY29sb3IoYmxhY2spLCAuMjUpXG4gICk7XG59XG5cbiVidG4tZ2hvc3Qge1xuICBAaW5jbHVkZSBidXR0b24oXG4gICAgJGJ0bi1iZy1jb2xvcjogdHJhbnNwYXJlbnQsXG4gICAgJGJ0bi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQsXG4gICAgJGJ0bi10ZXh0LWNvbG9yOiBnZXQtY29sb3IoYmxhY2spLFxuICAgICRidG4tdGV4dC1jb2xvci1ob3ZlcjogcmdiYShnZXQtY29sb3IoYmxhY2spLCAuOCksXG4gICAgJGJ0bi1ib3JkZXI6IDFweCBzb2xpZCxcbiAgICAkYnRuLWJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGJsYWNrKSxcbiAgICAkYnRuLWJvcmRlci1jb2xvci1ob3ZlcjogcmdiYShnZXQtY29sb3IoYmxhY2spLCAuOCksXG4gICAgJGJ0bi1ib3gtc2hhZG93LWhvdmVyOiByZ2JhKGdldC1jb2xvcihibGFjayksIC4yNSlcbiAgKTtcbn1cblxuJWJ0bi1naG9zdC1pbnZlcnRlZCB7XG4gIEBpbmNsdWRlIGJ1dHRvbihcbiAgICAkYnRuLWJnLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAkYnRuLWJnLWNvbG9yLWhvdmVyOiB0cmFuc3BhcmVudCxcbiAgICAkYnRuLXRleHQtY29sb3I6IGdldC1jb2xvcih3aGl0ZSksXG4gICAgJGJ0bi10ZXh0LWNvbG9yLWhvdmVyOiByZ2JhKGdldC1jb2xvcih3aGl0ZSksIC44KSxcbiAgICAkYnRuLWJvcmRlcjogMXB4IHNvbGlkLFxuICAgICRidG4tYm9yZGVyLWNvbG9yOiBnZXQtY29sb3Iod2hpdGUpLFxuICAgICRidG4tYm9yZGVyLWNvbG9yLWhvdmVyOiByZ2JhKGdldC1jb2xvcih3aGl0ZSksIC44KSxcbiAgICAkYnRuLWJveC1zaGFkb3ctaG92ZXI6IHJnYmEoZ2V0LWNvbG9yKHdoaXRlKSwgLjI1KVxuICApO1xufVxuXG5cbi5idXR0b24sXG5idXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgQGV4dGVuZCAlYnRuO1xufVxuXG4uYnV0dG9uLS1pbnZlcnRlZCB7XG4gIEBleHRlbmQgJWJ0bi1pbnZlcnRlZDtcbn1cblxuLmJ1dHRvbi0tZ2hvc3Qge1xuICBAZXh0ZW5kICVidG4tZ2hvc3Q7XG5cbiAgJi1pbnZlcnRlZCB7XG4gICAgQGV4dGVuZCAlYnRuLWdob3N0LWludmVydGVkO1xuICB9XG59XG5cbi5ibG9ja2VkLS1tb2JpbGUge1xuICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5idXR0b24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiByZW0oMTIpO1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG59XG5cbi5zZWNvbmRhcnktbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBAaW5jbHVkZSB1bmRlcmxpbmUoJGJnY29sb3I6IGdldC1jb2xvcihsaWdodC1ncmF5KSk7XG4gIGZvbnQtc2l6ZTogcmVtKDE0KTtcbn1cbiIsIi5pY29uLFxuLmljb246YmVmb3JlLFxuLmljb246YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5pLWNhcmV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxM3B4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEzcHg7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxufVxuXG4uaS1tZW51IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4uaS1jbG9zZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG59XG5cbi5pLWFycm93LXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAycHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAycHggY3VycmVudENvbG9yO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuLmktYXJyb3ctbGVmdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAycHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cbn1cblxuIiwiLnJhdGlvLWdyaWQge1xuXG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG59XG5cblxuLy8gRmlsbHMgY29udGFpbmVyIHRvIHByb3ZpZGUgYSBzcXVhcmUgcmF0aW9cbi8vIFdpZHRoIG11c3QgYmUgcGxhY2VkIG9uIGNvbnRhaW5lclxuLnJhdGlvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy8gRGVmYXVsdHMgdG8gU3F1YXJlIDE6MVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICB9XG4gIC8vIDE2OjkgV2lkZXNjcmVlbiBSYXRpb1xuICAmLS13aWRlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgfVxuICB9XG4gIC8vIDQ6MyBUcmFkaXRpb25hbCBSYXRpb1xuICAmLS10cmFkaXRpb25hbCB7XG4gICAgJjphZnRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogNzUlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG4iLCIubWFpbi1uYXZpZ2F0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0bGVmdDogMDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXHRcdGZsZXg6IDE7XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG5cdH1cblxuXHQucHJpbWFyeS1tZW51IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuXHRcdD4gbGkge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAxNnB4KTtcblx0XHRcdFx0XHRoZWlnaHQ6IDNweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0bGVmdDogLThweDtcblx0XHRcdFx0XHRib3R0b206IDE0cHg7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogJGFuaW1hdGlvbi1hdmVyYWdlICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PiB1bCB7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiAxMDAlO1xuXHRcdFx0XHRcdGxlZnQ6IC05OTllbTtcblx0XHRcdFx0XHR6LWluZGV4OiA5OTk5OTtcblx0XHRcdFx0XHRwYWRkaW5nOiAxOHB4IDQwcHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdFx0XHRcdG1heC13aWR0aDogMzMwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDhweCAwO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmLmZvY3VzIHtcblxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IoYmx1ZSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0PiB1bCB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGxlZnQ6IC00MHB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLm1lZ2EtbWVudSB7XG5cdFx0XHRcdD4gdWwge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiA4NTBweDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDB2dztcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDE3cHggNDBweCAyN3B4O1xuXHRcdFx0XHRcdFx0Z3JpZC1nYXA6IDhweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcblx0XHRcdFx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQ+IGxpIHtcblx0XHRcdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Ji5mb2N1cyB7XG5cblx0XHRcdFx0XHQ+IHVsIHtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRsZWZ0OiAtMjAwcHg7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcblx0XHRcdFx0XHRcdFx0bGVmdDogLTMwMHB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDZweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi4vYXNzZXRzL2ltZy9pY29ucy9pX2NoZXZyb24uc3ZnJykgbm8tcmVwZWF0O1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCYuZm9jdXMge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYmFjay1jb250YWluZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcblx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdH1cblxuXHQvL01vYmlsZSBNZW51XG5cdC5tb2JpbGUtbWVudS1jb250YWluZXIge1xuXHRcdGhlaWdodDogMTAwdmg7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR6LWluZGV4OiAxMDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgJGFuaW1hdGlvbi1hdmVyYWdlICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdG1hcmdpbi10b3A6IDY2cHg7XG5cblx0XHR1bCB7XG5cdFx0XHRhIHtcblx0XHRcdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdD4gdWwge1xuXHRcdFx0PiBsaSB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcblxuXHRcdFx0XHQ+IHVsIHtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDMwcHggMzBweCA4MHB4O1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgJGFuaW1hdGlvbi1hdmVyYWdlICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHotaW5kZXg6IDE7XG5cblx0XHRcdFx0XHQmLnN1Yi1tZW51LS1hY3RpdmUge1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogc2Nyb2xsO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdD4gbGkge1xuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDgwcHg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm5hdi1hcnJvdyB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdHJpZ2h0OiAyNXB4O1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2Fzc2V0cy9pbWcvaWNvbnMvaV9uYXYtYXJyb3cuc3ZnJyk7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDMwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQubWVudS1wYXJlbnQge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDQ1cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC5iYWNrIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAtNXB4O1xuXHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDUlKSByb3RhdGUoMTgwZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnRvZ2dsZWQge1xuXG5cdFx0Lm1vYmlsZS1tZW51LWNvbnRhaW5lciB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjxsYXB0b3BcIikge1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGdldC1jb2xvcih3aGl0ZSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmFkbWluLWJhciAmIHtcblx0XHQubW9iaWxlLW1lbnUtY29udGFpbmVyIHtcblx0XHRcdG1hcmdpbi10b3A6IDEwOXB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyBoaWRlIHRvIHByZXZlbnQgZmxhc2ggb2YgY3VycmVudCBwb3NpdGlvbiBpZiBsb2FkZWQgaW4gPD10YWJsZXRcbi5wcmltYXJ5LW1lbnUsXG4udG9wLWJhcl9fbmF2IHtcblx0QGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Ly8gc2hvdyB3aGVuIHRoZXkgYXJlIG1vdmVkIGludG8gY29udGFpbmVyXG5cdC5tb2JpbGUtbWVudS1jb250YWluZXIgJiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cbiIsIi53aWRnZXQge1xuICAmX19ibG9jayB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihvZmYtd2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW46IDAgMCA2MHB4O1xuICAgIH1cblxuICAgICYtLWZpbHRlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgICAud2lkZ2V0X190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogU3dpcGVyIDMuNC4yXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogXG4gKiBodHRwOi8vd3d3LmlkYW5nZXJvLnVzL3N3aXBlci9cbiAqIFxuICogQ29weXJpZ2h0IDIwMTcsIFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKiBUaGUgaURhbmdlcm8udXNcbiAqIGh0dHA6Ly93d3cuaWRhbmdlcm8udXMvXG4gKiBcbiAqIExpY2Vuc2VkIHVuZGVyIE1JVFxuICogXG4gKiBSZWxlYXNlZCBvbjogTWFyY2ggMTAsIDIwMTdcbiAqL1xuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxO1xufVxuLnN3aXBlci1jb250YWluZXItbm8tZmxleGJveCAuc3dpcGVyLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW8tdHJhbnNmb3JtO1xuICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogLW1zLXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAwcHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1vei1ib3gtbGluZXM6IG11bHRpcGxlO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIC13ZWJraXQtYm94LWFsaWduOiBzdGFydDtcbiAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgaGVpZ2h0O1xuICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IC1tb3otdHJhbnNmb3JtO1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAtby10cmFuc2Zvcm07XG4gIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiAtbXMtdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbn1cbi8qIGExMXkgKi9cbi5zd2lwZXItY29udGFpbmVyIC5zd2lwZXItbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cbi8qIElFMTAgV2luZG93cyBQaG9uZSA4IEZpeGVzICovXG4uc3dpcGVyLXdwOC1ob3Jpem9udGFsIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uc3dpcGVyLXdwOC12ZXJ0aWNhbCB7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi14O1xuICB0b3VjaC1hY3Rpb246IHBhbi14O1xufVxuLyogQXJyb3dzICovXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LFxuLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAyN3B4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbi10b3A6IC0yMnB4O1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMjdweCA0NHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI3cHggNDRweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkLFxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMCUyQzIyTDIyJTJDMGwyLjElMkMyLjFMNC4yJTJDMjJsMTkuOSUyQzE5LjlMMjIlMkM0NEwwJTJDMjJMMCUyQzIyTDAlMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTAlMkMyMkwyMiUyQzBsMi4xJTJDMi4xTDQuMiUyQzIybDE5LjklMkMxOS45TDIyJTJDNDRMMCUyQzIyTDAlMkMyMkwwJTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHhtbG5zJTNEJ2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyclMjB2aWV3Qm94JTNEJzAlMjAwJTIwMjclMjA0NCclM0UlM0NwYXRoJTIwZCUzRCdNMjclMkMyMkwyNyUyQzIyTDUlMkM0NGwtMi4xLTIuMUwyMi44JTJDMjJMMi45JTJDMi4xTDUlMkMwTDI3JTJDMjJMMjclMkMyMnonJTIwZmlsbCUzRCclMjMwMDdhZmYnJTJGJTNFJTNDJTJGc3ZnJTNFXCIpO1xuICByaWdodDogMTBweDtcbiAgbGVmdDogYXV0bztcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjayxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzMDAwMDAwJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSxcbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmclMjB4bWxucyUzRCdodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmcnJTIwdmlld0JveCUzRCcwJTIwMCUyMDI3JTIwNDQnJTNFJTNDcGF0aCUyMGQlM0QnTTI3JTJDMjJMMjclMkMyMkw1JTJDNDRsLTIuMS0yLjFMMjIuOCUyQzIyTDIuOSUyQzIuMUw1JTJDMEwyNyUyQzIyTDI3JTJDMjJ6JyUyMGZpbGwlM0QnJTIzZmZmZmZmJyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi8qIFBhZ2luYXRpb24gU3R5bGVzICovXG4uc3dpcGVyLXBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAzMDBtcztcbiAgLW1vei10cmFuc2l0aW9uOiAzMDBtcztcbiAgLW8tdHJhbnNpdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb246IDMwMG1zO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBCdWxsZXRzICovXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC4yO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiA1cHggMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogMCA1cHg7XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6ICMwMDdhZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3MgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24td2hpdGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3Muc3dpcGVyLXBhZ2luYXRpb24td2hpdGUgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzcy5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLyogM0QgQ29udGFpbmVyICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgLW1vei1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAtby1wZXJzcGVjdGl2ZTogMTIwMHB4O1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIC1tb3otdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgLW1zLXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQocmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChyaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIHJpZ2h0IHRvcCwgbGVmdCB0b3AsIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMy42LTE1ICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIEZpcmVmb3ggMTYrLCBJRTEwLCBPcGVyYSAxMi41MCsgKi9cbn1cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20ocmdiYSgwLCAwLCAwLCAwLjUpKSwgdG8ocmdiYSgwLCAwLCAwLCAwKSkpO1xuICAvKiBTYWZhcmkgNCssIENocm9tZSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIC8qIENocm9tZSAxMCssIFNhZmFyaSA1LjErLCBpT1MgNSsgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDMuNi0xNSAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBPcGVyYSAxMS4xMC0xMi4wMCAqL1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBGaXJlZm94IDE2KywgSUUxMCwgT3BlcmEgMTIuNTArICovXG59XG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCBib3R0b20sIGxlZnQgdG9wLCBmcm9tKHJnYmEoMCwgMCwgMCwgMC41KSksIHRvKHJnYmEoMCwgMCwgMCwgMCkpKTtcbiAgLyogU2FmYXJpIDQrLCBDaHJvbWUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAvKiBDaHJvbWUgMTArLCBTYWZhcmkgNS4xKywgaU9TIDUrICovXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAzLjYtMTUgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogT3BlcmEgMTEuMTAtMTIuMDAgKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLyogRmlyZWZveCAxNissIElFMTAsIE9wZXJhIDEyLjUwKyAqL1xufVxuLyogQ292ZXJmbG93ICovXG4uc3dpcGVyLWNvbnRhaW5lci1jb3ZlcmZsb3cgLnN3aXBlci13cmFwcGVyLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXdyYXBwZXIge1xuICAvKiBXaW5kb3dzIDggSUUgMTAgZml4ICovXG4gIC1tcy1wZXJzcGVjdGl2ZTogMTIwMHB4O1xufVxuLyogQ3ViZSArIEZsaXAgKi9cbi5zd2lwZXItY29udGFpbmVyLWN1YmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBDdWJlICovXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldixcbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0ICsgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogMC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwO1xufVxuLyogRmFkZSAqL1xuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtbXMtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcsXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuLyogU2Nyb2xsYmFyICovXG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTtcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWRyYWcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xufVxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7XG59XG4vKiBQcmVsb2FkZXIgKi9cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgLW1vei1hbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBzdGVwcygxMiwgZW5kKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgc3RlcHMoMTIsIGVuZCkgaW5maW5pdGU7XG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyMzZjNmM2YyclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyUyMHZpZXdCb3glM0QnMCUyMDAlMjAxMjAlMjAxMjAnJTIweG1sbnMlM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJyUyMHhtbG5zJTNBeGxpbmslM0QnaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGxpbmsnJTNFJTNDZGVmcyUzRSUzQ2xpbmUlMjBpZCUzRCdsJyUyMHgxJTNEJzYwJyUyMHgyJTNEJzYwJyUyMHkxJTNEJzcnJTIweTIlM0QnMjcnJTIwc3Ryb2tlJTNEJyUyM2ZmZiclMjBzdHJva2Utd2lkdGglM0QnMTEnJTIwc3Ryb2tlLWxpbmVjYXAlM0Qncm91bmQnJTJGJTNFJTNDJTJGZGVmcyUzRSUzQ2clM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMjcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSg2MCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoOTAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy4yNyclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDEyMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjI3JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMTUwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuMzcnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgxODAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy40NiclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDIxMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjU2JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMjQwJTIwNjAlMkM2MCknJTJGJTNFJTNDdXNlJTIweGxpbmslM0FocmVmJTNEJyUyM2wnJTIwb3BhY2l0eSUzRCcuNjYnJTIwdHJhbnNmb3JtJTNEJ3JvdGF0ZSgyNzAlMjA2MCUyQzYwKSclMkYlM0UlM0N1c2UlMjB4bGluayUzQWhyZWYlM0QnJTIzbCclMjBvcGFjaXR5JTNEJy43NSclMjB0cmFuc2Zvcm0lM0Qncm90YXRlKDMwMCUyMDYwJTJDNjApJyUyRiUzRSUzQ3VzZSUyMHhsaW5rJTNBaHJlZiUzRCclMjNsJyUyMG9wYWNpdHklM0QnLjg1JyUyMHRyYW5zZm9ybSUzRCdyb3RhdGUoMzMwJTIwNjAlMkM2MCknJTJGJTNFJTNDJTJGZyUzRSUzQyUyRnN2ZyUzRVwiKTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuIiwiLnNvY2lhbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG5cbiAgICAucGFuZWxfX21lbnUgJiB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoZ2V0LWNvbG9yKHdoaXRlKSwgLjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcigpO1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGZpbGw6IGdldC1jb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgICAgICAgICAucGFuZWxfX21lbnUgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG4iLCIuYWR2X19ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS1sZWFkZXJib2FyZCB7XG4gICAgICB3aWR0aDogMzIwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IDQ2OHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICB3aWR0aDogNzI4cHg7XG4gICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIHdpZHRoOiA5NzBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhhbGYtcGFnZSB7XG5cbiAgICB9XG5cbiAgICAmLS1zcXVhcmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgKyAuYWR2X19ibG9jay0tc3F1YXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlsZSAmIHtcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAubWFnYXppbmUtc2luZ2xlLS1wb3J0cmFpdCAmIHtcbiAgICAgICYtLWxlYWRlcmJvYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgd2lkdGg6IDcyOHB4O1xuICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlcl9fYWR2IHtcbiAgICBtYXJnaW46IDEwMHB4IGF1dG8gMTBweDtcbiAgICAuZXJyb3I0MDQgJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fYWR2IHtcbiAgICBtYXJnaW46IDEzNHB4IGF1dG8gMzBweDtcbn1cblxuLmFzaWRlX19hZHYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBpZnJhbWUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuIiwiLnRpdGxlIHtcbiAgJi0tcGFnZSB7XG4gICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IC8vIGJvbGRcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgJi0taXNzdWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ4KTtcbiAgICBmb250LXdlaWdodDogNTAwOyAvLyBtZWRpdW1cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuICAmLS1zaW5nbGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICBmb250LXdlaWdodDogNTAwOyAvLyBtZWRpdW1cbiAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuICAmLS10b3BpYyB7XG4gICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IC8vIGJvbGRcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICB9XG4gICYtLXNlY3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICBmb250LXdlaWdodDogNzAwOyAvLyBib2xkXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgID5zcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICB9XG4gIH1cbiAgJi0tYXJ0aWNsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAmLS1wYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICB9XG4gICAgJi0taXNzdWUge1xuICAgICAgZm9udC1zaXplOiByZW0oODApO1xuICAgIH1cbiAgICAmLS1zaW5nbGUge1xuICAgICAgLy9mb250LXNpemU6IHJlbSg2Mik7XG4gICAgfVxuICAgICYtLXRvcGljIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDQ1KTtcbiAgICB9XG4gICAgJi0tc2VjdGlvbiB7XG4gICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICA+c3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAmLS10b3BpYyB7XG4gICAgICBmb250LXNpemU6IHJlbSg2NCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBUaWxlIEVsZW1lbnRzIFN0eWxlXG4udGlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDMwcHggMCAzMHB4O1xuXG4gICAgJl9faW1nLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG5cbiAgICAgICAgLy8gQ3JlYXRlIGEgcGxhY2Vob2xkZXIgYXNwZWN0IHJhdGlvXG4gICAgICAgIHBpY3R1cmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyAvKiAxNjo5IEFzcGVjdCBSYXRpbyAqL1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDc1JTsgLyogNDozIEFzcGVjdCBSYXRpbyAqL1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgbm8gcGljdHVyZSBzcmNzZXQsIHVzZSBkZWZhdWx0XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faW5mbyxcbiAgICAmX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICAgICAgLy8gdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NuaXBwZXQge1xuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgIH1cbn1cblxuXG4vLyBTcGVjaWZpYyBTaXplc1xuLnRpbGV7XG4gICAgJi0tbGFyZ2Uge1xuICAgICAgICAudGlsZV9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICB9XG4gICAgICAgIC50aWxlX19zbmlwcGV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1tZWRpdW0tdGFsbCB7XG5cbiAgICB9XG5cbiAgICAmLS1tZWRpdW0td2lkZSB7XG4gICAgICAgIC50aWxlX19pbmZvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQoKTtcbiAgICAgICAgfVxuICAgICAgICAudGlsZV9fc25pcHBldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1taW5pLXRhYmxldFwiKSB7XG4gICAgICAgICAgICAudGlsZV9faW1nLWxpbmssXG4gICAgICAgICAgICAudGlsZV9fY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogMywgJGdyaWQtY29sdW1uczogNiwgJGd1dHRlcjogMjBweCwgJGNvbmRlbnNlZDogdHJ1ZSk7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aWxlX19jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICAgIC50aWxlX19jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRpbGVfX2ltZy1saW5rLFxuICAgICAgICAudGlsZV9fc25pcHBldCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVXNlIGZvciBhcmNoaXZlIGxpc3RpbmdzXG4gICAgJi0tbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoJGd1dHRlcjogMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcblxuICAgICAgICAmLnNob3dUaHVtYiB7XG4gICAgICAgICAgLnRpbGVfX2luZm8ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogOCwgJGdyaWQtY29sdW1uczogMTIsICRndXR0ZXI6IDIwcHgsICRjb25kZW5zZWQ6IHRydWUsICRvcmRlcjogMSk7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMjBweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnRpbGVfX2ltZy1saW5rIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDQsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAyMHB4LCAkY29uZGVuc2VkOiB0cnVlLCAkb3JkZXI6IDIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50aWxlX190aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgfVxuICAgICAgICAudGlsZV9fc25pcHBldCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBGZWF0dXJlZCBMaXN0aW5nIFRpbGVcbi8vIChmaXJzdCBvZiBhcmNoaXZlcywgYnV0IG9ubHkgZm9yIEFydGljbGVzIGFuZCBSZXNlYXJjaClcbi5hcmNoaXZlX19saXN0IC50aWxlLS1saXN0LmZlYXR1cmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcblxuICAgICAgICAudGlsZV9faW1nLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLnRpbGVfX2luZm8ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggNjBweDtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpbGVfX3RpdGxlIGEsXG4gICAgICAgIC5tZXRhLFxuICAgICAgICAubWV0YSBhLFxuICAgICAgICAudG9waWMgYSB7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgfVxuICAgICAgICAudG9waWMgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGJnY29sb3I6IGdldC1jb2xvcih3aGl0ZSkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIC50aWxlX19pbmZvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAudGlsZV9faW5mbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDMwcHggOTBweCA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpbGVfX2ltZy1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjYsMjYsMjYsMCkgMCUsIHJnYmEoMjYsMjYsMjYsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI2LDI2LDI2LDApIDAlLHJnYmEoMjYsMjYsMjYsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNiwyNiwyNiwwKSAwJSxyZ2JhKDI2LDI2LDI2LDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAxYTFhMWEnLCBlbmRDb2xvcnN0cj0nIzFhMWExYScsR3JhZGllbnRUeXBlPTAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aWxlX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCRiZ2NvbG9yOiBnZXQtY29sb3Iod2hpdGUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzRweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aWxlX19zbmlwcGV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIFRvcGljcyBHcmlkIE92ZXJyaWRlc1xuLmdyaWRfX2NvbnRhaW5lci0tdG9waWNzIHtcbiAgICAudG9waWMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAudGlsZV9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBAZWFjaCAkdG9waWMsICRib3JkZXJDb2xvciBpbiAkdG9waWNzIHtcbiAgICAgICAgW2RhdGEtdG9waWM9XCIjeyR0b3BpY31cIl0gLnRpbGVfX2ltZy1saW5rIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAkYm9yZGVyQ29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ncmlkLS10b3BpY3MtY29scyB7XG4gICAgLnRpbGUge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgICAgIC50aWxlX190aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGlsZV9faW1nLWxpbmsge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC50aWxlX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG4gICAgLnRpbGVfX2NvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLy8gVG9wIDIwIFRyYWluaW5nIENvbXBhbmllcyBUaWxlXG4udGlsZVtkYXRhLXR5cGU9XCJ0b3BfY29tcGFuaWVzXCJdIHtcbiAgLnRpbGVfX2ltZy1saW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIC8vIGFsd2F5cyBjaGFyY29hbCBubyBtYXR0ZXIgd2hhdCB0aGUgdG9waWNcbiAgICAgID4gLnN2ZyB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICoge1xuICAgICAgICAgIGZpbGw6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gcGF0dGVybiBwb3NpdGlvbmVkIGluIGNvcm5lclxuICAgICAgLnRvcC1jb21wYW55X19wYXR0ZXJuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgLnN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjZTZlNmU2O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50aWxlX19pbWcge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCk7XG4gICAgICBtYXgtaGVpZ2h0OiA4MCU7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBXZWJpbmFyIFRpbGVcbi53ZWJpbmFyIHtcbiAgICAmX190aWxlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgfVxuICAgICAgICAud2ViaW5hcl9fZGF0ZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19kYXRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIC5kYXkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0OCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgICB9XG4gICAgICAgIC5kYXRlX193cmFwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgICAgIC5tb250aCxcbiAgICAgICAgLnllYXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgICAgIH1cbiAgICAgICAgLnRpbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAuc3RhcnR0aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAubGVuZ3RoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDAgMCAwO1xuICAgICAgICBzdmcgKiB7XG4gICAgICAgICAgICBmaWxsOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3BsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgICAgIC8qIDE2OjkgQXNwZWN0IFJhdGlvICovXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgICAgICAgICAvKiA0OjMgQXNwZWN0IFJhdGlvICovXG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5mbyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLnRvcGljIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCRiZ2NvbG9yOiBnZXQtY29sb3IoZ3JheSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgID5hIHtcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fZm9vdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc3BvbnNvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Nwb25zb3ItaW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBmbGV4LWJhc2lzOiA2NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDY1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICA+aW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyAvLyBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZ1bGwge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxNTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3Nwb25zb3ItdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIH1cbiAgICAmX19wYXR0ZXJuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgICAgICAvKiBJRTEwKyBDU1Mgc3R5bGVzIGdvIGhlcmUgKi9cbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBlYWNoICR0b3BpYyxcbiAgICAgICAgICAgICRzdmdDb2xvciBpbiAkdG9waWNzIHtcbiAgICAgICAgICAgICAgICBbZGF0YS10b3BpYz1cIiN7JHRvcGljfVwiXSAmIHtcbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkc3ZnQ29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEZlYXR1cmUgV2ViaW5hclxuLndlYmluYXItLWZlYXR1cmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjAwcHggMCAzMHB4O1xuICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihjaGFyY29hbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgcGFkZGluZzogMTIwcHggMCA2MHB4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICB9XG5cbiAgICAudG9waWMgYSB7XG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKGdyYXkpKTtcbiAgICB9XG5cbiAgICAud2ViaW5hcl9faW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAud2ViaW5hcl9faGVhZGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSA1NSU7XG4gICAgICAgIH1cblxuICAgICAgICAud2ViaW5hcl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg0OCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2ViaW5hcl9fY2FyZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2ViaW5hcl9fc3RhcnQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgICAgICB9XG4gICAgICAgIC53ZWJpbmFyX190aW1lIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucmVnaXN0cmF0aW9uLWVuZHMge1xuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoZ3JheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2ViaW5hcl9fcGF0dGVybiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiA2MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idXR0b24ge1xuICAgIEBlYWNoICR0b3BpYyxcbiAgICAkYmdDb2xvciBpbiAkdG9waWNzIHtcbiAgICAgICAgLndlYmluYXItLWZlYXR1cmVkW2RhdGEtdG9waWM9XCIjeyR0b3BpY31cIl0gJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvcjsgLy8gVXBkYXRlIHRvIHRvcGljIGNvbG9yXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53ZWJpbmFyX19pbnRybyB7XG4gICAgbWFyZ2luOiAwIDAgODBweDtcbiAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICB9XG5cbiAgICAmICsgLmNvbnRlbnQtbW9kdWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbn1cblxuLy8gU2luZ2xlIFdlYmluYXJcbi5zaW5nbGUtd2ViaW5hcnMge1xuICAgIC5wYWdlX19oZWFkZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG4gICAgLnRpdGxlLS1zaW5nbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuc3BvbnNvcl9fYmFyIHtcbiAgICAgICAgLnNwb25zb3JfX2Jsb2NrOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzAwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5tZXRhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLy8gRmxleCB3cmFwIG5lZWRlZCB3aXRoIG1pbi13aWR0aCB0byBmaXggZ3Jvd2luZyBpc3N1ZXNcbiAgICAmX193cmFwIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuXG4gICAgICAgID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1xcMjAyMic7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wdWItZGF0ZSB7XG4gICAgICAgIC50aWxlICYge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZSBvbiBHcmlkIHRpbGVzIG9ubHlcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2F1dGhvcltocmVmXSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGJnY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlYWQtdGltZSB7XG5cbiAgICB9XG59XG4iLCIudG9waWMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcblxuICAgID4gYSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDA7XG4gICAgICAgICAgY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5wYWdlLXRlbXBsYXRlLWN1c3RvbS10b3BpYy1sYW5kaW5nIHtcbiAgLmNvbnRlbnQtbW9kdWxlIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gIH1cbn0iLCIuY2FsbG91dCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiA2MHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKG9mZi13aGl0ZSk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCgkanVzdGlmeS1jb250ZW50OiBjZW50ZXIpO1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkKCRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4pO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAwIDEgMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuXG4gICAgICAgICYtLWltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICYtLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAuY2FsbG91dF9fdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICYtLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FsbG91dF9fc25pcHBldCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWN0YSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICYtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDgsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAyMHB4LCAkYWxpZ24tc2VsZjogY2VudGVyLCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgLmNhbGxvdXRfX3RpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY2FsbG91dF9fc25pcHBldCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1jdGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDQsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAyMHB4LCAkYWxpZ24tc2VsZjogY2VudGVyLCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXG4gICAgICAgICAgICAmLS1pbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiAzLCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogMjBweCwgJGFsaWduLXNlbGY6IGZsZXgtZW5kLCAkY29uZGVuc2VkOiB0cnVlKTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtNjBweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOiA2LCAkZ3JpZC1jb2x1bW5zOiAxMiwgJGd1dHRlcjogMjBweCwgJGFsaWduLXNlbGY6IGNlbnRlciwgJGNvbmRlbnNlZDogdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1jdGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDMsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiAyMHB4LCAkYWxpZ24tc2VsZjogY2VudGVyLCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLW1hZ2F6aW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKG9mZi13aGl0ZSk7XG4gICAgfVxufVxuXG4ucGFnZV9faGVhZGVyICsgLmNhbGxvdXQge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xufVxuIiwiLmZlYXR1cmUge1xuICAgICZfX2FydGljbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgID4gcGljdHVyZSBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjYsMjYsMjYsMCkgMCUsIHJnYmEoMjYsMjYsMjYsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI2LDI2LDI2LDApIDAlLHJnYmEoMjYsMjYsMjYsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNiwyNiwyNiwwKSAwJSxyZ2JhKDI2LDI2LDI2LDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAxYTFhMWEnLCBlbmRDb2xvcnN0cj0nIzFhMWExYScsR3JhZGllbnRUeXBlPTAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2luZm8ge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1taW5pLXRhYmxldFwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ1cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDU4cHgpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcmVzaXplZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjhweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMHB4KTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2J0biB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PW1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENvbG9yIFRoZW1pbmcgYmFzZWQgb24gSW1hZ2Vcbi8vIERlZmF1bHRcbi5mZWF0dXJlX19hcnRpY2xlW2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49bWluaS10YWJsZXRcIikge1xuICAgICAgICAuZmVhdHVyZV9fdGl0bGUgYSxcbiAgICAgICAgLm1ldGEsXG4gICAgICAgIC5tZXRhIGEsXG4gICAgICAgIC50b3BpYyBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgICAgIC50b3BpYyBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKSk7XG4gICAgICAgIH1cbiAgICAgICAgYTpub3QoLmZlYXR1cmVfX2J0bikge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCRiZ2NvbG9yOiBnZXQtY29sb3Iod2hpdGUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmVhdHVyZV9fYnRuIHtcbiAgICAgICAgQGV4dGVuZCAlYnRuLWdob3N0LWludmVydGVkO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBCbGFjayBUZXh0XG4uZmVhdHVyZV9fYXJ0aWNsZVtkYXRhLXRoZW1lPVwibGlnaHRcIl0ge1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1taW5pLXRhYmxldFwiKSB7XG4gICAgICAgIC5mZWF0dXJlX190aXRsZSBhLFxuICAgICAgICAubWV0YSxcbiAgICAgICAgLm1ldGEgYSxcbiAgICAgICAgLnRvcGljIGEge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICAgIH1cbiAgICAgICAgYTpub3QoLmZlYXR1cmVfX2J0bikge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZlYXR1cmVfX2ltZyB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLDI0NSwyNDcsMCkgMCUsIHJnYmEoMjQwLDI0NSwyNDcsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI0MCwyNDUsMjQ3LDApIDAlLHJnYmEoMjQwLDI0NSwyNDcsMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNDAsMjQ1LDI0NywwKSAwJSxyZ2JhKDI0MCwyNDUsMjQ3LDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAxYTFhMWEnLCBlbmRDb2xvcnN0cj0nIzFhMWExYScsR3JhZGllbnRUeXBlPTAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuZmVhdHVyZV9fYnRuIHtcbiAgICAgICAgQGV4dGVuZCAlYnRuLWdob3N0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1pbmktdGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mZWF0dXJlX19hcnRpY2xlW2RhdGEtc3R5bGU9XCJuby1ncmFkaWVudFwiXSB7XG4gICAgLmZlYXR1cmVfX2ltZzphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCIuc3BvbnNvciB7XG4gICAgJl9fYmFyIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm93bC1uZXh0LFxuICAgICAgICAub3dsLXByZXYge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICMyYjMwMzQhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgIzJiMzAzNCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIWltcG9ydGFudDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm93bC1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgc3BhbiB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vd2wtbmV4dCB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICBzcGFuIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNsb3NlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5maXhlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsb3NlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjdweDtcbiAgICAgICAgICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDhweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19iYXItd3JhcCB7XG4gICAgICAgICZbZGF0YS1jb3VudD1cIjFcIl0ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5vd2wtY2Fyb3VzZWwge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjAlIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19ibG9jayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhdGlvX19jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xvZ28ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZmlsdGVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBEcm9wZG93bnMgYW5kIHRvZ2dsZSBidXR0b25zXG4gICZfX2NvbnRyb2xzIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPnRhYmxldFwiKSB7XG4gICAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLy8gTGFiZWwgbmV4dCB0byBkcm9wZG93blxuICAmX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAmX19zZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgfVxuXG4gIC8vIFRvZ2dsZSBidXR0b24gZm9yIG1vYmlsZVxuICAmX190b2dnbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gIH1cbiAgLy8gQ2F0ZW9nb3J5IGFuZCBUb3BpYyBsaXN0cyB2aWEgKHdwX2xpc3RfY2F0ZWdvcmllcylcbiAgJl9fbGlzdCB7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyBcbiAgICB9XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAmOmxhc3QtY2hpbGQoKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpKTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMDtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi5zb2NpYWxfX2NhbGxvdXQge1xuICAgIG1hcmdpbjogNjBweCAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgfVxuXG4gICAgJi1xdW90ZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcsXG4gICAgLmljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGZpbGw6IGdldC1hY2NlbnQoY3lhbik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnRhZ3Mge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA2MHB4IDAgMDtcbiAgICBtYXJnaW46IDYwcHggMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKCcuLi9hc3NldHMvaW1nL2xvZ29zL3RpLWxvZ28tZW1ibGVtLnN2ZycpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAvLyBCb3JkZXIgYm90dG9tIGFuZCBwYWRkaW5nIG9uIGxpc3RcbiAgICAgICAgLy8gc28gaWYgdGhlcmUgaXNuJ3QgYSBsaXN0LCBpdCB3b24ndCBzaG93XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihvZmYtd2hpdGUpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAjYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5hdXRob3Ige1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgJl9fcGljIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2JpbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgW2l0ZW1wcm9wPVwibmFtZVwiXSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbW9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbn1cbiIsIi5yZWxhdGVkLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdyaWQoJGd1dHRlcjogNDBweCk7XG4gICAgLnRpbGUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDQsICRncmlkLWNvbHVtbnM6IDEyLCAkZ3V0dGVyOiA0MHB4LCAkY29uZGVuc2VkOiB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IC8qIDE2OjkgQXNwZWN0IFJhdGlvICovXG4gIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihsaWdodGVyLWdyYXkpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1taW5pLXRhYmxldFwiKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzUlOyAvKiA0OjMgQXNwZWN0IFJhdGlvICovXG4gIH1cblxuICAudGlsZS0tbGFyZ2UgJixcbiAgLmZlYXR1cmVkICYge1xuICAgIC8vIFN0YXkgYSAxNjo5IGZvciBhbGwgYnJlYWtwb2ludHMgaWYgaW4gYSBmZWF0dXJlZCB0aWxlXG4gICAgcGFkZGluZy10b3A6IDU2LjI1JTsgLyogMTY6OSBBc3BlY3QgUmF0aW8gKi9cbiAgfVxuXG4gIC8vIFNldCBiZyBjb2xvciBiYXNlZCBvbiBUb3BpY1xuICBAZWFjaCAkdG9waWMsICRiZ0NvbG9yIGluICR0b3BpY3Mge1xuICAgIFtkYXRhLXRvcGljPVwiI3skdG9waWN9XCJdICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbiBTVkcgSWNvbiBpbnNpZGUgcGxhY2Vob2xkZXJcbiAgPiAuc3ZnIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcblxuICAgICoge1xuICAgICAgZmlsbDogZ2V0LWNvbG9yKHdoaXRlKTtcblxuICAgICAgW2RhdGEtdG9waWM9XCJsZWFkZXJzaGlwXCJdICYge1xuICAgICAgICBmaWxsOiBnZXQtY29sb3IoYmxhY2spO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2Uge1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgNjBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLXRlbXBsYXRlLWRlZmF1bHQgJiB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGVzICYge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVG9waWMgTGFuZGluZyBQYWdlc1xuICAgICAgICAmLS10b3BpYyB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDgwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlYWNoICR0b3BpYywgJGJvcmRlckNvbG9yIGluICR0b3BpY3Mge1xuICAgICAgICAgICAgICAmW2RhdGEtdG9waWM9XCIjeyR0b3BpY31cIl06YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvcmRlckNvbG9yOyAvLyBVcGRhdGUgdG8gdG9waWMgY29sb3JcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEN1c3RvbSBTdXBwbGllciBQYWdlc1xuICAgICAgICAmLS1jb250YWN0IHtcblxuICAgICAgICAgIC5jb250YWN0LXNwb25zb3Ige1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC50aXRsZS0tcGFnZSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGFjdC1zcG9uc29yIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYWdlX19kZXNjIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgLnRpdGxlLS1wYWdlIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTkpO1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgfVxufVxuIiwiLnBvc3R0eXBlLWNhbGxvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuXG4gICZfX2luZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAmX19jdGEge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhhYmxldFwiKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19pbmZvLFxuICAgICZfX2N0YSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFR5cGljYWwgY29udGVudCBmb3IgdGhlc2UgY2FsbG91dHM6XG4vLyBQdWJsaXNoZWQgbWFnYXppbmUgaXNzdWVcbi5wdWJsaXNoZWQtaXNzdWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmX19pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICAmX19pbmZvIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICB9XG4gICZfX2ltZyArIC5wdWJsaXNoZWQtaXNzdWVfX2luZm8ge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgfVxufVxuXG5cbi8vIFdlYmluYXIgSW5mb3JtYXRpb25cbi5yZWdpc3RyYXRpb24tZW5kcyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IC02MHB4IDAgNjBweDtcbiAgZm9udC1zaXplOiByZW0oMTQpO1xuICBjb2xvcjogZ2V0LWNvbG9yKGdyYXkpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4iLCIubGlzdCB7XG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAwIC00MHB4O1xuICAgICAgcGFkZGluZzogMzBweCA0MHB4O1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKFxuICAgICAgICAgICAgJGJ0bi1iZy1jb2xvcjogZ2V0LWNvbG9yKHdoaXRlKSxcbiAgICAgICAgICAgICRidG4tYmctY29sb3ItaG92ZXI6IHJnYmEoZ2V0LWNvbG9yKHdoaXRlKSwgLjgpLFxuICAgICAgICAgICAgJGJ0bi10ZXh0LWNvbG9yOiBnZXQtY29sb3IoYmxhY2spLFxuICAgICAgICAgICAgJGJ0bi10ZXh0LWNvbG9yLWhvdmVyOiByZ2JhKGdldC1jb2xvcihibGFjayksIC44KSxcbiAgICAgICAgICAgICRidG4tYm9yZGVyOiAxcHggc29saWQsXG4gICAgICAgICAgICAkYnRuLWJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGJsYWNrKSxcbiAgICAgICAgICAgICRidG4tYm9yZGVyLWNvbG9yLWhvdmVyOiByZ2JhKGdldC1jb2xvcihibGFjayksIC44KSxcbiAgICAgICAgICAgICRidG4tYm94LXNoYWRvdy1ob3ZlcjogcmdiYShnZXQtY29sb3IoYmxhY2spLCAuMjUpXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IDE0MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDI1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICB9XG4gIH1cblxuICAmX19hY3Rpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgZmxleC1iYXNpczogMTUwcHg7XG4gICAgfVxuICB9XG59XG4iLCIubWFnIHtcbiAgLy8gTWFpbiB3cmFwcGVyIGZvciBsYXJnZSBmZWF0dXJlIGFyZWEgKGNvdmVyIGFuZCBmZWF0dXJlcylcbiAgJl9faW50cm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIE1hZ2F6aW5lIENvdmVyIHRpdGxlIGFuZCBsb2dvXG4gIC8vIFRyZWF0IGl0IGxpa2UgYSB3cmFwcGVyIHNpbmNlIGl0IG5lZWRzIHRvIGJlIHBvc2l0aW9uOmFicztcbiAgJl9fY292ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHggNjBweDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuXG4gICAgLy8gU2V0IGdyYWRpZW50IG92ZXJsYXkgb24gYmcgaW1hZ2VcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI2LDI2LDI2LDApIDAlLCByZ2JhKDI2LDI2LDI2LDEpIDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI2LDI2LDI2LDApIDAlLHJnYmEoMjYsMjYsMjYsMSkgMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI2LDI2LDI2LDApIDAlLHJnYmEoMjYsMjYsMjYsMSkgMTAwJSk7XG4gICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAwMWExYTFhJywgZW5kQ29sb3JzdHI9JyMxYTFhMWEnLEdyYWRpZW50VHlwZT0wICk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDYwcHggNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDEwMHB4IDEyMHB4O1xuICAgIH1cblxuICAgIC8vIHBvc2l0aW9uIGNvbnRlbnQgb3ZlciBncmFkaWVudFxuICAgID4gaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cblxuICAgICAgLnNjcm9sbC1hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtODBweDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgZ2V0LWNvbG9yKHdoaXRlKTtcblxuICAgICAgICAgID4gLnN2ZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xuXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICBmaWxsOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJlb3JkZXIgbG9nbyBhbmQgZWRpdGlvbiB0byB0b3BcbiAgICAubWFnX19tZXRhIHtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAuZWRpdGlvbiB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1hZy1pbnRyb19fbG9nbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoZ2V0LWNvbG9yKGJsYWNrKSwgLjc1KTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IC5zdmcge1xuICAgICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5tYWdfX2NvdmVyLXRpdGxlIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bzsgLy8gZmxleGJveCBhbGlnbm1lbnRcbiAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NSU7XG4gICAgICB9XG4gICAgfVxuICAgIC5tYWdfX2N0YSB7XG4gICAgICBvcmRlcjogMztcbiAgICB9XG4gIH1cblxuICAvLyBNYWdhemluZSBzdWIgbmF2IGFuZCBmZWF0dXJlIGFydGljbGVzXG4gIC8vIGJlbG93IGNvdmVyIG9uIG1vYmlsZSBhbmQgcG9zOmFicyBvbiBsYXB0b3BcbiAgJl9fZmVhdHVyZXMge1xuICAgIHBhZGRpbmc6IDEwcHggMzBweCAzMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDYwcHggNjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggMTAwcHggMTIwcHggMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xvciBUaGVtaW5nIGJhc2VkIG9uIEltYWdlXG4vLyBEZWZhdWx0XG4ubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG5cbiAgLy8gQ292ZXIgaXRlbXNcbiAgLm1hZ19fY292ZXItdGl0bGUsXG4gIC5tYWdfX21ldGEge1xuICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICB9XG5cbiAgLy8gRmVhdHVyZSBJdGVtcyAob25seSA+PWxhcHRvcClcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgLnRvcGljIGEsXG4gICAgLnRpdGxlLS1hcnRpY2xlIGEsXG4gICAgLm1ldGFfX2NvbnRlbnQsXG4gICAgLm1ldGFfX2NvbnRlbnQgYSxcbiAgICAubWFnX19uYXYgYSxcbiAgICAubWFnX19uYXYgYTpob3ZlcixcbiAgICAubWFnX19uYXYgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICB9XG4gICAgLnRvcGljIGEsXG4gICAgLm1ldGFfX2NvbnRlbnQgYTpob3ZlcixcbiAgICAubWV0YV9fY29udGVudCBhOmFjdGl2ZSxcbiAgICAubWFnX19uYXYgYTpob3ZlcixcbiAgICAubWFnX19uYXYgYTphY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGJnY29sb3I6IGdldC1jb2xvcih3aGl0ZSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xvciBUaGVtaW5nIGJhc2VkIG9uIEltYWdlXG4vLyBCbGFjayBUZXh0XG4ubWFnX19pbnRyb1tkYXRhLXRoZW1lPVwibGlnaHRcIl0ge1xuXG4gIC8vIENvdmVyIEl0ZW1zXG4gIC5tYWdfX2NvdmVyLXRpdGxlLFxuICAubWFnX19tZXRhIHtcbiAgICAgIGNvbG9yOiBnZXQtY29sb3IoYmxhY2spO1xuICB9XG5cbiAgLy8gRmVhdHVyZSBJdGVtcyAob25seSA+PWxhcHRvcClcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgLnRvcGljIGEsXG4gICAgLnRpdGxlLS1hcnRpY2xlIGEsXG4gICAgLm1hZ19fbmF2IGEsXG4gICAgLm1hZ19fbmF2IGE6aG92ZXIsXG4gICAgLm1hZ19fbmF2IGE6YWN0aXZlLFxuICAgIC5tZXRhLFxuICAgIC5tZXRhIGEge1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGJsYWNrKTtcbiAgICB9XG4gICAgLnRvcGljIGEsXG4gICAgLm1hZ19fbmF2IGE6aG92ZXIsXG4gICAgLm1hZ19fbmF2IGE6YWN0aXZlLFxuICAgIC5tZXRhIGE6aG92ZXIsXG4gICAgLm1ldGEgYTphY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGJnY29sb3I6IGdldC1jb2xvcihjaGFyY29hbCkpO1xuICAgIH1cbiAgICAubWFnX19mZWF0dXJlZC1hcnRpY2xlLFxuICAgIC5tYWdfX25hdiAubWVudS1pdGVtIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGRhcmstZ3JheSk7XG4gICAgfVxuICAgIC5zY3JvbGwtYXJyb3cge1xuICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoY2hhcmNvYWwpO1xuICAgICAgPiAuc3ZnID4gKiB7XG4gICAgICAgIGZpbGw6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIENoYW5nZSBidXR0b24gZnJvbSBpbnZlcnRlZCB0byByZWd1bGFyXG4gIC5idXR0b24tLWludmVydGVkIHtcbiAgICBAZXh0ZW5kICVidG47XG4gIH1cbiAgLy8gVXBkYXRlIGdyYWRpZW50IHRvIHdoaXRlXG4gIC5tYWdfX2NvdmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjQwLDI0NSwyNDcsMCkgMCUsIHJnYmEoMjQwLDI0NSwyNDcsMSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI0MCwyNDUsMjQ3LDApIDAlLHJnYmEoMjQwLDI0NSwyNDcsMSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNDAsMjQ1LDI0NywwKSAwJSxyZ2JhKDI0MCwyNDUsMjQ3LDEpIDEwMCUpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMDAxYTFhMWEnLCBlbmRDb2xvcnN0cj0nIzFhMWExYScsR3JhZGllbnRUeXBlPTAgKTtcbiAgfVxufVxuXG4ubWFnX19pbnRyb1tkYXRhLXN0eWxlPVwibm8tZ3JhZGllbnRcIl0ge1xuICAubWFnX19jb3ZlcjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8gU3ViIE5hdiBmb3IgTWFnYXppbmVcbi5tYWdfX25hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxuXG4gIC5tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJvcmRlci1jb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZyxcbiAgICAgICAgY29sb3IgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBnZXQtY29sb3IoYmxhY2spO1xuICAgICAgICBib3JkZXItY29sb3I6IGdldC1jb2xvcihncmF5KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcihjaGFyY29hbCk7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoNHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiA4cHggMTBweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHQtZ3JheSk7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBhIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5tYWdfX2ZlYXR1cmVkIHtcbiAgJi1hcnRpY2xlIHtcbiAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcblxuICAgIC50aXRsZS0tYXJ0aWNsZSB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb3VudCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogcmVtKDMwKTtcbn1cbi5zZWFyY2gtdGVybSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4iLCIubWFnLWNvbHVtbiB7XG4gIHBhZGRpbmc6IDAgMCAzMHB4O1xuICBtYXJnaW46IDAgMCA2MHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ2V0LWNvbG9yKCdsaWdodC1ncmF5Jyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuY29sdW1uLXR5cGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnByb2dyZXNzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGdldC1jb2xvcignY2hhcmNvYWwnKTtcblxuICAmX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICZfX2JhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKCdjaGFyY29hbCcpO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbnByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcignY2hhcmNvYWwnKTtcbn1cblxucHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKCdjaGFyY29hbCcpO1xufVxuIiwiLy8gU3R5bGVzIGZvciBvdXIgbW9kYWwgY29udGVudCB0aGF0J3MgaW5zaWRlIG1hZ25pZmljXG4ubW9kYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIC0yMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzUwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY3RhIHtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICBmbGV4OiBub25lO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jbG9zZS1tb2RhbCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtYnV0dG9uKCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG5cbiAgICA+IHN2ZyB7XG4gICAgICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXIoKTtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb21wYW55IHtcbiAgJl9fbmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAmX19sb2NhbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgY29sb3I6IGdldC1jb2xvcihncmF5KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19kZXNjIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG4iLCIudG9wLWNhdGVnb3JpZXMge1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAudG9wX19jYXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgID4gLnRvcF9fbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgY29sb3I6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHRlci1ncmF5KTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBib3JkZXItY29sb3IgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgICAgICAgY29sb3IgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiBnZXQtY29sb3IoYmxhY2spO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogZ2V0LWNvbG9yKGdyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogNHB4O1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoNHB4KTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWSgtNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXQtaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIEBpbmNsdWRlIGdyaWQoJGd1dHRlcjogMjBweCk7XG5cbiAgICAudG9wX19jYXQge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDogNCwgJGdyaWQtY29sdW1uczogMTIsICRjb25kZW5zZWQ6IHRydWUsICRndXR0ZXI6IDIwcHgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0ZXItZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgfVxuXG4gICAgLnRvcF9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAvLyBEZWZhdWx0cyB0byBTcXVhcmUgMToxXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmNhdC1pbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gRHVwbGljYXRlIG5hbWUsIGJ1dCB1c2VkIG9uIG1vYmlsZSBvbmx5IChhZnRlciBhZGRpbmcgbG9nbyByZWZhY3RvciByZXF1ZXN0KVxuICAgICAgLmNhdC1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LW5hbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcbiAgICB9XG5cbiAgICAuc2Vjb25kYXJ5LWxpbmsge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuXG4gICAgLnRvcF9fY2F0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6IDIsICRncmlkLWNvbHVtbnM6IDEwLCAkY29uZGVuc2VkOiB0cnVlLCAkZ3V0dGVyOiAyMHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG5cblxuICB9XG59XG4iLCIuaW5mby1tb2R1bGUge1xuICBkaXNwbGF5OiBub25lO1xuICAvLyBPbmx5IHNob3cgb24gPj0gdGFibGV0XG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHQtZ3JheSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcblxuICAgIC8vIENsYXNzIGFkZGVkIHZpYSBKUyBzY3JvbGxpbmdcbiAgICAmLnNob3cge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5wYWdlLXRlbXBsYXRlLWN1c3RvbS10b3BpYy1sYW5kaW5nICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2luZ2xlICYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAmX19jdGEge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgfVxuXG4gICZfX3NuaXBwZXQge1xuICAgIG1hcmdpbjogMDtcblxuICAgICZbZGF0YS13ZWlnaHQ9XCJib2xkXCJdIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICBib2R5LnBhZC1mb290ZXIge1xuICAgIC5mb290ZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi50b2Mge1xuICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbC1sZWFkaW5nLXplcm87XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgkYmdjb2xvcjogZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi53aWtpIHtcbiAgJl9faGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBtYXJnaW46IDAgLTcwcHggMzBweDtcbiAgICAgIHBhZGRpbmc6IDAgNzBweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29weS1saW5rIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuXG4gIH1cblxuICAuY29weS1saW5rIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXIoKTtcbiAgICBsZWZ0OiA1MHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuXG4gICAgPiBzdmcge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCk7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mZWVkYmFjayB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmX19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICZfX3NuaXBwZXQge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gIH1cblxuICAvLyBUaGUgaGlkZS9zaG93IGZvcm0gZm9yIGZlZWRiYWNrXG4gICZfX2Zvcm0ge1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgZWFzZSwgbWF4LWhlaWdodCAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcblxuICAgIC8vIE9wZW4gU3RhdGVcbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgICAvLyBDbG9zZWQgU3RhdGVcbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3MsIDBzLCAwcztcbiAgICB9XG4gIH1cbn1cbiIsIi5zZXBhcmF0b3Ige1xuICAmLS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgfVxufVxuIiwiLmdsb3NzYXJ5IHtcbiAgLy8gTmF2aWdhdGlvbiBJbmRleFxuICAmX19uYXYge1xuICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwcHg7IC8vIFNldCBoZWlnaHQgdG8gY3V0IG9mZiBob3Jpem9udGFsIHNjcm9sbCBiYXJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgICAgIGhlaWdodDogMTAwcHg7IC8vIFNldCBoZWlnaHQgdGFsbCBlbm91Z2h0IHRvIGN1dCBvZmYgc2Nyb2xsIGJhclxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWl0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDJweCA1cHg7XG4gICAgfVxuXG4gICAgJi1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGJhY2tncm91bmQ6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICBjb2xvcjogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IobGlnaHQtZ3JheSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgJl9fc2VjdGlvbiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgJi1oZWFkaW5nIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiByZW0oNDgpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgIHdpZHRoOiAzMyU7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMjBweCAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBnZXQtY29sb3IobGlnaHQtZ3JheSk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBib3JkZXItY29sb3IgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBjb2xvciAkYmFzZS1hbmltYXRpb24tc3BlZWQgJGJhc2UtYW5pbWF0aW9uLWVhc2luZztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoZ3JheSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IoY2hhcmNvYWwpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGVZKDRweCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCRiZ2NvbG9yOiBnZXQtY29sb3IoZ3JheSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFkZHRoaXNfc2hhcmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKHdoaXRlKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgei1pbmRleDogNTA7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgLjE1cyBlYXNlLCBwb3NpdGlvbiAuMTVzIGVhc2U7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDIyMHB4O1xuICAgIGJvdHRvbTogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAmLmhpZGUge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02NDBweCk7XG4gICAgcGFkZGluZzogMDtcblxuICAgICYtLW1hZy1sYW5kc2NhcGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogODEwcHg7XG5cbiAgICAgICAgJi5maXhlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDIyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tbWFnLXBvcnRyYWl0IHtcbiAgICAgICAgbGVmdDogNDAlO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBpcyBhIHJhcmUgb2NjdXJhbmNlIGZvciBhIHNwZWNpZmljIHBhZ2UgdHlwZS5cbiAgLy8gTmVlZCB0byBjb250YWluIHRoZSA0MCUgY29vcmRpbmF0ZSBhZnRlciBhIGNlcnRhaW4gc2l6ZSBzbyBpdCBkb2Vzbid0IGtlZXAgbW92aW5nXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj0xODM0cHhcIikge1xuICAgICYtLW1hZy1wb3J0cmFpdCB7XG4gICAgICAgIGxlZnQ6IDczM3B4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBnZXQtY29sb3IoZ3JheSk7XG5cbiAgICAqIHtcbiAgICAgIC8vIEZpeCBBZGRUaGlzIGNyYXBweSBKU1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgPiBzdmcgPiAqIHtcbiAgICAgICAgICBmaWxsOiBnZXQtY29sb3IoYmxhY2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBzdmcge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyKCk7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgID4gKiB7XG4gICAgICAgIGZpbGw6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmdhdGV3YXkge1xuXG4gICZfX2Zvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdldC1jb2xvcihsaWdodGVyLWdyYXkpO1xuICB9XG5cbn1cbiIsIi5sb2FkaW5nIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAuc3Bpbm5lciB7XG4gICAgYW5pbWF0aW9uOiByb3RhdGUgMnMgbGluZWFyIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICYgLnBhdGgge1xuICAgICAgc3Ryb2tlOiBnZXQtY29sb3IoY2hhcmNvYWwpO1xuICAgICAgc3Ryb2tlLWxpbmVjYXA6IHNxdWFyZTtcbiAgICAgIGFuaW1hdGlvbjogZGFzaCAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIH1cbiAgfVxufVxuXG4ubG9hZC1tb3JlIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIucGRmLWVtYmVkIHtcbiAgaGVpZ2h0OiAxMTAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gIC5wYWdlLXRlbXBsYXRlLWN1c3RvbS1jcHRtLXRlbXBsYXRlICYge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgbWFyZ2luOiAwIC02MHB4IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICBtYXJnaW46IDAgLTE4MHB4IDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgbWFyZ2luOiAwIC0yNjBweCAzMHB4O1xuICB9XG59XG4iLCIvKiFcbiAgTW9kYWFsIC0gYWNjZXNzaWJsZSBtb2RhbHMgLSB2MC4zLjFcbiAgYnkgSHVtYWFuLCBmb3IgYWxsIGh1bWFucy5cbiAgaHR0cDovL2h1bWFhbi5jb21cbiAqL1xuXG4vLyBNb2RhYWwgVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbW9kYWFsLW92ZXJsYXktY29sb3I6IHJnYmEoMCwwLDAsIDAuOCk7XG5cbiRtb2RhYWwtcmFkaXVzOiAwcHg7IC8vNXB4XG4kbW9kYWFsLW1haW4tYmc6ICNmZmY7XG4kbW9kYWFsLW1haW4tdGV4dDogIzAwMDtcbiRtb2RhYWwtbWF4LXdpZHRoOiAxMDAwcHg7XG4kbW9kYWFsLXNoYWRvdzogMCA0cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4kbW9kYWFsLXBhZGRpbmc6IDMwcHg7XG4kbW9kYWFsLWhvdmVyLWNvbG9yOiByZ2JhKDAsMCwwLCAwLjcpO1xuXG4kbW9kYWFsLWxpZ2h0OiAjZmZmO1xuJG1vZGFhbC1wcmltYXJ5OiAjNTU1O1xuJG1vZGFhbC1ncmV5OiAjYWZiN2JjO1xuXG5cbi8vIE1vZGFhbCBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbW9kYWFsLXRyYW5zaXRpb24oJHR5cGUsICRzcGVlZDogLjJzLCAkZWFzZTogZWFzZS1pbi1vdXQpIHtcbiAgdHJhbnNpdGlvbjogJHR5cGUgI3skc3BlZWR9ICN7JGVhc2V9O1xufVxuQG1peGluIG1vZGFhbC1oaWRldGV4dCgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwYWRkaW5nOjAgIWltcG9ydGFudDtcbiAgYm9yZGVyOjAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8vIE1vZGFhbCBTdHJ1Y3R1cmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLW5vc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tb2RhYWwtYWNjZXNzaWJsZS1oaWRlIHtcbiAgQGluY2x1ZGUgbW9kYWFsLWhpZGV0ZXh0O1xufVxuXG4ubW9kYWFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5O1xuICBvcGFjaXR5OiAwO1xufVxuLm1vZGFhbC13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5O1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihhbGwsIDAuM3MpO1xuICAmICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAubW9kYWFsLWNsb3NlIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAmLm1vZGFhbC1zdGFydF9ub25lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgJi5tb2RhYWwtc3RhcnRfZmFkZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYgKlt0YWJpbmRleD1cIjBcIl0ge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIGlzIGZ1bGxzY3JlZW5cbiAgJi5tb2RhYWwtZnVsbHNjcmVlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuLm1vZGFhbC1vdXRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogODBweCAyNXB4O1xuXG4gIC8vIHdoZW4gaXMgZnVsbHNjcmVlblxuICAubW9kYWFsLWZ1bGxzY3JlZW4gJiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG4ubW9kYWFsLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogJG1vZGFhbC1tYWluLXRleHQ7XG4gIG1heC13aWR0aDogJG1vZGFhbC1tYXgtd2lkdGg7XG4gIGJvcmRlci1yYWRpdXM6ICRtb2RhYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkbW9kYWFsLW1haW4tYmc7XG4gIGJveC1zaGFkb3c6ICRtb2RhYWwtc2hhZG93O1xuICBjdXJzb3I6IGF1dG87XG5cbiAgLy8gd2hpbGUgbG9hZGluZ1xuICAmLmlzX2xvYWRpbmcge1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gd2hlbiBpcyBmdWxsc2NyZWVuXG4gIC5tb2RhYWwtZnVsbHNjcmVlbiAmIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG5cbi5tb2RhYWwtY2xvc2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IDIwcHg7XG4gIGNvbG9yOiAkbW9kYWFsLWxpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDApO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihhbGwpO1xuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7IGJhY2tncm91bmQ6ICNiOTNkMGM7IH1cbiAgfVxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBtb2RhYWwtaGlkZXRleHQ7XG4gIH1cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE0cHg7XG4gICAgbGVmdDogMjNweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgLm1vZGFhbC1mdWxsc2NyZWVuICYge1xuICAgIGJhY2tncm91bmQ6ICRtb2RhYWwtZ3JleTtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbn1cblxuLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6ICRtb2RhYWwtcGFkZGluZztcbn1cblxuXG4vLyBDb25maXJtIE1vZGFhbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1vZGFhbC1jb25maXJtLXdyYXAge1xuICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDA7XG59XG4ubW9kYWFsLWNvbmZpcm0tYnRuIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgLy8gT2sgQnV0dG9uXG4gICYubW9kYWFsLW9rIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgY29sb3I6ICRtb2RhYWwtbGlnaHQ7XG4gICAgYmFja2dyb3VuZDogJG1vZGFhbC1wcmltYXJ5O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkbW9kYWFsLXByaW1hcnksIDE1JSk7XG4gICAgfVxuICB9XG4gICYubW9kYWFsLWNhbmNlbCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogZGFya2VuKCRtb2RhYWwtcHJpbWFyeSwgMTUlKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBrZXlmcmFtZXMgaW5zdGFSZXZlYWwge1xuICAwJSAgeyBvcGFjaXR5OiAwOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALW8ta2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcbiAgMCUgIHsgb3BhY2l0eTogMDsgfVxuICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC1tcy1rZXlmcmFtZXMgaW5zdGFSZXZlYWwge1xuICAwJSAgeyBvcGFjaXR5OiAwOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vIEluc3RhZ3JhbSBQaG90b1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1vZGFhbC1pbnN0YWdyYW0ge1xuICAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5tb2RhYWwtY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciA+IGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbiAgfVxuICBpZnJhbWUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbWFyZ2luOiAtNnB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAwcHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgYW5pbWF0aW9uOiBpbnN0YVJldmVhbCAxcyBsaW5lYXIgZm9yd2FyZHM7XG4gIH1cbn1cblxuXG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLWltYWdlIHtcbiAgLm1vZGFhbC1pbm5lci13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE0MHB4O1xuICB9XG4gIC5tb2RhYWwtY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLm1vZGFhbC1nYWxsZXJ5LXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkbW9kYWFsLWxpZ2h0O1xufVxuLm1vZGFhbC1nYWxsZXJ5LWl0ZW0ge1xuICBkaXNwbGF5OiBub25lO1xuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vd2lkdGg6IDEwMCU7XG4gIH1cbiAgJi5pc19hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubW9kYWFsLWdhbGxlcnktbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDIwcHggMCAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbn1cbi5tb2RhYWwtZ2FsbGVyeS1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBvcGFjaXR5OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAkbW9kYWFsLWxpZ2h0O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihhbGwpO1xuICAmLmlzX2hpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG1vZGFhbC1ncmV5O1xuICAgIH1cbiAgfVxuICBzcGFuIHtcbiAgICBAaW5jbHVkZSBtb2RhYWwtaGlkZXRleHQ7XG4gIH1cblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTZweDtcbiAgICBsZWZ0OiAyNXB4O1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIEBpbmNsdWRlIG1vZGFhbC10cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBtYXJnaW46IC01cHggMCAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuLm1vZGFhbC1nYWxsZXJ5LW5leHQge1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cbi5tb2RhYWwtZ2FsbGVyeS1wcmV2IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7IGxlZnQ6IDIycHg7IH1cbiAgJjpiZWZvcmUge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIG1hcmdpbjogLTVweCAwIDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG59XG5cblxuLy8gVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLXZpZGVvLXdyYXAge1xuICBtYXJnaW46IGF1dG8gNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9kYWFsLXZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwwLDAsIDAuMyk7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG1heC13aWR0aDogMTMwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLy8gTW9kYWFsIGlGcmFtZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tb2RhYWwtaWZyYW1lIC5tb2RhYWwtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubW9kYWFsLWlmcmFtZS1lbGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAubW9kYWFsLXZpZGVvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgaGVpZ2h0OiA3MzFweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNDBweCkge1xuICAubW9kYWFsLWltYWdlIHtcbiAgICAubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB9XG4gIH1cbiAgLm1vZGFhbC1nYWxsZXJ5LWNvbnRyb2wge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDIwcHg7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuNyk7O1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG4gIH1cbiAgLm1vZGFhbC1nYWxsZXJ5LW5leHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLm1vZGFhbC1nYWxsZXJ5LXByZXYge1xuICAgIGxlZnQ6IDIwcHg7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1vZGFhbC1pbnN0YWdyYW0gaWZyYW1lIHtcbiAgICB3aWR0aDogNTAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDExMDBweCkge1xuICAubW9kYWFsLWluc3RhZ3JhbSBpZnJhbWUge1xuICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMTAwMHB4KSB7XG4gIC5tb2RhYWwtaW5uZXItd3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbiAgLm1vZGFhbC1pbnN0YWdyYW0gaWZyYW1lIHtcbiAgICB3aWR0aDogNjAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDkwMHB4KSB7XG4gIC5tb2RhYWwtaW5zdGFncmFtIGlmcmFtZSB7XG4gICAgd2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1vZGFhbC12aWRlby1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWF4LWhlaWdodDogNTEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAubW9kYWFsLWluc3RhZ3JhbSBpZnJhbWUge1xuICAgIHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA4MjBweCkge1xuICAubW9kYWFsLWdhbGxlcnktbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG5cbi8vIENTUyBsb2FkaW5nIGdpZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5tb2RhYWwtbG9hZGluZy1zcGlubmVyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEwMHB4IDAgMCAtMTAwcHg7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4yNSk7XG59XG5ALW1zLWtleWZyYW1lcyBtb2RhYWwtbG9hZGluZy1zcGlubmVyezAle29wYWNpdHk6MTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpfTEwMCV7b3BhY2l0eTouMTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUAtbW96LWtleWZyYW1lcyBtb2RhYWwtbG9hZGluZy1zcGlubmVyezAle29wYWNpdHk6MTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpfTEwMCV7b3BhY2l0eTouMTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUAtd2Via2l0LWtleWZyYW1lcyBtb2RhYWwtbG9hZGluZy1zcGlubmVyezAle29wYWNpdHk6MTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpfTEwMCV7b3BhY2l0eTouMTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUAtby1rZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lcnswJXtvcGFjaXR5OjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuNSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTstby10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KX0xMDAle29wYWNpdHk6LjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIG1vZGFhbC1sb2FkaW5nLXNwaW5uZXJ7MCV7b3BhY2l0eToxOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41KTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEuNSk7dHJhbnNmb3JtOnNjYWxlKDEuNSl9MTAwJXtvcGFjaXR5Oi4xOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2e3dpZHRoOjI0cHg7aGVpZ2h0OjI0cHg7bWFyZ2luLWxlZnQ6NHB4O21hcmdpbi10b3A6NHB4O3Bvc2l0aW9uOmFic29sdXRlfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdj5kaXZ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOjE1cHg7YmFja2dyb3VuZDojZmZmfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSgxKT5kaXZ7LW1zLWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbW96LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstby1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1tcy1hbmltYXRpb24tZGVsYXk6MHM7LW1vei1hbmltYXRpb24tZGVsYXk6MHM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MHM7LW8tYW5pbWF0aW9uLWRlbGF5OjBzO2FuaW1hdGlvbi1kZWxheTowc30ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoMik+ZGl2LC5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSgzKT5kaXZ7LW1zLWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbW96LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstby1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGV9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDEpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsMCl9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDIpPmRpdnthbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1zLWFuaW1hdGlvbi1kZWxheTouMTJzOy1tb3otYW5pbWF0aW9uLWRlbGF5Oi4xMnM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjEyczstby1hbmltYXRpb24tZGVsYXk6LjEyczthbmltYXRpb24tZGVsYXk6LjEyc30ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoMil7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoNzBweCwwKX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoMyk+ZGl2e2FuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbXMtYW5pbWF0aW9uLWRlbGF5Oi4yNXM7LW1vei1hbmltYXRpb24tZGVsYXk6LjI1czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouMjVzOy1vLWFuaW1hdGlvbi1kZWxheTouMjVzO2FuaW1hdGlvbi1kZWxheTouMjVzfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg0KT5kaXYsLm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDUpPmRpdnstbXMtYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1tb3otYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1vLWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoMyl7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg0KT5kaXZ7YW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1tcy1hbmltYXRpb24tZGVsYXk6LjM3czstbW96LWFuaW1hdGlvbi1kZWxheTouMzdzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi4zN3M7LW8tYW5pbWF0aW9uLWRlbGF5Oi4zN3M7YW5pbWF0aW9uLWRlbGF5Oi4zN3N9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDQpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoNzBweCwwKX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNSk+ZGl2e2FuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbXMtYW5pbWF0aW9uLWRlbGF5Oi41czstbW96LWFuaW1hdGlvbi1kZWxheTouNXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjVzOy1vLWFuaW1hdGlvbi1kZWxheTouNXM7YW5pbWF0aW9uLWRlbGF5Oi41c30ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNik+ZGl2LC5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg3KT5kaXZ7LW1zLWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbW96LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstby1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGV9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDUpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNik+ZGl2e2FuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbXMtYW5pbWF0aW9uLWRlbGF5Oi42MnM7LW1vei1hbmltYXRpb24tZGVsYXk6LjYyczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouNjJzOy1vLWFuaW1hdGlvbi1kZWxheTouNjJzO2FuaW1hdGlvbi1kZWxheTouNjJzfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg2KXstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDI3MGRlZykgdHJhbnNsYXRlKDcwcHgsMCl9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDcpPmRpdnthbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1zLWFuaW1hdGlvbi1kZWxheTouNzVzOy1tb3otYW5pbWF0aW9uLWRlbGF5Oi43NXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6Ljc1czstby1hbmltYXRpb24tZGVsYXk6Ljc1czthbmltYXRpb24tZGVsYXk6Ljc1c30ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNyl7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMzE1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMzE1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMzE1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDMxNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgzMTVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg4KT5kaXZ7LW1zLWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbW96LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstby1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1tcy1hbmltYXRpb24tZGVsYXk6Ljg3czstbW96LWFuaW1hdGlvbi1kZWxheTouODdzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi44N3M7LW8tYW5pbWF0aW9uLWRlbGF5Oi44N3M7YW5pbWF0aW9uLWRlbGF5Oi44N3N9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDgpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUoNzBweCwwKX1cblxuXG4vLyBPdmVycmlkZSBtb2RhYWwgc3R5bGVzIHRvIGZvcmNlIGZ1bGxzY3JlZW4gb24gbW9iaWxlXG5AaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAubW9kYWFsLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHggODBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbiAgLm1vZGFhbC13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm1vZGFhbC1vdXRlci13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gICAgLm1vZGFhbC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICAgIC5tb2RhYWwtY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZDogZ2V0LWNvbG9yKGdyYXkpO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgIHRhYmxlLmJ0IHRoLFxuICAgIHRhYmxlLmJ0IHRkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCc+PWxhcHRvcCcpIHtcbiAgICAgIC8vICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICAgIC8vICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICB0YWJsZS5idCB0Ym9keSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgIC5idC1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDQpIHNvbGlkIGdldC1jb2xvcih3aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUuYnQgdGhlYWQsXG4gICAgdGFibGUuYnQgdGJvZHkgdGgge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICB0YWJsZS5idCB0Zm9vdCB0aCxcbiAgICB0YWJsZS5idCB0Zm9vdCB0ZCxcbiAgICB0YWJsZS5idCB0Ym9keSB0ZCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxuICAgICAgLyogSUUgOSAqL1xuICAgICAgZmxvYXQ6IGxlZnRcXDk7XG4gICAgICB3aWR0aDogMTAwJVxcOTtcbiAgICB9XG5cbiAgICB0YWJsZS5idCB0Zm9vdCB0aDo6YmVmb3JlLFxuICAgIHRhYmxlLmJ0IHRmb290IHRkOjpiZWZvcmUsXG4gICAgdGFibGUuYnQgdGJvZHkgdGQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGgpIFwiOiBcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC13ZWJraXQtZmxleC1zaHJpbms6IDA7XG4gICAgICAtbXMtZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBwYWRkaW5nOiByZW0oOSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICAgIGNvbG9yOiBnZXQtY29sb3Iod2hpdGUpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICB0YWJsZS5idCB0Zm9vdCB0aC5idC1oaWRlLFxuICAgIHRhYmxlLmJ0IHRmb290IHRkLmJ0LWhpZGUsXG4gICAgdGFibGUuYnQgdGJvZHkgdGQuYnQtaGlkZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRhYmxlLmJ0IHRmb290IHRoIC5idC1jb250ZW50LFxuICAgIHRhYmxlLmJ0IHRmb290IHRkIC5idC1jb250ZW50LFxuICAgIHRhYmxlLmJ0IHRib2R5IHRkIC5idC1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiByZW0oOSk7XG4gICAgICBib3JkZXItdG9wOiByZW0oMSkgc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuYnQtd3JhcHBlci5hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogcmVtKDMxMCk7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICB9XG59XG4iLCIvLyBDbGFzc2VzIGZvciBsYXp5IGxvYWRpbmdcbi8vIENvbnRyb2xsZWQgdmlhIC9qcy9saWIvbGF6eXNpemVzXG4ubGF6eWxvYWQsXG4ubGF6eWxvYWRpbmcge1xuICAgIG9wYWNpdHk6IDA7XG59XG4ubGF6eWxvYWRlZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC40cyBlYXNlO1xufVxuIiwiLmJhY2stdG8ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMCAwIDQwcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0c3BhbiB7XG5cdFx0XHRAaW5jbHVkZSB1bmRlcmxpbmUoKTtcblx0XHR9XG5cblx0XHQuc3ZnLFxuXHRcdHN2ZyB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLThweCk7XG5cdFx0fVxuXHR9XG5cblx0c3BhbiB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcblx0fVxuXG5cdC5zdmcsXG5cdHN2ZyB7XG5cdFx0d2lkdGg6IDEwcHg7XG5cdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcblx0fVxufSIsIi5zaWRlYmFyX19tZW51IHtcbiAgICBtYXJnaW46IDAgMCA2MHB4O1xuICAgIC5maWx0ZXJfX2xpc3Qge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihjaGFyY29hbCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBnZXQtY29sb3IoZGFyay1ncmF5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlWSg0cHgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoLTRweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoJGJnY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJGJhc2UtYW5pbWF0aW9uLXNwZWVkICRiYXNlLWFuaW1hdGlvbi1lYXNpbmc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGNoYXJjb2FsKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKCRiZ2NvbG9yOiBnZXQtY29sb3IoZGFyay1ncmF5KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRiYXNlLWFuaW1hdGlvbi1zcGVlZCAkYmFzZS1hbmltYXRpb24tZWFzaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKipcbiAqIE93bCBDYXJvdXNlbCB2Mi4zLjRcbiAqIENvcHlyaWdodCAyMDEzLTIwMTggRGF2aWQgRGV1dHNjaFxuICogTGljZW5zZWQgdW5kZXI6IFNFRSBMSUNFTlNFIElOIGh0dHBzOi8vZ2l0aHViLmNvbS9Pd2xDYXJvdXNlbDIvT3dsQ2Fyb3VzZWwyL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbiAub3dsLWNhcm91c2VsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbiAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi8gfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIi5cIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGhlaWdodDogMDsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlcixcbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQsXG4gICAgLm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LFxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LFxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuICAgIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgZm9udDogaW5oZXJpdDsgfVxuICAgIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gICAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICAgICAgY3Vyc29yOiBtb3ZlO1xuICAgICAgY3Vyc29yOiBncmFiOyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gICAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIC5vd2wtaXRlbSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cblxuICAvKiBObyBKcyAqL1xuICAubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuICAvKlxuICAgKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAgICovXG4gIC5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbiAgLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHtcbiAgICB6LWluZGV4OiAwOyB9XG5cbiAgLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gICAgei1pbmRleDogMTsgfVxuXG4gIC5vd2wtY2Fyb3VzZWwgLmZhZGVPdXQge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbiAgQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cblxuICAvKlxuICAgKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICAgKi9cbiAgLm93bC1oZWlnaHQge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4gIC8qXG4gICAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICAgKi9cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIC8qKlxuICAgICAgICAgICAgICBUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3JvbmdcbiAgICAgICAgICAgICAgY2FsY3VsYXRpb24gb2YgdGhlIGhlaWdodCBvZiB0aGUgb3dsLWl0ZW0gdGhhdCBicmVha3MgcGFnZSBsYXlvdXRzXG4gICAgICAgICAgICovIH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuICAgIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5IHtcbiAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuICAvKlxuICAgKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICAgKi9cbiAgLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlOyB9XG5cbiAgLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTsgfVxuXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiAgLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9IiwiZm9ybS5wb3N0LXBhc3N3b3JkLWZvcm0ge1xuICAgIHA6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgLy90ZXh0Ym94IGFuZCBidXR0b24gd3JhcHBlclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDsgXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgJltuYW1lPVwiU3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfSBcbiAgICAgICAgfVxuICAgIH1cbn0iLCIlY2xlYXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuLmNsZWFyIHtcbiAgICBAZXh0ZW5kICVjbGVhcjtcbn1cbi5ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLy8gV29yZHByZXNzIGNsYXNzZXNcbi5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ucHVzaCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgY2xpcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogZ2V0LWNvbG9yKGdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMC44NzUpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTAwMDAwOyAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xuICAgIH1cbn1cbi5nYWxsZXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmdhbGxlcnktY29sdW1ucy0yICYge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTMgJiB7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMlO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNCAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy01ICYge1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTYgJiB7XG4gICAgICAgIG1heC13aWR0aDogMTYuNjYlO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNyAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4yOCU7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy04ICYge1xuICAgICAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtOSAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMS4xMSU7XG4gICAgfVxufVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi53cC1jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMC44MDc1ZW0gMDtcbiAgICB9XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5vdGUge1xuICBmb250LXNpemU6IHJlbSgxNCk7XG59XG4iLCIuaG9tZSB7XG4gICAgLnNpdGUtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5jb250ZW50LW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG59XG4iLCIuZXJyb3ItNDA0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5wYWdlX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgfVxuXG4gIC5wYWdlX19kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgxOSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICB9XG4gIH1cbn1cbiIsIltkYXRhLWNvbnRlbnQ9XCJlZGl0b3JcIl0ge1xuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoKTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IGdldC1jb2xvcihkYXJrLWdyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDVweCAwcHggZ2V0LWNvbG9yKHdoaXRlKTsgLy8gQ292ZXJzIHRoZSB1bmRlcmxpbmUgb24gaW1hZ2VzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICB9XG5cbiAgICAvLyBTdHlsZSBhbGwgTGlzdHMsIGJ1dCBub3QgR2Zvcm1zXG4gICAgdWw6bm90KC5nZm9ybV9maWVsZHMpIHtcbiAgICAgICAgQGV4dGVuZCB1bCVkZWZhdWx0LXVsO1xuICAgIH1cblxuICAgIC8vIHJlc2V0IGFsbCBMaXN0cyBpbnNpZGUgb2YgR2Zvcm1zXG4gICAgLmdmb3JtX2ZpZWxkcyB1bCxcbiAgICAuZ2Zvcm1fZmllbGRzIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBAZXh0ZW5kIHVsJWRlZmF1bHQtb2w7XG4gICAgfVxuXG4gICAgaW1nW2NsYXNzKj1cImFsaWduXCJdLFxuICAgIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC8qIE1ha2Ugc3VyZSBpbWFnZXMgd2l0aCBXb3JkUHJlc3MtYWRkZWQgaGVpZ2h0IGFuZCB3aWR0aCA+YXR0cmlidXRlcyBhcmUgc2NhbGVkIGNvcnJlY3RseSAqL1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIHRkLCB0aCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0YWJsZS5ib3JkZXIge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcblxuICAgICAgICB0ZCwgdGgge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgZ2V0LWNvbG9yKGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdldC1jb2xvcihsaWdodC1ncmF5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWdlLXRlbXBsYXRlLWN1c3RvbS1maW5kY291cnNlcyB7XG4gIC8vIFBhZCBkb3duIGJvZHkgc2luY2UgdGhlcmUgYXJlbid0IGFueSBhZHNcbiAgcGFkZGluZy10b3A6IDgwcHg7XG59XG4iLCJkaXZbaWQkPVwiLW9wdGluXCJdIHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBkaXZbY2xhc3MkPVwiLWZvcm0td3JhcFwiXSBkaXYgc3BhbiB7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIH0gXG59Il19 */
