.tera, .giga, .mega, h1, .alpha, h2, .beta, h3, .gamma, h4, .delta, h5, .epsilon, .zeta, h6 {
  text-rendering: optimizeLegibility;
  line-height: 1;
  margin-top: 0;
}

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

button,
input,
select,
textarea {
  color: #222;
}

::-moz-selection {
  text-shadow: none;
  background: #F8EE59;
  color: white;
}

::selection {
  text-shadow: none;
  background: #F8EE59;
  color: white;
}

hr {
  border: 0;
  border-top: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(255, 251, 251, 0.76);
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

audio,
canvas,
img,
video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

html,
input {
  box-sizing: border-box;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #F2F7E6;
}

body {
  background: #F2F7E6 url("../img/full-back.png") -100% 0 no-repeat;
  background-position: center 150px;
  min-width: 320px;
}

::-webkit-input-placeholder {
  color: #AAAAAA;
}

::-moz-placeholder {
  color: #AAAAAA;
}

:-ms-input-placeholder {
  color: #AAAAAA;
}

img,
embed,
object,
video {
  max-width: 100%;
  height: auto;
}

svg {
  width: 100%;
  height: auto;
}

svg:not(:root) {
  overflow: visible;
}

a {
  transition: 0.275s all ease-in-out;
  color: #9fca5e;
  text-decoration: none;
}

a:focus, a:hover, a:active {
  color: black;
}

@font-face {
  font-family: 'dinweb-bold';
  src: url("../fonts/dinweb-bold-webfont.woff2") format("woff2"), url("../fonts/dinweb-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

body {
  word-wrap: break-word;
  font: normal 100%/1.5 Helvetica, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: serif;
  line-height: 1;
  margin-top: 0;
  text-rendering: optimizeLegibility;
  font-family: 'dinweb-bold';
}

.tera {
  font-size: 7.3125em;
  margin-bottom: 0.66667em;
}

.giga {
  font-size: 5.625em;
  margin-bottom: 0.66667em;
}

.mega, h1 {
  font-size: 4.5em;
  margin-bottom: 0.66667em;
}

.alpha, h2 {
  font-size: 3.75em;
  margin-bottom: 0.66667em;
}

.beta, h3 {
  font-size: 3em;
  margin-bottom: 0.66667em;
}

.gamma, h4 {
  font-size: 2.25em;
  margin-bottom: 0.66667em;
}

.delta, h5 {
  font-size: 1.5em;
  margin-bottom: 0.66667em;
}

.epsilon {
  font-size: 1.3125em;
  margin-bottom: 0.66667em;
}

.zeta, h6 {
  font-size: 1.125em;
  margin-bottom: 0.66667em;
}

input,
abbr,
acronym,
blockquote,
code,
kbd,
q,
samp,
var {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre code {
  word-wrap: normal;
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
}

pre,
code {
  white-space: pre;
}

code {
  font-family: monospace;
}

@media screen and (min-width: 1180px) {
  .container {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.spacebetween {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}

.flexend {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.flex {
  display: -ms-flexbox;
  display: flex;
}

.flex-end {
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding-right: 0;
}

.form-grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
  align-items: baseline;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.form-group {
  display: -ms-flexbox;
  display: flex;
}

.form-group .form-group__input {
  margin-bottom: 0;
}

.inputaddon-field {
  -ms-flex: 1;
  flex: 1;
  -ms-flex-order: 2;
  order: 2;
}

.inputaddon-item {
  -ms-flex-item-align: center;
  align-self: center;
  -ms-flex-order: 1;
  order: 1;
  padding: calc((10 / 16) * 1rem);
}

.inputaddon-btn {
  -ms-flex-order: 3;
  order: 3;
}

.inputaddon-field--reverse {
  -ms-flex-order: 2;
  order: 2;
}

.inputaddon-item--reverse {
  -ms-flex-order: 3;
  order: 3;
}

.inputaddon-btn--reverse {
  -ms-flex-order: 1;
  order: 1;
}

.form-group--inline-btn {
  -ms-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.form-group__input--inline-btn {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.form-group__btn--inline {
  -ms-flex: 1;
  flex: 1;
  width: 100%;
}

.form-group__button--inline-btn {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.form-group__btn--inline:not(:first-child) {
  margin-left: calc((20 / 16) * 1rem);
}

.form-group__errormsg {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.has-errors-form-group {
  color: red;
}

.form-group__errormsg--cinnabar {
  background: red;
  color: white;
}

.row {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  width: 100%;
}

.row.no-grid {
  padding-right: 20px;
  padding-left: 20px;
}

@media screen and (min-width: 769px) {
  .row.no-grid {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.grid {
  float: none;
  margin-bottom: 10px;
}

@media screen and (min-width: 769px) {
  .grid {
    float: left;
    margin-bottom: 0px;
    position: relative;
    padding-right: 10px;
    padding-left: 10px;
  }
}

.grid.full {
  width: 100%;
}

.grid.half {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.half {
    width: 50%;
  }
}

.grid.one-third {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.one-third {
    width: 33.33333%;
  }
}

.grid.two-thirds {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.two-thirds {
    width: 66.66667%;
  }
}

.grid.one-quarter {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.one-quarter {
    width: 25%;
  }
}

.grid.three-quarters {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.three-quarters {
    width: 75%;
  }
}

.media-obj {
  display: table;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.media-obj--vcenter {
  -ms-flex-align: center;
  align-items: center;
}

.media-obj--reverse .media-obj__fig {
  -ms-flex-order: 2;
  order: 2;
}

.media-obj--reverse .media-obj__body {
  -ms-flex-order: 1;
  order: 1;
}

.media-obj--center {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.media-obj--hcenter {
  -ms-flex-pack: center;
  justify-content: center;
}

.media-obj--caption {
  -ms-flex: 1;
  flex: 1;
  -ms-flex-direction: column;
  flex-direction: column;
}

.media-obj__body {
  -ms-flex: 1;
  flex: 1;
}

@media screen and (min-width: 768px) {
  body > .stripe {
    display: none;
  }
}

.stripe--full {
  text-align: center;
}

.stripe--plumb {
  padding: 0.5em 0.75em;
  background: #93C44B;
  color: white;
}

.sticky-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.sticky-container {
  display: table;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex: auto;
  flex: auto;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 1180px) {
  .sticky-container {
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
  }
}

.sticky-row {
  display: -moz-box;
}

.sticky-header {
  -ms-flex: none;
  flex: none;
}

.sticky-content {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  height: auto;
}

.sticky-footer {
  -ms-flex: none;
  flex: none;
  vertical-align: middle;
  -ms-flex-align: center;
  align-items: center;
}

.avatar {
  width: 70px;
  height: 70px;
  border: 4px solid #93C44B;
}

.winner {
  position: relative;
}

.winner::before {
  border-radius: 80%;
  content: 'winner';
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-pack: center;
  justify-content: center;
  height: 80%;
  margin: auto;
  padding-bottom: 0.1875rem;
  position: absolute;
  bottom: 4px;
  left: 0;
  right: 0;
  width: 90%;
  z-index: 1;
  font-size: 12px;
  text-align: center;
  background: linear-gradient(to top, #93C44B 40%, transparent 40%);
  color: white;
}

.avatar--med {
  width: 108px;
  height: 108px;
}

.avatar--round {
  border-radius: 80%;
}

button,
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  border: none;
  outline: 0;
}

.btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  display: inline-block;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 1rem;
  transition: none;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
}

.btn:hover, .btn:focus {
  color: white;
}

.btn--rad4 {
  border-radius: 4px;
}

.btn--primary {
  background: #93C44B;
  color: white;
}

.btn--primary:hover, .btn--primary:focus {
  background: #F8EE59;
}

.btn--secondary {
  border: 2px solid white;
  background: transparent;
  color: white;
}

.btn--secondary:hover, .btn--secondary:focus {
  background: #F8EE59;
  border: 2px solid #F8EE59;
}

.card {
  padding: 0.25rem 1rem;
  font-size: 0.875em;
  line-height: 1.425;
}

.card-single {
  color: inherit;
}

@media screen and (min-width: 640px) {
  .card-single {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: center;
    align-content: center;
  }
}

.card-single:hover {
  cursor: pointer;
}

@media screen and (min-width: 640px) {
  .card-single:hover * {
    background: #F8EE59;
    color: black;
  }
}

@media screen and (min-width: 640px) {
  .card-single > div {
    -ms-flex: 100%;
    flex: 100%;
  }
}

@media screen and (min-width: 640px) {
  .flexboxtweener .card-single > div {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
}

@media screen and (min-width: 640px) {
  .card-single > * ~ * {
    border-left: 4px solid white;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 8.75em;
    width: 100%;
    background: #EBEBEB;
  }
}

.card--reply {
  position: relative;
  color: black;
  background: #EBEBEB;
  z-index: 0;
}

.card--reply::before {
  border-left: 6px solid #93C44B;
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 0;
}

.card--gallery {
  background: #EBEBEB;
  color: black;
}

.card--gallery.hover-rose:hover {
  cursor: pointer;
}

.card--plumb {
  background: #93C44B;
  color: white;
}

.card--gold {
  background: #F8EE59;
}

.card--rose, .card--gallery.hover-rose:hover {
  background: #93C44B;
  color: white;
}

.card--carulean {
  background: #EC7016;
  color: white;
}

.comment {
  position: relative;
  color: black;
}

.comments .card {
  padding: 1.5rem 2rem;
}

.comment .media-obj__body > *:first-child {
  margin-top: 0;
}

.comment .media-obj__body a {
  font-weight: bold;
  color: black;
}

.comment .media-obj__body a:hover, .comment .media-obj__body a:focus {
  color: #F8EE59;
}

.comment + .comment {
  margin-top: 1rem;
}

.comments .comment .card .media-obj__fig {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 1.25rem;
}

.comments .comment .card .media-obj__fig img {
  margin-bottom: 0.9375rem;
}

.comment-level1 .card {
  position: relative;
  background: transparent;
}

@media screen and (min-width: 800px) {
  .comment-level1 .card {
    padding-left: 7rem;
    background: #EBEBEB;
  }
}

.comment-level2 .card {
  background: #EBEBEB;
}

@media screen and (min-width: 800px) {
  .comment-level2 .card {
    padding-left: 11.8125rem;
  }
}

.comment-level2 {
  position: relative;
  padding: 0.625rem;
  padding-bottom: 0.3125rem;
}

@media screen and (min-width: 800px) {
  .comment-level2 {
    padding: 0;
    padding-bottom: 0;
  }
}

.comment-level2:not(:last-of-type) {
  padding-bottom: 0;
}

@media screen and (min-width: 800px) {
  .comment-level2:not(:last-of-type) {
    padding-bottom: initial;
  }
}

@media screen and (min-width: 800px) {
  .comment-level2 {
    padding: initial;
  }
}

.comments-level1,
.comments-level2 {
  position: relative;
}

@media screen and (min-width: 800px) {
  .comments-level1::before,
  .comments-level2::before {
    content: '';
    display: block;
    width: 2px;
    height: 100%;
    background: rgba(147, 196, 75, 0.5);
    position: absolute;
    top: -15px;
    bottom: 20px;
    z-index: 1;
  }
}

.comments-level1 {
  border: 1.25rem solid #EBEBEB;
  background: #d6d6d6;
  padding-bottom: 0.3125rem;
}

@media screen and (min-width: 800px) {
  .comments-level1 {
    border: none;
    padding-bottom: inherit;
  }
}

@media screen and (min-width: 800px) {
  .comments-level1::before {
    left: 3.75rem;
  }
}

.comments-level2 {
  border: none;
}

@media screen and (min-width: 800px) {
  .comments-level2::before {
    left: 8.75rem;
  }
}

@media screen and (min-width: 800px) {
  .comment-child2.comment-level2:before {
    content: '';
    display: block;
    height: 100%;
    width: 2px;
    position: absolute;
    top: -16px;
    left: 13.5rem;
    right: 0;
    z-index: 0;
    background: rgba(147, 196, 75, 0.5);
  }
}

.user-comments__response .card {
  padding: 1.5rem 2rem;
}

.user-comments__response .card .media-obj__fig {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 0.9375rem;
}

.user-comments__response .card .media-obj__fig img {
  margin-bottom: 1.25rem;
}

.user-comments__response .card .media-obj__body > :first-child {
  margin-top: 0;
}

.comment p:not(:first-child) {
  color: black !important;
}

.counter {
  border-radius: 2px;
  display: inline-block;
  margin-bottom: 5px;
  padding: 0.125em 0.375em;
  background: white;
}

.curriculum-vitae {
  font-size: 1em;
}

.curriculum-vitae__header {
  border-bottom: 1px solid rgba(204, 204, 204, 0.64);
  box-shadow: inset 0 1px 1px rgba(255, 251, 251, 0.76);
  padding: 2em;
  background: whitesmoke;
}

.curriculum-vitae__title {
  font-size: 2em;
}

.curriculum-vitae__header img[class*="avatar"] {
  margin-right: 1em;
}

.curriculum-vitae__body {
  padding: 2em;
  background: #f1f1f1;
}

.curriculum-vitae__quote {
  font-size: 1.25em;
  padding: 10px;
  background: #F2F7E6;
}

.curriculum-vitae__body img {
  border: 0.3125em solid rgba(255, 255, 255, 0.5);
}

.curriculum-vitae li:not(:first-of-type) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.curriculum-vitae__data > li:not(:first-of-type) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.curriculum-vitae .hide {
  height: 0;
  opacity: 0;
}

.curriculum-vitae .hide:target {
  height: auto;
  opacity: 1;
}

.curriculum-vitae .read-more:hover, .curriculum-vitae .read-more:focus {
  color: black;
}

.curriculum-vitae .shortlinks {
  padding-top: 1em;
}

.cv .card {
  margin-bottom: 1em;
  background: white;
}

.cv .card li {
  margin-top: 1em;
}

.cv .card li:not(:first-of-type) {
  margin-bottom: 1em;
}

footer[role="contentinfo"] {
  padding: 1.25rem 1em;
  text-align: center;
}

@media screen and (min-width: 769px) {
  footer[role="contentinfo"] {
    text-align: left;
  }
}

@media screen and (min-width: 769px) {
  footer[role="contentinfo"] .grid.three-quarters {
    transform: translateY(-70px);
  }
}

footer[role="contentinfo"] nav {
  padding-top: 1.25rem;
  font-size: 1em;
}

footer[role="contentinfo"] nav a {
  display: inline-block;
  padding: .5em;
  color: #93C44B;
}

footer[role="contentinfo"] nav a:not(:last-of-type) {
  padding-right: 1.25rem;
}

footer[role="contentinfo"] nav a:hover, footer[role="contentinfo"] nav a:focus {
  text-decoration: underline;
  color: #93C44B;
}

@media screen and (max-width: 768px) {
  header[role="banner"] {
    margin: auto;
    padding: 1em 0.5em 0.25em;
  }
}

@media screen and (min-width: 768px) {
  header[role="banner"] > .container {
    background: #93C44B;
  }
}

@media screen and (min-width: 768px) {
  header[role="banner"] > .container {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: 0;
    max-width: 100%;
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .container.flex {
    padding-right: 0;
  }
}

header[role="banner"] .container > .flexend {
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .container > .flexend {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

header[role="banner"] [class*="icon-ask"],
header[role="banner"] [class*="icon-chat"],
header[role="banner"] [class*="icon-vote"] {
  margin: 0;
}

header[role="banner"] .btn-menu {
  display: block;
  height: 40px;
  margin-top: 1em;
  width: 50px;
  background: transparent;
}

@media screen and (min-width: 444px) {
  header[role="banner"] .btn-menu {
    margin-top: initial;
  }
}

@media screen and (min-width: 768px) {
  header[role="banner"] .btn-menu {
    display: none;
  }
}

header[role="banner"] img[alt*="zone"] {
  display: none;
}

@media screen and (min-width: 768px) {
  header[role="banner"] img[alt*="zone"] {
    display: inline-block;
    transform: scale(0.8) translateX(0) translateY(0);
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] img[alt*="zone"] {
    display: inline-block;
    transform: scale(0.8) translateX(-70px) translateY(-100px);
  }
}

header[role="banner"] form[role="search"] {
  display: none;
}

@media screen and (min-width: 768px) {
  header[role="banner"] form[role="search"] {
    display: inherit;
    transform: translateX(-10px);
  }
}

header[role="banner"] form[role="search"] .icon {
  width: 30px;
  height: 30px;
  padding: 5px;
}

header[role="banner"] input[type="search"] {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  background: white;
}

header[role="banner"] input[type="search"] + [class*="btn"] {
  border: 2px solid white;
}

@media screen and (max-width: 1179.9px) {
  header[role="banner"] .report-card {
    margin: auto;
    padding: 0.25em;
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .report-card {
    -ms-flex: 3 1 100%;
    flex: 3 1 100%;
  }
}

@media screen and (max-width: 1179.9px) {
  header[role="banner"] .report__title {
    float: none !important;
    transform: none !important;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  header[role="banner"] a[href="/"] {
    display: none;
  }
}

@media screen and (max-width: 1179.9px) {
  header[role="banner"] .btn--secondary {
    display: none;
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .btn--secondary {
    margin-left: 10px;
    max-width: 12.5em;
    padding: 0.35714rem;
  }
}

[class*="icon-ask"],
[class*="icon-chat"],
[class*="icon-vote"] {
  width: 145px;
  height: 54px;
  margin: 0.625rem;
  transition: none;
  background-image: url("../img/sprite-raster.png");
  background-repeat: no-repeat;
}

.icon-ask-yellow {
  background-position: 0 -101px;
}

.icon-ask-yellow:hover, .icon-ask-yellow:focus {
  background-position: 0 0;
}

.icon-chat-pink {
  background-position: 0 -256px;
}

.icon-chat-pink:hover, .icon-chat-pink:focus {
  background-position: 0 -155px;
}

.icon-vote-blue {
  background-position: 0 -411px;
}

.icon-vote-blue:hover, .icon-vote-blue:focus {
  background-position: 0 -310px;
}

.icon-ask-yellow-pill {
  width: 126px;
  height: 47px;
  background-position: 0 -54px;
}

.icon-chat-pink-pill {
  width: 126px;
  height: 47px;
  background-position: 0 -209px;
}

.icon-vote-blue-pill {
  width: 126px;
  height: 47px;
  background-position: 0 -364px;
}

.icon {
  width: 36px;
  height: 36px;
  border-radius: 80%;
  padding: 8px;
  position: relative;
  vertical-align: sub;
  fill: white;
  background: #93C44B;
}

.dropdown-icon {
  width: 20px;
  height: 20px;
  vertical-align: sub;
}

.icon-heart {
  width: 30px;
  height: 30px;
  display: inline-block;
  position: relative;
  top: 0;
  transform: rotate(-45deg) scale(0.75);
  transform-origin: 50% 50%;
  font-size: 1.25em;
  line-height: 1.125;
  background-color: white;
}

.icon-heart::before, .icon-heart::after {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  content: "";
  position: absolute;
  background-color: white;
}

.icon-heart::before {
  top: -15px;
  left: 0;
}

.icon-heart::after {
  left: 15px;
  top: 0;
}

.icon-heart:hover {
  cursor: pointer;
}

.icon-heart span {
  transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  text-align: center;
  color: #390050;
}

.icon-heart.js-hearted,
.icon-heart.js-hearted::before,
.icon-heart.js-hearted::after {
  background-color: #ff7e7e;
}

.icon-heart.js-hearted {
  -webkit-filter: drop-shadow(-1px 1px 2px rgba(200, 0, 0, 0.9));
  filter: drop-shadow(-1px 1px 2px rgba(200, 0, 0, 0.9));
}

.icon-heart.js-hearted span {
  font-weight: 800;
  color: #482828;
}

.icon-heart--rose::before, .icon-heart--rose::after {
  background: #F8EE59;
}

.icon-heart--plumb {
  background: #93C44B;
}

.icon-heart--plumb::before, .icon-heart--plumb::after {
  background: #93C44B;
}

.icon-heart--plumb span {
  color: white;
}

input[type="search"] + [class*="btn"] {
  border: 2px solid transparent;
  background: #93C44B;
}

input:not([type="submit"]),
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  padding: 1rem;
  width: 100%;
  background: #EBEBEB;
}

input:not([type="submit"]):hover, input:not([type="submit"]):focus,
select:hover,
select:focus,
textarea:hover,
textarea:focus {
  outline: none;
}

input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  appearance: checkbox !important;
  width: auto;
}

input[type="radio"] {
  -webkit-appearance: radio !important;
  -moz-appearance: radio !important;
  appearance: radio !important;
  width: auto;
}

input[type="text"]:required {
  border: 2px solid #DD5E00;
}

select {
  cursor: pointer;
  color: #AAAAAA;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  select {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0LjgzIDE2LjQybDkuMTcgOS4xNyA5LjE3LTkuMTcgMi44MyAyLjgzLTEyIDEyLTEyLTEyeiIvPjxwYXRoIGQ9Ik0wLS43NWg0OHY0OGgtNDh6IiBmaWxsPSJub25lIi8+PC9zdmc+);
    background-position: right 1.2% top 50%;
    background-repeat: no-repeat;
    background-size: 30px;
  }
}

.login input:not([type="submit"]),
.login textarea,
.login select {
  margin-bottom: 1rem;
}

.login input[type="search"] {
  padding: 0.83333rem;
}

.login .icon {
  border-radius: 0;
}

.nav-dropdown, .menu-header-menu-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  text-align: right;
  background: rgba(147, 196, 75, 0.9);
  font-size: 1.25em;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .nav-dropdown, .menu-header-menu-container {
    position: relative;
    transform: scale(1);
    font-size: 1em;
    text-align: left;
    background: #93C44B;
  }
}

.nav-dropdown__list, .menu-header-menu-container ul {
  height: 100%;
  font-size: 1em;
  text-transform: capitalize;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list, .menu-header-menu-container ul {
    display: block;
  }
}

.menu-header-menu-container ul {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

.nav-dropdown__list li, .menu-header-menu-container ul li {
  display: block;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list li, .menu-header-menu-container ul li {
    display: inline-block;
  }
}

.nav-dropdown__list > li:not(:first-of-type), .menu-header-menu-container > ul > li:not(:first-of-type) {
  margin-left: -0.3125em;
}

.nav-dropdown__list .button-dropdown, .menu-header-menu-container ul li {
  position: relative;
}

.nav-dropdown__list .button-dropdown:hover > ul,
.nav-dropdown__list .button-dropdown:focus > ul,
.menu-header-menu-container ul li:hover ul,
.menu-header-menu-container ul li:focus ul {
  display: block;
}

.nav-dropdown__list a, .menu-header-menu-container ul a {
  display: block;
  padding: 0.625em 0.9375em;
  text-decoration: none;
  background-color: transparent;
  color: black;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list a, .menu-header-menu-container ul a {
    padding: 0.625em 0.9375em;
  }
}

.menu-item-has-children ul a {
  background: #93C44B;
}

.nav-dropdown__list a:hover,
.nav-dropdown__list a:focus,
.menu-header-menu-container a:hover,
.menu-header-menu-container a:focus {
  outline: none;
  background-color: #F8EE59;
  color: black;
}

.nav-dropdown__list .dropdown-icon {
  margin-left: 2px;
  fill: white;
}

.nav-dropdown__list a.dropdown-toggle.active .dropdown-icon {
  fill: white;
}

.nav-dropdown__list .dropdown-menu, .menu-item-has-children ul {
  display: none;
  padding: 0;
  margin: 0;
  width: 100%;
  text-align: right;
  background: rgba(147, 196, 75, 0.6);
  color: black;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list .dropdown-menu, .menu-item-has-children ul {
    position: absolute;
    left: 0;
    width: 150%;
    z-index: 500000;
    text-align: left;
    background: #93C44B;
  }
}

.nav-dropdown__list .dropdown-menu li, .menu-item-has-children ul li {
  min-width: 100%;
  white-space: nowrap;
}

.nav-dropdown__list .dropdown-menu a, .menu-item-has-children ul li a {
  display: inline-block;
  width: 100%;
  color: black;
}

.nav-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

nav[role="navigation"] {
  transform: scale(0.75);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

@media screen and (min-width: 400px) {
  nav[role="navigation"] {
    -ms-flex: initial;
    flex: initial;
    transform: scale(1);
  }
}

@media screen and (min-width: 640px) {
  .news-report:hover, .news-report:focus {
    background: #F8EE59;
  }
}

.news-report:not(:first-of-type) {
  margin-top: 1rem;
}

.news-report:last-of-type {
  margin-bottom: 1rem;
}

@media screen and (min-width: 640px) {
  .news-report > *:hover, .news-report > *:focus {
    background: #F8EE59;
    color: white;
  }
}

@media screen and (min-width: 640px) {
  .news-report > *:hover ~ * {
    background: #F8EE59;
    color: white;
  }
}

.profiles {
  font-size: 1em;
  line-height: 1.5;
}

.profiles .card {
  padding-left: 2em;
  padding-right: 2em;
}

.profiles li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.profiles .media-obj__body {
  margin-top: 1em;
}

.profiles .winner::before {
  padding-bottom: 0.5rem;
}

.profiles .avatar {
  border: 4px solid #93C44B;
}

@media screen and (max-width: 1179.9px) {
  .report {
    padding: 1.5em 1em;
    background: rgba(255, 255, 255, 0.65);
  }
}

@media screen and (min-width: 1180px) {
  .report {
    box-shadow: none !important;
  }
}

.report-card {
  max-width: 700px;
  min-height: 90px;
}

.report__data a:hover {
  cursor: pointer;
}

.report__data a:hover .avatar {
  border-color: #F8EE59;
}

.report__data a:hover .media-obj__body {
  color: black;
}

.report__title {
  float: left;
  margin-bottom: 0.625em;
  transform: translateY(150%);
  font-size: 1.25em;
  text-transform: uppercase;
  text-align: right;
}

.report__data {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  height: 100%;
}

@media screen and (max-width: 520px) {
  .report__data {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.report__data .media-obj {
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
}

.report__data > a {
  -ms-flex: 33.333333%;
  flex: 33.333333%;
  padding: 0 0.25em;
  color: inherit;
}

@media screen and (min-width: 1180px) {
  .report__data > a {
    -ms-flex: 70px;
    flex: 70px;
    padding: initial;
  }
}

.report__data .media-obj__body {
  font-weight: 800;
}

.search-results .icon {
  margin-right: 5px;
}

.search-results__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.search-results__item:not(:last-of-type) {
  margin-bottom: 10px;
}

.search-results__cite {
  margin-left: 5px;
}

.speech-bubble {
  margin: 0;
  margin-bottom: 40px;
  padding: 1.5rem 2rem;
  position: relative;
  font-size: 1em;
}

.speech-bubble::before {
  content: '';
  display: block;
  position: absolute;
  left: 3rem;
  bottom: -25px;
  transform-origin: center;
  transform: rotate(90deg) skew(-25deg) translateY(16.66667px);
}

.speech-bubble p {
  -ms-overflow-style: none;
  overflow: hidden;
}

.speech-bubble .media-obj__fig {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 1.25rem;
}

.speech-bubble .media-obj__fig svg:first-of-type {
  margin-bottom: 0.9375rem;
}

.speech-bubble .media-obj__body > :first-child {
  margin-top: 0;
}

.speech-bubble cite {
  position: absolute;
  bottom: -1.875rem;
  left: 4rem;
  font-style: normal;
  font-size: 0.875em;
  line-height: 1.125;
  word-wrap: break-all;
  color: black;
}

.speech-bubble cite a {
  font-weight: bold;
  color: #93C44B;
}

.speech-bubble cite a:hover, .speech-bubble cite a:focus {
  text-decoration: underline;
  color: black;
}

.speech-bubble--rose a, .speech-bubble--gallery:hover a {
  color: black;
  font-weight: bold;
}

.speech-bubble--gallery {
  background: #EBEBEB;
}

.speech-bubble--gallery::before {
  border: 12.5px solid transparent;
  border-top: 12.5px solid #EBEBEB;
  border-bottom: 0;
  height: 0;
  width: 0;
  border-top-width: 25px;
}

.speech-bubble--gallery:hover {
  cursor: pointer;
}

.speech-bubble--gallery:hover::before {
  border-top-color: #F8EE59;
}

.speech-bubble--rose, .speech-bubble--gallery:hover {
  background: #F8EE59;
  color: black;
}

.speech-bubble--rose::before, .speech-bubble--gallery:hover::before {
  border: 12.5px solid transparent;
  border-top: 12.5px solid #F8EE59;
  border-bottom: 0;
  height: 0;
  width: 0;
  border-top-width: 25px;
}

.teacher-status {
  font-size: 1.5em;
}

.teacher-status .avatar {
  border: 0.20833em solid #93C44B;
}

.teacher-status .media-obj__body {
  margin-top: 0.5em;
  text-align: center;
}

.teacher-status .status {
  margin-bottom: 0.5em;
  padding: 0.5em;
  background: rgba(240, 255, 255, 0.57);
}

.teacher-status .winner::before {
  padding-bottom: 0.5rem;
}

.title {
  position: relative;
  padding-left: 1.83333em;
  line-height: inherit;
}

.title .icon {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}

.title a {
  color: inherit;
}

.title a:hover, .title a:focus {
  text-decoration: underline;
}

@media screen and (min-width: 1180px) {
  .grid.two-thirds > .row + .row {
    margin-top: 1.25rem;
  }
}

.grid.one-third hr {
  border-top: 2px solid #8E6F9C;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.grid.one-third > .row + .row {
  margin-top: 1.25rem;
}

@media screen and (min-width: 740px) and (max-width: 968px) {
  .grid.one-third .card.media-obj {
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media screen and (max-width: 400px) {
  .grid.one-third .card.media-obj {
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.grid.one-third .speech-bubble {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  padding: 0.125em 1.25em;
}

@media screen and (min-width: 769px) {
  .grid.one-third .speech-bubble {
    min-height: 12.5em;
    max-height: 12.5em;
  }
}

.flexboxtweener .grid.one-third .speech-bubble {
  display: block;
}

.template-primary main > .container {
  padding: 0.83333rem;
  background: white;
}

@media screen and (min-width: 1180px) {
  .template-primary main > .container {
    padding: 1.875rem 1.25rem 7.5rem;
  }
}

html.is-unscrollable {
  overflow: hidden;
}

.nav-dropdown.is-open {
  transform: scale(1);
  overflow: scroll;
}

.nav-dropdown__list .dropdown-menu.active, .menu-item-has-children:hover ul {
  display: block;
}

.nav-dropdown__list a.dropdown-toggle.active, .menu-item-has-children ul a:hover {
  outline: none;
  background-color: #F8EE59;
  color: black;
}

.tinynav {
  display: none;
}

@media screen and (max-width: 768px) {
  .tinynav {
    display: block;
  }
  .select-nav {
    display: none;
  }
}

.list-reset {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

.list-inline {
  display: -ms-flexbox;
  display: flex;
}

.list-inline li:first-of-type {
  margin-left: 0.3125rem;
}

.list-inline li:not(:last-of-type) *::after {
  content: ',';
}

.fit-space {
  display: inline-block;
  width: 100%;
}

.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

img[class*="align"],
img[class*="wp-image-"] {
  height: auto;
}

.wp-caption,
.wp-caption img {
  max-width: 100%;
}

img.size-full {
  max-width: 100%;
  width: auto;
}

.no-padlr {
  padding-left: 0;
  padding-right: 0;
}

.material-shadow, .curriculum-vitae__body img, .report, .teacher-status .status {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

.clearfix::after, .row::after {
  content: " ";
  display: block;
  clear: both;
}

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1peGlucy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJiYXNlL19nbG9iYWwuc2NzcyIsInZhcnMvX2dsb2JhbC5zY3NzIiwibWl4aW5zL19wbGFjZWhvbGRlci5zY3NzIiwidHlwb2dyYXBoeS9fdHlwZXNldHRpbmcuc2NzcyIsImZ1bmN0aW9ucy9fY29udGV4dC1jYWxjLnNjc3MiLCJmdW5jdGlvbnMvX21lYXN1cmUtbWFyZ2luLnNjc3MiLCJtaXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJ0b29sYm94L19jb250YWluZXIuc2NzcyIsIm1peGlucy9fY29udGFpbmVyLnNjc3MiLCJ0b29sYm94L19mbGV4LXNwYWNlYmV0d2Vlbi5zY3NzIiwidG9vbGJveC9fZmxleC5zY3NzIiwidG9vbGJveC9fZmxleHktZm9ybXMuc2NzcyIsInRvb2xib3gvX2dyaWQuc2NzcyIsInRvb2xib3gvX21lZGlhLW9iamVjdC5zY3NzIiwidG9vbGJveC9fc2VjdGlvbi1zdHJpcGVzLnNjc3MiLCJ0b29sYm94L19zdGlja3ktZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19hdmF0YXJzLnNjc3MiLCJtaXhpbnMvX3NpemUuc2NzcyIsImZ1bmN0aW9ucy9fcmVtcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy1nbG9iYWwuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19jb21tZW50cy5zY3NzIiwiY29tcG9uZW50cy9fY291bnRlci5zY3NzIiwiY29tcG9uZW50cy9fY3VycmljdWx1bS12aXRhZS5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2ljb24tc3ByaXRlLnNjc3MiLCJmdW5jdGlvbnMvX2ltZy11cmwuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL19pbnB1dC1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX2lucHV0cy1nbG9iYWwuc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX25hdi1kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fbmF2LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX25hdi1wcmltYXJ5LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLXJlcG9ydHMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2ZpbGUtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fcmVwb3J0LWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL19zcGVlY2gtYnViYmxlcy5zY3NzIiwibWl4aW5zL19jYXJldC5zY3NzIiwiY29tcG9uZW50cy9fdGVhY2hlci1zdGF0dXMtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fdGl0bGVzLnNjc3MiLCJ0ZW1wbGF0ZXMvX2dyaWQtMS0zLnNjc3MiLCJ0ZW1wbGF0ZXMvX3ByaW1hcnkuc2NzcyIsInN0YXRlcy9fbmF2LWRyb3Bkb3duLnNjc3MiLCJwbHVnaW5zL190aW55bmF2LnNjc3MiLCJ1dGlsaXR5L19oZWxwZXJzLnNjc3MiLCJ1dGlsaXR5L19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1DQTtFQUNDLG1DQUFtQztFQUNuQyxlQUFlO0VBQ2YsY0FBYztDQUNkOztBQ3ZDRDs7Z0ZBRWdGO0FBQ2hGOzs7O0dBSUc7QUFJSDtnRkFDZ0Y7QUFFaEY7Ozs7OztHQU1HO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTztDQUl6Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBVTtDQUNYOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZTtDQUNoQjs7QUFFRDs7O0dBR0c7QUFFSDs7OztFQUlFLHNCQUFzQjtFQUFFLE9BQU87RUFDL0IseUJBQXlCO0VBQUUsT0FBTztDQUtuQzs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGNBQWM7RUFDZCxVQUFVO0NBQ1g7O0FBRUQ7OztHQUdHO0FDTEg7O0VEU0UsY0FBYztDQUNmOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsOEJBQThCO0NBQy9COztBQUVEOzs7R0FHRztBQUVIO0VBRUksV0FBVztDQUNaOztBQUdIO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVPO0VBQ1IsMEJBQTBCO0NBQzNCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsa0JBQWtCO0NBQ25COztBQVFEOztHQUVHO0FBRUg7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOztBQTZCRDs7R0FFRztBQUVIO0VBQ0UsaUJBQWlCO0VBQ2pCLFlBQVk7Q0FDYjs7QUFnQ0Q7O0dBRUc7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFRSxlQUFlO0VBQ2YsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQix5QkFBeUI7Q0FDMUI7O0FBRUQ7RUFDRSxZQUFZO0NBQ2I7O0FBRUQ7RUFDRSxnQkFBZ0I7Q0FDakI7O0FBNkNEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLFVBQVU7Q0FJWDs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEOztHQUVHO0FBRUg7RUFDRSx3QkFBd0I7RUFDeEIsVUFBVTtDQUNYOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFlO0NBQ2hCOztBQUVEOzs7R0FHRztBQUVIOzs7O0VBSUUsa0NBQWtDO0VBSWxDLGVBQWU7Q0FDaEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7Ozs7R0FNRztBQUVIOzs7OztFQUtFLGVBQWU7RUFBRSxPQUFPO0VBQ3hCLGNBQWM7RUFBRSxPQUFPO0VBQ3ZCLFVBQVU7RUFBRSxPQUFPO0NBS3BCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7Ozs7O0dBS0c7QUFFSDs7RUFFRSxxQkFBcUI7Q0FDdEI7O0FBRUQ7Ozs7Ozs7O0dBUUc7QUFFSDs7OztFQUlFLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsZ0JBQWdCO0VBQUUsT0FBTztDQUkxQjs7QUFFRDs7R0FFRztBQUVIOztFQUVFLGdCQUFnQjtDQUNqQjs7QUFFRDs7R0FFRztBQUVIOztFQUVFLFVBQVU7RUFDVixXQUFXO0NBQ1o7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxvQkFBb0I7Q0FDckI7O0FBRUQ7Ozs7R0FJRztBQUVrQjs7RUFFbkIsdUJBQXVCO0VBQUUsT0FBTztFQUNoQyxXQUFXO0VBQUUsT0FBTztDQUtyQjs7QUFFRDs7OztHQUlHO0FBRWlCOztFQUVsQixhQUFhO0NBQ2Q7O0FBRUQ7OztHQUdHO0FBRWdCO0VBQ2pCLDhCQUE4QjtFQUFFLE9BQU87RUFDdkMsd0JBQXdCO0VBQUUsT0FBTztDQUNsQzs7QUFFRDs7OztHQUlHO0FBRUg7O0VBRUUseUJBQXlCO0NBQzFCOztBQUVEOztHQUVHO0FBRUg7RUFDRSwwQkFBMEI7RUFDMUIsY0FBYztFQUNkLCtCQUErQjtDQUNoQzs7QUFFRDs7Ozs7R0FLRztBQUVIO0VBQ0UsVUFBVTtFQUFFLE9BQU87RUFDbkIsV0FBVztFQUFFLE9BQU87Q0FLckI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxrQkFBa0I7Q0FDbkI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSwwQkFBMEI7RUFDMUIsa0JBQWtCO0NBQ25COztBQUVEOztFQUVFLFdBQVc7Q0FDWjs7QUV4akJEOzs7O0VBSUMsWUFBWTtDQUNaOztBQUtEO0VBQ0Msa0JBQWtCO0VBQ2xCLG9CQ2tDc0I7RURqQ3RCLGFBQWE7Q0FDYjs7QUFFRDtFQUNDLGtCQUFrQjtFQUNsQixvQkM0QnNCO0VEM0J0QixhQUFhO0NBQ2I7O0FBSUQ7RUFDQyxVQUFVO0VBQ1YsMkJBQTJCO0VBQzNCLHNEQUFnQztFQUNoQyxlQUFlO0VBQ2YsWUFBWTtFQUNaLGNBQWM7RUFDZCxXQUFXO0NBQ1g7O0FBS0Q7Ozs7RUFJQyx1QkFBdUI7Q0FDdkI7O0FBSUQ7RUFDQyxVQUFVO0VBQ1YsVUFBVTtFQUNWLFdBQVc7Q0FDWDs7QUFJRDtFQUNDLGlCQUFpQjtDQUNqQjs7QUFPRDs7RUFFQyx1QkFBdUI7Q0FDdkI7O0FBRUQ7OztFQUdDLG9CQUFvQjtDQUNwQjs7QUFFRDs7RUFFQyxhQUFhO0VBQ2IsVUFBVTtFQUNWLFdBQVc7RUFDUixvQkNwQ1U7Q0RxQ2I7O0FBRUQ7RUFDSSxrRUN6QmlCO0VEMEJqQixrQ0M1QmM7RUQ2QmQsaUJBQWlCO0NBQ3BCOztBRTNEQztFRjhERCxlQ3BDMEI7Q0N4QnpCOztBQUdBO0VGeURELGVDcEMwQjtDQ25CekI7O0FBR0E7RUZvREQsZUNwQzBCO0NDZHpCOztBRnFERjs7OztFQUlDLGdCQUFnQjtFQUNoQixhQUFhO0NBQ2I7O0FBRUQ7RUFDQyxZQUFZO0VBQ1osYUFBYTtDQUliOztBQU5EO0VBSUksa0JBQWtCO0NBQ25COztBQUdIO0VBQ0MsbUNBQW1DO0VBQ25DLGVDMUQwQjtFRDJEMUIsc0JBQXNCO0NBUXRCOztBQVhEO0VBU1EsYUFBYTtDQUNuQjs7QUczSEY7RUFDRSwyQkFBMkI7RUFDM0Isd0hBQzRDO0VBQzVDLG9CQUFvQjtFQUNwQixtQkFBbUI7Q0owZ0JwQjs7QUk3WUQ7RUFFRSxzQkFBc0I7RUFDdEIsNENBQTRDO0NBTTdDOztBQUVEOzs7Ozs7RUFNRSxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGNBQWM7RUFDZCxtQ0FBbUM7RUFFbkMsMkJBQTJCO0NBQzVCOztBTmxIQztFQW5DQSxvQk9KZTtFUGNkLHlCUVBpQjtDUndDakI7O0FBUkQ7RUFuQ0EsbUJPSmU7RVBjZCx5QlFQaUI7Q1J3Q2pCOztBQVJEO0VBbkNBLGlCT0plO0VQY2QseUJRUGlCO0NSd0NqQjs7QUFSRDtFQW5DQSxrQk9KZTtFUGNkLHlCUVBpQjtDUndDakI7O0FBUkQ7RUFuQ0EsZU9KZTtFUGNkLHlCUVBpQjtDUndDakI7O0FBUkQ7RUFuQ0Esa0JPSmU7RVBjZCx5QlFQaUI7Q1J3Q2pCOztBQVJEO0VBbkNBLGlCT0plO0VQY2QseUJRUGlCO0NSd0NqQjs7QUFSRDtFQW5DQSxvQk9KZTtFUGNkLHlCUVBpQjtDUndDakI7O0FBUkQ7RUFuQ0EsbUJPSmU7RVBjZCx5QlFQaUI7Q1J3Q2pCOztBTStHSDs7Ozs7Ozs7O0VBU0Usc0JBQWM7RUFBZCxrQkFBYztFQUFkLGNBQWM7Q0FDZjs7QUFFRDtFQUNFLGtCQUFrQjtFQUNsQiwyQkFBMkI7RUFDM0Isc0JBQXNCO0NBQ3ZCOztBQUVEOztFQUVFLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLHVCQUF1QjtDQUN4Qjs7QUcxS0M7RUNqQkY7SUNRSSxrQlBzQmE7SU9yQmIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixZQUFZO0lEUmIsbUJOa0lVO0lNaklWLG9CTmlJVTtHTS9IWjtDUmtuQkE7O0FVeG5CRDtFQUNFLHVCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsdUJBQStCO0VBQS9CLCtCQUErQjtFQUMvQixZQUFZO0NBQ2I7O0FBR0Q7RUFDRSx1QkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLG1CQUEwQjtFQUExQiwwQkFBMEI7Q0FDM0I7O0FDVkQ7RUFDRSxxQkFBYztFQUFkLGNBQWM7Q0FDZjs7QUFFRDtFQUNFLG1CQUEwQjtFQUExQiwwQkFBMEI7RUFDMUIsaUJBQWlCO0NBQ2xCOztBQ0xEO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0VBQ2QseUJBQXNCO0VBQXRCLHNCQUFzQjtFQUN0QixvQkFBZ0I7RUFBaEIsZ0JBQWdCO0NBQ2pCOztBQUVEO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0NBQ2Y7O0FBRUQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBS0Q7RUFDRSxZQUFRO0VBQVIsUUFBUTtFQUNSLGtCQUFTO0VBQVQsU0FBUztDQUNWOztBQUVEO0VBQ0UsNEJBQW1CO0VBQW5CLG1CQUFtQjtFQUNuQixrQkFBUztFQUFULFNBQVM7RUFDVCxnQ0FBYTtDQUNkOztBQUVEO0VBQ0Usa0JBQVM7RUFBVCxTQUFTO0NBQ1Y7O0FBRUQ7RUFDRSxrQkFBUztFQUFULFNBQVM7Q0FDVjs7QUFFRDtFQUNFLGtCQUFTO0VBQVQsU0FBUztDQUNWOztBQUVEO0VBQ0Usa0JBQVM7RUFBVCxTQUFTO0NBQ1Y7O0FBS0Q7RUFDRSx3QkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLFlBQVk7Q0FDYjs7QUFFRDtFQUVFLG1CQUFlO0VBQWYsZUFBZTtDQUNoQjs7QUFNRDtFQUNFLFlBQVE7RUFBUixRQUFRO0VBQ1IsWUFBWTtDQUNiOztBQUVEO0VBQ0UsbUJBQWU7RUFBZixlQUFlO0NBQ2hCOztBQUV3QztFQUN2QyxvQ0FBaUI7Q0FDbEI7O0FBS0Q7RUFDRSxtQkFBZTtFQUFmLGVBQWU7Q0FDaEI7O0FBRUQ7RUFDRSxXQUFXO0NBQ1o7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsYUFBYTtDQUNkOztBQzFGRDtFQUVFLG9CQUFvQjtFQUNwQix1QkFBdUI7RUFDdkIsWUFBWTtDQUtiOztBQUdHO0VBQ0Ysb0JBQXdCO0VBQ3hCLG1CQUF1QjtDQUt4Qjs7QU5GQztFTUxGO0lBSUksb0JYdUhjO0lXdEhkLG1CWHNIYztHV3BIakI7Q2J1dEJBOztBYXB0QkQ7RUFDRSxZQUFZO0VBQ1osb0JYK0dnQjtDV3ZHakI7O0FOZkM7RU1LRjtJQUlJLFlBQVk7SUFDWixtQkFBd0I7SUFDeEIsbUJBQW1CO0lBQ25CLG9CWDBHYztJV3pHZCxtQlh5R2M7R1d2R2pCO0NieXRCQTs7QWF0dEJJO0VBQ0gsWUFBWTtDQUNiOztBQUdEO0VBQ0UsWUFBWTtDQUliOztBTjVCQztFTXVCRztJQUdELFdBQVc7R0FFZDtDYjB0QkE7O0FhdnRCRDtFQUNFLFlBQVk7Q0FJYjs7QU5wQ0M7RU0rQkc7SUFHRCxpQkFBWTtHQUVmO0NiNHRCQTs7QWF6dEJEO0VBQ0UsWUFBWTtDQUliOztBTjVDQztFTXVDRztJQUdELGlCQUFhO0dBRWhCO0NiOHRCQTs7QWEzdEJEO0VBQ0UsWUFBWTtDQUliOztBTnBEQztFTStDRztJQUdELFdBQVc7R0FFZDtDYmd1QkE7O0FhN3RCRDtFQUNFLFlBQVk7Q0FJYjs7QU41REM7RU11REc7SUFHRCxXQUFXO0dBRWQ7Q2JrdUJBOztBY3h5QkQ7RUFDRSxlQUFlO0VBQ2YscUJBQWM7RUFBZCxjQUFjO0VBQ2Qsc0JBQXdCO0VBQXhCLHdCQUF3QjtFQUN4Qiw2QkFBb0I7RUFBcEIsb0JBQW9CO0NBZ0NyQjs7QUFwQ0Q7RUFPSSx1QkFBb0I7RUFBcEIsb0JBQW9CO0NBQ3JCOztBQVJIO0VBV0ksa0JBQVM7RUFBVCxTQUFTO0NBQ1Y7O0FBWkg7RUFlSSxrQkFBUztFQUFULFNBQVM7Q0FDVjs7QUFoQkg7RUFtQkksdUJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQixzQkFBd0I7RUFBeEIsd0JBQXdCO0NBQ3pCOztBQXJCSDtFQXdCSSxzQkFBd0I7RUFBeEIsd0JBQXdCO0NBQ3pCOztBQXpCSDtFQTRCSSxZQUFRO0VBQVIsUUFBUTtFQUNSLDJCQUF1QjtFQUF2Qix1QkFBdUI7Q0FDeEI7O0FBOUJIO0VBaUNJLFlBQVE7RUFBUixRQUFRO0NBQ1Q7O0FQeEJEO0VRZks7SUFFSCxjQUFjO0dBRWpCO0NmbzFCQTs7QWUvMEJEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUtEO0VBQ0Usc0JBQXNCO0VBQ3RCLG9CYmlDa0I7RWFoQ2xCLGFBQWE7Q0FDZDs7QUNuQkQ7RUFDRSxxQkFBYztFQUFkLGNBQWM7RUFDZCwyQkFBdUI7RUFBdkIsdUJBQXVCO0NBQ3hCOztBQUVEO0VBQ0UsZUFBZTtFQUNmLHFCQUFjO0VBQWQsY0FBYztFQUNkLDJCQUF1QjtFQUF2Qix1QkFBdUI7RUFDdkIsZUFBVztFQUFYLFdBQVc7RUFDWCxhQUFhO0VBQ2IsWUFBWTtDQUtiOztBVEZDO0VTVEY7SUFTSSxtQkFBZTtJQUFmLGVBQWU7R0FFbEI7Q2hCcTJCQTs7QWdCbjJCRDtFQUNFLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLGVBQVc7RUFBWCxXQUFXO0NBQ1o7O0FBRUQ7RUFDRSxtQkFBZTtFQUFmLGVBQWU7RUFDZixhQUFhO0NBQ2Q7O0FBRUQ7RUFDRSxlQUFXO0VBQVgsV0FBVztFQUNYLHVCQUF1QjtFQUN2Qix1QkFBb0I7RUFBcEIsb0JBQW9CO0NBQ3JCOztBQ2pDRDtFQ0tDLFlESm1CO0VDS25CLGFETHlCO0VBQ3hCLDBCZjhDa0I7Q2U3Q25COztBQUVEO0VBQ0UsbUJBQW1CO0NBcUJwQjs7QUF0QkQ7RUFHSSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLHFCQUFjO0VBQWQsY0FBYztFQUNkLG9CQUFzQjtFQUF0QixzQkFBc0I7RUFDdEIsc0JBQXdCO0VBQXhCLHdCQUF3QjtFQUN4QixZQUFZO0VBQ1osYUFBYTtFQUNiLDBCRWhCZ0I7RUZpQmhCLG1CQUFtQjtFQUNuQixZQW5CcUI7RUFvQnJCLFFBQVE7RUFDUixTQUFTO0VBQ1QsV0FBVztFQUNYLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLGtFQUEyQjtFQUMzQixhQUFhO0NBQ2Q7O0FBSUg7RUN6QkMsYUQwQm9CO0VDekJwQixjRHlCMkI7Q0FDM0I7O0FBR0Q7RUFDRSxtQkFBbUI7Q0FDcEI7O0FHMUNEOztFQUVFLHlCQUFpQjtFQUFqQixzQkFBaUI7RUFBakIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsV0FBVztDQUNaOztBQUdEO0VBQ0UseUJBQWlCO0VBQWpCLHNCQUFpQjtFQUFqQixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQiwwQkFBMEI7Q0FLM0I7O0FBZkQ7RUFhSSxhQUFhO0NBQ2Q7O0FBSUg7RUFDRSxtQkFBbUI7Q0FDcEI7O0FBR0Q7RUFDRSxvQmxCb0JrQjtFa0JuQmxCLGFsQm9EMkI7Q2tCL0M1Qjs7QUFQRDtFQUtJLG9CbEJrQm1CO0NrQmpCcEI7O0FBSUg7RUFDRSx3QmxCNENnQztFa0IzQ2hDLHdCbEI0QzRCO0VrQjNDNUIsYWxCNEM2QjtDa0JyQzlCOztBQVZEO0VBT0ksb0JsQk1tQjtFa0JMbkIsMEJsQkttQjtDa0JKcEI7O0FDNUNIO0VBQ0Usc0JBQXNCO0VBQ3RCLG1CaEJMZTtFZ0JNZixtQkFBbUI7Q0FDcEI7O0FBS0Q7RUFDRSxlQUFlO0NBa0JoQjs7QWRsQkM7RWNERjtJQUdJLHFCQUFjO0lBQWQsY0FBYztJQUNkLHNCQUF3QjtJQUF4Qix3QkFBd0I7SUFDeEIsd0JBQXFCO0lBQXJCLHFCQUFxQjtJQUNyQiwyQkFBc0I7SUFBdEIsc0JBQXNCO0dBYXpCO0NyQm85QkE7O0FxQnYrQkQ7RUFVSSxnQkFBZ0I7Q0FDakI7O0FkVkQ7RWNERjtJQWVNLG9CbkJ3QmlCO0ltQnZCakIsYW5CbUZ5QjtHbUJqRjVCO0NyQmcrQkY7O0FPai9CQztFY3FCYTtJQUVYLGVBQVc7SUFBWCxXQUFXO0dBRWQ7Q3JCODlCQTs7QU92L0JDO0VjNEJGO0lBRUksbUJBQWU7SUFBZixlQUFlO0dBRWxCO0NyQjY5QkE7O0FPNy9CQztFY21DaUI7SUFFZiw2Qm5CdUJjO0ltQnRCZCxxQkFBYztJQUFkLGNBQWM7SUFDZCx1QkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLHNCQUF3QjtJQUF4Qix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixvQm5CSGE7R21CS2hCO0NyQjQ5QkE7O0FxQno5QkQ7RUFDRSxtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLG9CQUFvQjtFQUNwQixXQUFXO0NBY1o7O0FBbEJEO0VBT0ksK0JuQm5CZ0I7RW1Cb0JoQixZQUFZO0VBQ1osZUFBZTtFQUNmLGFBQWE7RUFDYixZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLE9BQU87RUFDUCxRQUFRO0VBQ1IsVUFBVTtFQUNWLFdBQVc7Q0FDWjs7QUFPSDtFQUNFLG9CbkJqQ2U7RW1Ca0NmLGFuQm9CNEI7Q21CbkI3Qjs7QUFHd0I7RUFDdkIsZ0JBQWdCO0NBRWpCOztBQUdEO0VBQ0Usb0JuQmpEa0I7RW1Ca0RsQixhbkJDMEI7Q21CQTNCOztBQUdEO0VBQ0Usb0JuQnJEcUI7Q21Cc0R0Qjs7QUFHRDtFQUNFLG9CbkI1RGtCO0VtQjZEbEIsYW5CUnlCO0NtQlMxQjs7QUFPRDtFQUNFLG9CbkJuRWdCO0VtQm9FaEIsYW5CaEI2QjtDbUJpQjlCOztBQ3ZIRDtFQUNFLG1CQUFtQjtFQUNuQixhcEJrQ21CO0NvQmpDcEI7O0FBR0Q7RUFDRSxxQkFBcUI7Q0FDdEI7O0FBTTRCO0VBQzNCLGNBQWM7Q0FDZjs7QUFHRDtFQUNFLGtCQUFrQjtFQUNsQixhcEJlbUI7Q29CVnBCOztBQVB5QjtFQUt0QixlcEJ5Qm1CO0NvQnhCcEI7O0FBTVE7RUFDVCxpQkFBaUI7Q0FDbEI7O0FBR0Q7RUFDRSxxQkFBYztFQUFkLGNBQWM7RUFDZCx1QkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLDJCQUF1QjtFQUF2Qix1QkFBdUI7RUFDdkIsdUJIMUNrQjtDRzJDbkI7O0FBR3dDO0VBQ3ZDLHlCSC9Da0I7Q0dnRG5COztBQU1EO0VBQ0UsbUJBQW1CO0VBQ25CLHdCQUF3QjtDQUt6Qjs7QWZoREM7RWV5Q2M7SUFJWixtQkgxRGdCO0lHMkRoQixvQnBCTmE7R29CUWhCO0N0QjBqQ0E7O0FzQnZqQ2U7RUFDZCxvQnBCWmU7Q29CZ0JoQjs7QWZ4REM7RWVtREY7SUFHSSx5QkhuRWdCO0dHcUVuQjtDdEI0akNBOztBc0J6akNEO0VBQ0UsbUJBQW1CO0VBQ25CLGtCSDFFa0I7RUcyRWxCLDBCSDNFa0I7Q0c0Rm5COztBZi9FQztFZTJERjtJQU1JLFdBQVc7SUFDWCxrQkFBa0I7R0FhckI7Q3RCa2pDQTs7QXNCdGtDRDtFQVdJLGtCQUFrQjtDQUluQjs7QWYxRUQ7RWUyREY7SUFhTSx3QkFBd0I7R0FFM0I7Q3RCaWtDRjs7QU8zb0NDO0VlMkRGO0lBa0JJLGlCQUFpQjtHQUVwQjtDdEJra0NBOztBc0IvakNEOztFQUVFLG1CQUFtQjtDQWVwQjs7QWZuR0M7RWVrRkY7O0lBTU0sWUFBWTtJQUNaLGVBQWU7SUFDZixXQUFXO0lBQ1gsYUFBYTtJQUNiLG9DcEJ4RGM7SW9CeURkLG1CQUFtQjtJQUNuQixXQUFXO0lBQ1gsYUFBYTtJQUNiLFdBQVc7R0FFZDtDdEJta0NGOztBc0IvakNEO0VBQ0UsOEJwQi9EZTtFb0JnRWYsb0JwQkl5QjtFb0JIekIsMEJIdEhrQjtDR2lJbkI7O0FmcEhDO0Vlc0dGO0lBS0ksYUFBYTtJQUNiLHdCQUF3QjtHQVEzQjtDdEI4akNBOztBT2xyQ0M7RWVzR0Y7SUFXTSxjSDlIYztHR2dJakI7Q3RCcWtDRjs7QXNCamtDRDtFQUNFLGFBQWE7Q0FNZDs7QWY5SEM7RWV1SEY7SUFJTSxjSHhJYztHRzBJakI7Q3RCcWtDRjs7QU9sc0NDO0VlaUk0QjtJQUUxQixZQUFZO0lBQ1osZUFBZTtJQUNmLGFBQWE7SUFDYixXQUFXO0lBQ1gsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxjSHRKZ0I7SUd1SmhCLFNBQVM7SUFDVCxXQUFXO0lBQ1gsb0NwQnhHZ0I7R29CMEduQjtDdEJta0NBOztBc0I3akNEO0VBQ0UscUJBQXFCO0NBQ3RCOztBQUc4QjtFQUM3QixxQkFBYztFQUFkLGNBQWM7RUFDZCx1QkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLDJCQUF1QjtFQUF2Qix1QkFBdUI7RUFDdkIseUJIMUtrQjtDRzJLbkI7O0FBR0Q7RUFDRSx1QkgvS2tCO0NHZ0xuQjs7QUFHZ0Q7RUFDL0MsY0FBYztDQUNmOztBQUVEO0VBQ0ksd0JBQXdCO0NBQzNCOztBQzdMRDtFQUNFLG1CQUFtQjtFQUNuQixzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixrQkFBa0I7Q0FDbkI7O0FDTkQ7RUFDRSxlQUFlO0NBQ2hCOztBQUdEO0VBQ0UsbURBQTZCO0VBQzlCLHNEQUFnQztFQUMvQixhQUFhO0VBQ2IsdUJ0QjRHOEI7Q3NCM0cvQjs7QUFHRDtFQUNFLGVuQlZlO0NtQldoQjs7QUFHRDtFQUNFLGtCQUFrQjtDQUNuQjs7QUFHRDtFQUNFLGFBQWE7RUFDYixvQnRCNkZnQztDc0I1RmpDOztBQUdEO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxvQnRCb0JZO0NzQm5CYjs7QUFHRDtFQUVFLGdEQUFnRDtDQUNqRDs7QUFHaUI7RUFFZCxrQkFBa0I7RUFDbEIscUJBQXFCO0NBQ3RCOztBQUl1QjtFQUV0QixnQkFBZ0I7RUFDaEIsbUJBQW1CO0NBQ3BCOztBQUllO0VBQ2hCLFVBQVU7RUFDVixXQUFXO0NBU1o7O0FBWEQ7RUFPSSxhQUFhO0VBQ2IsV0FBVztDQUVaOztBQUllO0VBR2QsYUFBYTtDQUNkOztBQUllO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUFHRDtFQUNFLG1CQUFtQjtFQUNuQixrQnRCZ0M4QjtDc0IvQi9COztBQUdTO0VBQ1IsZ0JBQWdCO0NBSWpCOztBQUxEO0VBR0ksbUJBQW1CO0NBQ3BCOztBQzdGSDtFQUNFLHFCQUEwQjtFQUMxQixtQkFBbUI7Q0FJcEI7O0FsQlNDO0VrQmZ1QjtJQUlyQixpQkFBaUI7R0FFcEI7Q3pCKzBDQTs7QU90MENDO0VrQkhGO0lBRUksNkJBQXFCO0dBRXhCO0N6QjIwQ0E7O0F5QnAwQzBCO0VBQ3pCLHFCTnRCa0I7RU11QmxCLGVBQWU7Q0FDaEI7O0FBSUQ7RUFDRSxzQkFBc0I7RUFDdEIsY0FBYztFQUNkLGV2QmtCa0I7Q3VCUG5COztBQWQ4QjtFQU0zQix1Qk5sQ2dCO0NNbUNqQjs7QUFQNEI7RUFXM0IsMkJBQTJCO0VBQzNCLGV2QlNnQjtDdUJSakI7O0FsQnRCRDtFbUJoQmtCO0lBRWhCLGFBQWE7SUFDYiwwQkFBMEI7R0FFN0I7QzFCNDJDQTs7QU92MkNDO0VtQkRGO0lBRUksb0J4Qm1DZ0I7R3dCM0JuQjtDMUJvMkNBOztBTzcyQ0M7RW1CRHNCO0lBS3BCLHVCQUFvQjtJQUFwQixvQkFBb0I7SUFDcEIsbUJBQTBCO0lBQTFCLDBCQUEwQjtJQUMxQixVQUFVO0lBQ1YsZ0JBQWdCO0dBRW5CO0MxQjYyQ0E7O0FPdDNDQztFbUJZRjtJQUVJLGlCQUFpQjtHQUVwQjtDMUI0MkNBOztBMEJ6MkNrQztFQUNqQyxzQkFBd0I7RUFBeEIsd0JBQXdCO0VBQ3hCLG9CQUFnQjtFQUFoQixnQkFBZ0I7Q0FLakI7O0FuQjFCQztFbUJtQmlDO0lBSS9CLHNCQUFrQjtJQUFsQixrQkFBa0I7SUFDbEIsbUJBQTBCO0lBQTFCLDBCQUEwQjtHQUU3QjtDMUI4MkNBOztBMEJ4MkNEOzs7RUFHRSxVQUFVO0NBQ1g7O0FBSXFCO0VBQ3BCLGVBQWU7RUFDZixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWix3QkFBd0I7Q0FPekI7O0FuQnBEQztFbUJ3Q0Y7SUFPSSxvQkFBb0I7R0FLdkI7QzFCdzJDQTs7QU81NUNDO0VtQndDb0I7SUFVbEIsY0FBYztHQUVqQjtDMUI4MkNBOztBMEIxMkNEO0VBQ0UsY0FBYztDQVlmOztBbkJyRUM7RW1Cd0RtQztJQUlqQyxzQkFBc0I7SUFDdEIsa0RBQThDO0dBUWpEO0MxQncyQ0E7O0FPNzZDQztFbUJ3REY7SUFTSSxzQkFBc0I7SUFDdEIsMkRBQWtEO0dBR3JEO0MxQisyQ0E7O0EwQjMyQ0Q7RUFDRSxjQUFjO0NBS2Y7O0FuQi9FQztFbUJ5RXNDO0lBR3BDLGlCQUFpQjtJQUNqQiw2QkFBcUI7R0FFeEI7QzFCZzNDQTs7QTBCNzJDRDtFUnpGQyxZUTBGbUI7RVJ6Rm5CLGFReUZ5QjtFQUN4QixhQUFhO0NBQ2Q7O0FBSXdDO0VBQ3ZDLHVCUHZHa0I7RU93R2xCLDBCUHhHa0I7RU95R2xCLGtCQUFrQjtDQUNuQjs7QUFHRDtFQUNFLHdCQUF3QjtDQUN6Qjs7QW5CNUZDO0VtQmdHb0I7SUFFbEIsYUFBWTtJQUNaLGdCQUFnQjtHQU1uQjtDMUJ1MkNBOztBT3Q5Q0M7RW1Cc0dGO0lBT0ksbUJBQWU7SUFBZixlQUFlO0dBRWxCO0MxQjYyQ0E7O0FPdDlDQztFbUI0R29CO0lBRWxCLHVCQUF1QjtJQUN2QiwyQkFBMkI7SUFDM0IsbUJBQW1CO0dBRXRCO0MxQjQyQ0E7O0FPOTlDQztFbUJzSDhCO0lBRTVCLGNBQWM7R0FFakI7QzFCMDJDQTs7QU9wK0NDO0VtQjhIRjtJQUVJLGNBQWM7R0FRakI7QzFCazJDQTs7QU9oL0NDO0VtQm9Jb0I7SUFNbEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQixvQlB6SmdCO0dPMkpuQjtDMUIwMkNBOztBQUVEOzs7RWtCamdEQyxhU0NvQjtFVEFwQixhU0EwQjtFQUN6QixpQlJSa0I7RVFTbEIsaUJBQWlCO0VBQ2pCLGtEQ0xXO0VETVgsNkJBQTZCO0NBQzlCOztBQU9DO0VBQ0UsOEJBQXFCO0NBS3RCOztBQU5EO0VBSUkseUJBQXFCO0NBQ3RCOztBQUxIO0VBQ0UsOEJBQXFCO0NBS3RCOztBQU5EO0VBSUksOEJBQXFCO0NBQ3RCOztBQUxIO0VBQ0UsOEJBQXFCO0NBS3RCOztBQU5EO0VBSUksOEJBQXFCO0NBQ3RCOztBQU1IO0VUeEJELGFTeUJzQjtFVHhCdEIsYVN3QjRCO0VBQ3pCLDZCQUFxQjtDQUN0Qjs7QUFIRDtFVHhCRCxhU3lCc0I7RVR4QnRCLGFTd0I0QjtFQUN6Qiw4QkFBcUI7Q0FDdEI7O0FBSEQ7RVR4QkQsYVN5QnNCO0VUeEJ0QixhU3dCNEI7RUFDekIsOEJBQXFCO0NBQ3RCOztBRWhDSDtFWEtDLFlXSm1CO0VYS25CLGFXTHlCO0VBQ3hCLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLG9CQUFvQjtFQUNwQixZM0JvRmU7RTJCbkZmLG9CM0J5Q2tCO0MyQnhDbkI7O0FBTUQ7RVhUQyxZV1VtQjtFWFRuQixhV1N5QjtFQUN4QixvQkFBb0I7Q0FDckI7O0FBTUQ7RVhsQkMsWVdtQm1CO0VYbEJuQixhV2tCeUI7RUFDeEIsc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1Asc0NBQStCO0VBQy9CLDBCQUEwQjtFQUMxQixrQnhCL0JlO0V3QmdDZixtQkFBbUI7RUFDbkIsd0JBQXdCO0NBd0J6Qjs7QUFqQ0Q7RVhsQkMsWVcrQnFCO0VYOUJyQixhVzhCMkI7RUFDeEIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsd0JBQXdCO0NBQ3pCOztBQWxCSDtFQXFCSSxXQUFXO0VBQ1gsUUFBUTtDQUNUOztBQXZCSDtFQTBCSSxXQUFXO0VBQ1gsT0FBTztDQUNSOztBQTVCSDtFQStCSSxnQkFBZ0I7Q0FDakI7O0FBS1M7RUFDVix5QkFBaUI7RUFDakIsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsVUFBVTtFQUNWLFFBQVE7RUFDUixTQUFTO0VBQ1QsV0FBVztFQUNYLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsZUFBZTtDQUNoQjs7QUFNRDs7O0VBR0UsMEJBQTBCO0NBQzNCOztBQUdEO0VBQ0UsK0RBQW1CO0VBQW5CLHVEQUFtQjtDQUNwQjs7QUFHc0I7RUFDckIsaUJBQWlCO0VBQ2pCLGVBQWU7Q0FDaEI7O0FBTUQ7RUFHSSxvQjNCcERtQjtDMkJxRHBCOztBQUlIO0VBQ0Usb0IzQjVEa0I7QzJCaUVuQjs7QUFORDtFQUlJLG9CM0IvRGdCO0MyQmdFakI7O0FBSWdCO0VBQ2pCLGFBQWE7Q0FDZDs7QUMzSEQ7RUFDRSw4QkFBOEI7RUFDOUIsb0I1Qm1Ea0I7QzRCbERuQjs7QUNId0I7OztFQUd2Qix5QkFBaUI7RUFBakIsc0JBQWlCO0VBQWpCLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxZQUFZO0VBQ1osb0I3QmlEZTtDNkI1Q2hCOztBQWJ3Qjs7Ozs7RUFXckIsY0FBYztDQUNmOztBQUlrQjtFQUNuQix3Q0FBd0M7RUFDeEMscUNBQXFDO0VBQ3JDLGdDQUFnQztFQUNoQyxZQUFZO0NBQ2I7O0FBR0Q7RUFDRSxxQ0FBcUM7RUFDckMsa0NBQWtDO0VBQ2xDLDZCQUE2QjtFQUM3QixZQUFZO0NBQ2I7O0FBR2lCO0VBQ2hCLDBCQUEwQjtDQUMzQjs7QUFNRDtFQUVFLGdCQUFnQjtFQUNoQixlQUFlO0NBVWhCOztBQU5DO0VBUEY7SUFRSSxzVkFBdUI7SUFDdkIsd0NBQXdDO0lBQ3hDLDZCQUE2QjtJQUM3QixzQkFBc0I7R0FFekI7Qy9CbXFEQTs7QStCaHFERDs7O0VBR0Usb0JBQW9CO0NBQ3JCOztBQzVERDtFQUNFLG9CYkdrQjtDYUZuQjs7QUFHTTtFQUNMLGlCQUFpQjtDQUNsQjs7QUNQRDtFQUNFLGdCQUFnQjtFQUNoQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFNBQVM7RUFDVCxVQUFVO0VBQ1YsWUFBWTtFQUNaLGFBQWE7RUFDYixvQkFBZ0I7RUFFaEIsa0JBQWtCO0VBQ2xCLG9DL0IwQ2tCO0UrQnpDbEIsa0JBQWtCO0VBQ2xCLFdBQVc7Q0FRWjs7QTFCSkM7RTBCakJGO0lBZUksbUJBQW1CO0lBQ25CLG9CQUFnQjtJQUNoQixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLG9CL0JrQ2dCO0crQmhDbkI7Q2pDMHVEQTs7QWlDdnVERDtFQUNFLGFBQWE7RUFDYixlQUFlO0VBQ2YsMkJBQTJCO0VBQzNCLFVBQVU7RUFDVixXQUFXO0NBSVo7O0ExQmhCQztFMEJPRjtJQU9JLGVBQWU7R0FFbEI7Q2pDNHVEQTs7QWlDMXVEMkI7RUFDeEIsc0JBQXNCO0VBQ3RCLFVBQVU7RUFDVixnQkFBZ0I7Q0FDbkI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsaUJBQWlCO0NBSWxCOztBMUI5QkM7RTBCd0JGO0lBSUksc0JBQXNCO0dBRXpCO0NqQyt1REE7O0FpQzV1REQ7RUFFSSx1QjVCaERhO0M0QmlEZDs7QUFJSDtFQUNFLG1CQUFtQjtDQUNwQjs7QUFHRDs7OztFQUlFLGVBQWU7Q0FDaEI7O0FBR0Q7RUFDRSxlQUFlO0VBQ2YsMEI1QnBFZTtFNEJxRWYsc0JBQXNCO0VBQ3RCLDhCQUE4QjtFQUM5QixhL0JNd0I7QytCRnpCOztBMUI5REM7RTBCcURGO0lBT0ksMEI1QnpFYTtHNEIyRWhCO0NqQzR1REE7O0FpQzN1REQ7RUFDSSxvQi9CNUJnQjtDK0I2Qm5COztBQUdvQjs7OztFQUluQixjQUFjO0VBQ2QsMEIvQm5DcUI7RStCb0NyQixhL0JWd0I7QytCV3pCOztBQUdtQjtFQUNsQixpQkFBaUI7RUFFakIsWS9CaEI4QjtDK0JpQi9COztBQUdEO0VBQ0UsWS9CckI4QjtDK0JzQi9COztBQUdtQjtFQUNsQixjQUFjO0VBQ2QsV0FBVztFQUNYLFVBQVU7RUFDVixZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLG9DL0I1RGtCO0UrQjZEbEIsYS9CakN3QjtDK0IwQ3pCOztBMUIxR0M7RTBCMEZrQjtJQVNoQixtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLG9CL0JwRWdCO0crQnNFbkI7Q2pDMnVEQTs7QWlDeHVEa0M7RUFDakMsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtDQUNyQjs7QUFHa0M7RUFDakMsc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWixhL0J0RHdCO0MrQnVEekI7O0FDeElEO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0VBQ2QsdUJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix1QkFBK0I7RUFBL0IsK0JBQStCO0NBQ2hDOztBQ0pEO0VBQ0UsdUJBQWdCO0VBQ2hCLG9CQUFnQjtFQUFoQixnQkFBZ0I7RUFDaEIsbUJBQWU7RUFBZixlQUFlO0NBS2hCOztBNUJTQztFNEJqQm1CO0lBS2pCLGtCQUFjO0lBQWQsY0FBYztJQUNkLG9CQUFnQjtHQUVuQjtDbkM0M0RBOztBT24zREM7RTZCZkY7SUFJTSxvQmxDaURpQjtHa0MvQ3BCO0NwQ2s0REY7O0FvQ3g0REQ7RUFTSSxpQkFBaUI7Q0FDbEI7O0FBVkg7RUFhSSxvQkFBb0I7Q0FDckI7O0E3QkNEO0U2Qk1GO0lBSU0sb0JsQzRCaUI7SWtDM0JqQixhQUFhO0dBRWhCO0NwQzIzREY7O0FPeDREQztFNkJvQkY7SUFFSSxvQmxDZ0JtQjtJa0NmbkIsYUFBYTtHQUVoQjtDcENzM0RBOztBcUNoNkREO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtDQUNsQjs7QUFHRDtFQUNFLGtCQUFrQjtFQUNsQixtQkFBbUI7Q0FDcEI7O0FBR1M7RUFDUixrQkFBa0I7RUFDbEIscUJBQXFCO0NBQ3RCOztBQUdEO0VBQ0UsZ0JBQWdCO0NBQ2pCOztBQUdTO0VBRU4sdUJBQXVCO0NBQ3hCOztBQUlIO0VBQ0UsMEJuQ3NCa0I7Q21DckJuQjs7QTlCVEM7RStCakJGO0lBR0ksbUJBQW1CO0lBQ25CLHNDQUFnQjtHQUtuQjtDdENtN0RBOztBT2o3REM7RStCWEY7SUFPSSw0QkFBNEI7R0FFL0I7Q3RDeTdEQTs7QXNDdDdERDtFQUNFLGlCQUFpQjtFQUNqQixpQkFBaUI7Q0FDbEI7O0FBR2E7RUFFVixnQkFBZ0I7Q0FRakI7O0FBVkg7RUFJTSxzQnBDMkJpQjtDb0MxQmxCOztBQUVEO0VBQ0UsYUFBYTtDQUNkOztBQVFMO0VBQ0UsWUFBWTtFQUNaLHVCakN2Q2U7RWlDd0NmLDRCQUFxQjtFQUNyQixrQmpDekNlO0VpQzBDZiwwQkFBMEI7RUFDMUIsa0JBQWtCO0NBQ25COztBQUdEO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0VBQ2QsdUJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQiw0QkFBdUI7RUFBdkIsdUJBQXVCO0VBQ3ZCLGFBQWE7Q0FJZDs7QS9CcENDO0UrQjRCRjtJQU1JLG9CQUFnQjtJQUFoQixnQkFBZ0I7R0FFbkI7Q3RDbzdEQTs7QXNDOTZEYTtFQUNaLHVCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsVUFBVTtDQUNYOztBQUlEO0VBQ0UscUJBQWlCO0VBQWpCLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsZUFBZTtDQUtoQjs7QS9CL0RDO0UrQnVEYztJQUtaLGVBQVc7SUFBWCxXQUFXO0lBQ1gsaUJBQWlCO0dBRXBCO0N0Q2k3REE7O0FzQzk2REQ7RUFDRSxpQkFBaUI7Q0FDbEI7O0FDckZlO0VBQ2Qsa0JBQWtCO0NBQ25COztBQUdEO0VBQ0UscUJBQWM7RUFBZCxjQUFjO0VBQ2QsdUJBQW9CO0VBQXBCLG9CQUFvQjtDQUlyQjs7QUFORDtFQUlJLG9CQUFvQjtDQUNyQjs7QUFJSDtFQUNFLGlCQUFpQjtDQUNsQjs7QUNkRDtFQUNFLFVBQVU7RUFDVixvQkFBdUI7RUFDdkIscUJyQkRrQjtFcUJFbEIsbUJBQW1CO0VBQ25CLGVBQWU7Q0FhaEI7O0FBbEJEO0VBUUksWUFBWTtFQUNaLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsV0FBVztFQUNYLGN0Q2lMYTtFc0NoTGIseUJBQXlCO0VBQ3pCLDZEQUVxQjtDQUN0Qjs7QUFNWTtFQUNiLHlCQUF5QjtFQUN6QixpQkFBaUI7Q0FDbEI7O0FBTUQ7RUFDRSxxQkFBYztFQUFkLGNBQWM7RUFDZCx1QkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLDJCQUF1QjtFQUF2Qix1QkFBdUI7RUFDdkIsdUJyQmxDa0I7Q3FCbUNuQjs7QUFHOEI7RUFFM0IseUJyQnhDZ0I7Q3FCeUNqQjs7QUFJSDtFQUNFLGNBQWM7Q0FDZjs7QUFNYztFQUNiLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixtQm5DMURlO0VtQzJEZixtQkFBbUI7RUFDbkIscUJBQXFCO0VBQ3JCLGFBQWE7Q0FDZDs7QUFHRDtFQUNFLGtCQUFrQjtFQUNsQixldENsQmtCO0NzQ3lCbkI7O0FBVG1CO0VBTWhCLDJCQUEyQjtFQUMzQixhQUFhO0NBQ2Q7O0FBSWtCO0VBQ25CLGFBQWE7RUFDYixrQkFBa0I7Q0FDbkI7O0FBTUQ7RUFDRSxvQnRDbENlO0NzQ3FEaEI7O0FBcEJEO0VDbEZFLGlDQUF1QztFQUN2QyxpQ3ZDZ0RlO0V1Qy9DZixpQkFBMkI7RUFDM0IsVUFBVTtFQUNWLFNBQVM7RUR1RlAsdUJ0QzRGYTtDc0MzRmQ7O0FBVkg7RUFhSSxnQkFBZ0I7Q0FFakI7O0FBZkg7RUFrQkksMEJ0Q3JEbUI7Q3NDc0RwQjs7QUFPSDtFQUNFLG9CdEM5RHFCO0VzQytEckIsYUFBYTtDQVVkOztBQVpEO0VDNUdFLGlDQUF1QztFQUN2QyxpQ3ZDOENxQjtFdUM3Q3JCLGlCQUEyQjtFQUMzQixVQUFVO0VBQ1YsU0FBUztFRGtIUCx1QnRDaUVhO0NzQ2hFZDs7QUUvSEg7RUFDRSxpQkFBaUI7Q0FDbEI7O0FBR0Q7RUFDRSxnQ3hDK0NrQjtDd0M5Q25COztBQUdlO0VBQ2Qsa0JBQWtCO0VBQ2xCLG1CQUFtQjtDQUNwQjs7QUFHRDtFQUVFLHFCQUFxQjtFQUNyQixlQUFlO0VBQ2Ysc0N4Q3FHYztDd0NwR2Y7O0FBR2U7RUFFWix1QkFBdUI7Q0FDeEI7O0FDekJIO0VBQ0UsbUJBQW1CO0VBQ25CLHdCdENBZTtFc0NDZixxQkFBcUI7Q0FDdEI7O0FBTU07RUFDTCxtQkFBbUI7RUFDbkIsUUFBUTtFQUNSLE9BQU87RUFDUCxVQUFVO0NBQ1g7O0FBR0Q7RUFDRSxlQUFlO0NBS2hCOztBQU5NO0VBSUgsMkJBQTJCO0NBQzVCOztBcENSRDtFcUNid0I7SUFFdEIsb0J6QkZnQjtHeUJJbkI7QzVDbXFFQTs7QTRDM3BFRDtFQUNFLDhCQUE4QjtFQUM5QixtQnpCZGtCO0V5QmVsQixzQnpCZmtCO0N5QmdCbkI7O0FBSUQ7RUFDRSxvQnpCckJrQjtDeUJzQm5COztBckNHQztFcUNDbUI7SUFFakIsMkJBQXVCO0lBQXZCLHVCQUF1QjtHQU0xQjtDNUNxcEVBOztBNEN4cEVDO0VBTEY7SUFNSSwyQkFBdUI7SUFBdkIsdUJBQXVCO0dBRTFCO0M1QzJwRUE7O0E0Q3ZwRWU7RUFDZCxxQkFBYztFQUFkLGNBQWM7RUFDZCw0QkFBdUI7RUFBdkIsdUJBQXVCO0VBQ3ZCLHdCQUF3QjtDQUt6Qjs7QXJDakNDO0VxQ3lCRjtJQUtJLG1CQUFtQjtJQUNuQixtQkFBbUI7R0FFdEI7QzVDNHBFQTs7QTRDeHBFK0I7RUFDOUIsZUFBZTtDQUNoQjs7QUNyREQ7RUFDRSxvQjFCQWtCO0UwQkNsQixrQjNDd0VnQjtDMkNwRWpCOztBdENRQztFc0NkdUI7SUFJckIsaUMxQkhnQjtHMEJLbkI7QzdDb3RFQTs7QThDM3RFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFHWTtFQUNYLG9CQUFnQjtFQUNoQixpQkFBaUI7Q0FDbEI7O0FBR0Q7RUFDRSxlQUFlO0NBQ2hCOztBQUVEO0VBQ0UsY0FBYztFQUNkLDBCNUNvQ3FCO0U0Q25DckIsYTVDNkR3QjtDNEM1RHpCOztBQ3BCRDtFQUNFLGNBQWM7Q0FDZjs7QUFJRDtFQUNFO0lBQ0UsZUFBZTtHQUNoQjtFQUVEO0lBQ0UsY0FBYztHQUNmO0MvQyt1RUY7O0FnRDF2RUQ7RUFDQyxzQkFBc0I7RUFDdEIsVUFBVTtFQUNWLGdCQUFnQjtDQUNoQjs7QUFFRDtFQUNFLHFCQUFjO0VBQWQsY0FBYztDQUNmOztBQUVZO0VBRVQsdUI3QlhnQjtDNkJZakI7O0FBSEg7RUFNSSxhQUFhO0NBQ2Q7O0FBU0g7RUFDRSxzQkFBc0I7RUFDdEIsWUFBWTtDQUNiOztBQU1EO0VBQ0Usd0JBQXdCO0NBQ3pCOztBQUVEOztFQUVFLGVBQWU7RUFDZiwwQkFBMEI7Q0FDM0I7O0FBRUQ7RUFDRSxhQUFZO0VBQ1osd0JBQXdCO0NBQ3pCOztBQUVEO0VBQ0UsWUFBWTtFQUNaLHdCQUF3QjtDQUN6Qjs7QUFFRDtFQUNFLGVBQWU7RUFDZiwwQkFBMEI7Q0FDM0I7O0FBRUk7RUFDSCxhQUFhO0VBQ2Isd0JBQXdCO0NBQ3pCOztBQUVEO0VBQ0Usd0JBQXdCO0NBQ3pCOztBQUVJO0VBQ0gsWUFBWTtFQUNaLHdCQUF3QjtDQUN6Qjs7QUFFRDtFQUNFLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsbUJBQ0Q7Q0FBQzs7QUFFRjtFQUNFLGlCQUFpQjtFQUNqQiwwQkFBMkI7RUFDM0IsZUFBZTtFQUFFLDhDQUE4QztFQUMvRCxzQkFBc0I7RUFDdEIsbUJBQW1CO0NBQ3BCOztBQUVVO0VBQ1Qsd0JBQXdCO0NBQ3pCOztBQUVEO0VBQ0Usd0JBQXdCO0NBQ3pCOztBQUVVO0VBQ1Qsd0JBQXdCO0NBQ3pCOztBQUVEO0VBQ0UsZUFBZTtFQUNmLGFBQWE7RUFDYixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxZQUFZO0NBQ2I7O0FBRVk7RUFDWCxnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixtQkFBbUI7Q0FDcEI7O0FBRUQ7O0VBRUUsYUFBYTtDQUNkOztBQUVEOztFQUVFLGdCQUFnQjtDQUNqQjs7QUFFRDtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0NBQ2I7O0FBTUQ7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0NBQ2xCOztBQU1EO0VBQ0UseUVBQzBCO0NBQzNCOztBQU9EO0VBQ0MsVUFBVTtFQUNWLG9CQUFVO0VBQ1YsWUFBWTtFQUNaLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixXQUFXO0NBQ1g7O0FBSXdCOztFQUV4QixXQUFXO0VBQ1gsYUFBYTtFQUNiLFVBQVU7RUFDVixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLFlBQVk7Q0FDWjs7QUFRUTtFQUNQLGFBQWE7RUFDYixlQUFlO0VBQ2YsWUFBWTtDQUNiOztBQzlMRDtFQUNDO0lBQ0MsbUNBQW1DO0lBQ25DLHVCQUF1QjtJQUN2Qiw0QkFBNEI7SUFDNUIsNkJBQTZCO0dBQzdCO0VBRUQ7O0lBRUMsMkJBQTJCO0dBQzNCO0VBRUQ7SUFDQyw2QkFBNEI7R0FDNUI7RUFFVTtJQUNWLDhCQUE2QjtHQUM3QjtFQU1EOzs7SUFHQyxZQUFZO0dBQ1o7RUFFRDs7SUFFQyx1QkFBdUI7SUFDdkIseUJBQXlCO0dBQ3pCO0VBRUQ7SUFDQyw0QkFBNEI7R0FDNUI7RUFFRDs7SUFFQyx5QkFBeUI7R0FDekI7RUFFRDtJQUNDLDJCQUEyQjtHQUMzQjtFQUVEO0lBQ0MsY0FBYztHakQrNEViO0VpRDU0RUY7OztJQUdDLFdBQVc7SUFDWCxVQUFVO0dBQ1Y7RUFFRDs7SUFFQyx3QkFBd0I7R0FDeEI7Q2pENjRFRCIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAkVHlwZXNjYWxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLy9cblxuQG1peGluIHR5cGVzY2FsZSgkc2NhbGUsICRiYXNlLCAkdmFsdWUsICRtZWFzdXJlOlwiXCIpIHtcblx0QGlmICR2YWx1ZSA9PSByZW0ge1xuXHRcdGZvbnQtc2l6ZTogJHNjYWxlICogMXB4O1xuXHRcdGZvbnQtc2l6ZTogY29udGV4dC1jYWxjKCRzY2FsZSwgJGJhc2UsICR2YWx1ZSk7XG5cdH0gQGVsc2UgaWYgJHZhbHVlID09IGVtIHtcblx0XHRmb250LXNpemU6IGNvbnRleHQtY2FsYygkc2NhbGUsICRiYXNlLCAkdmFsdWUpO1xuXHR9IEBlbHNlIHtcblx0XHRmb250LXNpemU6ICRzY2FsZSAqIDFweDtcblx0fVxuXG5cdEBpZiAkbWVhc3VyZSAhPSBcIlwiIHtcblx0XHRAaWYgJHZhbHVlID09IHJlbSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBtZWFzdXJlLW1hcmdpbigkc2NhbGUsICRtZWFzdXJlLCAkdmFsdWU6IHB4KTtcblx0XHRcdG1hcmdpbi1ib3R0b206IG1lYXN1cmUtbWFyZ2luKCRzY2FsZSwgJG1lYXN1cmUsICR2YWx1ZSk7XG5cdFx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gZW0ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogbWVhc3VyZS1tYXJnaW4oJHNjYWxlLCAkbWVhc3VyZSwgJHZhbHVlOiBlbSk7XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBtZWFzdXJlLW1hcmdpbigkc2NhbGUsICRtZWFzdXJlLCAkdmFsdWUpO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vICRIZWFkaW5nc1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R5cGVwbGF0ZS9zdGFydGVyLWtpdC9pc3N1ZXMvMjdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuLy8gUHJvcHMgdG8gSGFycnkgUm9iZXJ0cyBmb3IgdGhpcyB0cmljay5cbi8vXG4vLyBAbm90ZXNcbi8vIG9wdGltaXplTGVnaWJpbGl0eSAgICAgICAgICAgRW5hYmxlcyBsaWdhdHVyZXMgYW5kIGtlcm5pbmdcbi8vIHNpbmdsZSBsaW5lIGhlaWdodCAgICAgICAgICAgRml4ZXMgbGFyZ2Ugc3BhY2VzIHdoZW4gYSBoZWFkaW5nIHdyYXBzIHR3byBsaW5lc1xuXG4laE4ge1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHRsaW5lLWhlaWdodDogMTtcblx0bWFyZ2luLXRvcDogMDtcbn1cblxuQG1peGluIGhlYWRpbmdzKCkge1xuXHRAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNjYWxlIHtcblx0XHQuI3skbmFtZX0ge1xuXHRcdFx0QGV4dGVuZCAlaE47XG5cdFx0XHRAaW5jbHVkZSB0eXBlc2NhbGUoXG5cdFx0XHRcdCRzaXplLFxuXHRcdFx0XHQkZm9udC1iYXNlLFxuXHRcdFx0XHQkdHlwZXNjYWxlLXVuaXQsXG5cdFx0XHRcdCRtZWFzdXJlXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gaGVhZGluZ3Mtc3R5bGUoKSB7XG5cdEBlYWNoICRoLCAkc2l6ZSBpbiAkaGVhZGluZ3Mge1xuXHRcdCN7JGh9IHtcblx0XHRcdEBleHRlbmQgLiN7JHNpemV9O1xuXHRcdH1cblx0fVxufVxuXG5cbi8vICRIeXBlbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuLy8gQG5vdGVzXG4vLyBodHRwOi8vY2FuaXVzZS5jb20vI3NlYXJjaD1oeXBoZW5zXG4vLyBodHRwOi8vdHJlbnR3YWx0b24uY29tLzIwMTEvMDkvMDcvY3NzLWh5cGhlbmF0aW9uXG4vL1xuLy8gQHZhbHVlcyAgICAgICAgICAgICAgWyBub25lIHwgbWFudWFsIHwgYXV0byBdXG5cbkBtaXhpbiBoeXBoZW5zKCR2YWwpIHtcblx0QGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuXHRcdCN7JHByZWZpeH1oeXBoZW5zOiAkdmFsO1xuXHR9XG59XG5cblxuLy8gJENvZGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuXG5AbWl4aW4gd2hpdGUtc3BhY2UoJHdyYXAtc3BhY2UpIHtcblx0QGlmICR3cmFwLXNwYWNlID09ICdwcmUtd3JhcCcge1xuXHRcdHdoaXRlLXNwYWNlOiAjey1tb3otfSR3cmFwLXNwYWNlO1xuXHRcdHdoaXRlLXNwYWNlOiAkd3JhcC1zcGFjZTtcblx0fSBAZWxzZSB7XG5cdFx0d2hpdGUtc3BhY2U6ICR3cmFwLXNwYWNlO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTm9ybWFsaXplLnNjc3Mgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEluY2x1ZGVzIGxlZ2FjeSBicm93c2VyIHN1cHBvcnQgSUU2LzdcbiAqXG4gKiBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gZHJvcCBzdXBwb3J0IGZvciBJRTYgYW5kIElFN1xuICovXG5cbiRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0OiBmYWxzZSAhZGVmYXVsdDtcblxuLyogQmFzZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqIDMuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICBgZW1gIHVuaXRzLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZm9udC1zaXplOiAxMDAlOyAvKiAzICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICB9XG59XG5cbi8qKlxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gKi9cblxuYSB7XG4gICY6YWN0aXZlLCAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9O1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBtYXJnaW46IDAuODNlbSAwO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xN2VtO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luOiAxLjMzZW0gMDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDAuODNlbTtcbiAgICBtYXJnaW46IDEuNjdlbSAwO1xuICB9XG5cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC42N2VtO1xuICAgIG1hcmdpbjogMi4zM2VtIDA7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBwLFxuICBwcmUge1xuICAgICptYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIENTUyBxdW90ZXMgbm90IHN1cHBvcnRlZCBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIHEge1xuICAgICpxdW90ZXM6IG5vbmU7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cbiAgICovXG5cbiAgcTpiZWZvcmUsXG4gIHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIExpc3RzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLypcbiAgICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICovXG5cbiAgZGwsXG4gIG1lbnUsXG4gIG9sLFxuICB1bCB7XG4gICAgKm1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBkZCB7XG4gICAgKm1hcmdpbjogMCAwIDAgNDBweDtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBtZW51LFxuICBvbCxcbiAgdWwge1xuICAgICpwYWRkaW5nOiAwIDAgMCA0MHB4O1xuICB9XG5cbiAgLypcbiAgICogQ29ycmVjdHMgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICAgKi9cblxuICBuYXYgdWwsXG4gIG5hdiBvbCB7XG4gICAgKmxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgKmxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIH1cblxufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xuICB9XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICB9XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xuICB9XG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogMy4gQ29ycmVjdHMgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogNC4gQ29ycmVjdHMgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAzICovXG4gICAgKm1hcmdpbi1sZWZ0OiAtN3B4OyAvKiA0ICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn0iLCIudGVyYSwgLmdpZ2EsIC5tZWdhLCBoMSwgLmFscGhhLCBoMiwgLmJldGEsIGgzLCAuZ2FtbWEsIGg0LCAuZGVsdGEsIGg1LCAuZXBzaWxvbiwgLnpldGEsIGg2IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xuICpcbiAqIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byBkcm9wIHN1cHBvcnQgZm9yIElFNiBhbmQgSUU3XG4gKi9cbi8qIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogIGBlbWAgdW5pdHMuXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgNi83LzgvOSBhbmQgRmlyZWZveCAzLlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICovXG5hOmFjdGl2ZSwgYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqIDIuIEltcHJvdmVzIGltYWdlIHF1YWxpdHkgd2hlbiBzY2FsZWQgaW4gSUUgNy5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqIDQuIEltcHJvdmVzIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICogIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDMuIENvcnJlY3RzIHRleHQgbm90IHdyYXBwaW5nIGluIEZpcmVmb3ggMy5cbiAqIDQuIENvcnJlY3RzIGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiAjMjIyO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGOEVFNTk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogI0Y4RUU1OTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDI1NSwgMjUxLCAyNTEsIDAuNzYpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmF1ZGlvLFxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmh0bWwsXG5pbnB1dCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiAjRjJGN0U2O1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI0YyRjdFNiB1cmwoXCIuLi9pbWcvZnVsbC1iYWNrLnBuZ1wiKSAtMTAwJSAwIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE1MHB4O1xuICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0FBQUFBQTtcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNBQUFBQUE7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0FBQUFBQTtcbn1cblxuaW1nLFxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5zdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogMC4yNzVzIGFsbCBlYXNlLWluLW91dDtcbiAgY29sb3I6ICM5ZmNhNWU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpmb2N1cywgYTpob3ZlciwgYTphY3RpdmUge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2RpbndlYi1ib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9kaW53ZWItYm9sZC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9kaW53ZWItYm9sZC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5ib2R5IHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBmb250OiBub3JtYWwgMTAwJS8xLjUgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZhbWlseTogJ2RpbndlYi1ib2xkJztcbn1cblxuLnRlcmEge1xuICBmb250LXNpemU6IDcuMzEyNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbi5naWdhIHtcbiAgZm9udC1zaXplOiA1LjYyNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbi5tZWdhLCBoMSB7XG4gIGZvbnQtc2l6ZTogNC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuLmFscGhhLCBoMiB7XG4gIGZvbnQtc2l6ZTogMy43NWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbi5iZXRhLCBoMyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbi5nYW1tYSwgaDQge1xuICBmb250LXNpemU6IDIuMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42NjY2N2VtO1xufVxuXG4uZGVsdGEsIGg1IHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42NjY2N2VtO1xufVxuXG4uZXBzaWxvbiB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuLnpldGEsIGg2IHtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbmlucHV0LFxuYWJicixcbmFjcm9ueW0sXG5ibG9ja3F1b3RlLFxuY29kZSxcbmtiZCxcbnEsXG5zYW1wLFxudmFyIHtcbiAgaHlwaGVuczogbm9uZTtcbn1cblxucHJlIGNvZGUge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IC1tb3otcHJlLXdyYXA7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxucHJlLFxuY29kZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG59XG5cbmNvZGUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTgwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbi5zcGFjZWJldHdlZW4ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZmxleGVuZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmZvcm0tZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZm9ybS1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mb3JtLWdyb3VwIC5mb3JtLWdyb3VwX19pbnB1dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5pbnB1dGFkZG9uLWZpZWxkIHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDI7XG59XG5cbi5pbnB1dGFkZG9uLWl0ZW0ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG9yZGVyOiAxO1xuICBwYWRkaW5nOiBjYWxjKCgxMCAvIDE2KSAqIDFyZW0pO1xufVxuXG4uaW5wdXRhZGRvbi1idG4ge1xuICBvcmRlcjogMztcbn1cblxuLmlucHV0YWRkb24tZmllbGQtLXJldmVyc2Uge1xuICBvcmRlcjogMjtcbn1cblxuLmlucHV0YWRkb24taXRlbS0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAzO1xufVxuXG4uaW5wdXRhZGRvbi1idG4tLXJldmVyc2Uge1xuICBvcmRlcjogMTtcbn1cblxuLmZvcm0tZ3JvdXAtLWlubGluZS1idG4ge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm0tZ3JvdXBfX2lucHV0LS1pbmxpbmUtYnRuIHtcbiAgZmxleDogMSAxIGF1dG87XG59XG5cbi5mb3JtLWdyb3VwX19idG4tLWlubGluZSB7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cF9fYnV0dG9uLS1pbmxpbmUtYnRuIHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mb3JtLWdyb3VwX19idG4tLWlubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCgyMCAvIDE2KSAqIDFyZW0pO1xufVxuXG4uZm9ybS1ncm91cF9fZXJyb3Jtc2cge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLmhhcy1lcnJvcnMtZm9ybS1ncm91cCB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mb3JtLWdyb3VwX19lcnJvcm1zZy0tY2lubmFiYXIge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJvdyB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm93Lm5vLWdyaWQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5yb3cubm8tZ3JpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLmdyaWQge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmdyaWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLmdyaWQuZnVsbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZ3JpZC5oYWxmIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5ncmlkLmhhbGYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLmdyaWQub25lLXRoaXJkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5ncmlkLm9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxufVxuXG4uZ3JpZC50d28tdGhpcmRzIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5ncmlkLnR3by10aGlyZHMge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbn1cblxuLmdyaWQub25lLXF1YXJ0ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmdyaWQub25lLXF1YXJ0ZXIge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLmdyaWQudGhyZWUtcXVhcnRlcnMge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmdyaWQudGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cblxuLm1lZGlhLW9iaiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLm1lZGlhLW9iai0tdmNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5tZWRpYS1vYmotLXJldmVyc2UgLm1lZGlhLW9ial9fZmlnIHtcbiAgb3JkZXI6IDI7XG59XG5cbi5tZWRpYS1vYmotLXJldmVyc2UgLm1lZGlhLW9ial9fYm9keSB7XG4gIG9yZGVyOiAxO1xufVxuXG4ubWVkaWEtb2JqLS1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1lZGlhLW9iai0taGNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWVkaWEtb2JqLS1jYXB0aW9uIHtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLm1lZGlhLW9ial9fYm9keSB7XG4gIGZsZXg6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkgPiAuc3RyaXBlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zdHJpcGUtLWZ1bGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zdHJpcGUtLXBsdW1iIHtcbiAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICBiYWNrZ3JvdW5kOiAjOTNDNDRCO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5zdGlja3ktYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbn1cblxuLnN0aWNreS1yb3cge1xuICBkaXNwbGF5OiAtbW96LWJveDtcbn1cblxuLnN0aWNreS1oZWFkZXIge1xuICBmbGV4OiBub25lO1xufVxuXG4uc3RpY2t5LWNvbnRlbnQge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uc3RpY2t5LWZvb3RlciB7XG4gIGZsZXg6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5hdmF0YXIge1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA3MHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjOTNDNDRCO1xufVxuXG4ud2lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ud2lubmVyOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA4MCU7XG4gIGNvbnRlbnQ6ICd3aW5uZXInO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDgwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xODc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogNHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDkwJTtcbiAgei1pbmRleDogMTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICM5M0M0NEIgNDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hdmF0YXItLW1lZCB7XG4gIHdpZHRoOiAxMDhweDtcbiAgaGVpZ2h0OiAxMDhweDtcbn1cblxuLmF2YXRhci0tcm91bmQge1xuICBib3JkZXItcmFkaXVzOiA4MCU7XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYnRuOmhvdmVyLCAuYnRuOmZvY3VzIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYnRuLS1yYWQ0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzkzQzQ0QjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYnRuLS1wcmltYXJ5OmhvdmVyLCAuYnRuLS1wcmltYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI0Y4RUU1OTtcbn1cblxuLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5idG4tLXNlY29uZGFyeTpob3ZlciwgLmJ0bi0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI0Y4RUU1OTtcbiAgYm9yZGVyOiAycHggc29saWQgI0Y4RUU1OTtcbn1cblxuLmNhcmQge1xuICBwYWRkaW5nOiAwLjI1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI1O1xufVxuXG4uY2FyZC1zaW5nbGUge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNhcmQtc2luZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uY2FyZC1zaW5nbGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jYXJkLXNpbmdsZTpob3ZlciAqIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhFRTU5O1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY2FyZC1zaW5nbGUgPiBkaXYge1xuICAgIGZsZXg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmZsZXhib3h0d2VlbmVyIC5jYXJkLXNpbmdsZSA+IGRpdiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNhcmQtc2luZ2xlID4gKiB+ICoge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogOC43NWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNFQkVCRUI7XG4gIH1cbn1cblxuLmNhcmQtLXJlcGx5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6ICNFQkVCRUI7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5jYXJkLS1yZXBseTo6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCAjOTNDNDRCO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5jYXJkLS1nYWxsZXJ5IHtcbiAgYmFja2dyb3VuZDogI0VCRUJFQjtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uY2FyZC0tZ2FsbGVyeS5ob3Zlci1yb3NlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZC0tcGx1bWIge1xuICBiYWNrZ3JvdW5kOiAjOTNDNDRCO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jYXJkLS1nb2xkIHtcbiAgYmFja2dyb3VuZDogI0Y4RUU1OTtcbn1cblxuLmNhcmQtLXJvc2UsIC5jYXJkLS1nYWxsZXJ5LmhvdmVyLXJvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjOTNDNDRCO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jYXJkLS1jYXJ1bGVhbiB7XG4gIGJhY2tncm91bmQ6ICNFQzcwMTY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmNvbW1lbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmNvbW1lbnRzIC5jYXJkIHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG59XG5cbi5jb21tZW50IC5tZWRpYS1vYmpfX2JvZHkgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNvbW1lbnQgLm1lZGlhLW9ial9fYm9keSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmNvbW1lbnQgLm1lZGlhLW9ial9fYm9keSBhOmhvdmVyLCAuY29tbWVudCAubWVkaWEtb2JqX19ib2R5IGE6Zm9jdXMge1xuICBjb2xvcjogI0Y4RUU1OTtcbn1cblxuLmNvbW1lbnQgKyAuY29tbWVudCB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5jb21tZW50cyAuY29tbWVudCAuY2FyZCAubWVkaWEtb2JqX19maWcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xufVxuXG4uY29tbWVudHMgLmNvbW1lbnQgLmNhcmQgLm1lZGlhLW9ial9fZmlnIGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbn1cblxuLmNvbW1lbnQtbGV2ZWwxIC5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmNvbW1lbnQtbGV2ZWwxIC5jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDdyZW07XG4gICAgYmFja2dyb3VuZDogI0VCRUJFQjtcbiAgfVxufVxuXG4uY29tbWVudC1sZXZlbDIgLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAjRUJFQkVCO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudC1sZXZlbDIgLmNhcmQge1xuICAgIHBhZGRpbmctbGVmdDogMTEuODEyNXJlbTtcbiAgfVxufVxuXG4uY29tbWVudC1sZXZlbDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudC1sZXZlbDIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLmNvbW1lbnQtbGV2ZWwyOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudC1sZXZlbDI6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogaW5pdGlhbDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudC1sZXZlbDIge1xuICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gIH1cbn1cblxuLmNvbW1lbnRzLWxldmVsMSxcbi5jb21tZW50cy1sZXZlbDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50cy1sZXZlbDE6OmJlZm9yZSxcbiAgLmNvbW1lbnRzLWxldmVsMjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0NywgMTk2LCA3NSwgMC41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTVweDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG4uY29tbWVudHMtbGV2ZWwxIHtcbiAgYm9yZGVyOiAxLjI1cmVtIHNvbGlkICNFQkVCRUI7XG4gIGJhY2tncm91bmQ6ICNkNmQ2ZDY7XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50cy1sZXZlbDEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogaW5oZXJpdDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudHMtbGV2ZWwxOjpiZWZvcmUge1xuICAgIGxlZnQ6IDMuNzVyZW07XG4gIH1cbn1cblxuLmNvbW1lbnRzLWxldmVsMiB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmNvbW1lbnRzLWxldmVsMjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA4Ljc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LWNoaWxkMi5jb21tZW50LWxldmVsMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNnB4O1xuICAgIGxlZnQ6IDEzLjVyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0NywgMTk2LCA3NSwgMC41KTtcbiAgfVxufVxuXG4udXNlci1jb21tZW50c19fcmVzcG9uc2UgLmNhcmQge1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbn1cblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbn1cblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4udXNlci1jb21tZW50c19fcmVzcG9uc2UgLmNhcmQgLm1lZGlhLW9ial9fYm9keSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jb21tZW50IHA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cblxuLmNvdW50ZXIge1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBwYWRkaW5nOiAwLjEyNWVtIDAuMzc1ZW07XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uY3VycmljdWx1bS12aXRhZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9faGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjA0LCAyMDQsIDIwNCwgMC42NCk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDI1NSwgMjUxLCAyNTEsIDAuNzYpO1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQ6IHdoaXRlc21va2U7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9faGVhZGVyIGltZ1tjbGFzcyo9XCJhdmF0YXJcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWVfX2JvZHkge1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19xdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjRjJGN0U2O1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9fYm9keSBpbWcge1xuICBib3JkZXI6IDAuMzEyNWVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWUgbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWVfX2RhdGEgPiBsaTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5oaWRlIHtcbiAgaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY3VycmljdWx1bS12aXRhZSAuaGlkZTp0YXJnZXQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5yZWFkLW1vcmU6aG92ZXIsIC5jdXJyaWN1bHVtLXZpdGFlIC5yZWFkLW1vcmU6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5zaG9ydGxpbmtzIHtcbiAgcGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmN2IC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLmN2IC5jYXJkIGxpIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uY3YgLmNhcmQgbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIGZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSAuZ3JpZC50aHJlZS1xdWFydGVycyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MHB4KTtcbiAgfVxufVxuXG5mb290ZXJbcm9sZT1cImNvbnRlbnRpbmZvXCJdIG5hdiB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogLjVlbTtcbiAgY29sb3I6ICM5M0M0NEI7XG59XG5cbmZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0gbmF2IGE6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cblxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYgYTpob3ZlciwgZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzkzQzQ0Qjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0ge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW0gMC4yNWVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdID4gLmNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogIzkzQzQ0QjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSA+IC5jb250YWluZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuY29udGFpbmVyLmZsZXgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmNvbnRhaW5lciA+IC5mbGV4ZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5jb250YWluZXIgPiAuZmxleGVuZCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBbY2xhc3MqPVwiaWNvbi1hc2tcIl0sXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBbY2xhc3MqPVwiaWNvbi1jaGF0XCJdLFxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gW2NsYXNzKj1cImljb24tdm90ZVwiXSB7XG4gIG1hcmdpbjogMDtcbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmJ0bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICB3aWR0aDogNTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ0NHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVgoLTcwcHgpIHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgfVxufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBmb3JtW3JvbGU9XCJzZWFyY2hcIl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSBmb3JtW3JvbGU9XCJzZWFyY2hcIl0ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBmb3JtW3JvbGU9XCJzZWFyY2hcIl0gLmljb24ge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSArIFtjbGFzcyo9XCJidG5cIl0ge1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE3OS45cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLnJlcG9ydC1jYXJkIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMC4yNWVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAucmVwb3J0LWNhcmQge1xuICAgIGZsZXg6IDMgMSAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNzkuOXB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5yZXBvcnRfX3RpdGxlIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSBhW2hyZWY9XCIvXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNzkuOXB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tLXNlY29uZGFyeSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmJ0bi0tc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBtYXgtd2lkdGg6IDEyLjVlbTtcbiAgICBwYWRkaW5nOiAwLjM1NzE0cmVtO1xuICB9XG59XG5cbltjbGFzcyo9XCJpY29uLWFza1wiXSxcbltjbGFzcyo9XCJpY29uLWNoYXRcIl0sXG5bY2xhc3MqPVwiaWNvbi12b3RlXCJdIHtcbiAgd2lkdGg6IDE0NXB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIG1hcmdpbjogMC42MjVyZW07XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zcHJpdGUtcmFzdGVyLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLmljb24tYXNrLXllbGxvdyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwMXB4O1xufVxuXG4uaWNvbi1hc2steWVsbG93OmhvdmVyLCAuaWNvbi1hc2steWVsbG93OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xufVxuXG4uaWNvbi1jaGF0LXBpbmsge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yNTZweDtcbn1cblxuLmljb24tY2hhdC1waW5rOmhvdmVyLCAuaWNvbi1jaGF0LXBpbms6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNTVweDtcbn1cblxuLmljb24tdm90ZS1ibHVlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNDExcHg7XG59XG5cbi5pY29uLXZvdGUtYmx1ZTpob3ZlciwgLmljb24tdm90ZS1ibHVlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzEwcHg7XG59XG5cbi5pY29uLWFzay15ZWxsb3ctcGlsbCB7XG4gIHdpZHRoOiAxMjZweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01NHB4O1xufVxuXG4uaWNvbi1jaGF0LXBpbmstcGlsbCB7XG4gIHdpZHRoOiAxMjZweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDlweDtcbn1cblxuLmljb24tdm90ZS1ibHVlLXBpbGwge1xuICB3aWR0aDogMTI2cHg7XG4gIGhlaWdodDogNDdweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzY0cHg7XG59XG5cbi5pY29uIHtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogODAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHN1YjtcbiAgZmlsbDogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICM5M0M0NEI7XG59XG5cbi5kcm9wZG93bi1pY29uIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgdmVydGljYWwtYWxpZ246IHN1Yjtcbn1cblxuLmljb24taGVhcnQge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNzUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmljb24taGVhcnQ6OmJlZm9yZSwgLmljb24taGVhcnQ6OmFmdGVyIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uaWNvbi1oZWFydDo6YmVmb3JlIHtcbiAgdG9wOiAtMTVweDtcbiAgbGVmdDogMDtcbn1cblxuLmljb24taGVhcnQ6OmFmdGVyIHtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAwO1xufVxuXG4uaWNvbi1oZWFydDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmljb24taGVhcnQgc3BhbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzM5MDA1MDtcbn1cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCxcbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQ6OmJlZm9yZSxcbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmN2U3ZTtcbn1cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coLTFweCAxcHggMnB4IHJnYmEoMjAwLCAwLCAwLCAwLjkpKTtcbn1cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICM0ODI4Mjg7XG59XG5cbi5pY29uLWhlYXJ0LS1yb3NlOjpiZWZvcmUsIC5pY29uLWhlYXJ0LS1yb3NlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGOEVFNTk7XG59XG5cbi5pY29uLWhlYXJ0LS1wbHVtYiB7XG4gIGJhY2tncm91bmQ6ICM5M0M0NEI7XG59XG5cbi5pY29uLWhlYXJ0LS1wbHVtYjo6YmVmb3JlLCAuaWNvbi1oZWFydC0tcGx1bWI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzkzQzQ0Qjtcbn1cblxuLmljb24taGVhcnQtLXBsdW1iIHNwYW4ge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0gKyBbY2xhc3MqPVwiYnRuXCJdIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6ICM5M0M0NEI7XG59XG5cbmlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNFQkVCRUI7XG59XG5cbmlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSk6Zm9jdXMsXG5zZWxlY3Q6aG92ZXIsXG5zZWxlY3Q6Zm9jdXMsXG50ZXh0YXJlYTpob3ZlcixcbnRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveCAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IGNoZWNrYm94ICFpbXBvcnRhbnQ7XG4gIGFwcGVhcmFuY2U6IGNoZWNrYm94ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOnJlcXVpcmVkIHtcbiAgYm9yZGVyOiAycHggc29saWQgI0RENUUwMDtcbn1cblxuc2VsZWN0IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI0FBQUFBQTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9Qanh6ZG1jZ2FHVnBaMmgwUFNJME9DSWdkbWxsZDBKdmVEMGlNQ0F3SURRNElEUTRJaUIzYVdSMGFEMGlORGdpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEhCaGRHZ2daRDBpVFRFMExqZ3pJREUyTGpReWJEa3VNVGNnT1M0eE55QTVMakUzTFRrdU1UY2dNaTQ0TXlBeUxqZ3pMVEV5SURFeUxURXlMVEV5ZWlJdlBqeHdZWFJvSUdROUlrMHdMUzQzTldnME9IWTBPR2d0TkRoNklpQm1hV3hzUFNKdWIyNWxJaTgrUEM5emRtYyspO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuMiUgdG9wIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG4ubG9naW4gaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbi5sb2dpbiB0ZXh0YXJlYSxcbi5sb2dpbiBzZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubG9naW4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIHBhZGRpbmc6IDAuODMzMzNyZW07XG59XG5cbi5sb2dpbiAuaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5uYXYtZHJvcGRvd24sIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDcsIDE5NiwgNzUsIDAuOSk7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2LWRyb3Bkb3duLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogIzkzQzQ0QjtcbiAgfVxufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0LCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2LWRyb3Bkb3duX19saXN0LCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgbGksIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2LWRyb3Bkb3duX19saXN0IGxpLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0ID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyID4gdWwgPiBsaTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVlbTtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuYnV0dG9uLWRyb3Bkb3duLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmJ1dHRvbi1kcm9wZG93bjpob3ZlciA+IHVsLFxuLm5hdi1kcm9wZG93bl9fbGlzdCAuYnV0dG9uLWRyb3Bkb3duOmZvY3VzID4gdWwsXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGk6aG92ZXIgdWwsXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGk6Zm9jdXMgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBhLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjYyNWVtIDAuOTM3NWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtZHJvcGRvd25fX2xpc3QgYSwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGEge1xuICAgIHBhZGRpbmc6IDAuNjI1ZW0gMC45Mzc1ZW07XG4gIH1cbn1cblxuLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgYSB7XG4gIGJhY2tncm91bmQ6ICM5M0M0NEI7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgYTpob3Zlcixcbi5uYXYtZHJvcGRvd25fX2xpc3QgYTpmb2N1cyxcbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciBhOmhvdmVyLFxuLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhFRTU5O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLWljb24ge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBmaWxsOiB3aGl0ZTtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBhLmRyb3Bkb3duLXRvZ2dsZS5hY3RpdmUgLmRyb3Bkb3duLWljb24ge1xuICBmaWxsOiB3aGl0ZTtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDcsIDE5NiwgNzUsIDAuNik7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxNTAlO1xuICAgIHotaW5kZXg6IDUwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICM5M0M0NEI7XG4gIH1cbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSBsaSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgbGkge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLW1lbnUgYSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLm5hdi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5uYXZbcm9sZT1cIm5hdmlnYXRpb25cIl0ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICBuYXZbcm9sZT1cIm5hdmlnYXRpb25cIl0ge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubmV3cy1yZXBvcnQ6aG92ZXIsIC5uZXdzLXJlcG9ydDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI0Y4RUU1OTtcbiAgfVxufVxuXG4ubmV3cy1yZXBvcnQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5uZXdzLXJlcG9ydDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubmV3cy1yZXBvcnQgPiAqOmhvdmVyLCAubmV3cy1yZXBvcnQgPiAqOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjhFRTU5O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubmV3cy1yZXBvcnQgPiAqOmhvdmVyIH4gKiB7XG4gICAgYmFja2dyb3VuZDogI0Y4RUU1OTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLnByb2ZpbGVzIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5wcm9maWxlcyAuY2FyZCB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cbi5wcm9maWxlcyBsaSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLnByb2ZpbGVzIC5tZWRpYS1vYmpfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5wcm9maWxlcyAud2lubmVyOjpiZWZvcmUge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4ucHJvZmlsZXMgLmF2YXRhciB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICM5M0M0NEI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNzkuOXB4KSB7XG4gIC5yZXBvcnQge1xuICAgIHBhZGRpbmc6IDEuNWVtIDFlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNjUpO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICAucmVwb3J0IHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnJlcG9ydC1jYXJkIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgbWluLWhlaWdodDogOTBweDtcbn1cblxuLnJlcG9ydF9fZGF0YSBhOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVwb3J0X19kYXRhIGE6aG92ZXIgLmF2YXRhciB7XG4gIGJvcmRlci1jb2xvcjogI0Y4RUU1OTtcbn1cblxuLnJlcG9ydF9fZGF0YSBhOmhvdmVyIC5tZWRpYS1vYmpfX2JvZHkge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5yZXBvcnRfX3RpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucmVwb3J0X19kYXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucmVwb3J0X19kYXRhIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLnJlcG9ydF9fZGF0YSAubWVkaWEtb2JqIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucmVwb3J0X19kYXRhID4gYSB7XG4gIGZsZXg6IDMzLjMzMzMzMyU7XG4gIHBhZGRpbmc6IDAgMC4yNWVtO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIC5yZXBvcnRfX2RhdGEgPiBhIHtcbiAgICBmbGV4OiA3MHB4O1xuICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gIH1cbn1cblxuLnJlcG9ydF9fZGF0YSAubWVkaWEtb2JqX19ib2R5IHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZWFyY2gtcmVzdWx0c19faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NpdGUge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uc3BlZWNoLWJ1YmJsZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5zcGVlY2gtYnViYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogM3JlbTtcbiAgYm90dG9tOiAtMjVweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2tldygtMjVkZWcpIHRyYW5zbGF0ZVkoMTYuNjY2NjdweCk7XG59XG5cbi5zcGVlY2gtYnViYmxlIHAge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zcGVlY2gtYnViYmxlIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5zcGVlY2gtYnViYmxlIC5tZWRpYS1vYmpfX2ZpZyBzdmc6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbn1cblxuLnNwZWVjaC1idWJibGUgLm1lZGlhLW9ial9fYm9keSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5zcGVlY2gtYnViYmxlIGNpdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEuODc1cmVtO1xuICBsZWZ0OiA0cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICB3b3JkLXdyYXA6IGJyZWFrLWFsbDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uc3BlZWNoLWJ1YmJsZSBjaXRlIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM5M0M0NEI7XG59XG5cbi5zcGVlY2gtYnViYmxlIGNpdGUgYTpob3ZlciwgLnNwZWVjaC1idWJibGUgY2l0ZSBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLnNwZWVjaC1idWJibGUtLXJvc2UgYSwgLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXIgYSB7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5IHtcbiAgYmFja2dyb3VuZDogI0VCRUJFQjtcbn1cblxuLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6OmJlZm9yZSB7XG4gIGJvcmRlcjogMTIuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMi41cHggc29saWQgI0VCRUJFQjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjVweDtcbn1cblxuLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5OmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRjhFRTU5O1xufVxuXG4uc3BlZWNoLWJ1YmJsZS0tcm9zZSwgLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRjhFRTU5O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1yb3NlOjpiZWZvcmUsIC5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5OmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXI6IDEyLjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMTIuNXB4IHNvbGlkICNGOEVFNTk7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci10b3Atd2lkdGg6IDI1cHg7XG59XG5cbi50ZWFjaGVyLXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi50ZWFjaGVyLXN0YXR1cyAuYXZhdGFyIHtcbiAgYm9yZGVyOiAwLjIwODMzZW0gc29saWQgIzkzQzQ0Qjtcbn1cblxuLnRlYWNoZXItc3RhdHVzIC5tZWRpYS1vYmpfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhY2hlci1zdGF0dXMgLnN0YXR1cyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDAsIDI1NSwgMjU1LCAwLjU3KTtcbn1cblxuLnRlYWNoZXItc3RhdHVzIC53aW5uZXI6OmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjgzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4udGl0bGUgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4udGl0bGUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udGl0bGUgYTpob3ZlciwgLnRpdGxlIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIC5ncmlkLnR3by10aGlyZHMgPiAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgfVxufVxuXG4uZ3JpZC5vbmUtdGhpcmQgaHIge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzhFNkY5QztcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbi5ncmlkLm9uZS10aGlyZCA+IC5yb3cgKyAucm93IHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzQwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjhweCkge1xuICAuZ3JpZC5vbmUtdGhpcmQgLmNhcmQubWVkaWEtb2JqIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gIC5ncmlkLm9uZS10aGlyZCAuY2FyZC5tZWRpYS1vYmoge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLmdyaWQub25lLXRoaXJkIC5zcGVlY2gtYnViYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgcGFkZGluZzogMC4xMjVlbSAxLjI1ZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5ncmlkLm9uZS10aGlyZCAuc3BlZWNoLWJ1YmJsZSB7XG4gICAgbWluLWhlaWdodDogMTIuNWVtO1xuICAgIG1heC1oZWlnaHQ6IDEyLjVlbTtcbiAgfVxufVxuXG4uZmxleGJveHR3ZWVuZXIgLmdyaWQub25lLXRoaXJkIC5zcGVlY2gtYnViYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ZW1wbGF0ZS1wcmltYXJ5IG1haW4gPiAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMC44MzMzM3JlbTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICAudGVtcGxhdGUtcHJpbWFyeSBtYWluID4gLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMS4yNXJlbSA3LjVyZW07XG4gIH1cbn1cblxuaHRtbC5pcy11bnNjcm9sbGFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubmF2LWRyb3Bkb3duLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IC5kcm9wZG93bi1tZW51LmFjdGl2ZSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBhLmRyb3Bkb3duLXRvZ2dsZS5hY3RpdmUsIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsIGE6aG92ZXIge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhFRTU5O1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi50aW55bmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRpbnluYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zZWxlY3QtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5saXN0LXJlc2V0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmxpc3QtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmxpc3QtaW5saW5lIGxpOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xufVxuXG4ubGlzdC1pbmxpbmUgbGk6bm90KDpsYXN0LW9mLXR5cGUpICo6OmFmdGVyIHtcbiAgY29udGVudDogJywnO1xufVxuXG4uZml0LXNwYWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4uYWxpZ25jZW50ZXIsXG5kaXYuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbmEgaW1nLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDtcbiAgbWF4LXdpZHRoOiA5NiU7XG4gIC8qIEltYWdlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEgKi9cbiAgcGFkZGluZzogNXB4IDNweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4ud3AtY2FwdGlvbiBpbWcge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogOTguNSU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG5pbWdbY2xhc3MqPVwiYWxpZ25cIl0sXG5pbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbixcbi53cC1jYXB0aW9uIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nLnNpemUtZnVsbCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5uby1wYWRsciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm1hdGVyaWFsLXNoYWRvdywgLmN1cnJpY3VsdW0tdml0YWVfX2JvZHkgaW1nLCAucmVwb3J0LCAudGVhY2hlci1zdGF0dXMgLnN0YXR1cyB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbn1cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIsIC5yb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gICAgQmFzZSBzdHlsZXM6IG9waW5pb25hdGVkIGRlZmF1bHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSFRNTDUgQm9pbGVycGxhdGVcbi8vXG4vLyBXaGF0IGZvbGxvd3MgaXMgdGhlIHJlc3VsdCBvZiBtdWNoIHJlc2VhcmNoIG9uIGNyb3NzLWJyb3dzZXIgc3R5bGluZy5cbi8vIENyZWRpdCBsZWZ0IGlubGluZSBhbmQgYmlnIHRoYW5rcyB0byBOaWNvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCxcbi8vIEtyb2MgQ2FtZW4sIGFuZCB0aGUgSDVCUCBkZXYgY29tbXVuaXR5IGFuZCB0ZWFtLlxuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Y29sb3I6ICMyMjI7XG59XG5cbi8vIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OiBoNWJwLmNvbS9pXG4vLyBUaGVzZSBzZWxlY3Rpb24gcnVsZSBzZXRzIGhhdmUgdG8gYmUgc2VwYXJhdGUuXG4vLyBDdXN0b21pemUgdGhlIGJhY2tncm91bmQgY29sb3IgdG8gbWF0Y2ggeW91ciBkZXNpZ24uXG46Oi1tb3otc2VsZWN0aW9uIHtcblx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdGJhY2tncm91bmQ6ICRzZWxlY3Rpb24taGlnaGxpZ2h0LWNvbG9yO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cbjo6c2VsZWN0aW9uIHtcblx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdGJhY2tncm91bmQ6ICRzZWxlY3Rpb24taGlnaGxpZ2h0LWNvbG9yO1xuXHRjb2xvcjogd2hpdGU7XG59XG5cblxuLy8gQSBiZXR0ZXIgbG9va2luZyBkZWZhdWx0IGhvcml6b250YWwgcnVsZVxuaHIge1xuXHRib3JkZXI6IDA7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgyNTUsIDI1MSwgMjUxLCAwLjc2KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMXB4O1xuXHRtYXJnaW46IDFlbSAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5cbi8vIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gaW1hZ2VzLCB2aWRlb3MsIGF1ZGlvIGFuZCBjYW52YXMgYW5kIHRoZSBib3R0b20gb2Zcbi8vIHRoZWlyIGNvbnRhaW5lcnM6IGg1YnAuY29tL2kvNDQwXG5hdWRpbyxcbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vLyBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuXG5maWVsZHNldCB7XG5cdGJvcmRlcjogMDtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5cbi8vIEFsbG93IG9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dGFyZWFzLlxudGV4dGFyZWEge1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gJEN1c3RvbSBCYXNlIFN0eWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmh0bWwsXG5pbnB1dCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuXHRib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5odG1sLFxuYm9keSB7XG5cdGhlaWdodDogMTAwJTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6ICRiYW5uZXItYmc7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRiYW5uZXItYmcgaW1nLXVybCgkYmctaW1hZ2UpIC0xMDAlIDAgJGJnLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkYmctbGVmdC1wb3MgJGJnLXRvcC1wb3M7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbn1cblxuQGluY2x1ZGUgcGxhY2Vob2xkZXItc3R5bGVzIHtcblx0Y29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcbn1cblxuaW1nLFxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5zdmcge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuICAmOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG5cbmEge1xuXHR0cmFuc2l0aW9uOiAwLjI3NXMgYWxsIGVhc2UtaW4tb3V0O1xuXHRjb2xvcjogJGdsb2JhbC1saW5rLWNvbG9yO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyxcblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdC8vIGNvbG9yOiBsaWdodGVuKCRnbG9iYWwtbGluay1jb2xvciwgMzAlKTtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuXHR9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29uZmlnXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBAZXhhbXBsZSA6IGZ1bmN0aW9ucy9faW1nLXVybC5zY3NzXG4vLyBiYWNrZ3JvdW5kOiBpbWctdXJsKCdwaWN0dXJlLmpwZycpIHRvcCBsZWZ0IG5vLXJlcGVhdDtcbiRpbWctZGlyOiBcIi4uL2ltZy9cIiAhZGVmYXVsdDtcblxuLy8gQGV4YW1wbGUgOiBmdW5jdGlvbnMvX2Fzc2V0LWhlbHBlci5zY3NzXG4vLyBCYXNlIHBhdGggZm9yIGFzc2V0cyAoZm9udHMsIGltYWdlcy4uLiksXG4vLyBzaG91bGQgbm90IGluY2x1ZGUgdHJhaWxpbmcgc2xhc2hcbi8vIEBhY2Nlc3MgcHVibGljXG4vLyBAdHlwZSBTdHJpbmdcbiRhc3NldC1iYXNlLXBhdGg6IFwiLi5cIiAhZGVmYXVsdDtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVkaWEgUXVlcnkgTWl4aW5cbi8vIEByZXF1aXJlcyBtaXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtaW46IG1pbi13aWR0aDtcbiRtYXg6IG1heC13aWR0aDtcbiRtYXgtaGVpZ2h0OiBtYXgtaGVpZ2h0O1xuJG1pbi1kZXZpY2U6IG1pbi1kZXZpY2Utd2lkdGg7XG4kbWF4LWRldmljZTogbWF4LWRldmljZS13aWR0aDtcbiR2aWV3cG9ydC1pbmNyZW1lbnQ6IDAuMXB4O1xuXG4kbWF4LXctc206IDQwMHB4O1xuJG1heC1tcTogNzY4cHg7XG4kbWF4LXctbGc6IDExODBweDtcblxuJHNtYWxsOiAzMjBweDtcbiRtZWRpdW06IDc2OXB4O1xuJGxhcmdlOiAxMjAwcHg7XG5cbiRzY3JlZW4tc206IDU0MHB4O1xuJHNjcmVlbi1tZWQ6ICRtZWRpdW07XG4kc2NyZWVuLWxnOiAkbGFyZ2U7XG5cbiRjb21tZW50cy1sZzogODAwcHg7XG5cbiRtYWluLXRleHQtY29sOiBibGFjaztcblxuJHByZS1tYXgtdy1sZzogJG1heC13LWxnIC0gJHZpZXdwb3J0LWluY3JlbWVudDtcbiRwb3N0LW1heC13LWxnOiAkbWF4LXctbGcgKyAkdmlld3BvcnQtaW5jcmVtZW50O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2xvciA6IERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRzYWlsOiAjRjJGN0U2O1xuJG1haW4tY29sb3I6ICM5M0M0NEI7XG4keWVsbG93OiAjRkRGNDAwO1xuJHNlY29uZGFyeS1jb2w6ICNGOEVFNTk7XG4kY2VydWxlYW46ICNFQzcwMTY7XG4kZ2FsbGVyeTogI0VCRUJFQjtcblxuXG4kc2VsZWN0aW9uLWhpZ2hsaWdodC1jb2xvcjogJHNlY29uZGFyeS1jb2wgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6IGxpZ2h0ZW4oJG1haW4tY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1jb2xvcjogI0FBQUFBQSAhZGVmYXVsdDtcblxuJGJnLWltYWdlOiBcImZ1bGwtYmFjay5wbmdcIjtcbiRiZy10b3AtcG9zOiAxNTBweDtcbiRiZy1sZWZ0LXBvczogY2VudGVyO1xuJGJnLXJlcGVhdDogbm8tcmVwZWF0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2xvciA6IENvbXBvbmVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRib2R5LWJnOiAkc2FpbDtcbiRoZWFkZXItYmc6ICRtYWluLWNvbG9yO1xuJGJhbm5lci1iZzogJHNhaWw7XG4kY29udGVudC1iZzogd2hpdGU7XG5cbiRuYXYtZHJvcGRvd24tYmc6ICRtYWluLWNvbG9yO1xuJG5hdi1kcm9wZG93bi1ob3Zlci1iZzogJHNlY29uZGFyeS1jb2w7XG4kbmF2LWRyb3Bkb3duLWNvbG9yOiBibGFjaztcbiRuYXYtZHJvcGRvd24tY2FyZXQtY29sb3I6IHdoaXRlO1xuXG4kcHJpbWFyeS1idG4tYmc6ICRtYWluLWNvbG9yO1xuJHByaW1hcnktYnRuLWhvdmVyLWJnOiAkc2Vjb25kYXJ5LWNvbDtcbiRwcmltYXJ5LWJ0bi1mb250Y29sb3I6IHdoaXRlO1xuJHNlY29uZGFyeS1idG4tYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiRzZWNvbmRhcnktYnRuLWJnOiB0cmFuc3BhcmVudDtcbiRzZWNvbmRhcnktYnRuLWZvbnRjb2xvcjogd2hpdGU7XG5cbiRhdmF0YXItYm9yZGVyLWNvbG9yOiAkbWFpbi1jb2xvcjtcbiRhdmF0YXItd2lubmVyLWJnOiAkbWFpbi1jb2xvcjtcblxuJGljb24tYmc6ICRtYWluLWNvbG9yO1xuJGljb24tZmlsbDogd2hpdGU7XG5cbi8vIEBub3RlIDogJHNlYXJjaC1idG4tYmdcbi8vIFNoYXJlZCB3L2ljb24gYmcuIENoYW5nZSBpY29uXG4vLyBiZyB0byBjaGFuZ2UgdGhlIGJ1dHRvbiBjb2xvci5cbiRzZWFyY2gtYnRuLWJnOiAkaWNvbi1iZztcbiRpbnB1dC1iZzogJGdhbGxlcnk7XG5cbiRjYXJkLXBsdW1iOiAkbWFpbi1jb2xvcjtcbiRjYXJkLXBsdW1iLWZvbnRjb2xvcjogd2hpdGU7XG4kY2FyZC1yb3NlOiAkc2Vjb25kYXJ5LWNvbDtcbiRjYXJkLXJvc2UtZm9udGNvbG9yOiB3aGl0ZTtcbiRjYXJkLWNlcnVsZWFuOiAkY2VydWxlYW47XG4kY2FyZC1jZXJ1bGVhbi1mb250Y29sb3I6IHdoaXRlO1xuJGNhcmQtZ29sZDogJHllbGxvdztcbiRjYXJkLWdhbGxlcnk6ICRnYWxsZXJ5O1xuJGNhcmQtZ2FsbGVyeS1mb250Y29sb3I6IGJsYWNrO1xuXG4kY2FyZC1zaW5nbGUtYmc6ICRjYXJkLWdhbGxlcnk7XG4kY2FyZC1zaW5nbGUtaG92ZXItYmc6ICRjYXJkLXJvc2U7XG4kY2FyZC1zaW5nbGUtaG92ZXItY29sb3I6IGJsYWNrO1xuXG4kY3VycmljdWx1bS12aXRhZS1oZWFkZXItYmc6IHJnYigyNDUsIDI0NSwgMjQ1KTtcbiRjdXJyaWN1bHVtLXZpdGFlLWJvZHktYmc6ICNmMWYxZjE7XG4kY3VycmljdWx1bS12aXRhZS1pbmZvLWJnOiB3aGl0ZTtcblxuJHN0YXR1cy1iZzogcmdiYSgyNDAsIDI1NSwgMjU1LCAwLjU3KTtcblxuJGNvbW1lbnQtbGV2ZWwxLWNhcmRiZzogJGdhbGxlcnk7XG4kY29tbWVudC1sZXZlbDItY2FyZGJnOiAkZ2FsbGVyeTtcbiRjb21tZW50LWxldmVsMS1iZzogI2Q2ZDZkNjtcbiRjb21tZW50LWxldmVsMS1ib3JkZXItY29sb3I6ICRjb21tZW50LWxldmVsMS1jYXJkYmc7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNwYWNpbmcgJiBMYXlvdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRndXR0ZXI6IDIwcHg7XG4kY29sdW1uOiAxMDBweDtcbiRncmlkLWdhcDogJGd1dHRlci8yO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb21wb25lbnQ6IE5hdiBJdGVtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQGFyZ3Ncbi8vIHRhcmdldDogKG5hbWUsIGJnLXBvcylcbiRuYXZiZzogKFxuICBhc2s6IChcbiAgICAneWVsbG93LXBpbGwnLFxuICAgICcwIC01NHB4J1xuICApLFxuICBjaGF0OiAoXG4gICAgJ3BpbmstcGlsbCcsXG4gICAgJzAgLTIwOXB4J1xuICApLFxuICB2b3RlOiAoXG4gICAgJ2JsdWUtcGlsbCcsXG4gICAgJzAgLTM2NHB4J1xuICApXG4pO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogQ2FyZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEBhcmdzXG4vLyB0YXJnZXQ6IChuYW1lLCBiZy1wb3MsIGJnLXBvcy1ob3ZlcilcbiRzdHVkZW50LWNhcmQtaWNvbnM6IChcbiAgYXNrOiAoXG4gICAgJ3llbGxvdycsXG4gICAgJzAgLTEwMXB4JyxcbiAgICAnMCAwJ1xuICApLFxuICBjaGF0OiAoXG4gICAgJ3BpbmsnLFxuICAgICcwIC0yNTZweCcsXG4gICAgJzAgLTE1NXB4J1xuICApLFxuICB2b3RlOiAoXG4gICAgJ2JsdWUnLFxuICAgICcwIC00MTFweCcsXG4gICAgJzAgLTMxMHB4J1xuICApXG4pO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogU3BlZWNoIEJ1YmJsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNhcmV0LXVuaXQ6IDI1cHg7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGxhY2Vob2xkZXJzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZHJ1YmxpYy9TYXNzLU1peGlucy9ibG9iL21hc3Rlci9taXhpbnMuc2Nzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQGV4YW1wbGVcbi8vIGlucHV0IHsgQGluY2x1ZGUgcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yKTsgfVxuXG5AbWl4aW4gcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yKSB7XG5cdC8vIENocm9tZSwgU2FmYXJpLCBPcGVyYVxuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHR9XG5cblx0Ly8gR2Vja28gLSBGaXJlZm94IDQgdGhydSAxOFxuXHQmOi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblx0Ly8gR2Vja28gLSBGaXJlZm94IDE5K1xuXHQmOjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHR9XG5cblx0Ly8gSUUxMCtcblx0JjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuXG4vLyBAZXhhbXBsZVxuLy8gLnNlbGVjdG9yIHsgQGluY2x1ZGUgcGxhY2Vob2xkZXItc3R5bGVzIHsgY29sb3I6ICNiYWRhNTU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9IH1cblxuQG1peGluIHBsYWNlaG9sZGVyLXN0eWxlcyB7XG5cblx0Ly8gQ2hyb21lLCBTYWZhcmksIE9wZXJhXG5cdCY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50XG5cdH1cblxuXHQvLyBGaXJlZm94IDE5K1xuXHQmOjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudFxuXHR9XG5cblx0Ly8gSUUgMTArXG5cdCY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudFxuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gJEN1c3RvbSBGb250c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZGlud2ViLWJvbGQnO1xuICBzcmM6IGZvbnQoJ2RpbndlYi1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgZm9udCgnZGlud2ViLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gUldEIFRpdGxlc1xuLy8gQGluY2x1ZGUgdHlwZXNjYWxlKFxuLy8gICBtYXAtZ2V0KCRzY2FsZSwgYmV0YSksXG4vLyAgICRmb250LWJhc2UsXG4vLyAgICN7JHR5cGVzY2FsZS11bml0fSxcbi8vICAgJG1lYXN1cmVcbi8vICk7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRCYXNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VyaWYtYm9vbGVhbjogdHJ1ZTtcbiRmb250LWZhbWlseTogaWYoJHNlcmlmLWJvb2xlYW4sIHNlcmlmLCBzYW5zLXNlcmlmKTtcbiRmb250LXdlaWdodDogbm9ybWFsO1xuJGxpbmUtaGVpZ2h0OiAxLjU7XG4kZm9udC1zaXplOiAxMDA7XG4kZm9udC1iYXNlOiAxNiAqICgkZm9udC1zaXplLzEwMCk7XG4kaW5kZW50LXZhbDogMS41cmVtO1xuJG1lYXN1cmU6ICRmb250LWJhc2UgKiAkbGluZS1oZWlnaHQ7XG4kcHJlZml4ZXM6IC13ZWJraXQtLCAtbW96LSwgLW1zLSwgJyc7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRUeXBlc2NhbGVcbi8vIEdyZWVrIGhlYWRpbmcgbmFtZXMgYW5kIHNjYWxlIHVzaW5nIGJhc2UgZm9udC1zaXplXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIHRlcmEgICAgICAgICAgICAgICAgICAgIDExNyA9IDE4IMOXIDYuNVxuLy8gZ2lnYSAgICAgICAgICAgICAgICAgICAgIDkwID0gMTggw5cgNVxuLy8gbWVnYSAgICAgICAgICAgICAgICAgICAgIDcyID0gMTggw5cgNFxuLy8gYWxwaGEgICAgICAgICAgICAgICAgICAgIDYwID0gMTggw5cgMy4zMzMzXG4vLyBiZXRhICAgICAgICAgICAgICAgICAgICAgNDggPSAxOCDDlyAyLjY2Njdcbi8vIGdhbW1hICAgICAgICAgICAgICAgICAgICAzNiA9IDE4IMOXIDJcbi8vIGRlbHRhICAgICAgICAgICAgICAgICAgICAyNCA9IDE4IMOXIDEuMzMzM1xuLy8gZXBzaWxvbiAgICAgICAgICAgICAgICAgIDIxID0gMTggw5cgMS4xNjY3XG4vLyB6ZXRhICAgICAgICAgICAgICAgICAgICAgMTggPSAxOCDDlyAxXG5cbiRzY2FsZTogKFxuICB0ZXJhOiAxMTcsXG4gIGdpZ2E6IDkwLFxuICBtZWdhOiA3MixcbiAgYWxwaGE6IDYwLFxuICBiZXRhOiA0OCxcbiAgZ2FtbWE6IDM2LFxuICBkZWx0YTogMjQsXG4gIGVwc2lsb246IDIxLFxuICB6ZXRhOiAxOCxcbikgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nczogKFxuICBoMTogbWVnYSxcbiAgaDI6IGFscGhhLFxuICBoMzogYmV0YSxcbiAgaDQ6IGdhbW1hLFxuICBoNTogZGVsdGEsXG4gIGg2OiB6ZXRhXG4pICFkZWZhdWx0O1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkVHlwZXNjYWxlIFVuaXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0eXBlc2NhbGUtdW5pdDogZW07XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRXb3Jkd3JhcFxuLy8gQ29udHJvbCB3b3JkIHdyYXBwaW5nIGFuZCBicmVha3MgaW4geW91ciB0ZXh0LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyAnbm9ybWFsJyAgICAgICAgICAgICAgICAgICAgIExpbmVzIG1heSBvbmx5IGJyZWFrIGF0IG5vcm1hbCB3b3JkIGJyZWFrIHBvaW50cy5cbi8vICdicmVhay13b3JkJyAgICAgICAgICAgICAgICAgVW5icmVha2FibGUgd29yZHMgbWF5IGJlIGJyb2tlbiBhdCBhcmJpdHJhcnkgcG9pbnRzLlxuLy9cbi8vIEBleGFtcGxlICAgICAgICAgICAgICAgICAgICAgYXJ0aWNsZSB7IEBleHRlbmQgJWJyZWFrd29yZDsgfVxuXG4lYnJlYWt3b3JkIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4lbm9ybWFsLXdyYXAge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuJWluaGVyaXQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYXV0bztcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gJE9wZW5UeXBlXG4vLyBDb250cm9sIE9wZW5UeXBlIGZlYXR1cmUgc2V0dGluZ3Mgd2hlcmUgZGVzaXJlZC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQHVzZVxuLy8gc21hbGxjYXBzICAgICAgICAgICAgICAgIGJvZHkgeyBAZXh0ZW5kICVvdC0tc21jcDsgfVxuLy8gdGV4dCBmaWd1cmVzICAgICAgICAgICAgIGJvZHkgeyBAZXh0ZW5kICVvdC0tb251bTsgfVxuXG4lb3QtLXNtY3Age1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzbWNwXCI7XG4gIH1cbn1cblxuJW90LS1vbnVtIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdvbnVtJztcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHbG9iYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGh0bWwge1xuLy8gICBmb250LXNpemU6IGNhbGMoMXJlbSArIDF2dyk7XG4vLyB9XG5cblxuYm9keSB7XG4gIC8vQGluY2x1ZGUgZm9udC1sb2FkZXIobm9ybWFsLCAnc2Fucy1zZXJpZicpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZvbnQ6IG5vcm1hbCAxMDAlLzEuNSBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IC8vIDE2cHggYmFzZVxuXG4gIC8vIC5jc3NhbmltYXRpb25zICYge1xuICAvLyAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgY3ViaWMtYmV6aWVyKC41NywuMjUsLjY1LDEpIDAuMjVzIDEgZm9yd2FyZHM7XG4gIC8vICAgb3BhY2l0eTogMDtcbiAgLy8gfVxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIGZvbnQtZmFtaWx5OiAnZGlud2ViLWJvbGQnO1xufVxuXG5AaW5jbHVkZSBoZWFkaW5ncztcbkBpbmNsdWRlIGhlYWRpbmdzLXN0eWxlO1xuXG5pbnB1dCxcbmFiYnIsXG5hY3JvbnltLFxuYmxvY2txdW90ZSxcbmNvZGUsXG5rYmQsXG5xLFxuc2FtcCxcbnZhciB7XG4gIGh5cGhlbnM6IG5vbmU7XG59XG5cbnByZSBjb2RlIHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiAtbW96LXByZS13cmFwO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbnByZSxcbmNvZGUge1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cbiIsIi8vIEBleGFtcGxlXG4vLyBwIHsgZm9udC1zaXplOiBjb250ZXh0LWNhbGMoMjQsIDE2LCBweCk7IH1cblxuQGZ1bmN0aW9uIGNvbnRleHQtY2FsYygkdGFyZ2V0LCAkY29udGV4dCwgJHZhbHVlKSB7XG5cdEByZXR1cm4gKCR0YXJnZXQgLyAkY29udGV4dCkgKyAkdmFsdWU7XG59XG4iLCIvLyAkTWVhc3VyZS1NYXJnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuLy8gZGl2aWRlIDEgdW5pdCBvZiBtZWFzdXJlIGJ5IGdpdmVuIGZvbnQtc2l6ZSAmIHJldHVybiByZWxhdGl2ZSB2YWx1ZVxuXG5AZnVuY3Rpb24gbWVhc3VyZS1tYXJnaW4oJHNjYWxlLCAkbWVhc3VyZSwgJHZhbHVlKSB7XG5cdCRwaXhlbFZhbHVlOiAkc2NhbGUvJG1lYXN1cmU7XG5cdCRyZW1WYWx1ZTogJHBpeGVsVmFsdWUgKiAkZm9udC1iYXNlO1xuXG5cdEBpZiAkdmFsdWUgPT0gcmVtIHtcblx0XHRAcmV0dXJuICRwaXhlbFZhbHVlICsgJHZhbHVlO1xuXHR9IEBlbHNlIGlmICR2YWx1ZSA9PSBlbSB7XG5cdFx0QHJldHVybiAoJHJlbVZhbHVlLyRzY2FsZSkgKyAkdmFsdWU7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gJHJlbVZhbHVlICogMXB4O1xuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lZGlhIFF1ZXJ5IEhlbHBlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAc3VwcG9ydHNcbi8vIEBtZWRpYSBtaW4td2lkdGhcbi8vIEBtZWRpYSBtYXgtd2lkdGhcbi8vIEBtZWRpYSBtaW4tZGV2aWNlLXdpZHRoIGFuZCBtYXgtZGV2aWNlLXdpZHRoIGFuZCBvcmllbnRhdGlvbiBsYW5kc2NhcGVcbi8vIEBtZWRpYSBtYXgtaGVpZ2h0XG4vLyBAbWVkaWEgbWluLXdpZHRoIGFuZCBtYXgtaGVpZ2h0XG5cbi8vIEBzeW50YXhcbi8vIEBpbmNsdWRlIG1lZGlhUXVlcnkoW21pbiwgbWF4LCBtaW5tYXgsIGxhbmRzY2FwZS1kZXZpY2UsIG1heGhlaWdodCwgbnVsbF0sIFtwaXhlbF92YWx1ZSBbLHBpeGVsX3ZhbHVlXV0pIHt9XG5cbkBtaXhpbiBtcSgkY29uc3RyYWludCwgJHZpZXdwb3J0MSwgJHZpZXdwb3J0MjogbnVsbCkge1xuXG5cdEBpZiAkY29uc3RyYWludCA9PSBtaW4ge1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKCRtaW46ICR2aWV3cG9ydDEpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRjb25zdHJhaW50ID09IG1heCB7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoJG1heDogJHZpZXdwb3J0MSkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXG5cdH0gQGVsc2UgaWYgJGNvbnN0cmFpbnQgPT0gbWlubWF4IHtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kICgkbWluOiAkdmlld3BvcnQxKSBhbmQgKCRtYXg6ICR2aWV3cG9ydDIpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRjb25zdHJhaW50ID09IGxhbmRzY2FwZS1kZXZpY2Uge1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKCRtaW4tZGV2aWNlOiAkdmlld3BvcnQxKSBhbmQgKCRtYXgtZGV2aWNlOiAkdmlld3BvcnQyKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRjb25zdHJhaW50ID09IG1heGhlaWdodCB7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoJG1heC1oZWlnaHQ6ICR2aWV3cG9ydDEpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIHtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kICgkbWluOiAkdmlld3BvcnQxKSBhbmQgKCRtYXgtaGVpZ2h0OiAkdmlld3BvcnQyKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cblx0fVxuXG59XG4iLCIuY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcblx0XHRAaW5jbHVkZSBncmlkQ29udGFpbmVyKCRtYXgtdy1sZyk7XG5cdCAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuXHQgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG5cdH1cbn1cbiIsIkBtaXhpbiBjb250YWluZXIoJGNvbnRhaW5lci1tYXgtd2lkdGgsICRndXR0ZXIpIHtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGdyaWRDb250YWluZXIoJGNvbnRhaW5lci1tYXgtd2lkdGgpIHtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn0iLCIuc3BhY2ViZXR3ZWVuIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4uZmxleGVuZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4iLCIuZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGZsZXh5IGZvcm1zXG5cbi5mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZm9ybS1ncm91cCAuZm9ybS1ncm91cF9faW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vICogUGF0dGVybjogSW5wdXQgQWRkLW9uc1xuXG4uaW5wdXRhZGRvbi1maWVsZCB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAyO1xufVxuXG4uaW5wdXRhZGRvbi1pdGVtIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBvcmRlcjogMTtcbiAgcGFkZGluZzogY2FsYygoMTAgLyAxNikgKiAxcmVtKTsgLy8gMTAgLyAxNiA9IDAuNjI1cmVtXG59XG5cbi5pbnB1dGFkZG9uLWJ0biB7XG4gIG9yZGVyOiAzO1xufVxuXG4uaW5wdXRhZGRvbi1maWVsZC0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAyO1xufVxuXG4uaW5wdXRhZGRvbi1pdGVtLS1yZXZlcnNlIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5pbnB1dGFkZG9uLWJ0bi0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAxO1xufVxuXG5cbi8vICogUGF0dGVybjogSW5saW5lIElucHV0LUJ1dHRvbiBDb21ib1xuXG4uZm9ybS1ncm91cC0taW5saW5lLWJ0biB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cF9faW5wdXQtLWlubGluZS1idG4ge1xuICAvLyBmbGV4OiAxO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuXG5cbi8vICogTGF5b3V0OiBCdXR0b24gR3JvdXAgSW5saW5lXG5cbi5mb3JtLWdyb3VwX19idG4tLWlubGluZSB7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cF9fYnV0dG9uLS1pbmxpbmUtYnRuIHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mb3JtLWdyb3VwX19idG4tLWlubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCgyMCAvIDE2KSAqIDFyZW0pOyAvLyAyMCAvIDE2ID0gMS4yNXJlbVxufVxuXG5cbi8vICogRXJyb3JzOiBTdHlsZXMgYW5kIFN0YXRlc1xuXG4uZm9ybS1ncm91cF9fZXJyb3Jtc2cge1xuICBmbGV4OiAxIDAgYXV0bzsgLy8gcHJldmVudCBoZWlnaHQgY29sbGFwc2luZyBvbiBzYWZhcmlcbn1cblxuLmhhcy1lcnJvcnMtZm9ybS1ncm91cCB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mb3JtLWdyb3VwX19lcnJvcm1zZy0tY2lubmFiYXIge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiIsIi5yb3cge1xuICBAZXh0ZW5kIC5jbGVhcmZpeDtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgLy8gICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1nYXA7XG4gIC8vICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1nYXA7XG4gIC8vIH1cbn1cblxuXG4ucm93Lm5vLWdyaWQge1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1nYXAgKiAyO1xuICBwYWRkaW5nLWxlZnQ6ICRncmlkLWdhcCAqIDI7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1nYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1nYXA7XG4gIH1cbn1cblxuXG4uZ3JpZCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1nYXA7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1nYXAgLSAkZ3JpZC1nYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWdhcDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWdhcDtcbiAgfVxufVxuXG5cbi5ncmlkLmZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4uZ3JpZC5oYWxmIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cblxuLmdyaWQub25lLXRoaXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICB3aWR0aDogKDEwMCUgLyAzKTtcbiAgfVxufVxuXG5cbi5ncmlkLnR3by10aGlyZHMge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbXEobWluLCAkc2NyZWVuLW1lZCkge1xuICAgIHdpZHRoOiAoKDEwMCUgLyAzKSAqIDIpO1xuICB9XG59XG5cblxuLmdyaWQub25lLXF1YXJ0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbXEobWluLCAkc2NyZWVuLW1lZCkge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuXG4uZ3JpZC50aHJlZS1xdWFydGVycyB7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtcShtaW4sICRzY3JlZW4tbWVkKSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuIiwiLy8gQGV4YW1wbGVcbi8vXG4vLyA8ZGl2IGNsYXNzPVwibWVkaWEtb2JqXCI+XG4vLyAgIDxpbWcgY2xhc3M9XCJtZWRpYS1vYmpfX2ZpZ1wiIHNyYz1cIlwiIGFsdD1cIlwiPlxuLy8gICA8ZGl2IGNsYXNzPVwibWVkaWEtb2JqX19ib2R5XCI+4oCmPC9kaXY+XG4vLyA8L2Rpdj5cblxuLm1lZGlhLW9iaiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAmLS12Y2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi0tcmV2ZXJzZSAmX19maWcge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgJi0tcmV2ZXJzZSAmX19ib2R5IHtcbiAgICBvcmRlcjogMTtcbiAgfVxuXG4gICYtLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYtLWhjZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJi0tY2FwdGlvbiB7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgfVxuXG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbnRleHRzXG5cbmJvZHkgPiAuc3RyaXBlIHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZnVsbCB3aWR0aFxuXG4uc3RyaXBlLS1mdWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29sb3IgdmFyaWF0aW9uc1xuXG4uc3RyaXBlLS1wbHVtYiB7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgYmFja2dyb3VuZDogJG1haW4tY29sb3I7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiIsIi8vIEZsZXhib3ggb24gU3Rlcm9pZHNcbi8vIGh0dHA6Ly9jb2RlcGVuLmlvL2Rlbm5pc2dhZWJlbC9wZW4vTFZ2cU94XG5cbi5zdGlja3ktYm9keSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuXG4uc3RpY2t5LXJvdyB7XG4gIGRpc3BsYXk6IC1tb3otYm94OyAvLyBBcyBvZiBGRjQyXG59XG5cbi5zdGlja3ktaGVhZGVyIHtcbiAgZmxleDogbm9uZTtcbn1cblxuLnN0aWNreS1jb250ZW50IHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnN0aWNreS1mb290ZXIge1xuICBmbGV4OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyBtaXhpbnMvc2l6ZS5zY3NzXG5cbiRhdmF0YXItYm9yZGVyLXdpZHRoOiA0cHg7XG5cbi5hdmF0YXIge1xuICBAaW5jbHVkZSBzaXplKDcwcHgsIDcwcHgpO1xuICBib3JkZXI6ICRhdmF0YXItYm9yZGVyLXdpZHRoIHNvbGlkICRhdmF0YXItYm9yZGVyLWNvbG9yO1xufVxuXG4ud2lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDgwJTtcbiAgICBjb250ZW50OiAnd2lubmVyJztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IHJlbXMoMyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogJGF2YXRhci1ib3JkZXItd2lkdGg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogOTAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAkYXZhdGFyLXdpbm5lci1iZyA0MCUsIHRyYW5zcGFyZW50IDQwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cblxuLmF2YXRhci0tbWVkIHtcbiAgQGluY2x1ZGUgc2l6ZSgxMDhweCwgMTA4cHgpO1xufVxuXG5cbi5hdmF0YXItLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogODAlO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkU2l6ZVxuLy8gSHVnbyBHaXJhdWRlbDogaHR0cDovL3NpdGVwb2ludC5jb20vc2Fzcy1taXhpbi1wbGFjZWhvbGRlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBkZW1vXG4vLyBAaW5jbHVkZSBzaXplKDMycHgpO1xuLy8gQGluY2x1ZGUgc2l6ZSgxMDAlLCAxMGVtKTtcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkaGVpZ2h0O1xufVxuIiwiLy8gUmVxdWlyZXMgc3RyaXAtdW5pdHMgZnVuY3Rpb25cbi8vIEBleGFtcGxlXG4vLyBAaW5jbHVkZSBmb250U2l6ZVJlbSgxOCk7XG5AZnVuY3Rpb24gcmVtcygkc2l6ZSwgJGZvbnQtYmFzZTogJGZvbnQtYmFzZSkge1xuXHRAcmV0dXJuIChzdHJpcC11bml0KCRzaXplKSAvICRmb250LWJhc2UpICsgcmVtO1xufSIsImJ1dHRvbixcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLmJ0biB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5cbi5idG4tLXJhZDQge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cblxuLmJ0bi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWJ0bi1iZztcbiAgY29sb3I6ICRwcmltYXJ5LWJ0bi1mb250Y29sb3I7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWJ0bi1ob3Zlci1iZztcbiAgfVxufVxuXG5cbi5idG4tLXNlY29uZGFyeSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRzZWNvbmRhcnktYnRuLWJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1idG4tYmc7XG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWJ0bi1mb250Y29sb3I7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktYnRuLWhvdmVyLWJnO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWJ0bi1ob3Zlci1iZztcbiAgfVxufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyBtaXhpbnMvbWVkaWEtcXVlcnkuc2Nzc1xuLy8gZnVuY3Rpb25zL3JlbXMuc2Nzc1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbW9kdWxlIC0gZ2VuZXJhbFxuXG4uY2FyZCB7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMXJlbTtcbiAgZm9udC1zaXplOiBjb250ZXh0LWNhbGMoMTQsICRmb250LWJhc2UsIGVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI1O1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbW9kdWxlIC0gc2luZ2xlXG5cbi5jYXJkLXNpbmdsZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBAaW5jbHVkZSBtcShtaW4sIDY0MHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmhvdmVyICoge1xuICAgIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjYXJkLXNpbmdsZS1ob3Zlci1iZztcbiAgICAgIGNvbG9yOiAkY2FyZC1zaW5nbGUtaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLmNhcmQtc2luZ2xlID4gZGl2IHtcbiAgQGluY2x1ZGUgbXEobWluLCA2NDBweCkge1xuICAgIGZsZXg6IDEwMCU7XG4gIH1cbn1cblxuXG4uZmxleGJveHR3ZWVuZXIgLmNhcmQtc2luZ2xlID4gZGl2IHtcbiAgQGluY2x1ZGUgbXEobWluLCA2NDBweCkge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG59XG5cblxuLmNhcmQtc2luZ2xlID4gKiB+ICoge1xuICBAaW5jbHVkZSBtcShtaW4sIDY0MHB4KSB7XG4gICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkY29udGVudC1iZztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA4Ljc1ZW07IC8vIDE0MHB4XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtc2luZ2xlLWJnO1xuICB9XG59XG5cblxuLmNhcmQtLXJlcGx5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQ6ICNFQkVCRUI7XG4gIHotaW5kZXg6IDA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogNnB4IHNvbGlkICRtYWluLWNvbG9yO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29sb3IgdmFyaWF0aW9uc1xuXG4uY2FyZC0tZ2FsbGVyeSB7XG4gIGJhY2tncm91bmQ6ICRjYXJkLWdhbGxlcnk7XG4gIGNvbG9yOiAkY2FyZC1nYWxsZXJ5LWZvbnRjb2xvcjtcbn1cblxuXG4uY2FyZC0tZ2FsbGVyeS5ob3Zlci1yb3NlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAZXh0ZW5kIC5jYXJkLS1yb3NlO1xufVxuXG5cbi5jYXJkLS1wbHVtYiB7XG4gIGJhY2tncm91bmQ6ICRjYXJkLXBsdW1iO1xuICBjb2xvcjogJGNhcmQtcGx1bWItZm9udGNvbG9yO1xufVxuXG5cbi5jYXJkLS1nb2xkIHtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2w7XG59XG5cblxuLmNhcmQtLXJvc2Uge1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvcjtcbiAgY29sb3I6ICRjYXJkLXJvc2UtZm9udGNvbG9yO1xufVxuXG4vLyAuY2FyZC0tcm9zZSBhIHtcbi8vICAgY29sb3I6ICMzMzMzNDY7XG4vLyB9XG5cblxuLmNhcmQtLWNhcnVsZWFuIHtcbiAgYmFja2dyb3VuZDogJGNhcmQtY2VydWxlYW47XG4gIGNvbG9yOiAkY2FyZC1jZXJ1bGVhbi1mb250Y29sb3I7XG59XG4iLCIvLyBAcmVxdWlyZXNcbi8vIG1peGlucy9tZWRpYS1xdWVyeS5zY3NzXG4vLyBmdW5jdGlvbnMvcmVtcy5zY3NzXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29tcG9uZW50XG5cbi5jb21tZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJG1haW4tdGV4dC1jb2w7XG59XG5cblxuLmNvbW1lbnRzIC5jYXJkIHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxheW91dCA6IGNvbW1lbnQgYm9keSBjaGlsZHJlblxuXG4uY29tbWVudCAubWVkaWEtb2JqX19ib2R5ID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cblxuLmNvbW1lbnQgLm1lZGlhLW9ial9fYm9keSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkbWFpbi10ZXh0LWNvbDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sO1xuICB9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBsYXlvdXQgOiBjb21tZW50IGZpZ3VyZVxuXG4uY29tbWVudCArIC5jb21tZW50IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuXG4uY29tbWVudHMgLmNvbW1lbnQgLmNhcmQgLm1lZGlhLW9ial9fZmlnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1yaWdodDogcmVtcygyMCk7XG59XG5cblxuLmNvbW1lbnRzIC5jb21tZW50IC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyBpbWcge1xuICBtYXJnaW4tYm90dG9tOiByZW1zKDE1KTtcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY2hpbGQgY29tbWVudHNcblxuLmNvbW1lbnQtbGV2ZWwxIC5jYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgQGluY2x1ZGUgbXEobWluLCAkY29tbWVudHMtbGcpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbXMoKDI4ICogNCkpO1xuICAgIGJhY2tncm91bmQ6ICRjb21tZW50LWxldmVsMS1jYXJkYmc7XG4gIH1cbn1cblxuXG4uY29tbWVudC1sZXZlbDIgLmNhcmQge1xuICBiYWNrZ3JvdW5kOiAkY29tbWVudC1sZXZlbDItY2FyZGJnO1xuICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgIHBhZGRpbmctbGVmdDogcmVtcygoMjggKiA2Ljc1KSk7XG4gIH1cbn1cblxuXG4uY29tbWVudC1sZXZlbDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IHJlbXMoMTApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtcyg1KTtcblxuICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgbXEobWluLCAkY29tbWVudHMtbGcpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgcGFkZGluZzogaW5pdGlhbDtcbiAgfVxufVxuXG5cbi5jb21tZW50cy1sZXZlbDEsXG4uY29tbWVudHMtbGV2ZWwyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbXEobWluLCAkY29tbWVudHMtbGcpIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkbWFpbi1jb2xvciwgMC41KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTE1cHg7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jb21tZW50cy1sZXZlbDEge1xuICBib3JkZXI6IHJlbXMoMjApIHNvbGlkICRjb21tZW50LWxldmVsMS1ib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRjb21tZW50LWxldmVsMS1iZztcbiAgcGFkZGluZy1ib3R0b206IHJlbXMoNSk7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiBpbmhlcml0O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgICAgbGVmdDogcmVtcyg2MCk7XG4gICAgfVxuICB9XG59XG5cblxuLmNvbW1lbnRzLWxldmVsMiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgICAgbGVmdDogcmVtcygoMjggKiA1KSk7XG4gICAgfVxuICB9XG59XG5cblxuLmNvbW1lbnQtY2hpbGQyLmNvbW1lbnQtbGV2ZWwyOmJlZm9yZSB7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE2cHg7XG4gICAgbGVmdDogcmVtcygoMzIgKiA2Ljc1KSk7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCRtYWluLWNvbG9yLCAwLjUpO1xuICB9XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxheW91dCA6IHVzZXJzIGNvbW1lbnRzXG5cbi51c2VyLWNvbW1lbnRzX19yZXNwb25zZSAuY2FyZCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xufVxuXG5cbi51c2VyLWNvbW1lbnRzX19yZXNwb25zZSAuY2FyZCAubWVkaWEtb2JqX19maWcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXJpZ2h0OiByZW1zKDE1KTtcbn1cblxuXG4udXNlci1jb21tZW50c19fcmVzcG9uc2UgLmNhcmQgLm1lZGlhLW9ial9fZmlnIGltZyB7XG4gIG1hcmdpbi1ib3R0b206IHJlbXMoMjApO1xufVxuXG5cbi51c2VyLWNvbW1lbnRzX19yZXNwb25zZSAuY2FyZCAubWVkaWEtb2JqX19ib2R5ID46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY29tbWVudCBwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cbiIsIi5jb3VudGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZzogMC4xMjVlbSAwLjM3NWVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cbiIsIi5jdXJyaWN1bHVtLXZpdGFlIHtcbiAgZm9udC1zaXplOiAxZW07IC8vIDE2cHhcbn1cblxuXG4uY3VycmljdWx1bS12aXRhZV9faGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjA0LCAyMDQsIDIwNCwgMC42NCk7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDI1NSwgMjUxLCAyNTEsIDAuNzYpO1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQ6ICRjdXJyaWN1bHVtLXZpdGFlLWhlYWRlci1iZztcbn1cblxuXG4uY3VycmljdWx1bS12aXRhZV9fdGl0bGUge1xuICBmb250LXNpemU6IGNvbnRleHQtY2FsYygzMiwgMTYsIGVtKTtcbn1cblxuXG4uY3VycmljdWx1bS12aXRhZV9faGVhZGVyIGltZ1tjbGFzcyo9XCJhdmF0YXJcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuXG4uY3VycmljdWx1bS12aXRhZV9fYm9keSB7XG4gIHBhZGRpbmc6IDJlbTtcbiAgYmFja2dyb3VuZDogJGN1cnJpY3VsdW0tdml0YWUtYm9keS1iZztcbn1cblxuXG4uY3VycmljdWx1bS12aXRhZV9fcXVvdGUge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogJHNhaWw7XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX2JvZHkgaW1nIHtcbiAgQGV4dGVuZCAubWF0ZXJpYWwtc2hhZG93O1xuICBib3JkZXI6IGNvbnRleHQtY2FsYyg1LCAxNiwgZW0pIHNvbGlkIHJnYmEod2hpdGUsIDAuNSk7XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWUgbGkge1xuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX2RhdGEgPiBsaSB7XG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxufVxuXG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5oaWRlIHtcbiAgaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICAvLyB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAvLyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgLy8gdHJhbnNpdGlvbjogMzAwbXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0O1xuICAmOnRhcmdldCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy8gdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5yZWFkLW1vcmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuXG4uY3VycmljdWx1bS12aXRhZSAuc2hvcnRsaW5rcyB7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG5cblxuLmN2IC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBiYWNrZ3JvdW5kOiAkY3VycmljdWx1bS12aXRhZS1pbmZvLWJnO1xufVxuXG5cbi5jdiAuY2FyZCBsaSB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbW9kdWxlXG5cbmZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0ge1xuICBwYWRkaW5nOiByZW1zKCRndXR0ZXIpIDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcShtaW4sICRtZWRpdW0pIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxlZnQgc2lkZVxuXG5mb290ZXJbcm9sZT1cImNvbnRlbnRpbmZvXCJdIC5ncmlkLnRocmVlLXF1YXJ0ZXJzIHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWVkaXVtKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MHB4KTtcbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBuYXZpZ2F0aW9uXG5cbi8vID09IGNvbXBvbmVudFxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYge1xuICBwYWRkaW5nLXRvcDogcmVtcygkZ3V0dGVyKTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cblxuLy8gPT0gbGlua3NcbmZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0gbmF2IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IC41ZW07XG4gIGNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtcygkZ3V0dGVyKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAkbWFpbi1jb2xvcjtcbiAgfVxufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyB2YXJzL2dsb2JhbHMuc2Nzc1xuLy8gbWl4aW5zL21lZGlhLXF1ZXJ5LnNjc3Ncbi8vIGZ1bmN0aW9ucy9yZW1zLnNjc3NcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBsYXlvdXRcblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0ge1xuICBAaW5jbHVkZSBtcShtYXgsICRtYXgtbXEpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMWVtIDAuNWVtIDAuMjVlbTtcbiAgfVxufVxuXG5cbi8vIFByaW1hcnkgQ29udGFpbmVyXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSA+IC5jb250YWluZXIge1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWJnO1xuICB9XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmNvbnRhaW5lci5mbGV4IHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmNvbnRhaW5lciA+IC5mbGV4ZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb21wb25lbnRzXG5cbi8vIE5hdiBJdGVtc1xuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gW2NsYXNzKj1cImljb24tYXNrXCJdLFxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gW2NsYXNzKj1cImljb24tY2hhdFwiXSxcbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIFtjbGFzcyo9XCJpY29uLXZvdGVcIl0ge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gTWVudSBCdXR0b25cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgd2lkdGg6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBtcShtaW4sIDQ0NHB4KSB7XG4gICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcbiAgfVxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLy8gTG9nb1xuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC13LWxnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVYKC03MHB4KSB0cmFuc2xhdGVZKC0xMDBweCk7XG4gIH1cblxufVxuXG5cbi8vIFNlYXJjaCBGb3JtXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBmb3JtW3JvbGU9XCJzZWFyY2hcIl0ge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbn1cblxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBmb3JtW3JvbGU9XCJzZWFyY2hcIl0gLmljb24ge1xuICBAaW5jbHVkZSBzaXplKDMwcHgsIDMwcHgpO1xuICBwYWRkaW5nOiA1cHg7XG59XG5cblxuLy8gU2VhcmNoIElucHV0XG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgcGFkZGluZy10b3A6IHJlbXMoNSk7XG4gIHBhZGRpbmctYm90dG9tOiByZW1zKDUpO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdICsgW2NsYXNzKj1cImJ0blwiXSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xufVxuXG5cbi8vIERhdGEgUmVwb3J0IENhcmRcbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5yZXBvcnQtY2FyZCB7XG4gIEBpbmNsdWRlIG1xKG1heCwgJHByZS1tYXgtdy1sZykge1xuICAgIG1hcmdpbjphdXRvO1xuICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC13LWxnKSB7XG4gICAgZmxleDogMyAxIDEwMCU7XG4gIH1cbn1cblxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSAucmVwb3J0X190aXRsZSB7XG4gIEBpbmNsdWRlIG1xKG1heCwgJHByZS1tYXgtdy1sZykge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gTG9nb1xuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gYVtocmVmPVwiL1wiXSB7XG4gIEBpbmNsdWRlIG1xKG1heCwgJG1heC1tcSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBMb2dpbiBCdXR0b25cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tLXNlY29uZGFyeSB7XG4gIEBpbmNsdWRlIG1xKG1heCwgJHByZS1tYXgtdy1sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1heC13aWR0aDogMTIuNWVtOy8vIDIwMHB4XG4gICAgcGFkZGluZzogcmVtcygkZ3V0dGVyIC8gMy41KTtcbiAgfVxufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyB2YXJzL19nbG9iYWwuc2Nzc1xuLy8gZnVuY3Rpb25zL19pbWctdXJsLnNjc3Ncbi8vIG1peGlucy9fc2l6ZS5zY3NzXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtb2R1bGVcblxuW2NsYXNzKj1cImljb24tYXNrXCJdLFxuW2NsYXNzKj1cImljb24tY2hhdFwiXSxcbltjbGFzcyo9XCJpY29uLXZvdGVcIl0ge1xuICBAaW5jbHVkZSBzaXplKDE0NXB4LCA1NHB4KTtcbiAgbWFyZ2luOiByZW1zKDEwLCAkZm9udC1iYXNlKTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW1nLXVybChcInNwcml0ZS1yYXN0ZXIucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBpbWcgcGxhY2VtZW50XG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3R1ZGVudC1jYXJkLWljb25zIHtcbiAgLmljb24tI3ska2V5fS0je250aCgkdmFsdWUsIDEpfSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogI3tudGgoJHZhbHVlLCAyKX07XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICN7bnRoKCR2YWx1ZSwgMyl9O1xuICAgIH1cbiAgfVxufVxuXG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkbmF2Ymcge1xuICAuaWNvbi0jeyRrZXl9LSN7bnRoKCR2YWx1ZSwgMSl9IHtcbiAgICBAaW5jbHVkZSBzaXplKDEyNnB4LCA0N3B4KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAje250aCgkdmFsdWUsIDIpfTtcbiAgfVxufVxuIiwiLy8gQHJldHVybnNcbi8vIHVybCgnLi9pbWcvJylcbi8vXG4vLyBAcmVxdWlyZXNcbi8vIHZhcnMvX2dsb2JhbC5zY3NzXG4vL1xuLy8gQGV4YW1wbGVcbi8vIGJhY2tncm91bmQ6IGltZy11cmwoJ3BpY3R1cmUuanBnJykgdG9wIGxlZnQgbm8tcmVwZWF0O1xuQGZ1bmN0aW9uIGltZy11cmwoJHVybCkge1xuICBAcmV0dXJuIHVybChcIiN7JGltZy1kaXJ9I3skdXJsfVwiKTtcbn1cbiIsIi8vIEByZXF1aXJlc1xuLy8gbWl4aW5zL3NpemUuc2Nzc1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHNpdGUgaWNvbnNcblxuLmljb24ge1xuICBAaW5jbHVkZSBzaXplKDM2cHgsIDM2cHgpO1xuICBib3JkZXItcmFkaXVzOiA4MCU7XG4gIHBhZGRpbmc6IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICBmaWxsOiAkaWNvbi1maWxsO1xuICBiYWNrZ3JvdW5kOiAkaWNvbi1iZztcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY2FyZXQgaWNvblxuXG4uZHJvcGRvd24taWNvbiB7XG4gIEBpbmNsdWRlIHNpemUoMjBweCwgMjBweCk7XG4gIHZlcnRpY2FsLWFsaWduOiBzdWI7XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGhlYXJ0IGljb25cblxuLmljb24taGVhcnQge1xuICBAaW5jbHVkZSBzaXplKDMwcHgsIDMwcHgpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNzUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBmb250LXNpemU6IGNvbnRleHQtY2FsYygyMCwgMTYsIGVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzaXplKDMwcHgsIDMwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgdG9wOiAtMTVweDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGxlZnQ6IDE1cHg7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cblxuLy8gaGVhcnRlZCBjb3VudCB2YWx1ZVxuLmljb24taGVhcnQgc3BhbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzM5MDA1MDtcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc3RhdGVcblxuLmljb24taGVhcnQuanMtaGVhcnRlZCxcbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQ6OmJlZm9yZSxcbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmN2U3ZTtcbn1cblxuXG4uaWNvbi1oZWFydC5qcy1oZWFydGVkIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygtMXB4IDFweCAycHggcmdiYSgyMDAsIDAsIDAsIDAuOSkpO1xufVxuXG5cbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQgc3BhbiB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjNDgyODI4O1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb2xvciB2YXJpYXRpb25zXG5cbi5pY29uLWhlYXJ0LS1yb3NlIHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2w7XG4gIH1cbn1cblxuXG4uaWNvbi1oZWFydC0tcGx1bWIge1xuICBiYWNrZ3JvdW5kOiAkbWFpbi1jb2xvcjtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJG1haW4tY29sb3I7XG4gIH1cbn1cblxuXG4uaWNvbi1oZWFydC0tcGx1bWIgc3BhbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiIsImlucHV0W3R5cGU9XCJzZWFyY2hcIl0gKyBbY2xhc3MqPVwiYnRuXCJdIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6ICRzZWFyY2gtYnRuLWJnO1xufVxuIiwiaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJGlucHV0LWJnO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBjaGVja2JveCAhaW1wb3J0YW50O1xuICAtbW96LWFwcGVhcmFuY2U6IGNoZWNrYm94ICFpbXBvcnRhbnQ7XG4gIGFwcGVhcmFuY2U6IGNoZWNrYm94ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiByYWRpbyAhaW1wb3J0YW50O1xuICBhcHBlYXJhbmNlOiByYWRpbyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbn1cblxuXG5pbnB1dFt0eXBlPVwidGV4dFwiXTpyZXF1aXJlZCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNERDVFMDA7XG59XG5cblxuJHNlbGVjdC1hcnJvdzogJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BqeHpkbWNnYUdWcFoyaDBQU0kwT0NJZ2RtbGxkMEp2ZUQwaU1DQXdJRFE0SURRNElpQjNhV1IwYUQwaU5EZ2lJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQSEJoZEdnZ1pEMGlUVEUwTGpneklERTJMalF5YkRrdU1UY2dPUzR4TnlBNUxqRTNMVGt1TVRjZ01pNDRNeUF5TGpnekxURXlJREV5TFRFeUxURXllaUl2UGp4d1lYUm9JR1E5SWswd0xTNDNOV2cwT0hZME9HZ3RORGg2SWlCbWFXeHNQU0p1YjI1bElpOCtQQzl6ZG1jKyc7XG4kc2VsZWN0LXNpemU6IDQwJTtcblxuc2VsZWN0IHtcbiAgJHNwYWNpbmc6IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICNBQUFBQUE7XG5cbiAgLy8gQWxsb3dzIHVzIHRvIHVzZSBhIGN1c3RvbSBhcnJvdyBhbmQgYXZvaWRcbiAgLy8gdGhlIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBpdC5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRzZWxlY3QtYXJyb3d9KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjIlIHRvcCA1MCU7IC8vIGJldHRlciB3YXkgdG8gYmFja2dyb3VuZC1wb3NpdGlvblxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICB9XG59XG5cblxuLmxvZ2luIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG4ubG9naW4gdGV4dGFyZWEsXG4ubG9naW4gc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbiIsIi5sb2dpbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgcGFkZGluZzogcmVtcygkZ3V0dGVyLzEuNSk7XG59XG5cblxuLmxvZ2luIC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiIsIi5uYXYtZHJvcGRvd24sIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAvLyB0cmFuc2l0aW9uOiAyMzVtcyBhbGwgY3ViaWMtYmV6aWVyKDAuNDcsIDAuMDIsIDAuNDYsIDEpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSgkbmF2LWRyb3Bkb3duLWJnLCAwLjkpO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgei1pbmRleDogMTtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2LWRyb3Bkb3duLWJnO1xuICB9XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBsaSwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgPiBsaSwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNvbnRleHQtY2FsYygtNSwgMTYsIGVtKTtcbiAgfVxufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmJ1dHRvbi1kcm9wZG93biwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmJ1dHRvbi1kcm9wZG93bjpob3ZlciA+IHVsLFxuLm5hdi1kcm9wZG93bl9fbGlzdCAuYnV0dG9uLWRyb3Bkb3duOmZvY3VzID4gdWwsXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGk6aG92ZXIgdWwsXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGk6Zm9jdXMgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGEsIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IGNvbnRleHQtY2FsYygxMCwgMTYsIGVtKSBjb250ZXh0LWNhbGMoMTUsIDE2LCBlbSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkbmF2LWRyb3Bkb3duLWNvbG9yO1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBwYWRkaW5nOiBjb250ZXh0LWNhbGMoMTAsIDE2LCBlbSkgY29udGV4dC1jYWxjKDE1LCAxNiwgZW0pO1xuICB9XG59XG4ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2LWRyb3Bkb3duLWJnO1xufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgYTpob3Zlcixcbi5uYXYtZHJvcGRvd25fX2xpc3QgYTpmb2N1cyxcbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciBhOmhvdmVyLFxuLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWRyb3Bkb3duLWhvdmVyLWJnO1xuICBjb2xvcjogJG5hdi1kcm9wZG93bi1jb2xvcjtcbn1cblxuXG4ubmF2LWRyb3Bkb3duX19saXN0IC5kcm9wZG93bi1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgLy8gdHJhbnNpdGlvbjogMC4yNzVzIGFsbCBlYXNlLWluLW91dDtcbiAgZmlsbDogJG5hdi1kcm9wZG93bi1jYXJldC1jb2xvcjtcbn1cblxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGEuZHJvcGRvd24tdG9nZ2xlLmFjdGl2ZSAuZHJvcGRvd24taWNvbiB7XG4gIGZpbGw6ICRuYXYtZHJvcGRvd24tY2FyZXQtY29sb3I7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSgkbmF2LWRyb3Bkb3duLWJnLCAwLjYpO1xuICBjb2xvcjogJG5hdi1kcm9wZG93bi1jb2xvcjtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgei1pbmRleDogNTAwMDAwOyAvLyBtYWtlIHRoaXMgYmV0dGVyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2LWRyb3Bkb3duLWJnO1xuICB9XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSBsaSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgbGkge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSBhLCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBsaSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICRuYXYtZHJvcGRvd24tY29sb3I7XG59XG4iLCIubmF2LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCJuYXZbcm9sZT1cIm5hdmlnYXRpb25cIl0ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBAaW5jbHVkZSBtcShtaW4sIDQwMHB4KSB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZHVsZVxuXG4ubmV3cy1yZXBvcnQge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBtcShtaW4sIDY0MHB4KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBkaXJlY3QgY2hpbGRyZW5cblxuLm5ld3MtcmVwb3J0ID4gKiB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBkaXJlY3QgY2hpbGQgc2libGluZ1xuXG4ubmV3cy1yZXBvcnQgPiAqOmhvdmVyIH4gKiB7XG4gIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWNvbDtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cbiIsIi5wcm9maWxlcyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5cbi5wcm9maWxlcyAuY2FyZCB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cblxuLnByb2ZpbGVzIGxpIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG5cbi5wcm9maWxlcyAubWVkaWEtb2JqX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG5cbi5wcm9maWxlcyAud2lubmVyIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cblxuLnByb2ZpbGVzIC5hdmF0YXIge1xuICBib3JkZXI6IDRweCBzb2xpZCAkbWFpbi1jb2xvcjtcbn1cbiIsIi8vIEByZXF1aXJlc1xuLy8gZnVuY3Rpb25zL3JlbXNcbi8vIGZ1bmN0aW9ucy9jb250ZXh0LWNhbGNcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtb2R1bGVcblxuLnJlcG9ydCB7XG4gIEBleHRlbmQgLm1hdGVyaWFsLXNoYWRvdztcbiAgQGluY2x1ZGUgbXEobWF4LCAkcHJlLW1heC13LWxnKSB7XG4gICAgcGFkZGluZzogMS41ZW0gMWVtO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG4gIH1cbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4ucmVwb3J0LWNhcmQge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtaW4taGVpZ2h0OiA5MHB4O1xufVxuXG5cbi5yZXBvcnRfX2RhdGEgYSB7XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAuYXZhdGFyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2w7XG4gICAgfVxuXG4gICAgLm1lZGlhLW9ial9fYm9keSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGRhdGFcblxuLnJlcG9ydF9fdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogY29udGV4dC1jYWxjKDEwLCAxNiwgZW0pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XG4gIGZvbnQtc2l6ZTogY29udGV4dC1jYWxjKDIwLCAxNiwgZW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuXG4ucmVwb3J0X19kYXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBAaW5jbHVkZSBtcShtYXgsIDUyMHB4KSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1lZGlhICYgY2FwdGlvblxuXG4ucmVwb3J0X19kYXRhIC5tZWRpYS1vYmoge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gLnJlcG9ydF9fZGF0YSAubWVkaWEtb2JqLS1jYXB0aW9uIHtcbi5yZXBvcnRfX2RhdGEgPiBhIHtcbiAgZmxleDogMzMuMzMzMzMzJTtcbiAgcGFkZGluZzogMCAwLjI1ZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAgIGZsZXg6IDcwcHg7XG4gICAgcGFkZGluZzogaW5pdGlhbDtcbiAgfVxufVxuXG5cbi5yZXBvcnRfX2RhdGEgLm1lZGlhLW9ial9fYm9keSB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG59XG4iLCIuc2VhcmNoLXJlc3VsdHMgLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbn1cblxuXG4uc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG5cbi5zZWFyY2gtcmVzdWx0c19fY2l0ZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZHVsZVxuXG4uc3BlZWNoLWJ1YmJsZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogKCRndXR0ZXIgKiAyKTtcbiAgcGFkZGluZzogcmVtcygyNCkgcmVtcygzMik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxZW07XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogM3JlbTtcbiAgICBib3R0b206IC0kY2FyZXQtdW5pdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpXG4gICAgICAgICAgICAgICBza2V3KC0oc3RyaXAtdW5pdCgkY2FyZXQtdW5pdCkpK2RlZylcbiAgICAgICAgICAgICAgIHRyYW5zbGF0ZVkoJGNhcmV0LXVuaXQvMS41KTtcbiAgfVxufVxuXG5cbi8vIGF2b2lkIGFsbCBjaGlsZHJlbidzIGNvbnRlbnQgZnJvbVxuLy8gb3ZlcmZsb3dpbmcgYnViYmxlIChpLmUuIHBhcmVudCkuXG4uc3BlZWNoLWJ1YmJsZSBwIHtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBsYXlvdXRcblxuLnNwZWVjaC1idWJibGUgLm1lZGlhLW9ial9fZmlnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy1yaWdodDogcmVtcygyMCk7XG59XG5cblxuLnNwZWVjaC1idWJibGUgLm1lZGlhLW9ial9fZmlnIHN2ZyB7XG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtcygxNSk7XG4gIH1cbn1cblxuXG4uc3BlZWNoLWJ1YmJsZSAubWVkaWEtb2JqX19ib2R5ID46Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBxdW90ZWQgc291cmNlXG5cbi5zcGVlY2gtYnViYmxlIGNpdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEuODc1cmVtO1xuICBsZWZ0OiA0cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogY29udGV4dC1jYWxjKDE0LCAxNiwgZW0pO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIHdvcmQtd3JhcDogYnJlYWstYWxsO1xuICBjb2xvcjogYmxhY2s7XG59XG5cblxuLnNwZWVjaC1idWJibGUgY2l0ZSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkbWFpbi1jb2xvcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuXG4uc3BlZWNoLWJ1YmJsZS0tcm9zZSBhIHtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29sb3IgdmFyaWF0aW9uIDogZ2FsbGVyeVxuXG4uc3BlZWNoLWJ1YmJsZS0tZ2FsbGVyeSB7XG4gIGJhY2tncm91bmQ6ICRnYWxsZXJ5O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoXG4gICAgICBib3R0b20sXG4gICAgICAoJGNhcmV0LXVuaXQgLyAyKSxcbiAgICAgICRnYWxsZXJ5XG4gICAgKTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAkY2FyZXQtdW5pdDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAZXh0ZW5kIC5zcGVlY2gtYnViYmxlLS1yb3NlO1xuICB9XG5cbiAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbDtcbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb2xvciB2YXJpYXRpb24gOiByb3NlXG5cbi5zcGVlY2gtYnViYmxlLS1yb3NlIHtcbiAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2w7XG4gIGNvbG9yOiBibGFjaztcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNhcmV0KFxuICAgICAgYm90dG9tLFxuICAgICAgKCRjYXJldC11bml0IC8gMiksXG4gICAgICAkc2Vjb25kYXJ5LWNvbFxuICAgICk7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogJGNhcmV0LXVuaXQ7XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2FyZXQgKGkuZS4gdHJpYW5nbGUpXG4vLyBAcmVxdWlyZXMgb3Bwb3NpdGUtZGlyZWN0aW9uIGZ1bmN0aW9uXG4vLyBAaW5jbHVkZSBjYXJldCh0b3AsIDUwcHgsIG1hcm9vbik7XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1peGluIGNhcmV0KCRwb2ludCwgJGJvcmRlci13aWR0aCwgJGNvbG9yKSB7XG4gICRvcHBvc2l0ZTogb3Bwb3NpdGUtZGlyZWN0aW9uKCRwb2ludCk7XG4gIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLSN7JG9wcG9zaXRlfTogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gIGJvcmRlci0jeyRwb2ludH06IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG59IiwiLnRlYWNoZXItc3RhdHVzIHtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuXG4udGVhY2hlci1zdGF0dXMgLmF2YXRhciB7XG4gIGJvcmRlcjogY29udGV4dC1jYWxjKDUsIDE2ICogMS41LCBlbSkgc29saWQgJG1haW4tY29sb3I7XG59XG5cblxuLnRlYWNoZXItc3RhdHVzIC5tZWRpYS1vYmpfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi50ZWFjaGVyLXN0YXR1cyAuc3RhdHVzIHtcbiAgQGV4dGVuZCAubWF0ZXJpYWwtc2hhZG93O1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgcGFkZGluZzogMC41ZW07XG4gIGJhY2tncm91bmQ6ICRzdGF0dXMtYmc7XG59XG5cblxuLnRlYWNoZXItc3RhdHVzIC53aW5uZXIge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gdGl0bGUgbW9kdWxlXG5cbi50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiBjb250ZXh0LWNhbGMoNDQsIDI0LCBlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBhZGphY2VudCBpY29uc1xuXG4udGl0bGUgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG5cbi50aXRsZSBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4iLCIvLyAyLzMgR3JpZCBDb250ZXh0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gY2hpbGQgcm93cyBhbmQgc2libGluZ1xuLmdyaWQudHdvLXRoaXJkcyA+IC5yb3cgKyAucm93IHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBtYXJnaW4tdG9wOiByZW1zKCRndXR0ZXIpO1xuICB9XG59XG5cblxuXG4vLyAxLzMgR3JpZCBDb250ZXh0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gc2VwYXJhdG9yIHJ1bGVcbi5ncmlkLm9uZS10aGlyZCBociB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjOEU2RjlDO1xuICBtYXJnaW4tdG9wOiByZW1zKCRndXR0ZXIgKiAyKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtcygkZ3V0dGVyICogMik7XG59XG5cblxuLy8gY2hpbGQgcm93cyBhbmQgc2libGluZ1xuLmdyaWQub25lLXRoaXJkID4gLnJvdyArIC5yb3cge1xuICBtYXJnaW4tdG9wOiByZW1zKCRndXR0ZXIpO1xufVxuXG5cbi8vIE1lZGlhIE9iamVjdCBDYXJkc1xuLmdyaWQub25lLXRoaXJkIC5jYXJkLm1lZGlhLW9iaiB7XG4gIEBpbmNsdWRlIG1xKG1pbm1heCwgNzQwcHgsIDk2OHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtYXgtdy1zbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuXG4vLyBTcGVlY2ggQnViYmxlc1xuLmdyaWQub25lLXRoaXJkIC5zcGVlY2gtYnViYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgcGFkZGluZzogMC4xMjVlbSAxLjI1ZW07XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICBtaW4taGVpZ2h0OiAxMi41ZW07IC8vIDIwMHB4XG4gICAgbWF4LWhlaWdodDogMTIuNWVtOyAvLyAyMDBweFxuICB9XG59XG5cblxuLy8gSUUxMCBMYXRlc3QgOiBXaW5kb3dzIDhcbi5mbGV4Ym94dHdlZW5lciAuZ3JpZC5vbmUtdGhpcmQgLnNwZWVjaC1idWJibGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8vIENvbnRlbnQgQm9keVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRlbXBsYXRlLXByaW1hcnkgbWFpbiA+IC5jb250YWluZXIge1xuICBwYWRkaW5nOiByZW1zKCRndXR0ZXIvMS41KTtcbiAgYmFja2dyb3VuZDogJGNvbnRlbnQtYmc7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC13LWxnKSB7XG4gICAgcGFkZGluZzogcmVtcygkZ3V0dGVyICogMS41KSByZW1zKCRndXR0ZXIpIHJlbXMoJGd1dHRlciAqIDYpO1xuICB9XG59XG5cblxuXG4vLyBNb2R1bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIiwiLy8gRG9udCBsZXQgY29udGVudCBiZWhpbmQgbWVudSBzY3JvbGxcbi8vIHdoZW4gbWVudSBpcyBvcGVuIGFuZCBzY3JvbGxlZFxuaHRtbC5pcy11bnNjcm9sbGFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi5uYXYtZHJvcGRvd24uaXMtb3BlbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudS5hY3RpdmUsIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgYS5kcm9wZG93bi10b2dnbGUuYWN0aXZlLCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBhOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1kcm9wZG93bi1ob3Zlci1iZztcbiAgY29sb3I6ICRuYXYtZHJvcGRvd24tY29sb3I7XG59XG4iLCIvLyBsYXJnZVxuLnRpbnluYXYge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8vIHNtYWxsXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAudGlueW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc2VsZWN0LW5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gTGlzdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5saXN0LXJlc2V0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmxpc3QtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmxpc3QtaW5saW5lIGxpIHtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtcyg1KTtcbiAgfVxuXG4gICY6bm90KDpsYXN0LW9mLXR5cGUpICo6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLCc7XG4gIH1cbn1cblxuXG4vLyBEaXNwbGF5IEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGdyZWF0IGZvciBlbGVtZW50cyBzdWNoIGFzIGxpbmtzXG4vLyB3cmFwcGluZyBhIGJsb2NrIGxldmVsIGVsZW1lbnQuXG4uZml0LXNwYWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4vLyBNZWRpYSBBbGlnbm1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi5hbGlnbmNlbnRlcixcbmRpdi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDVweCBhdXRvIDVweCBhdXRvO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OnJpZ2h0O1xuICBtYXJnaW46IDVweCAwIDIwcHggMjBweDtcbn1cblxuLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNXB4IGF1dG8gNXB4IGF1dG87XG59XG5cbmEgaW1nLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG5hIGltZy5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvXG59XG5cbi53cC1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMCA7XG4gIG1heC13aWR0aDogOTYlOyAvKiBJbWFnZSBkb2VzIG5vdCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhICovXG4gIHBhZGRpbmc6IDVweCAzcHggMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbm5vbmUge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICBtYXJnaW46IDVweCAwIDIwcHggMjBweDtcbn1cblxuLndwLWNhcHRpb24gaW1nIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDk4LjUlO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogYXV0bztcbn1cblxuLndwLWNhcHRpb24gcC53cC1jYXB0aW9uLXRleHQge1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNHB4IDVweDtcbn1cblxuaW1nW2NsYXNzKj1cImFsaWduXCJdLFxuaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLndwLWNhcHRpb24sXG4ud3AtY2FwdGlvbiBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmltZy5zaXplLWZ1bGwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IHN0cmV0Y2hpbmcgb2YgZnVsbC1zaXplIGltYWdlcyB3aXRoIGhlaWdodCBhbmQgd2lkdGggYXR0cmlidXRlcyBpbiBJRThcbn1cblxuXG4vLyBQYWRkaW5nIFJlbW92ZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5uby1wYWRsciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vLyBNYXRlcmlhbCBTaGFkb3dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5tYXRlcmlhbC1zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwwLjEyKSxcbiAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4yNCk7XG59XG5cblxuLy8gSGlkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVucmVhZGVyczogaDVicC5jb20vdlxuLnZpc3VhbGx5aGlkZGVuIHtcblx0Ym9yZGVyOiAwO1xuXHRjbGlwOiByZWN0KDAgMCAwIDApO1xuXHRoZWlnaHQ6IDFweDtcblx0bWFyZ2luOiAtMXB4O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwYWRkaW5nOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG59XG5cbi8vIEV4dGVuZHMgdGhlIC52aXN1YWxseWhpZGRlbiBjbGFzcyB0byBhbGxvdyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2FibGVcbi8vIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQ6IGg1YnAuY29tL3Bcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG5cdGNsaXA6IGF1dG87XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAwO1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcblx0cG9zaXRpb246IHN0YXRpYztcblx0d2lkdGg6IGF1dG87XG59XG5cblxuLy8gTGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcbi8vIGh0dHA6Ly9jc3Ntb2pvLmNvbS90aGUtdmVyeS1sYXRlc3QtY2xlYXJmaXgtcmVsb2FkZWRcbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuIiwiQG1lZGlhIHByaW50IHtcblx0KiB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRhLFxuXHRhOnZpc2l0ZWQge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0YVtocmVmXTphZnRlciB7XG5cdFx0Y29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG5cdH1cblxuXHRhYmJyW3RpdGxlXTphZnRlciB7XG5cdFx0Y29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuXHR9XG5cblxuXHQvLyAqIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuXG5cblx0LmlyIGE6YWZ0ZXIsXG5cdGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlcixcblx0YVtocmVmXj1cIiNcIl06YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdH1cblxuXHRwcmUsXG5cdGJsb2NrcXVvdGUge1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHR9XG5cblx0dGhlYWQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuXHR9XG5cblx0dHIsXG5cdGltZyB7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHR9XG5cblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0fVxuXG5cdEBwYWdlIHtcblx0XHRtYXJnaW46IDAuNWNtO1xuXHR9XG5cblx0cCxcblx0aDIsXG5cdGgzIHtcblx0XHRvcnBoYW5zOiAzO1xuXHRcdHdpZG93czogMztcblx0fVxuXG5cdGgyLFxuXHRoMyB7XG5cdFx0cGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */