/*!*****************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/css-loader/dist/cjs.js!../node_modules/postcss-loader/dist/cjs.js!../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./scss/application.scss ***!
  \*****************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

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

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

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

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

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

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

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

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

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

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

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

:root {
  --base-space: 10px;
  --color-text: black;
  --color-link: black;
  --color-bg: white;
  --spaceMixedFont: 3px;
  --headerHeight: calc(var(--margin-md) * 1.5 + var(--lh-main));
}

:root {
  --margin-sm: calc(var(--base-space) * 1);
  --margin-md: calc(var(--base-space) * 2);
  --margin-lg: calc(var(--base-space) * 4);
}
@media screen and (min-width: 0px) {
  :root {
    --fs-cursive: 40vw;
    --lh-cursive: 120px;
  }
}
@media screen and (min-width: 600px) {
  :root {
    --fs-cursive: 24vw;
    --lh-cursive: 27dvh;
  }
}
@media screen and (min-width: 0px) {
  :root {
    --fs-main: 10px;
    --lh-main: 15px;
  }
}
@media screen and (min-width: 0px) {
  :root {
    --fs-bigmain: 20px;
    --lh-bigmain: 25px;
  }
}
@media screen and (min-width: 1000px) {
  :root {
    --fs-bigmain: 30px;
    --lh-bigmain: 34px;
  }
}
@media screen and (min-width: 0px) {
  :root {
    --fs-serif: 17px;
    --lh-serif: 16px;
  }
}

html {
  box-sizing: border-box;
}

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

* {
  margin: 0;
  -webkit-font-feature-settings: "kern" 1;
  font-feature-settings: "kern" 1;
  -webkit-font-kerning: normal;
  font-kerning: normal;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body,
html {
  -webkit-tap-highlight-color: transparent;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

html,
body {
  font-family: ABCRepro, arial black;
  font-size: var(--fs-main);
  line-height: var(--lh-main);
  color: var(--color-text);
  background-color: var(--color-bg);
}

html {
  background: var(--color-bg);
}

html.panel {
  font-size: 16px;
  line-height: 1.2;
}

a {
  color: var(--color-link);
  text-decoration: none;
  cursor: pointer;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
}

ol {
  list-style-position: inside;
}

img {
  width: 100%;
}

strong,
b {
  font-weight: normal;
}

i,
em {
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

@font-face {
  font-family: ABCRepro;
  src: url(../fonts/ABCRepro.woff) format("woff"), url(../fonts/ABCRepro.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: auto;
}
@font-face {
  font-family: Kommuna400Narrow;
  src: url(../fonts/Kommuna400Narrow.woff) format("woff"), url(../fonts/Kommuna400Narrow.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: auto;
}
@font-face {
  font-family: OrchardLinear;
  src: url(../fonts/OrchardLinear.woff) format("woff"), url(../fonts/OrchardLinear.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: auto;
}
li {
  text-decoration: none;
}

header {
  width: calc(100% - var(--margin-md));
  display: flex;
  grid-column: 1/9;
  position: fixed;
  top: 0;
  z-index: 4;
  background-color: var(--color-bg);
  padding-bottom: calc(var(--margin-sm) / 2);
  border-bottom: 1px solid black;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(1 * var(--base-space));
  margin-left: calc(1 * var(--base-space));
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0.5 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  column-gap: var(--margin-sm);
}
@media screen and (min-width: 600px) {
  header {
    border-bottom: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 600px) {
  header {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(0 * var(--base-space));
    margin-right: calc(1 * var(--base-space));
    margin-left: calc(1 * var(--base-space));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    gap: var(--margin-sm);
    background-color: transparent;
    z-index: 0;
  }
}
@media screen and (min-width: 1000px) {
  header {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    gap: var(--margin-sm);
  }
}

header a, header > div {
  cursor: pointer;
  white-space: nowrap;
  display: flex;
  align-items: baseline;
  column-gap: var(--margin-sm);
}

.header__group a {
  color: lightgray;
}

.header__search {
  display: none;
}
@media screen and (min-width: 1000px) {
  .header__search {
    display: flex;
    grid-column: 5/6;
  }
}

@media screen and (min-width: 1000px) {
  .header__search--mobile {
    display: none;
  }
}
.header__search--mobile svg {
  height: calc(var(--lh-main) / 1.7);
  width: var(--lh-main);
}

[aria-current]:not([aria-current=false]) {
  color: var(--color-text);
}

header > a:first-child {
  width: calc(50% + 10px);
}

.header__home {
  width: calc(50% + 10px);
}
.header__home a {
  column-gap: 2px;
}

.header__group {
  flex: 1;
  justify-content: space-between;
}
@media screen and (min-width: 600px) {
  .header__group {
    justify-content: start;
  }
}
.header__group .header__group__inner {
  display: flex;
  column-gap: 2px;
}

html {
  overflow: hidden;
}

body {
  width: 100%;
  height: 100dvh;
  position: absolute;
  top: 0;
  overflow: scroll;
}

main {
  margin-left: var(--margin-sm);
  margin-right: var(--margin-sm);
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  padding-top: calc(var(--margin-sm) * 1.5 + var(--lh-main) + 3px);
  overflow: hidden;
}
@media screen and (min-width: 1000px) {
  main {
    padding-top: var(--headerHeight);
  }
}

.main--swipe {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  flex-wrap: nowrap;
  align-items: start;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-top: 0;
  z-index: 4;
}

.main section:not(.overlay) {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  padding-top: calc(var(--margin-sm) * 1.5 + var(--lh-main) + 3px);
}
@media screen and (min-width: 600px) {
  .main section:not(.overlay) {
    padding-top: var(--headerHeight);
  }
}

h2 {
  font-size: var(--fs-serif);
  line-height: var(--lh-serif);
  font-family: "Kommuna400Narrow";
  text-transform: uppercase;
  margin-top: 0;
  padding-top: 0;
}

section {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  height: 100dvh;
  overflow-y: auto;
}

section, main {
  scrollbar-width: none;
}
section::-webkit-scrollbar, main::-webkit-scrollbar {
  display: none;
}

.index {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-column: 1/6;
}

.index__part {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(1 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  grid-column: 1/6;
  align-items: self-start;
}
@media screen and (min-width: 1000px) {
  .index__part {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    align-items: self-start;
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(2 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}

.index__content {
  grid-column: 2/6;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  column-gap: var(--margin-sm);
  align-items: self-start;
}
@media screen and (min-width: 600px) {
  .index__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    column-gap: var(--margin-md);
    align-items: self-start;
  }
}
@media screen and (min-width: 1000px) {
  .index__content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    align-items: self-start;
    column-gap: var(--margin-sm);
  }
}
.index__content--detailPage .index__content__albums {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
}
@media screen and (min-width: 600px) {
  .index__content--detailPage .index__content__albums {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
  }
}

.index__header {
  display: flex;
  column-gap: 3px;
  align-items: baseline;
  grid-column: 1/2;
  position: sticky;
  top: 0px;
  padding-top: calc(var(--margin-sm) * 1.5);
  background-color: var(--color-bg);
  width: 100%;
  z-index: 3;
  padding-bottom: calc(var(--margin-sm) / 2);
  border-bottom: 1px solid black;
}
@media screen and (min-width: 600px) {
  .index__header {
    position: relative;
    background-color: transparent;
    margin-bottom: 0;
  }
}

.grid {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(1 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
  grid-column: 1/6;
  align-items: self-start;
}
@media screen and (min-width: 600px) {
  .grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    align-items: self-start;
    gap: var(--margin-sm);
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(2 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}
@media screen and (min-width: 1000px) {
  .grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    align-items: self-start;
    gap: var(--margin-sm);
  }
}

.grid__content, .grid__content__grid, .grid__content__listgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  column-gap: var(--margin-sm);
  width: 100%;
  align-items: self-start;
}
@media screen and (min-width: 600px) {
  .grid__content, .grid__content__grid, .grid__content__listgrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    grid-column: 2/5;
    column-gap: var(--margin-sm);
    align-items: self-start;
  }
}
@media screen and (min-width: 1000px) {
  .grid__content, .grid__content__grid, .grid__content__listgrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    grid-column: 2/6;
    column-gap: var(--margin-sm);
    align-items: self-start;
  }
}

.grid__content__biography {
  grid-column: 1/5;
  font-size: var(--fs-bigmain);
  line-height: var(--lh-bigmain);
}
.grid__content__biography:not(.grid__content__biography--detailpage) p:not(:last-child) {
  margin-bottom: var(--lh-bigmain);
}

.grid__content__links {
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(2 * var(--base-space));
  margin-right: calc(0 * var(--base-space));
  margin-left: calc(0 * var(--base-space));
}
@media screen and (min-width: 1000px) {
  .grid__content__links {
    margin-top: calc(0 * var(--base-space));
    margin-bottom: calc(2 * var(--base-space));
    margin-right: calc(0 * var(--base-space));
    margin-left: calc(0 * var(--base-space));
  }
}

.grid__content__list {
  grid-column: 1/5;
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
}

.grid__content__links {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: var(--margin-sm);
  grid-column: 1/5;
}
@media screen and (min-width: 1000px) {
  .grid__content__links {
    column-gap: var(--margin-sm);
  }
}

.grid__content__link {
  border: 1px solid black;
  padding: 5px;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
.grid__content__link::before {
  content: "🔗";
  margin-right: var(--spaceMixedFont);
}

.grid__content__listgrid {
  grid-column: 1/5;
  row-gap: var(--margin-sm);
}
@media screen and (min-width: 1000px) {
  .grid__content__listgrid {
    display: flex;
    flex-direction: row;
    gap: var(--margin-sm);
    flex-wrap: wrap;
    align-items: baseline;
  }
}
.grid__content__listgrid .album__info {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
}
@media screen and (min-width: 1000px) {
  .grid__content__listgrid .album__info {
    column-gap: calc(var(--margin-sm) / 2);
  }
}

.grid__content__header {
  display: flex;
  align-items: baseline;
  column-gap: calc(var(--margin-sm) / 1);
}

.grid__content__grid {
  grid-column: 1/3;
}
@media screen and (min-width: 600px) {
  .grid__content__grid {
    gap: var(--margin-sm);
    grid-column: 1/4;
  }
}
@media screen and (min-width: 1000px) {
  .grid__content__grid {
    grid-column: 1/5;
  }
}

.grid__content__title {
  grid-column: 1/3;
  text-transform: uppercase;
}
@media screen and (min-width: 600px) {
  .grid__content__title {
    gap: var(--margin-sm);
    grid-column: 1/4;
  }
}
@media screen and (min-width: 1000px) {
  .grid__content__title {
    grid-column: 1/5;
  }
}
.grid__content__title--big {
  text-transform: none;
  font-size: var(--fs-bigmain);
  line-height: var(--lh-bigmain);
}
.grid__content__title--xxl {
  font-size: var(--fs-bigmain);
  line-height: var(--lh-bigmain);
}

.grid__content__margin--mobile {
  margin-top: var(--margin-md);
}
@media screen and (min-width: 600px) {
  .grid__content__margin--mobile {
    margin-top: unset;
  }
}

.grid__sidebar {
  grid-column: 1/2;
}

.grid__title {
  display: flex;
  column-gap: 3px;
  align-items: baseline;
  position: sticky;
  top: 0;
  background-color: var(--color-bg);
  width: 100%;
  z-index: 3;
  padding-top: calc(var(--margin-sm) * 1.5);
  padding-bottom: calc(var(--margin-sm) / 2);
  border-bottom: 1px solid black;
}
@media screen and (min-width: 600px) {
  .grid__title {
    border-bottom: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 600px) {
  .grid__title {
    border-bottom: 0px;
    padding-top: calc(var(--margin-sm) / 2);
  }
}
@media screen and (min-width: 600px) {
  .grid__title:not(.grid__title--noborder) {
    border-top: 1px solid black;
  }
}

input {
  outline: none;
}

.index--selectionDate .index__header__release {
  display: none;
}

.index--releaseDate .index__header__selection {
  display: none;
}

.header__filters {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  row-gap: 0;
}
@media screen and (min-width: 600px) {
  .header__filters {
    grid-column: 3/5;
    flex-wrap: nowrap;
  }
}

.header__filters {
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
@media screen and (min-width: 600px) {
  .header__filters {
    display: flex;
  }
}
.header__filters.hidden {
  display: none;
}

.header__filters {
  position: fixed;
  bottom: var(--margin-sm);
  padding: calc(var(--margin-sm) / 2);
  background-color: var(--color-bg);
  width: calc(100dvw - var(--margin-md));
  border: 1px solid black;
}
@media screen and (min-width: 600px) {
  .header__filters {
    background-color: transparent;
    border: none;
    position: unset;
    padding: unset;
  }
}

.index__filters {
  row-gap: 0;
}

.index__filters--sort {
  display: flex;
  column-gap: 2px;
}

.index__filters__container {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: calc(var(--margin-sm) / 2);
  justify-content: space-between;
  grid-column: 2/6;
}
@media screen and (min-width: 600px) {
  .index__filters__container {
    width: 100%;
    justify-content: start;
    column-gap: calc(var(--margin-sm));
  }
}

.index__filter {
  cursor: pointer;
  color: var(--color-text);
}

.index__filter {
  color: lightgrey;
}
.index__filter.js-indexFilter--selected {
  color: var(--color-text);
}

.index__arrow {
  cursor: pointer;
}
.index__arrow[data-dir=asc]:before {
  content: "▲︎";
  margin-right: var(--spaceMixedFont);
}
.index__arrow[data-dir=desc]:before {
  content: "▼︎";
  margin-right: var(--spaceMixedFont);
}

input::-moz-placeholder, input::-webkit-input-placeholder {
  opacity: 1 !important;
}

.album {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
}

.album__infos {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}

.album__infos--albumPage {
  gap: calc(var(--lh-main) / 2);
}

.album__info {
  display: flex;
  column-gap: 3px;
  align-items: baseline;
}
.album__info span {
  line-height: 1;
}

.album__info--close {
  position: absolute;
  top: 0;
  right: 0;
}

.album__cover {
  display: flex;
  position: relative;
  aspect-ratio: 1/1;
  cursor: pointer;
}
.album__cover img {
  border: 0.1px solid lightgray;
  aspect-ratio: 1/1;
}

.index__year .album__cover {
  cursor: pointer;
}

.OTW__symbol {
  position: absolute;
  right: 0px;
  top: -2px;
}

.OTW__symbol::before {
  content: "✴";
  font-size: 34px;
  color: lightgray;
}

.album__cover--linked {
  position: inherit;
  position: fixed;
  background-color: var(--color-bg);
  top: 0;
  left: var(--margin-sm);
  height: 100dvh;
  width: calc(100dvw - var(--margin-md));
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(1 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  row-gap: var(--margin-md);
  flex-direction: column;
  z-index: 10;
  cursor: auto;
}
@media screen and (min-width: 600px) {
  .album__cover--linked {
    position: relative;
    height: 100%;
    width: 100%;
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(0 * var(--base-space));
    left: 0;
  }
}

.album__cover--linked .album__cover__links {
  display: flex;
  height: 100%;
  overflow: auto;
  scrollbar-width: none;
}
@media screen and (min-width: 600px) {
  .album__cover--linked .album__cover__links {
    position: relative;
  }
}
@media screen and (min-width: 600px) {
  .album__cover--linked img {
    opacity: 0;
    position: absolute;
  }
}
.album__cover--linked .OTW__symbol {
  display: none;
}

.album__cover__links {
  background-color: var(--color-bg);
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  display: none;
  width: 100%;
  height: 100%;
  align-content: end;
}
@media screen and (min-width: 1000px) {
  .album__cover__links {
    align-content: start;
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(0 * var(--base-space));
    background-color: transparent;
    position: absolute;
  }
}

.album__cover__links__inner {
  grid-column: 2/6;
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 600px) {
  .album__cover__links__inner {
    align-items: self-start;
  }
}

.album__cover__link {
  border: 1px solid black;
  padding: 5px;
  -webkit-user-select: none; /* Safari */
  -ms-user-select: none; /* IE 10 and IE 11 */
  user-select: none; /* Standard syntax */
}
.album__cover__link::before {
  content: "🔗";
  margin-right: var(--spaceMixedFont);
}

.album__cover__links__group {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  column-gap: var(--margin-sm);
}
@media screen and (min-width: 1000px) {
  .album__cover__links__group {
    display: flex;
    flex-direction: row;
    gap: var(--margin-sm);
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: var(--margin-sm) !important;
  }
}

.album__cover__link--close {
  position: absolute;
  top: calc(var(--margin-sm) * 1.5);
  background-color: var(--color-bg);
  padding: 5px;
  border: 1px solid black;
  right: calc(var(--margin-sm) * 0.5);
}
@media screen and (min-width: 600px) {
  .album__cover__link--close {
    cursor: pointer;
    background-color: transparent;
    border: none;
    padding: 0;
    right: 5px;
    top: 3px;
  }
}

.album__tags {
  position: absolute;
  bottom: var(--margin-sm);
  left: var(--margin-sm);
  width: calc(100% - var(--margin-md));
  overflow: hidden;
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: var(--margin-sm);
  gap: calc(var(--margin-sm) / 2) !important;
}
@media screen and (min-width: 1000px) {
  .album__tags {
    gap: var(--margin-sm);
  }
}

.album__cover--linked .album__tags {
  display: none;
}

.album__tag {
  background-color: white;
  padding: 1px 4px;
  cursor: default;
}

.grid__content__albuminfos {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  row-gap: var(--margin-md);
  grid-column: 1/5;
}
@media screen and (min-width: 600px) {
  .grid__content__albuminfos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    align-items: start;
  }
}
@media screen and (min-width: 1000px) {
  .grid__content__albuminfos {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
    align-items: start;
  }
}
.grid__content__albuminfos .album__infos {
  row-gap: var(--margin-sm);
}
@media screen and (min-width: 1000px) {
  .grid__content__albuminfos .album__infos {
    grid-column: 2/4;
  }
}

.grid__content__cover {
  grid-column: 1/2;
}
@media screen and (min-width: 600px) {
  .grid__content__cover {
    gap: var(--margin-sm);
  }
}

.lazyloading {
  opacity: 0;
  background-color: lightgrey;
}

.lazyloaded {
  background-color: unset;
  opacity: 1;
}

.overlay {
  position: absolute;
  width: 100dvw;
  height: 100dvh;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 10;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  top: 0;
  left: 0;
}

.overlay + .content, .overlay {
  overflow: hidden;
}

.otw__header {
  transform: rotate(-90deg);
  font-family: "OrchardLinear";
  font-size: var(--fs-cursive);
  line-height: var(--lh-cursive);
  text-align: center;
  -webkit-text-stroke: 2px black;
  color: transparent;
  white-space: nowrap;
}
@media screen and (min-width: 600px) {
  .otw__header {
    transform: rotate(0deg);
  }
}

.otw__album__container {
  width: calc(100% - var(--margin-md) * 2);
  position: absolute;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  margin-top: calc(0 * var(--base-space));
  margin-bottom: calc(0 * var(--base-space));
  margin-right: calc(2 * var(--base-space));
  margin-left: calc(2 * var(--base-space));
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(4 * var(--base-space));
  padding-left: calc(4 * var(--base-space));
  height: 100%;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 600px) {
  .otw__album__container {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(0 * var(--base-space));
  }
}
.otw__album__container--secondAlbum {
  z-index: 1;
  transform: rotate(14deg) translateX(44px);
}

.otw__album__container__inner {
  grid-column: 1/4;
  position: relative;
}
@media screen and (min-width: 600px) {
  .otw__album__container__inner {
    grid-column: 2/3;
  }
}

.otw__album--first {
  z-index: 2;
  position: relative;
}

@keyframes slideInFromRight {
  0% {
    transform: rotate(14deg) translateX(44px);
  }
  100% {
    transform: rotate(14deg) translateX(144px);
  }
}
.otw__album--second {
  z-index: 1;
  position: absolute;
  top: 0;
  transform: rotate(14deg) translateX(44px);
  transition: transform 0.6s;
}

.otw__album--second:hover {
  transform: rotate(14deg) translateX(144px);
}

.otw__infos {
  width: calc(100% - var(--margin-sm) * 2);
  position: absolute;
  top: var(--margin-sm);
  margin-top: calc(1 * var(--base-space));
  margin-bottom: calc(1 * var(--base-space));
  margin-right: calc(1 * var(--base-space));
  margin-left: calc(1 * var(--base-space));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  left: 0;
  top: 0;
  z-index: 10;
}
@media screen and (min-width: 600px) {
  .otw__infos {
    width: calc(100% - var(--margin-md));
  }
}

.otw__infos__albums .album__info {
  row-gap: 0;
}

.otw__info {
  display: flex;
  align-items: baseline;
  column-gap: 2px;
}

.otw__title {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  top: 0;
  justify-content: center;
  width: calc(100% - var(--margin-md));
  position: absolute;
  margin-top: var(--margin-sm);
  z-index: 10;
}
.otw__title a {
  grid-column: 2/3;
}

.otw__album {
  display: flex;
}
.otw__album img {
  height: 100%;
  object-fit: contain;
}

.otw__cover {
  max-height: 100dvh;
}

.index--artists .index__part {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  row-gap: var(--margin-sm);
}
.index--artists .index__header {
  grid-column: 1/6;
}
@media screen and (min-width: 1000px) {
  .index--artists .index__header {
    border: none;
    grid-column: 2/3;
  }
}
.index--artists .index__content {
  grid-column: 1/6;
}
@media screen and (min-width: 1000px) {
  .index--artists .index__content {
    grid-column: 2/6;
  }
}

.about {
  grid-column: 1/6;
  padding-top: calc(1 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(0 * var(--base-space));
  padding-left: calc(0 * var(--base-space));
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  row-gap: var(--margin-md);
}
@media screen and (min-width: 600px) {
  .about {
    grid-column: 2/6;
  }
}
@media screen and (min-width: 1000px) {
  .about {
    padding-top: calc(0 * var(--base-space));
    padding-bottom: calc(0 * var(--base-space));
    padding-right: calc(0 * var(--base-space));
    padding-left: calc(0 * var(--base-space));
  }
}

.about__lists, .about__description {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
}

.about__lists {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: var(--margin-md);
  align-items: baseline;
  margin-top: var(--margin-md);
}
@media screen and (min-width: 1000px) {
  .about__lists {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-gap: var(--margin-md);
    align-items: baseline;
  }
}

.about__description {
  font-size: var(--fs-bigmain);
  line-height: var(--lh-bigmain);
  row-gap: var(--margin-md);
}

.about__list {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
}
.about__list .about__title {
  text-transform: lowercase;
  grid-column: 1/5;
}
@media screen and (min-width: 600px) {
  .about__list .about__title {
    grid-column: 1/5;
  }
}

.about__list__content {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  row-gap: 0;
}

section {
  width: calc(100dvw - var(--margin-md));
  flex: none;
  scroll-snap-align: start;
}

section:not(.overlay) {
  padding-bottom: var(--margin-lg);
}

.detail {
  gap: var(--margin-sm);
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-column: 1/6;
}

.index__search__container {
  border: 1px solid black;
  font-size: var(--fs-bigmain);
  line-height: var(--lh-bigmain);
  grid-column: 1/3;
  width: 100%;
  padding-top: calc(0 * var(--base-space));
  padding-bottom: calc(0 * var(--base-space));
  padding-right: calc(1 * var(--base-space));
  padding-left: calc(1 * var(--base-space));
}
@media screen and (min-width: 600px) {
  .index__search__container {
    grid-column: 1/5;
  }
}
@media screen and (min-width: 1000px) {
  .index__search__container {
    grid-column: 1/4;
  }
}

.index__search__container, .index__search__container form {
  display: flex;
  flex-direction: row;
  gap: var(--margin-sm);
  flex-wrap: wrap;
  align-items: baseline;
  align-items: center;
  width: 100%;
  flex-wrap: nowrap;
}

input, button {
  background-color: transparent;
  padding: 0;
  border: none;
}

input {
  flex: 1;
  color: var(--color-text);
}

.search__empty {
  color: lightgray;
}

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
  color: lightgrey;
}

:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
  color: lightgrey;
  opacity: 1;
}

::-moz-placeholder { /* Mozilla Firefox 19+ */
  color: lightgrey;
  opacity: 1;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: lightgrey;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: lightgrey;
}

::placeholder { /* Most modern browsers support this now. */
  color: lightgrey;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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RVAwNEJBO0FBQ0Y7QVd4d0JJO0VKdklGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBrNUJGO0FJMTVCRTtFTzJJRTtJQUdRO0VYZ3hCVjtBQUNGOztBVzV3QkE7RUFDSTtFQUNBO0VBQ0E7QVgrd0JKOztBVzV3QkE7RUFDSTtBWCt3Qko7QUl6NkJFO0VPeUpGO0lBR1E7SUFDQTtFWGl4Qk47QUFDRjtBSS82QkU7RU95SkY7SUFPUTtFWG14Qk47QUFDRjs7QVdoeEJBO0VBQ0k7RUFRQTtBWDR3Qko7QUl6N0JFO0VPb0tGO0lBR1E7SUFDQTtFWHN4Qk47QUFDRjtBSS83QkU7RU9vS0Y7SUFPUTtFWHd4Qk47QUFDRjtBV3R4Qkk7RUFDQTtFUDdKRjtFQUNBO0FKczdCRjtBV3Z4Qkk7RVBoS0Y7RUFDQTtBSjA3QkY7O0FXdHhCQTtFQUNJO0FYeXhCSjtBSWo5QkU7RU91TEY7SUFHUTtFWDJ4Qk47QUFDRjs7QVd4eEJBO0VBQ0k7QVgyeEJKOztBV3h4QkE7RUpoTEU7RUFDQTtFQUNBO0VJZ0xFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFSjNLRjtFQUNBO0FQeThCRjtBSXgrQkU7RU9rTUY7SUpqS0k7SUFDQTtFUDI4QkY7QUFDRjtBSTkrQkU7RU9rTUY7SUFXUTtJQUNBO0VYcXlCTjtBQUNGO0FJcC9CRTtFT2dORTtJQUVRO0VYc3lCVjtBQUNGOztBV2x5QkE7RUFDSTtBWHF5Qko7O0FXanlCSTtFQUNJO0FYb3lCUjs7QVcveEJJO0VBQ0k7QVhreUJSOztBWXhnQ0E7RUxPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VLVEU7QVorZ0NKO0FJOWdDRTtFUUhGO0lBSVE7SUFDQTtFWmloQ047QUFDRjs7QVk5Z0NBO0VBSUk7RUFDQTtFQUNBO0FaOGdDSjtBSTFoQ0U7RVFNRjtJQUVRO0Vac2hDTjtBQUNGO0FZbGhDSTtFQUFTO0FacWhDYjs7QVlsaENBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FacWhDSjtBSTNpQ0U7RVFnQkY7SUFRUTtJQUNBO0lBQ0E7SUFDQTtFWnVoQ047QUFDRjs7QVlwaENBO0VBQ0k7QVp1aENKOztBWXBoQ0E7RUFDSTtFQUNBO0FadWhDSjs7QVlwaENBO0VMcENFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUtrQ0U7RUFDQTtFQU9BO0FacWhDSjtBSXZrQ0U7RVF3Q0Y7SUFLUTtJQUVBO0lBQ0E7RVo2aENOO0FBQ0Y7O0FZemhDQTtFQUNJO0VBQ0E7QVo0aENKOztBWXhoQ0E7RUFDSTtBWjJoQ0o7QVkxaENJO0VBQ0k7QVo0aENSOztBWXhoQ0E7RUFDSTtBWjJoQ0o7QVkxaENJO0VBQ0U7RUFDQTtBWjRoQ047QVkxaENJO0VBQ0U7RUFDQTtBWjRoQ047O0FZdmhDQTtFQUVJO0FaeWhDSjs7QWE5bUNBO0VOZ0JFO0VBQ0E7RUFDQTtBUGttQ0Y7O0FhaG5DQTtFTllFO0VBQ0E7RUFDQTtFTVpFO0VBQ0E7QWJxbkNKOztBYWxuQ0E7RUFDSTtBYnFuQ0o7O0FhbG5DQTtFTlFFO0VBQ0E7RUFDQTtBUDhtQ0Y7QWF0bkNJO0VBQ0k7QWJ3bkNSOztBYXBuQ0E7RUFDSTtFQUNGO0VBQ0E7QWJ1bkNGOztBYXBuQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYnVuQ0o7QWF0bkNJO0VBQ0k7RUFDQTtBYnduQ1I7O0FhcG5DQTtFQUNJO0FidW5DSjs7QWFwbkNBO0VBQ0k7RUFDQTtFQUNBO0FidW5DSjs7QWFwbkNBO0VBQ0k7RUFDQTtFQUNBO0FidW5DSjs7QWExbENBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUp6RUE7RUFDQTtFQUNBO0VBQ0E7RUl3RUE7RUFDQTtFQUNBO0VBQ0E7QWJnbUNKO0FJeHJDRTtFUzRFRjtJQWNRO0lBQ0E7SUFDQTtJSnZGSjtJQUNBO0lBQ0E7SUFDQTtJSXNGSTtFYnFtQ047QUFDRjs7QWFqbUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWJvbUNSO0FJM3NDRTtFU21HRTtJQU1RO0Vic21DVjtBQUNGO0FJaHRDRTtFUzRHRTtJQUVRO0lBQ0E7RWJzbUNWO0FBQ0Y7QWFwbUNJO0VBQ0k7QWJzbUNSOztBYWxtQ0E7RUFDSTtFTjVHRjtFQUNBO0VBQ0E7RU00R0U7RUFDQTtFQUNBO0VBQ0E7QWJ1bUNKO0FJcHVDRTtFU3VIRjtJQVFRO0lKMUhKO0lBQ0E7SUFDQTtJQUNBO0lJeUhJO0lBQ0E7RWI0bUNOO0FBQ0Y7O0Fhem1DQTtFQUNJO0VOM0hGO0VBQ0E7RUFDQTtBUHd1Q0Y7QUl0dkNFO0VTc0lGO0lBSVE7RWJnbkNOO0FBQ0Y7O0FhN21DQTtFTm5HRTtFQUNBO0VBQ0U7RUFDQTtFQUNBO0FQb3RDSjtBT2x0Q0U7RUFDSTtFQUNBO0FQb3RDTjs7QWFybkNBO0VOdElFO0VBQ0E7RUFDQTtFTXNJRTtBYjBuQ0o7QUk5d0NFO0VTa0pGO0lOOUlFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SU1nSk07RWIrbkNOO0FBQ0Y7O0FhNW5DQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYjhuQ0o7QUlqeUNFO0VTNEpGO0lBU1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0ViZ29DTjtBQUNGOztBYTduQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VOL0tGO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RU02S0U7RUFDQTtBYm9vQ0o7QUkxekNFO0VTOEtGO0lBV1E7RWJxb0NOO0FBQ0Y7O0FhbG9DQTtFQUNJO0FicW9DSjs7QWFsb0NBO0VBQ0k7RUFDQTtFQUNBO0FicW9DSjs7QWFsb0NBO0VOM0xFO0VBQ0E7RUFDQTtFTTJMRTtFQVVBO0FiOG5DSjtBSWoxQ0U7RVN1TUY7SU4xTUU7SUFDQTtJQUNBLDBCQUgwQjtJQUkxQjtJTTRNTTtFYjZvQ047QUFDRjtBSTExQ0U7RVN1TUY7SU4xTUU7SUFDQTtJQUNBLDBCQUgwQjtJQUkxQjtJTWlOTTtFYmlwQ047QUFDRjtBYTVvQ0k7RUFJSTtBYjJvQ1I7QUl0MkNFO0VTdU5FO0lBRVE7RWJpcENWO0FBQ0Y7O0FhM29DQTtFQUNJO0FiOG9DSjtBSS8yQ0U7RVNnT0Y7SUFHUTtFYmdwQ047QUFDRjs7QWE3b0NBO0VBQ0k7RUFDQTtBYmdwQ0o7O0FhN29DQTtFQUNJO0VBQ0E7QWJncENKOztBY2w0Q0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZHE0Q0o7O0FjajRDQTtFQUNJO0FkbzRDSjs7QWNqNENBO0VBQ0k7RUFJQTtFVkpGO0VBQ0E7RVVLRTtFQUNBO0VBRUE7RUFDQTtBZGk0Q0o7QUk3NUNFO0VVaUJGO0lBR1E7RWQ2NENOO0FBQ0Y7O0FjbjRDQTtFQUNJO0VBQ0E7RVBwQ0Y7RUFDQTtFQUNBLDBCQUgwQjtFQUkxQjtFRVVFO0VBQ0E7RUFDQTtFQUNBO0VBSEE7RUFDQTtFQUNBO0VBQ0E7RUt5QkE7RUFDRjtFQUNBO0FkODRDRjtBSXQ3Q0U7RVUrQkY7SUwxQkk7SUFDQTtJQUNBO0lBQ0E7RVRxN0NGO0FBQ0Y7QWNsNUNJO0VBQ0k7RUFDQTtBZG81Q1I7O0FjaDVDQTtFQUNJO0VBSUE7QWRnNUNKO0FJdjhDRTtFVWtERjtJQUdRO0VkczVDTjtBQUNGOztBY2w1Q0E7RUFDSTtFQUNBO0FkcTVDSjs7QWNsNUNBO0VBQ0k7SUFDSTtFZHE1Q047RWNuNUNFO0lBQ0k7RWRxNUNOO0FBQ0Y7QWNsNUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG81Q0o7O0FjajVDQTtFQUNJO0FkbzVDSjs7QWNqNUNBO0VBQ0k7RUFLQTtFQUNBO0VMakZBO0VBQ0E7RUFDQTtFQUNBO0VGaEJGO0VBQ0E7RUFDQSwwQkFIMEI7RUFJMUI7RU84RkU7RUFDQTtFQUNBO0FkczVDSjtBSXQvQ0U7RVVvRkY7SUFJUTtFZGs2Q047QUFDRjs7QWN4NUNBO0VBRUk7QWQwNUNKOztBY3Y1Q0E7RUFDSTtFQUNBO0VBQ0E7QWQwNUNKOztBY3Y1Q0E7RVAxR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFT3dHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QWQ2NUNKO0FjNTVDSTtFQUNJO0FkODVDUjs7QWN6NUNBO0VBQ0k7QWQ0NUNKO0FjMzVDSTtFQUNJO0VBQ0E7QWQ2NUNSOztBY3o1Q0E7RUFDSTtBZDQ1Q0o7O0FlcmlESTtFUkFGO0VBQ0E7RUFDQSwwQkFIMEI7RUFJMUI7RVFETTtBZjJpRFI7QWV6aURJO0VBQ0k7QWYyaURSO0FJN2lERTtFV0NFO0lBR1E7SUFDQTtFZjZpRFY7QUFDRjtBZTNpREk7RUFDSTtBZjZpRFI7QUl0akRFO0VXUUU7SUFHUTtFZitpRFY7QUFDRjs7QWdCL2pEQTtFQUNJO0VQdUJBO0VBQ0E7RUFDQTtFQUNBO0VGWEY7RUFDQTtFQUNBO0VTUkU7QWhCaWtESjtBSXZrREU7RVlKRjtJQUlRO0VoQjJrRE47QUFDRjtBSTVrREU7RVlKRjtJUFNJO0lBQ0E7SUFDQTtJQUNBO0VUMmtERjtBQUNGOztBZ0Iza0RBO0VUR0U7RUFDQTtFQUNBO0FQNGtERjs7QWdCN2tEQTtFVGhCRTtFQUNBO0VBQ0EsMEJBSDBCO0VBSTFCO0VTa0JFO0FoQmdsREo7QUlsbURFO0VZYUY7SVRoQkU7SUFDQTtJQUNBLDBCQUgwQjtJQUkxQjtFUHltREE7QUFDRjs7QWdCcmxEQTtFWkhFO0VBQ0E7RVlJRTtBaEJ5bERKOztBZ0J0bERBO0VUZEU7RUFDQTtFQUNBO0FQd21ERjtBZ0J2bERJO0VBQ0k7RUFDQTtBaEJ5bERSO0FJMW5ERTtFWStCRTtJQUlRO0VoQjJsRFY7QUFDRjs7QWdCdmxEQTtFVDVCRTtFQUNBO0VBQ0E7RVM0QkU7QWhCNGxESjs7QWlCMW9EQTtFQUNJO0VBQ0E7RUFDQTtBakI2b0RKOztBaUIxb0RBO0VBQ0k7QWpCNm9ESjs7QWtCcHBEQTtFWGdCRTtFQUNBO0VBQ0E7RVdoQkU7RUFDQTtBbEJ5cERKOztBbUI1cERBO0VBQ0k7RWZxQkY7RUFDQTtFZXBCRTtFQUNBO0VWVUE7RUFDQTtFQUNBO0VBQ0E7QVR1cERKO0FJcHFERTtFZUpGO0lBT1E7RW5CcXFETjtBQUNGO0FJenFERTtFZUpGO0lBVVE7RW5CdXFETjtBQUNGOztBbUJwcURBO0VaTkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFWUlFO0VBQ0E7RUFDQTtBbkIycURKOztBbUJ4cURBO0VBQ0k7RUFDQTtFQUNBO0FuQjJxREo7O0FtQnhxREE7RUFDSTtFQUNBO0FuQjJxREo7O0FtQnhxREE7RUFDSTtBbkIycURKOztBbUJ4cURBO0VBQ0k7QW5CMnFESjs7QW1CenFEQTtFQUNHO0VBQ0E7QW5CNHFESDs7QW1CMXFEQTtFQUNHO0VBQ0E7QW5CNnFESDs7QW1CM3FEQTtFQUNHO0FuQjhxREg7O0FtQjVxREE7RUFDRztBbkIrcURIOztBbUI1cURBO0VBQ0c7QW5CK3FESCxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vc2Nzcy9hcHBsaWNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX2xpYi9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fY29uZmlnL2NvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX2NvbmZpZy9yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fY29uZmlnL2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX3BhcnRpYWxzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fcGFydGlhbHMvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19wYXJ0aWFscy9fbWFyZ2lucy5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvbWFpbi5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvaW5kZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2ZpbHRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2FsYnVtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9vdmVybGF5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9hcnRpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9hYm91dC5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvc2VjdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvZGV0YWlsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9zZWFyY2guc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG46cm9vdCB7XG4gIC0tYmFzZS1zcGFjZTogMTBweDtcbiAgLS1jb2xvci10ZXh0OiBibGFjaztcbiAgLS1jb2xvci1saW5rOiBibGFjaztcbiAgLS1jb2xvci1iZzogd2hpdGU7XG4gIC0tc3BhY2VNaXhlZEZvbnQ6IDNweDtcbiAgLS1oZWFkZXJIZWlnaHQ6IGNhbGModmFyKC0tbWFyZ2luLW1kKSAqIDEuNSArIHZhcigtLWxoLW1haW4pKTtcbn1cblxuOnJvb3Qge1xuICAtLW1hcmdpbi1zbTogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDEpO1xuICAtLW1hcmdpbi1tZDogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDIpO1xuICAtLW1hcmdpbi1sZzogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqIDQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZzLWN1cnNpdmU6IDQwdnc7XG4gICAgLS1saC1jdXJzaXZlOiAxMjBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZnMtY3Vyc2l2ZTogMjR2dztcbiAgICAtLWxoLWN1cnNpdmU6IDI3ZHZoO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZnMtbWFpbjogMTBweDtcbiAgICAtLWxoLW1haW46IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBweCkge1xuICA6cm9vdCB7XG4gICAgLS1mcy1iaWdtYWluOiAyMHB4O1xuICAgIC0tbGgtYmlnbWFpbjogMjVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIDpyb290IHtcbiAgICAtLWZzLWJpZ21haW46IDMwcHg7XG4gICAgLS1saC1iaWdtYWluOiAzNHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0tZnMtc2VyaWY6IDE3cHg7XG4gICAgLS1saC1zZXJpZjogMTZweDtcbiAgfVxufVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YWZ0ZXIsXG4qOmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbioge1xuICBtYXJnaW46IDA7XG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImtlcm5cIiAxO1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gIC13ZWJraXQtZm9udC1rZXJuaW5nOiBub3JtYWw7XG4gIGZvbnQta2VybmluZzogbm9ybWFsO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSxcbmh0bWwge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IEFCQ1JlcHJvLCBhcmlhbCBibGFjaztcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1tYWluKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLW1haW4pO1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbn1cblxuaHRtbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJnKTtcbn1cblxuaHRtbC5wYW5lbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxuaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5pLFxuZW0ge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnNtYWxsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQUJDUmVwcm87XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQUJDUmVwcm8ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9BQkNSZXByby53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGF1dG87XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEtvbW11bmE0MDBOYXJyb3c7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvS29tbXVuYTQwME5hcnJvdy53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0tvbW11bmE0MDBOYXJyb3cud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBPcmNoYXJkTGluZWFyO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL09yY2hhcmRMaW5lYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9PcmNoYXJkTGluZWFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYXV0bztcbn1cbmxpIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oZWFkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdyaWQtY29sdW1uOiAxLzk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICBoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICBoZWFkZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIH1cbn1cblxuaGVhZGVyIGEsIGhlYWRlciA+IGRpdiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuXG4uaGVhZGVyX19ncm91cCBhIHtcbiAgY29sb3I6IGxpZ2h0Z3JheTtcbn1cblxuLmhlYWRlcl9fc2VhcmNoIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuaGVhZGVyX19zZWFyY2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1jb2x1bW46IDUvNjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmhlYWRlcl9fc2VhcmNoLS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oZWFkZXJfX3NlYXJjaC0tbW9iaWxlIHN2ZyB7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1saC1tYWluKSAvIDEuNyk7XG4gIHdpZHRoOiB2YXIoLS1saC1tYWluKTtcbn1cblxuW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuaGVhZGVyID4gYTpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiBjYWxjKDUwJSArIDEwcHgpO1xufVxuXG4uaGVhZGVyX19ob21lIHtcbiAgd2lkdGg6IGNhbGMoNTAlICsgMTBweCk7XG59XG4uaGVhZGVyX19ob21lIGEge1xuICBjb2x1bW4tZ2FwOiAycHg7XG59XG5cbi5oZWFkZXJfX2dyb3VwIHtcbiAgZmxleDogMTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmhlYWRlcl9fZ3JvdXAge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbn1cbi5oZWFkZXJfX2dyb3VwIC5oZWFkZXJfX2dyb3VwX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IDJweDtcbn1cblxuaHRtbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmJvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDBkdmg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG5tYWluIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLW1hcmdpbi1zbSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pICogMS41ICsgdmFyKC0tbGgtbWFpbikgKyAzcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXJIZWlnaHQpO1xuICB9XG59XG5cbi5tYWluLS1zd2lwZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICBwYWRkaW5nLXRvcDogMDtcbiAgei1pbmRleDogNDtcbn1cblxuLm1haW4gc2VjdGlvbjpub3QoLm92ZXJsYXkpIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pICogMS41ICsgdmFyKC0tbGgtbWFpbikgKyAzcHgpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm1haW4gc2VjdGlvbjpub3QoLm92ZXJsYXkpIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0taGVhZGVySGVpZ2h0KTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtc2VyaWYpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtc2VyaWYpO1xuICBmb250LWZhbWlseTogXCJLb21tdW5hNDAwTmFycm93XCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG5zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBoZWlnaHQ6IDEwMGR2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuc2VjdGlvbiwgbWFpbiB7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbnNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLCBtYWluOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5pbmRleCB7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBncmlkLWNvbHVtbjogMS82O1xufVxuXG4uaW5kZXhfX3BhcnQge1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYygxICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgZ3JpZC1jb2x1bW46IDEvNjtcbiAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmluZGV4X19wYXJ0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5cbi5pbmRleF9fY29udGVudCB7XG4gIGdyaWQtY29sdW1uOiAyLzY7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuaW5kZXhfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmluZGV4X19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgfVxufVxuLmluZGV4X19jb250ZW50LS1kZXRhaWxQYWdlIC5pbmRleF9fY29udGVudF9fYWxidW1zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmluZGV4X19jb250ZW50LS1kZXRhaWxQYWdlIC5pbmRleF9fY29udGVudF9fYWxidW1zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cbn1cblxuLmluZGV4X19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAzcHg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ3JpZC1jb2x1bW46IDEvMjtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwcHg7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgKiAxLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAzO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1tYXJnaW4tc20pIC8gMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5pbmRleF9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZ3JpZCB7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBncmlkLWNvbHVtbjogMS82O1xuICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICB9XG59XG5cbi5ncmlkX19jb250ZW50LCAuZ3JpZF9fY29udGVudF9fZ3JpZCwgLmdyaWRfX2NvbnRlbnRfX2xpc3RncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuZ3JpZF9fY29udGVudCwgLmdyaWRfX2NvbnRlbnRfX2dyaWQsIC5ncmlkX19jb250ZW50X19saXN0Z3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ3JpZC1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdyaWQtY29sdW1uOiAyLzU7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50LCAuZ3JpZF9fY29udGVudF9fZ3JpZCwgLmdyaWRfX2NvbnRlbnRfX2xpc3RncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgZ3JpZC1jb2x1bW46IDIvNjtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuICB9XG59XG5cbi5ncmlkX19jb250ZW50X19iaW9ncmFwaHkge1xuICBncmlkLWNvbHVtbjogMS81O1xuICBmb250LXNpemU6IHZhcigtLWZzLWJpZ21haW4pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtYmlnbWFpbik7XG59XG4uZ3JpZF9fY29udGVudF9fYmlvZ3JhcGh5Om5vdCguZ3JpZF9fY29udGVudF9fYmlvZ3JhcGh5LS1kZXRhaWxwYWdlKSBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1saC1iaWdtYWluKTtcbn1cblxuLmdyaWRfX2NvbnRlbnRfX2xpbmtzIHtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDIgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X19saW5rcyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoMiAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5cbi5ncmlkX19jb250ZW50X19saXN0IHtcbiAgZ3JpZC1jb2x1bW46IDEvNTtcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZ3JpZF9fY29udGVudF9fbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBncmlkLWNvbHVtbjogMS81O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X19saW5rcyB7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgfVxufVxuXG4uZ3JpZF9fY29udGVudF9fbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBwYWRkaW5nOiA1cHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG59XG4uZ3JpZF9fY29udGVudF9fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCLwn5SXXCI7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2VNaXhlZEZvbnQpO1xufVxuXG4uZ3JpZF9fY29udGVudF9fbGlzdGdyaWQge1xuICBncmlkLWNvbHVtbjogMS81O1xuICByb3ctZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X19saXN0Z3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICB9XG59XG4uZ3JpZF9fY29udGVudF9fbGlzdGdyaWQgLmFsYnVtX19pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuZ3JpZF9fY29udGVudF9fbGlzdGdyaWQgLmFsYnVtX19pbmZvIHtcbiAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgLyAyKTtcbiAgfVxufVxuXG4uZ3JpZF9fY29udGVudF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgLyAxKTtcbn1cblxuLmdyaWRfX2NvbnRlbnRfX2dyaWQge1xuICBncmlkLWNvbHVtbjogMS8zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmdyaWRfX2NvbnRlbnRfX2dyaWQge1xuICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBncmlkLWNvbHVtbjogMS80O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmdyaWRfX2NvbnRlbnRfX2dyaWQge1xuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gIH1cbn1cblxuLmdyaWRfX2NvbnRlbnRfX3RpdGxlIHtcbiAgZ3JpZC1jb2x1bW46IDEvMztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X190aXRsZSB7XG4gICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIGdyaWQtY29sdW1uOiAxLzQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuZ3JpZF9fY29udGVudF9fdGl0bGUge1xuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gIH1cbn1cbi5ncmlkX19jb250ZW50X190aXRsZS0tYmlnIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtYmlnbWFpbik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC1iaWdtYWluKTtcbn1cbi5ncmlkX19jb250ZW50X190aXRsZS0teHhsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1iaWdtYWluKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWJpZ21haW4pO1xufVxuXG4uZ3JpZF9fY29udGVudF9fbWFyZ2luLS1tb2JpbGUge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tbWQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmdyaWRfX2NvbnRlbnRfX21hcmdpbi0tbW9iaWxlIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxufVxuXG4uZ3JpZF9fc2lkZWJhciB7XG4gIGdyaWQtY29sdW1uOiAxLzI7XG59XG5cbi5ncmlkX190aXRsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbHVtbi1nYXA6IDNweDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgKiAxLjUpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1tYXJnaW4tc20pIC8gMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5ncmlkX190aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmdyaWRfX3RpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAvIDIpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuZ3JpZF9fdGl0bGU6bm90KC5ncmlkX190aXRsZS0tbm9ib3JkZXIpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgYmxhY2s7XG4gIH1cbn1cblxuaW5wdXQge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaW5kZXgtLXNlbGVjdGlvbkRhdGUgLmluZGV4X19oZWFkZXJfX3JlbGVhc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaW5kZXgtLXJlbGVhc2VEYXRlIC5pbmRleF9faGVhZGVyX19zZWxlY3Rpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGVhZGVyX19maWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgcm93LWdhcDogMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5oZWFkZXJfX2ZpbHRlcnMge1xuICAgIGdyaWQtY29sdW1uOiAzLzU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLmhlYWRlcl9fZmlsdGVycyB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuaGVhZGVyX19maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uaGVhZGVyX19maWx0ZXJzLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oZWFkZXJfX2ZpbHRlcnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdmFyKC0tbWFyZ2luLXNtKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1tYXJnaW4tc20pIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgd2lkdGg6IGNhbGMoMTAwZHZ3IC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmhlYWRlcl9fZmlsdGVycyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICBwYWRkaW5nOiB1bnNldDtcbiAgfVxufVxuXG4uaW5kZXhfX2ZpbHRlcnMge1xuICByb3ctZ2FwOiAwO1xufVxuXG4uaW5kZXhfX2ZpbHRlcnMtLXNvcnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2x1bW4tZ2FwOiAycHg7XG59XG5cbi5pbmRleF9fZmlsdGVyc19fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pIC8gMik7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ3JpZC1jb2x1bW46IDIvNjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5pbmRleF9fZmlsdGVyc19fY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tbWFyZ2luLXNtKSk7XG4gIH1cbn1cblxuLmluZGV4X19maWx0ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLmluZGV4X19maWx0ZXIge1xuICBjb2xvcjogbGlnaHRncmV5O1xufVxuLmluZGV4X19maWx0ZXIuanMtaW5kZXhGaWx0ZXItLXNlbGVjdGVkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uaW5kZXhfX2Fycm93IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmluZGV4X19hcnJvd1tkYXRhLWRpcj1hc2NdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4pay77iOXCI7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2VNaXhlZEZvbnQpO1xufVxuLmluZGV4X19hcnJvd1tkYXRhLWRpcj1kZXNjXTpiZWZvcmUge1xuICBjb250ZW50OiBcIuKWvO+4jlwiO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlTWl4ZWRGb250KTtcbn1cblxuaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4uYWxidW0ge1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hbGJ1bV9faW5mb3Mge1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYWxidW1fX2luZm9zLS1hbGJ1bVBhZ2Uge1xuICBnYXA6IGNhbGModmFyKC0tbGgtbWFpbikgLyAyKTtcbn1cblxuLmFsYnVtX19pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sdW1uLWdhcDogM3B4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG4uYWxidW1fX2luZm8gc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uYWxidW1fX2luZm8tLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4uYWxidW1fX2NvdmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFsYnVtX19jb3ZlciBpbWcge1xuICBib3JkZXI6IDAuMXB4IHNvbGlkIGxpZ2h0Z3JheTtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG59XG5cbi5pbmRleF9feWVhciAuYWxidW1fX2NvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uT1RXX19zeW1ib2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwcHg7XG4gIHRvcDogLTJweDtcbn1cblxuLk9UV19fc3ltYm9sOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKctFwiO1xuICBmb250LXNpemU6IDM0cHg7XG4gIGNvbG9yOiBsaWdodGdyYXk7XG59XG5cbi5hbGJ1bV9fY292ZXItLWxpbmtlZCB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiB2YXIoLS1tYXJnaW4tc20pO1xuICBoZWlnaHQ6IDEwMGR2aDtcbiAgd2lkdGg6IGNhbGMoMTAwZHZ3IC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHJvdy1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuYWxidW1fX2NvdmVyLS1saW5rZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5hbGJ1bV9fY292ZXItLWxpbmtlZCAuYWxidW1fX2NvdmVyX19saW5rcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5hbGJ1bV9fY292ZXItLWxpbmtlZCAuYWxidW1fX2NvdmVyX19saW5rcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuYWxidW1fX2NvdmVyLS1saW5rZWQgaW1nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuLmFsYnVtX19jb3Zlci0tbGlua2VkIC5PVFdfX3N5bWJvbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hbGJ1bV9fY292ZXJfX2xpbmtzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGFsaWduLWNvbnRlbnQ6IGVuZDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYWxidW1fX2NvdmVyX19saW5rcyB7XG4gICAgYWxpZ24tY29udGVudDogc3RhcnQ7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cblxuLmFsYnVtX19jb3Zlcl9fbGlua3NfX2lubmVyIHtcbiAgZ3JpZC1jb2x1bW46IDIvNjtcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmFsYnVtX19jb3Zlcl9fbGlua3NfX2lubmVyIHtcbiAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgfVxufVxuXG4uYWxidW1fX2NvdmVyX19saW5rIHtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIHBhZGRpbmc6IDVweDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbn1cbi5hbGJ1bV9fY292ZXJfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi8J+Ul1wiO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlTWl4ZWRGb250KTtcbn1cblxuLmFsYnVtX19jb3Zlcl9fbGlua3NfX2dyb3VwIHtcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5hbGJ1bV9fY292ZXJfX2xpbmtzX19ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYWxidW1fX2NvdmVyX19saW5rLS1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgKiAxLjUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gIHBhZGRpbmc6IDVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgKiAwLjUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmFsYnVtX19jb3Zlcl9fbGluay0tY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4O1xuICB9XG59XG5cbi5hbGJ1bV9fdGFncyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiB2YXIoLS1tYXJnaW4tc20pO1xuICBsZWZ0OiB2YXIoLS1tYXJnaW4tc20pO1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGdhcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pIC8gMikgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuYWxidW1fX3RhZ3Mge1xuICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgfVxufVxuXG4uYWxidW1fX2NvdmVyLS1saW5rZWQgLmFsYnVtX190YWdzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFsYnVtX190YWcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMXB4IDRweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uZ3JpZF9fY29udGVudF9fYWxidW1pbmZvcyB7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgZ3JpZC1jb2x1bW46IDEvNTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X19hbGJ1bWluZm9zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICBncmlkLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmdyaWRfX2NvbnRlbnRfX2FsYnVtaW5mb3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIH1cbn1cbi5ncmlkX19jb250ZW50X19hbGJ1bWluZm9zIC5hbGJ1bV9faW5mb3Mge1xuICByb3ctZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X19hbGJ1bWluZm9zIC5hbGJ1bV9faW5mb3Mge1xuICAgIGdyaWQtY29sdW1uOiAyLzQ7XG4gIH1cbn1cblxuLmdyaWRfX2NvbnRlbnRfX2NvdmVyIHtcbiAgZ3JpZC1jb2x1bW46IDEvMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5ncmlkX19jb250ZW50X19jb3ZlciB7XG4gICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICB9XG59XG5cbi5sYXp5bG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcbn1cblxuLmxhenlsb2FkZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDBkdnc7XG4gIGhlaWdodDogMTAwZHZoO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5vdmVybGF5ICsgLmNvbnRlbnQsIC5vdmVybGF5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm90d19faGVhZGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgZm9udC1mYW1pbHk6IFwiT3JjaGFyZExpbmVhclwiO1xuICBmb250LXNpemU6IHZhcigtLWZzLWN1cnNpdmUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtY3Vyc2l2ZSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IGJsYWNrO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAub3R3X19oZWFkZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5vdHdfX2FsYnVtX19jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWFyZ2luLW1kKSAqIDIpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBtYXJnaW4tbGVmdDogY2FsYygyICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDQgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIHBhZGRpbmctbGVmdDogY2FsYyg0ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLm90d19fYWxidW1fX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuLm90d19fYWxidW1fX2NvbnRhaW5lci0tc2Vjb25kQWxidW0ge1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZykgdHJhbnNsYXRlWCg0NHB4KTtcbn1cblxuLm90d19fYWxidW1fX2NvbnRhaW5lcl9faW5uZXIge1xuICBncmlkLWNvbHVtbjogMS80O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAub3R3X19hbGJ1bV9fY29udGFpbmVyX19pbm5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgfVxufVxuXG4ub3R3X19hbGJ1bS0tZmlyc3Qge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkZyb21SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZykgdHJhbnNsYXRlWCg0NHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZykgdHJhbnNsYXRlWCgxNDRweCk7XG4gIH1cbn1cbi5vdHdfX2FsYnVtLS1zZWNvbmQge1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpIHRyYW5zbGF0ZVgoNDRweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzO1xufVxuXG4ub3R3X19hbGJ1bS0tc2Vjb25kOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpIHRyYW5zbGF0ZVgoMTQ0cHgpO1xufVxuXG4ub3R3X19pbmZvcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pICogMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1tYXJnaW4tc20pO1xuICBtYXJnaW4tdG9wOiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDEgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5vdHdfX2luZm9zIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gIH1cbn1cblxuLm90d19faW5mb3NfX2FsYnVtcyAuYWxidW1fX2luZm8ge1xuICByb3ctZ2FwOiAwO1xufVxuXG4ub3R3X19pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBjb2x1bW4tZ2FwOiAycHg7XG59XG5cbi5vdHdfX3RpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgdG9wOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1hcmdpbi1tZCkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1zbSk7XG4gIHotaW5kZXg6IDEwO1xufVxuLm90d19fdGl0bGUgYSB7XG4gIGdyaWQtY29sdW1uOiAyLzM7XG59XG5cbi5vdHdfX2FsYnVtIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5vdHdfX2FsYnVtIGltZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLm90d19fY292ZXIge1xuICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG59XG5cbi5pbmRleC0tYXJ0aXN0cyAuaW5kZXhfX3BhcnQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIHJvdy1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG59XG4uaW5kZXgtLWFydGlzdHMgLmluZGV4X19oZWFkZXIge1xuICBncmlkLWNvbHVtbjogMS82O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5pbmRleC0tYXJ0aXN0cyAuaW5kZXhfX2hlYWRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gIH1cbn1cbi5pbmRleC0tYXJ0aXN0cyAuaW5kZXhfX2NvbnRlbnQge1xuICBncmlkLWNvbHVtbjogMS82O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5pbmRleC0tYXJ0aXN0cyAuaW5kZXhfX2NvbnRlbnQge1xuICAgIGdyaWQtY29sdW1uOiAyLzY7XG4gIH1cbn1cblxuLmFib3V0IHtcbiAgZ3JpZC1jb2x1bW46IDEvNjtcbiAgcGFkZGluZy10b3A6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLmFib3V0IHtcbiAgICBncmlkLWNvbHVtbjogMi82O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmFib3V0IHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDAgKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygwICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9XG59XG5cbi5hYm91dF9fbGlzdHMsIC5hYm91dF9fZGVzY3JpcHRpb24ge1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hYm91dF9fbGlzdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdyaWQtZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi1tZCk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmFib3V0X19saXN0cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgZ3JpZC1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICB9XG59XG5cbi5hYm91dF9fZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IHZhcigtLWZzLWJpZ21haW4pO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgtYmlnbWFpbik7XG4gIHJvdy1nYXA6IHZhcigtLW1hcmdpbi1tZCk7XG59XG5cbi5hYm91dF9fbGlzdCB7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5hYm91dF9fbGlzdCAuYWJvdXRfX3RpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgZ3JpZC1jb2x1bW46IDEvNTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5hYm91dF9fbGlzdCAuYWJvdXRfX3RpdGxlIHtcbiAgICBncmlkLWNvbHVtbjogMS81O1xuICB9XG59XG5cbi5hYm91dF9fbGlzdF9fY29udGVudCB7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcm93LWdhcDogMDtcbn1cblxuc2VjdGlvbiB7XG4gIHdpZHRoOiBjYWxjKDEwMGR2dyAtIHZhcigtLW1hcmdpbi1tZCkpO1xuICBmbGV4OiBub25lO1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG59XG5cbnNlY3Rpb246bm90KC5vdmVybGF5KSB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1tYXJnaW4tbGcpO1xufVxuXG4uZGV0YWlsIHtcbiAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDA7XG4gIGdyaWQtY29sdW1uOiAxLzY7XG59XG5cbi5pbmRleF9fc2VhcmNoX19jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1iaWdtYWluKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoLWJpZ21haW4pO1xuICBncmlkLWNvbHVtbjogMS8zO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoMCAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgcGFkZGluZy1yaWdodDogY2FsYygxICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5pbmRleF9fc2VhcmNoX19jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAuaW5kZXhfX3NlYXJjaF9fY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMS80O1xuICB9XG59XG5cbi5pbmRleF9fc2VhcmNoX19jb250YWluZXIsIC5pbmRleF9fc2VhcmNoX19jb250YWluZXIgZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuaW5wdXQsIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmlucHV0IHtcbiAgZmxleDogMTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG4uc2VhcmNoX19lbXB0eSB7XG4gIGNvbG9yOiBsaWdodGdyYXk7XG59XG5cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIFdlYktpdCwgQmxpbmssIEVkZ2UgKi9cbiAgY29sb3I6IGxpZ2h0Z3JleTtcbn1cblxuOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggNCB0byAxOCAqL1xuICBjb2xvcjogbGlnaHRncmV5O1xuICBvcGFjaXR5OiAxO1xufVxuXG46Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiBsaWdodGdyZXk7XG4gIG9wYWNpdHk6IDE7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICBjb2xvcjogbGlnaHRncmV5O1xufVxuXG46Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIE1pY3Jvc29mdCBFZGdlICovXG4gIGNvbG9yOiBsaWdodGdyZXk7XG59XG5cbjo6cGxhY2Vob2xkZXIgeyAvKiBNb3N0IG1vZGVybiBicm93c2VycyBzdXBwb3J0IHRoaXMgbm93LiAqL1xuICBjb2xvcjogbGlnaHRncmV5O1xufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBDT05GSUdVUkFURSBET0NVTUVOVFxuXG4kZm9udHNpemU6IChcbiAgY3Vyc2l2ZTogKFxuICAgIHhzOiAoXG4gICAgICBmczogNDB2dyxcbiAgICAgIGxoOiAxMjBweCxcbiAgICApLFxuICAgIHNtOiAoXG4gICAgICBmczogMjR2dyxcbiAgICAgIGxoOiAyN2R2aCxcbiAgICApLFxuICApLFxuICBtYWluOiAoXG4gICAgeHM6IChcbiAgICAgIGZzOiAxMHB4LFxuICAgICAgbGg6IDE1cHgsXG4gICAgKSxcbiAgKSxcbiAgYmlnbWFpbjogKFxuICAgIHhzOiAoXG4gICAgICBmczogMjBweCxcbiAgICAgIGxoOiAyNXB4LFxuICAgICksXG4gICAgbWQ6IChcbiAgICAgIGZzOiAzMHB4LFxuICAgICAgbGg6IDM0cHgsXG4gICAgKVxuICApLFxuICBzZXJpZjogKFxuICAgIHhzOiAoXG4gICAgICBmczogMTdweCxcbiAgICAgIGxoOiAxNnB4LFxuICAgIClcbiAgKSxcblxuKTtcblxuJG1hcmdpbjogKFxuICBzbTogMSxcbiAgbWQ6IDIsXG4gIGxnOiA0LFxuKTtcblxuOnJvb3Qge1xuICAtLWJhc2Utc3BhY2U6IDEwcHg7XG4gIC0tY29sb3ItdGV4dDogYmxhY2s7XG4gIC0tY29sb3ItbGluazogYmxhY2s7XG4gIC0tY29sb3ItYmc6IHdoaXRlO1xuICAtLXNwYWNlTWl4ZWRGb250OiAzcHg7XG4gIC0taGVhZGVySGVpZ2h0OiBjYWxjKHZhcigtLW1hcmdpbi1tZCkgKiAxLjUgKyB2YXIoLS1saC1tYWluKSk7XG59XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gRk9OVFNcblxuJGZvbnRzOiAoXG4gIG1haW46IChcbiAgICBuYW1lOiBBQkNSZXBybyxcbiAgICBmYWxsYmFjazogXCJhcmlhbCBibGFja1wiLFxuICAgIHdpdGhGaWxlOiB0cnVlLFxuICApLFxuICBzZXJpZjogKFxuICAgIG5hbWU6IEtvbW11bmE0MDBOYXJyb3csXG4gICAgZmFsbGJhY2s6IFwic2VyaWYsIHRpbWVzXCIsXG4gICAgd2l0aEZpbGU6IHRydWUsXG4gICksXG4gIG1haW4yOiAoXG4gICAgbmFtZTogT3JjaGFyZExpbmVhcixcbiAgICBmYWxsYmFjazogXCJoZWx2ZXRpY2FcIixcbiAgICB3aXRoRmlsZTogdHJ1ZSxcbiAgKVxuKTtcblxuLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAvL1xuXG4vLyBCUkVBS1BPSU5UU1xuXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDBweCxcbiAgc206IDYwMHB4LFxuICBtZDogMTAwMHB4XG4pO1xuXG4vLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC8vXG5cbi8vIFRSQU5TSVRJT05cblxuJHRyYW5zaXRpb24tcHJvcGVydHktZGVmYXVsdDogYWxsO1xuJHRyYW5zaXRpb24tZHVyYXRpb24tZGVmYXVsdDogMC4zcztcbiR0cmFuc2l0aW9uLXRpbWluZy1kZWZhdWx0OiBjdWJpYy1iZXppZXIoMC43LCAwLCAwLjMsIDEpO1xuJHRyYW5zaXRpb24tZGVsYXktZGVmYXVsdDogMHM7XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gRlJFRSBDT05GSUdcbiIsIjpyb290IHtcbiAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiAkbWFyZ2luIHtcbiAgICAtLW1hcmdpbi0jeyRzaXplfTogY2FsYyh2YXIoLS1iYXNlLXNwYWNlKSAqICN7JHZhbHVlfSk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSwgJGl0ZW0gaW4gJGZvbnRzaXplIHtcbiAgICBAZWFjaCAkc2NyZWVuLCAkdmFsdWVzIGluICRpdGVtIHtcbiAgICAgIEBpbmNsdWRlIG1xKCRzY3JlZW4pIHtcbiAgICAgICAgQGVhY2ggJHR5cGUsICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICAgICAgICAtLSN7JHR5cGV9LSN7JHNpemV9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBtcSgkbXEtYnJlYWtwb2ludCwgJG1xLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtcS1icmVha3BvaW50cywgJG1xLWJyZWFrcG9pbnQpIHtcbiAgICAkbXEtYnJlYWtwb2ludDogbWFwLWdldCgkbXEtYnJlYWtwb2ludHMsICRtcS1icmVha3BvaW50KTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtcS1icmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKFxuICAkcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5LWRlZmF1bHQsXG4gICRkdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24tZGVmYXVsdCxcbiAgJHRpbWluZzogJHRyYW5zaXRpb24tdGltaW5nLWRlZmF1bHQsXG4gICRkZWxheTogJHRyYW5zaXRpb24tZGVsYXktZGVmYXVsdFxuKSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICN7JHByb3BlcnR5fTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG5AbWl4aW4gZnMoJHNpemU6IG1haW4pIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy0jeyRzaXplfSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saC0jeyRzaXplfSk7XG59XG5cbkBtaXhpbiBmb250KCRmb250OiBtYWluKSB7XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KG1hcC1nZXQoJGZvbnRzLCAkZm9udCksIG5hbWUpLCB1bnF1b3RlKG1hcC1nZXQobWFwLWdldCgkZm9udHMsICRmb250KSwgZmFsbGJhY2spKTtcbn1cbiIsIi8vIEJPUkRFUi1CT1gsIFJFU0VUXG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjphZnRlcixcbio6YmVmb3JlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiIDE7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIgMTtcbiAgLXdlYmtpdC1mb250LWtlcm5pbmc6IG5vcm1hbDtcbiAgZm9udC1rZXJuaW5nOiBub3JtYWw7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5ib2R5LFxuaHRtbCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAvL1xuXG4vLyBUWVBFIFNJWkVcblxuaHRtbCxcbmJvZHkge1xuICBAaW5jbHVkZSBmb250O1xuICBAaW5jbHVkZSBmcztcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbmh0bWwucGFuZWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxub2wge1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaSxcbmVtIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5zbWFsbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuIiwiLy8gLy8gSU5JVElBVEUgRk9OVFNcblxuQGVhY2ggJGksICRmb250LXByb3BlcnRpZXMgaW4gJGZvbnRzIHtcbiAgQGlmIChtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIHdpdGhGaWxlKSAhPSBmYWxzZSkge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtcHJvcGVydGllcywgbmFtZSk7XG4gICAgICBzcmM6IHVybChcIi4uL2ZvbnRzL1wiICsgbWFwLWdldCgkZm9udC1wcm9wZXJ0aWVzLCBuYW1lKSArIFwiLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgICAgdXJsKFwiLi4vZm9udHMvXCIgKyBtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIG5hbWUpICsgXCIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGdyaWQoJGNvbHVtbnMsICRnYXA6IHZhcigtLW1hcmdpbi1tZCkpIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIG1pbm1heCgwLCAxZnIpKTtcbiAgZ3JpZC1nYXA6ICRnYXA7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuQG1peGluIGZsZXhSb3d7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbkBtaXhpbiBmbGV4Q29sdW1ue1xuICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbkBtaXhpbiBtaXhlZEZvbnRzTGluZXtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sdW1uLWdhcDogM3B4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG59XG5cbkBtaXhpbiBpbnZlcnRlZENvbG9yQnV0dG9ue1xuICAvLyBwYWRkaW5nOiAycHggY2FsYyh2YXIoLS1tYXJnaW4tc20pKTtcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC8vIGNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG59XG5cbkBtaXhpbiBtb2JpbGVCb3JkZXJ7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkvMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgQGluY2x1ZGUgbXEoc20pe1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxubGl7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1peGluIGxpbmtidXR0b257XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICBwYWRkaW5nOiA1cHg7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gIFxuICAmOjpiZWZvcmV7XG4gICAgICBjb250ZW50OiBcIvCflJdcIjtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2VNaXhlZEZvbnQpO1xuICB9XG59IiwiaGVhZGVye1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tYXJnaW4tbWQpKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdyaWQtY29sdW1uOiAxIC8gOTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICAgIEBpbmNsdWRlIGludmVydGVkQ29sb3JCdXR0b247XG4gICAgQGluY2x1ZGUgbW9iaWxlQm9yZGVyO1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMSAwIDEpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMSAwIDAuNSAwKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKDAgMSAwIDEpO1xuICAgICAgICBAaW5jbHVkZSBncmlkKDQpO1xuICAgICAgICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoNSk7XG4gICAgICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICB9XG59XG5cbmhlYWRlciBhLCBoZWFkZXIgPiBkaXZ7XG4gICAgLy8gY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xufVxuXG4uaGVhZGVyX19ncm91cCBhe1xuICAgIGNvbG9yOiBsaWdodGdyYXk7XG59XG5cbi5oZWFkZXJfX3NlYXJjaHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBncmlkLWNvbHVtbjogNS82O1xuICAgIH1cbn1cblxuLmhlYWRlcl9fc2VhcmNoLS1tb2JpbGV7XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBkaXNwbGF5OiBub25lXG4gICAgfVxuICAgICYgc3Zne1xuICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tbGgtbWFpbikgLyAxLjcpO1xuICAgICAgICB3aWR0aDogdmFyKC0tbGgtbWFpbik7XG4gICAgfVxufVxuXG5bYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuICBcblxuaGVhZGVyID4gYTpmaXJzdC1jaGlsZHtcbiAgICB3aWR0aDogY2FsYyg1MCUgKyAxMHB4KTtcbn1cblxuLmhlYWRlcl9faG9tZXtcbiAgICB3aWR0aDogY2FsYyg1MCUgKyAxMHB4KTtcbiAgICAmIGEge1xuICAgICAgICBjb2x1bW4tZ2FwOiAycHg7XG4gICAgfVxufVxuXG4uaGVhZGVyX19ncm91cHtcbiAgICBmbGV4OjE7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICB9XG4gICAgJiAuaGVhZGVyX19ncm91cF9faW5uZXJ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbHVtbi1nYXA6IDJweDtcbiAgICB9XG59XG4iLCIvLyAvLyBJTklUSUFURSBNQVJHSU5TIEFORCBQQURESU5HXG5cbkBtaXhpbiBwcm9wZXJ0eSgkcHJvcGVydHksICR2YWx1ZXMpIHtcbiAgJHRvcDogJHByb3BlcnR5ICsgXCItdG9wXCI7XG4gICRib3R0b206ICRwcm9wZXJ0eSArIFwiLWJvdHRvbVwiO1xuICAkcmlnaHQ6ICRwcm9wZXJ0eSArIFwiLXJpZ2h0XCI7XG4gICRsZWZ0OiAkcHJvcGVydHkgKyBcIi1sZWZ0XCI7XG5cbiAgQGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAxIHtcbiAgICAjeyR0b3B9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDEpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRib3R0b219OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDEpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRyaWdodH06IGNhbGMoI3tudGgoJHZhbHVlcywgMSl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JGxlZnR9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDEpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiB7XG4gICAgI3skdG9wfTogY2FsYygje250aCgkdmFsdWVzLCAxKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skYm90dG9tfTogY2FsYygje250aCgkdmFsdWVzLCAxKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skcmlnaHR9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDIpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRsZWZ0fTogY2FsYygje250aCgkdmFsdWVzLCAyKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDMge1xuICAgICN7JHRvcH06IGNhbGMoI3tudGgoJHZhbHVlcywgMSl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JGJvdHRvbX06IGNhbGMoI3tudGgoJHZhbHVlcywgMyl9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JHJpZ2h0fTogY2FsYygje250aCgkdmFsdWVzLCAyKX0gKiB2YXIoLS1iYXNlLXNwYWNlKSk7XG4gICAgI3skbGVmdH06IGNhbGMoI3tudGgoJHZhbHVlcywgMil9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSA0IHtcbiAgICAjeyR0b3B9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDEpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRib3R0b219OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDMpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgICAjeyRyaWdodH06IGNhbGMoI3tudGgoJHZhbHVlcywgMil9ICogdmFyKC0tYmFzZS1zcGFjZSkpO1xuICAgICN7JGxlZnR9OiBjYWxjKCN7bnRoKCR2YWx1ZXMsIDQpfSAqIHZhcigtLWJhc2Utc3BhY2UpKTtcbiAgfVxufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KHBhZGRpbmcsICR2YWx1ZXMpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZXMpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkobWFyZ2luLCAkdmFsdWVzKTtcbn1cbiIsImh0bWx7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYm9keXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMGR2aDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbm1haW57XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDEuNSArIHZhcigtLWxoLW1haW4pICsgM3B4KTtcbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXJIZWlnaHQpO1xuICAgIH1cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFpbi0tc3dpcGV7XG4gICAgQGluY2x1ZGUgZmxleFJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgLy8gaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKDIwcHggKyB2YXIoLS1tYXJnaW4tc20pKSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB6LWluZGV4OiA0O1xufVxuXG4ubWFpbiBzZWN0aW9uOm5vdCgub3ZlcmxheSl7XG4gICAgQGluY2x1ZGUgZ3JpZCg1KTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pICogMS41ICsgdmFyKC0tbGgtbWFpbikgKyAzcHgpO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlckhlaWdodClcbiAgICB9XG59XG5cbmgye1xuICAgIEBpbmNsdWRlIGZzKHNlcmlmKTtcbiAgICBmb250LWZhbWlseTogXCJLb21tdW5hNDAwTmFycm93XCI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwXG59XG5cbnNlY3Rpb257XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMGR2aCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgXG59XG5cbnNlY3Rpb24sIG1haW57XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH0gIFxufVxuIiwiLmluZGV4e1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgZ2FwOjA7XG4gICAgZ3JpZC1jb2x1bW46IDEvNjtcbn1cblxuLmluZGV4X19wYXJ0e1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMCAxIDApO1xuXG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBAaW5jbHVkZSBncmlkKDUpOyBcbiAgICAgICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbigwIDAgMiAwKTtcbiAgICB9XG4gICAgZ3JpZC1jb2x1bW46IDEvNjtcbiAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbn1cblxuLmluZGV4X19jb250ZW50e1xuICAgIGdyaWQtY29sdW1uOiAyLzY7XG4gICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICAgICAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKG1kKXtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCg0KTsgXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIH1cbiAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgICAmLS1kZXRhaWxQYWdle1xuICAgICAgICAmIC5pbmRleF9fY29udGVudF9fYWxidW1ze1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkKDQpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbmRleF9faGVhZGVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sdW1uLWdhcDogM3B4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwcHg7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDEuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tbWFyZ2luLXNtKSAvIDIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBibGFjaztcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBcbiAgICB9XG59XG5cbi5ncmlke1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMCAxIDApO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICBAaW5jbHVkZSBncmlkKDQpOyBcbiAgICAgICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG4gICAgICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKDAgMCAyIDApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoNSk7IFxuICAgICAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgICAgICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIH1cbiAgICBncmlkLWNvbHVtbjogMS82O1xuICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xufVxuXG5cbi5ncmlkX19jb250ZW50LCAuZ3JpZF9fY29udGVudF9fZ3JpZCwgLmdyaWRfX2NvbnRlbnRfX2xpc3Rncmlke1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyLzU7XG4gICAgICAgIGNvbHVtbi1nYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzZWxmLXN0YXJ0O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoNCk7IFxuICAgICAgICBncmlkLWNvbHVtbjogMi82O1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgICAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgICB9XG4gICAgYWxpZ24taXRlbXM6IHNlbGYtc3RhcnQ7XG59XG5cbi5ncmlkX19jb250ZW50X19iaW9ncmFwaHl7XG4gICAgZ3JpZC1jb2x1bW46IDEvNTtcbiAgICBAaW5jbHVkZSBmcyhiaWdtYWluKTtcbiAgICAmOm5vdCguZ3JpZF9fY29udGVudF9fYmlvZ3JhcGh5LS1kZXRhaWxwYWdlKSBwOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWxoLWJpZ21haW4pO1xuICAgIH1cbn1cblxuLmdyaWRfX2NvbnRlbnRfX2xpbmtzeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAwIDIgMCk7XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMCAwIDIgMCk7XG5cbiAgICB9XG59XG5cbi5ncmlkX19jb250ZW50X19saXN0e1xuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gICAgQGluY2x1ZGUgZmxleENvbHVtblxufVxuXG4uZ3JpZF9fY29udGVudF9fbGlua3N7XG4gICAgQGluY2x1ZGUgZmxleFJvdztcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIH1cbn1cblxuLmdyaWRfX2NvbnRlbnRfX2xpbmt7XG4gICAgQGluY2x1ZGUgbGlua2J1dHRvbjtcbn1cblxuLmdyaWRfX2NvbnRlbnRfX2xpc3Rncmlke1xuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gICAgcm93LWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIEBpbmNsdWRlIGZsZXhSb3c7XG4gICAgfVxuICAgICYgLmFsYnVtX19pbmZve1xuICAgICAgICBAaW5jbHVkZSBmbGV4Um93O1xuICAgICAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgLyAyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdyaWRfX2NvbnRlbnRfX2hlYWRlcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkvMSk7XG59XG5cbi5ncmlkX19jb250ZW50X19ncmlke1xuICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICBnYXA6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxLzQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xKG1kKXtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvNTtcbiAgICB9XG59XG5cbi5ncmlkX19jb250ZW50X190aXRsZXtcbiAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgICAgICBncmlkLWNvbHVtbjogMS80O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gICAgfVxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgJi0tYmlne1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBmcyhiaWdtYWluKVxuICAgIH1cbiAgICAmLS14eGx7XG4gICAgICAgIEBpbmNsdWRlIGZzKGJpZ21haW4pXG4gICAgfVxufVxuXG4uZ3JpZF9fY29udGVudF9fbWFyZ2luLS1tb2JpbGV7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbn1cblxuLmdyaWRfX3NpZGViYXJ7XG4gICAgZ3JpZC1jb2x1bW46IDEvMjtcbn1cblxuLmdyaWRfX3RpdGxle1xuICAgIEBpbmNsdWRlIG1peGVkRm9udHNMaW5lO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgKiAxLjUpO1xuICAgIEBpbmNsdWRlIG1vYmlsZUJvcmRlcjtcblxuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc20pLzIpO1xuICAgIH1cbiAgICAmOm5vdCguZ3JpZF9fdGl0bGUtLW5vYm9yZGVyKXtcbiAgICAgICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pbnB1dHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4uaW5kZXgtLXNlbGVjdGlvbkRhdGV7XG4gICAgJiAuaW5kZXhfX2hlYWRlcl9fcmVsZWFzZXtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbn1cblxuLmluZGV4LS1yZWxlYXNlRGF0ZXtcbiAgICAmIC5pbmRleF9faGVhZGVyX19zZWxlY3Rpb257XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG59XG4iLCJcbi5oZWFkZXJfX2ZpbHRlcnN7XG4gICAgQGluY2x1ZGUgZmxleFJvdztcbiAgICByb3ctZ2FwOiAwO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDMvNTtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxufVxuXG4uaGVhZGVyX19maWx0ZXJze1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gICAgJi5oaWRkZW57ZGlzcGxheTogbm9uZTt9XG59XG5cbi5oZWFkZXJfX2ZpbHRlcnN7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgLyAyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gICAgd2lkdGg6IGNhbGMoMTAwZHZ3IC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIHBhZGRpbmc6IHVuc2V0O1xuICAgIH1cbn1cblxuLmluZGV4X19maWx0ZXJze1xuICAgIHJvdy1nYXA6IDA7XG59XG5cbi5pbmRleF9fZmlsdGVycy0tc29ydHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbHVtbi1nYXA6IDJweDtcbn1cblxuLmluZGV4X19maWx0ZXJzX19jb250YWluZXJ7XG4gICAgQGluY2x1ZGUgZmxleFJvdztcbiAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkgLyAyKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLW1hcmdpbi1zbSkpO1xuICAgIH1cbiAgICBncmlkLWNvbHVtbjogMi82O1xufVxuXG4uaW5kZXhfX2ZpbHRlcntcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xufVxuXG5cbi5pbmRleF9fZmlsdGVye1xuICAgIGNvbG9yOiBsaWdodGdyZXk7XG4gICAgJi5qcy1pbmRleEZpbHRlci0tc2VsZWN0ZWR7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG59XG5cbi5pbmRleF9fYXJyb3cge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmW2RhdGEtZGlyPVwiYXNjXCJdOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjVCMlxcRkUwRVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZU1peGVkRm9udCk7XG4gICAgfVxuICAgICZbZGF0YS1kaXI9XCJkZXNjXCJdOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjVCQ1xcRkUwRVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZU1peGVkRm9udCk7XG4gICAgfVxufVxuXG5cbmlucHV0OjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLy8gY29sb3I6IGxpZ2h0Z3JleTsgXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4vLyAuaGVhZGVyX19maWx0ZXJ7ZGlzcGxheTpub25lfSIsIi5hbGJ1bXtcbiAgICBAaW5jbHVkZSBmbGV4Q29sdW1uXG59XG5cbi5hbGJ1bV9faW5mb3N7XG4gICAgQGluY2x1ZGUgZmxleENvbHVtbjtcbiAgICBnYXA6MDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLmFsYnVtX19pbmZvcy0tYWxidW1QYWdle1xuICAgIGdhcDogY2FsYyh2YXIoLS1saC1tYWluKSAvIDIpO1xufVxuXG4uYWxidW1fX2luZm97XG4gICAgQGluY2x1ZGUgbWl4ZWRGb250c0xpbmU7XG4gICAgJiBzcGFue1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG59XG5cbi5hbGJ1bV9faW5mby0tY2xvc2V7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4uYWxidW1fX2NvdmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmIGltZyB7XG4gICAgICAgIGJvcmRlcjogMC4xcHggc29saWQgbGlnaHRncmF5O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICB9XG59XG5cbi5pbmRleF9feWVhciAuYWxidW1fX2NvdmVye1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLk9UV19fc3ltYm9se1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogLTJweDtcbn1cblxuLk9UV19fc3ltYm9sOjpiZWZvcmV7XG4gICAgY29udGVudDogJ+KctCc7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGNvbG9yOiBsaWdodGdyYXk7XG59XG5cbi8vIC5hbGJ1bV9fY292ZXItLWxpbmtlZHtcbi8vICAgICBwb3NpdGlvbjogaW5oZXJpdDtcbi8vICAgICBwb3NpdGlvbjogZml4ZWQ7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuLy8gICAgIHRvcDogMDtcbi8vICAgICBsZWZ0OiB2YXIoLS1tYXJnaW4tc20pO1xuLy8gICAgIGhlaWdodDogY2FsYygxMDBkdmgpO1xuLy8gICAgIHdpZHRoOiBjYWxjKDEwMGR2dyAtIHZhcigtLW1hcmdpbi1tZCkpO1xuLy8gICAgIEBpbmNsdWRlIHBhZGRpbmcoMSAwKTtcbi8vICAgICByb3ctZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4vLyAgICAgei1pbmRleDogMTA7XG4vLyAgICAgY3Vyc29yOiBhdXRvO1xuLy8gICAgIEBpbmNsdWRlIG1xKG1kKXtcbi8vICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4vLyAgICAgICAgIHdpZHRoOiBjYWxjKCgoMTAwZHZ3IC0gdmFyKC0tbWFyZ2luLXNtKSoxKSAvIDUpICogMS41KTtcbi8vICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygxKTtcbi8vICAgICAgICAgbGVmdDogdW5zZXQ7XG4vLyAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgYmxhY2s7XG4vLyAgICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZSAwLjJzIGZvcndhcmRzO1xuLy8gICAgICAgICBhbmltYXRpb246IHNsaWRlIDAuMnMgZm9yd2FyZHM7XG4vLyAgICAgICAgIHJpZ2h0OiAtMzBkdnc7XG4vLyAgICAgfVxuLy8gfVxuXG4uYWxidW1fX2NvdmVyLS1saW5rZWR7XG4gICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJnKTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwZHZoKTtcbiAgICB3aWR0aDogY2FsYygxMDBkdncgLSB2YXIoLS1tYXJnaW4tbWQpKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDEgMCk7XG4gICAgcm93LWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG59XG5cbi5hbGJ1bV9fY292ZXItLWxpbmtlZHtcbiAgICAmIC5hbGJ1bV9fY292ZXJfX2xpbmtze1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmIGltZ3tcbiAgICAgICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH0gXG4gICAgJiAuT1RXX19zeW1ib2x7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfSAgIFxufVxuXG4uYWxidW1fX2NvdmVyX19saW5rc3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iZyk7XG4gICAgQGluY2x1ZGUgZmxleENvbHVtbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1jb250ZW50OiBlbmQ7XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBhbGlnbi1jb250ZW50OiBzdGFydDtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG59XG5cbi5hbGJ1bV9fY292ZXJfX2xpbmtzX19pbm5lcntcbiAgICBncmlkLWNvbHVtbjogMi82O1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICBhbGlnbi1pdGVtczogc2VsZi1zdGFydDtcbiAgICB9XG59XG5cbi5hbGJ1bV9fY292ZXJfX2xpbmt7XG4gICAgQGluY2x1ZGUgbGlua2J1dHRvblxufVxuXG4uYWxidW1fX2NvdmVyX19saW5rc19fZ3JvdXB7XG4gICAgQGluY2x1ZGUgZmxleENvbHVtbjtcbiAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuXG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBAaW5jbHVkZSBmbGV4Um93O1xuICAgICAgICBjb2x1bW4tZ2FwOiB2YXIoLS1tYXJnaW4tc20pICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYWxidW1fX2NvdmVyX19saW5rLS1jbG9zZXtcbiAgICAvLyB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAqIDEuNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgICByaWdodDogY2FsYyh2YXIoLS1tYXJnaW4tc20pICogMC41KTtcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgfVxufVxuXG4uYWxidW1fX3RhZ3N7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBsZWZ0OiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tYXJnaW4tbWQpKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGZsZXhSb3c7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICBnYXA6IGNhbGModmFyKC0tbWFyZ2luLXNtKSAvIDIpICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIGdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICB9XG59XG5cbi5hbGJ1bV9fY292ZXItLWxpbmtlZCAuYWxidW1fX3RhZ3N7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFsYnVtX190YWd7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMXB4IDRweDtcbiAgICBjdXJzb3I6ZGVmYXVsdDtcbn1cblxuLmdyaWRfX2NvbnRlbnRfX2FsYnVtaW5mb3N7XG4gICAgQGluY2x1ZGUgZmxleENvbHVtbjtcbiAgICByb3ctZ2FwOiB2YXIoLS1tYXJnaW4tbWQpO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0XG5cbiAgICB9XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBAaW5jbHVkZSBncmlkKDQpO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgfVxuICAgIGdyaWQtY29sdW1uOiAxLzU7XG4gICAgJiAuYWxidW1fX2NvdmVye1xuICAgICAgICAvLyBncmlkLWNvbHVtbjogMi81O1xuICAgIH1cbiAgICAmIC5hbGJ1bV9faW5mb3N7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1kKXtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzQ7XG4gICAgICAgIH1cbiAgICAgICAgcm93LWdhcDogdmFyKC0tbWFyZ2luLXNtKTtcbiAgICB9XG4gICAgXG59XG5cbi5ncmlkX19jb250ZW50X19jb3ZlcntcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIH1cbn1cblxuLmxhenlsb2FkaW5ne1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRncmV5O1xufVxuXG4ubGF6eWxvYWRlZHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIFxufSIsIi5vdmVybGF5e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwZHZ3O1xuICAgIGhlaWdodDogMTAwZHZoO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICAvLyBkaXNwbGF5OiBub25lO1xufVxuXG4ub3ZlcmxheSArIC5jb250ZW50LCAub3ZlcmxheSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm90d19faGVhZGVye1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgZm9udC1mYW1pbHk6IFwiT3JjaGFyZExpbmVhclwiO1xuICAgIEBpbmNsdWRlIGZzKGN1cnNpdmUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggYmxhY2s7XG4gICAgLy8gdGV4dC1zdHJva2U6IDJweCBibGFjaztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm90d19fYWxidW1fX2NvbnRhaW5lcntcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWFyZ2luLW1kKSoyKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgXG4gICAgQGluY2x1ZGUgZ3JpZCgzKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAyKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgNCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMClcbiAgICB9XG4gICAgJi0tc2Vjb25kQWxidW17XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKSB0cmFuc2xhdGVYKDQ0cHgpO1xuICAgIH1cbn1cblxuLm90d19fYWxidW1fX2NvbnRhaW5lcl9faW5uZXJ7XG4gICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm90d19fYWxidW0tLWZpcnN0e1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tUmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpIHRyYW5zbGF0ZVgoNDRweCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZykgdHJhbnNsYXRlWCgxNDRweCk7XG4gICAgfVxufVxuXG4ub3R3X19hbGJ1bS0tc2Vjb25ke1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZykgdHJhbnNsYXRlWCg0NHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cztcbn1cblxuLm90d19fYWxidW0tLXNlY29uZDpob3ZlcntcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZykgdHJhbnNsYXRlWCgxNDRweCk7XG59XG5cbi5vdHdfX2luZm9ze1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1tYXJnaW4tc20pKjIpO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gICAgfVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHZhcigtLW1hcmdpbi1zbSk7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDEgMSk7XG4gICAgQGluY2x1ZGUgZ3JpZCgyKTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLm90d19faW5mb3NfX2FsYnVtcyAuYWxidW1fX2luZm97XG4gICAgLy8gQGluY2x1ZGUgZmxleENvbHVtbjtcbiAgICByb3ctZ2FwOiAwO1xufVxuXG4ub3R3X19pbmZve1xuICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBjb2x1bW4tZ2FwOiAycHhcbn1cblxuLm90d19fdGl0bGV7XG4gICAgQGluY2x1ZGUgZmxleFJvdztcbiAgICB0b3A6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW1hcmdpbi1tZCkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIC8vIGJvdHRvbTogdmFyKC0tbWFyZ2luLW1kKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICAmIGEge1xuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgIH1cbn1cblxuXG4ub3R3X19hbGJ1bXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICYgaW1ne1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxufVxuXG4ub3R3X19jb3ZlcntcbiAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG59IiwiLmluZGV4LS1hcnRpc3Rze1xuICAgICYgLmluZGV4X19wYXJ0e1xuICAgICAgICBAaW5jbHVkZSBncmlkKDUpO1xuICAgICAgICByb3ctZ2FwOiB2YXIoLS1tYXJnaW4tc20pO1xuICAgIH1cbiAgICAmIC5pbmRleF9faGVhZGVye1xuICAgICAgICBncmlkLWNvbHVtbjogMS82O1xuICAgICAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICB9XG4gICAgfVxuICAgICYgLmluZGV4X19jb250ZW50e1xuICAgICAgICBncmlkLWNvbHVtbjogMS82O1xuICAgICAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi82O1xuICAgICAgICB9XG4gICAgfVxufSIsIi5hYm91dHtcbiAgICBncmlkLWNvbHVtbjogMS82O1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMSAwIDAgMCk7XG4gICAgQGluY2x1ZGUgbXEoc20pe1xuICAgICAgICBncmlkLWNvbHVtbjogMi82O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShtZCl7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgcm93LWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbn1cblxuLmFib3V0X19saXN0cywgLmFib3V0X19kZXNjcmlwdGlvbntcbiAgICBAaW5jbHVkZSBmbGV4Q29sdW1uO1xufVxuXG4uYWJvdXRfX2xpc3Rze1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBAaW5jbHVkZSBncmlkKDQpO1xuICAgIH1cbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tbWQpXG59XG5cbi5hYm91dF9fZGVzY3JpcHRpb257XG4gICAgQGluY2x1ZGUgZnMoYmlnbWFpbik7XG4gICAgcm93LWdhcDogdmFyKC0tbWFyZ2luLW1kKTtcbn1cblxuLmFib3V0X19saXN0e1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgXG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgIH1cbiAgICAuYWJvdXRfX3RpdGxle1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBncmlkLWNvbHVtbjogMS81O1xuICAgICAgICBAaW5jbHVkZSBtcShzbSl7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS81O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWJvdXRfX2xpc3RfX2NvbnRlbnR7XG4gICAgQGluY2x1ZGUgZmxleENvbHVtbjtcbiAgICByb3ctZ2FwOiAwO1xufSIsInNlY3Rpb257XG4gICAgd2lkdGg6IGNhbGMoMTAwZHZ3IC0gdmFyKC0tbWFyZ2luLW1kKSk7XG4gICAgZmxleDogbm9uZTtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XG59XG5cbnNlY3Rpb246bm90KC5vdmVybGF5KXtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tbWFyZ2luLWxnKTtcbn0iLCIuZGV0YWlse1xuICAgIEBpbmNsdWRlIGZsZXhDb2x1bW47XG4gICAgZ2FwOjA7XG4gICAgZ3JpZC1jb2x1bW46IDEvNjtcbn0iLCIuaW5kZXhfX3NlYXJjaF9fY29udGFpbmVye1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xuICAgIEBpbmNsdWRlIGZzKGJpZ21haW4pO1xuICAgIGdyaWQtY29sdW1uOiAxLzM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgcGFkZGluZygwIDEpO1xuICAgIEBpbmNsdWRlIG1xKHNtKXtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEvNTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEobWQpe1xuICAgICAgICBncmlkLWNvbHVtbjogMS80O1xuICAgIH1cbn0gIFxuXG4uaW5kZXhfX3NlYXJjaF9fY29udGFpbmVyLCAuaW5kZXhfX3NlYXJjaF9fY29udGFpbmVyIGZvcm17XG4gICAgQGluY2x1ZGUgZmxleFJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG5pbnB1dCwgYnV0dG9ue1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyBcbiAgICBwYWRkaW5nOjA7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG5pbnB1dHtcbiAgICBmbGV4OiAxO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KVxufVxuXG4uc2VhcmNoX19lbXB0eXtcbiAgICBjb2xvcjogbGlnaHRncmF5O1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBXZWJLaXQsIEJsaW5rLCBFZGdlICovXG4gICAgY29sb3I6IGxpZ2h0Z3JleTtcbn1cbjotbW96LXBsYWNlaG9sZGVyIHsgLyogTW96aWxsYSBGaXJlZm94IDQgdG8gMTggKi9cbiAgIGNvbG9yOiBsaWdodGdyZXk7XG4gICBvcGFjaXR5OiAgMTtcbn1cbjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIE1vemlsbGEgRmlyZWZveCAxOSsgKi9cbiAgIGNvbG9yOiBsaWdodGdyZXk7XG4gICBvcGFjaXR5OiAgMTtcbn1cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xuICAgY29sb3I6IGxpZ2h0Z3JleTtcbn1cbjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgLyogTWljcm9zb2Z0IEVkZ2UgKi9cbiAgIGNvbG9yOiBsaWdodGdyZXk7XG59XG5cbjo6cGxhY2Vob2xkZXIgeyAvKiBNb3N0IG1vZGVybiBicm93c2VycyBzdXBwb3J0IHRoaXMgbm93LiAqL1xuICAgY29sb3I6IGxpZ2h0Z3JleTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/