@import '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css';
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  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
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

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

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

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

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

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

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

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

/**
 * 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 style in Android 4.3-.
 */
dfn {
  font-style: italic; }

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: "museo-sans",sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
  outline: none; }

/**
 * 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; }

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

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

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

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

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[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 IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

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

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }
  .slick-track .col {
    margin: 0;
    padding: 0 2em; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  @media (min-width: 769px) {
    .slick-slide {
      padding: 0; } }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

span.triangle {
  z-index: 1;
  right: 0;
  bottom: 0;
  position: absolute;
  width: 0;
  height: 0;
  border-right: 100px solid transparent;
  border-left: 0px solid transparent;
  border-top: 100px solid #f47d31;
  content: ''; }
  span.triangle.t2 {
    z-index: 0;
    left: 0;
    bottom: 0;
    border-right: 0px solid transparent;
    border-left: 100px solid transparent;
    border-bottom: 100px solid #f47d31;
    border-top: 0 solid transparent; }

.views-exposed-form .js-form-submit:hover + .view-btn-filter {
  border-top-color: #e6610c; }

.views-exposed-form .view-btn-filter {
  z-index: 1;
  right: 0;
  top: 0;
  position: absolute;
  width: 0;
  height: 0;
  border-right: 100px solid transparent;
  border-left: 0 solid transparent;
  border-top: 100px solid #f47d31;
  cursor: pointer;
  content: ''; }
  .views-exposed-form .view-btn-filter:hover ~ #edit-submit-listings {
    background-color: #e6610c; }

ul.file-icons {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.file-icons a {
    display: none; }

ul.file-downloads {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.file-downloads li {
    margin: 0 0 1em 0; }
    ul.file-downloads li::after {
      clear: both;
      content: "";
      display: table; }

[class*="file--mime-application-"],
[class*="file--application-"] {
  background: none;
  display: inline-block;
  min-height: auto;
  padding: 0 .5em;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased; }
  [class*="file--mime-application-"]:before,
  [class*="file--application-"]:before {
    font: normal normal normal 16px/1 FontAwesome;
    content: '\f0f6'; }

[class*="btn file--mime-application-"]:before,
[class*="btn file--application-"]:before {
  padding-right: .5rem; }

.file-type-string {
  text-transform: uppercase; }

.file--application-link:before {
  content: '\f016'; }

.file--application-octet-stream:before {
  content: '\f028'; }

.file--application-application-pdf:before,
.file--application-pdf:before {
  content: "\f1c1"; }

.file--application-zip:before {
  content: '\f1c6'; }

[class*="wordprocessing"]:before,
.file--application-msword:before,
.file--x-office-document:before {
  content: '\f1c2'; }

.file--application-msexcel:before,
.file--excel-office-document:before {
  content: '\f1c3'; }

.file--application-mspowerpoint:before,
.file--file--pp-office-document:before {
  content: '\f1c4'; }

.file--application-audio:before,
.file--audio:before {
  content: '\f1c7'; }

.file--application-video:before,
.file--video:before {
  font: normal normal normal 16px/1 FontAwesome;
  content: '\f03d'; }

.file--application-txt:before,
.file--txt:before {
  content: '\f0f6'; }

.file--application-zip:before,
.file--zip:before {
  content: '\f1c6'; }

[class*="spreadsheet"]:before,
.file--x-office-spreadsheet:before {
  content: '\f1c3'; }

html {
  box-sizing: border-box; }

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

body {
  font-family: "museo-sans",sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 18px;
  line-height: 32px;
  color: #333;
  margin: 0 auto;
  padding: 0; }

.kint {
  font-size: 13px;
  margin: 8px 0;
  overflow-x: auto;
  white-space: nowrap;
  z-index: 10;
  position: absolute;
  width: 100%; }

#toolbar-bar {
  height: 39px !important; }

h1, h2, h3, h4, h5, h6 {
  font-family: "museo-sans",sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.25;
  margin: 0; }

h1 {
  font-family: "museo-sans",sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 4.625rem;
  color: #f47d31; }

h2 {
  font-size: 3.125rem; }

h3 {
  font-size: 2.5rem; }

h4 {
  font-size: 1.5rem; }

h5 {
  font-size: 1.5rem; }

h6 {
  font-size: 1.00rem; }

@media (max-width: 480px) {
  h1 {
    font-size: 2rem; }
  h2 {
    font-size: 1.75rem; }
  h3 {
    font-size: 1.5rem; }
  h4 {
    font-size: 1.25rem; } }

b, strong, h1, h2, h4, h6 {
  font-weight: 900; }

h6 {
  text-transform: uppercase; }

em, i {
  font-style: italic; }

small {
  font-size: 0.75em; }

big {
  font-size: 1.25em; }

a {
  color: #008e96;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  cursor: pointer; }

blockquote {
  font-family: "museo-sans",sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 2.8rem;
  line-height: 1;
  background: #f47d31;
  color: #fff;
  padding: 2.5rem 0 2.5rem 5rem;
  margin-left: 0;
  margin-right: 0;
  position: relative;
  width: 80%; }
  blockquote p {
    margin: 0; }
  blockquote .author {
    font-family: "museo-sans",sans-serif;
    font-style: normal;
    font-weight: 700;
    font-size: 18px;
    color: #000;
    margin-top: 1rem; }

table {
  border: 0;
  border-collapse: collapse; }
  table tr:nth-child(1) {
    background: #fff; }
  table th, table td {
    padding: .8rem 1.0rem; }
  table th {
    font-family: "museo-sans",sans-serif;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    border-bottom: solid 1px #f9be98;
    padding-left: 0;
    padding-right: 4rem; }

h1.subtitle {
  color: #fff;
  line-height: 1; }
  h1.subtitle a {
    color: #fff; }

html, body {
  background: #666; }

footer {
  background: #000; }

body {
  overflow-x: hidden; }

.wrapper {
  background: #fff;
  margin: auto;
  max-width: 5000px;
  min-height: 83vh;
  overflow-x: hidden;
  padding: 0;
  position: relative; }
  .wrapper.gray {
    background: #f0ebe8; }

.hero {
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-position-x: 60%;
  background-size: cover;
  height: 474px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: 0; }
  @media (min-width: 768px) {
    .hero {
      background-position-x: 55%;
      height: 802px; } }
  @media (min-width: 1921px) {
    .hero {
      height: 882px; } }

header, main, footer, .container.layout, .content-container {
  max-width: 1350px;
  margin: 0 auto;
  padding: 0 1rem; }
  header::after, main::after, footer::after, .container.layout::after, .content-container::after {
    clear: both;
    content: "";
    display: table; }

main.fullwidth {
  max-width: 100%; }

main {
  margin-top: 44px; }
  @media (min-width: 768px) {
    main {
      margin-top: 145px; } }
  .has-hero main {
    padding-top: 444px; }
    @media (min-width: 768px) {
      .has-hero main {
        padding-top: 741px; } }
    @media (max-width: 768px) {
      .has-hero main {
        margin-top: 44px; } }
  .wrapper.no-hero main {
    padding: 1rem 1rem 0 1rem; }

footer {
  padding-top: 2rem;
  padding-bottom: 2rem;
  position: relative; }
  @media (max-width: 768px) {
    footer {
      padding: 1rem; } }

/*  SECTIONS  */
.container {
  clear: both;
  padding: 0px;
  margin: 0px; }

/*  COLUMN SETUP  */
.col, .section-3 .field__items > .field__item {
  display: block;
  float: left;
  margin: 0 0 1% 2%;
  position: relative; }
  .col:first-child, .section-3 .field__items > .field__item:first-child {
    margin-left: 0; }

/*  GROUPING  */
.row {
  zoom: 1;
  /* For IE 6/7 */ }
  .row::after {
    clear: both;
    content: "";
    display: table; }

/*  GRID OF TWELVE  */
.col.span-12 {
  width: 100%;
  margin-left: 0; }

.col.span-11 {
  width: 91.5%; }

.col.span-10 {
  width: 83%; }

.col.span-9 {
  width: 74.5%; }

.col.span-8 {
  width: 66%; }

.col.span-7 {
  width: 57.5%; }

.col.span-6 {
  width: 49%; }

.col.span-5 {
  width: 40.5%; }

.col.span-4, .section-3 .field__items > .field__item {
  width: 32%; }

.col.span-3 {
  width: 23.5%; }

.col.span-2 {
  width: 15%; }

.col.span-1 {
  width: 6.5%; }

/*  GO FULL WIDTH BELOW 480 PIXELS */
@media (max-width: 480px) {
  .col {
    margin: 1% 0 1% 0%; }
  .col, .col.span-1, .col.span-2, .col.span-3, .col.span-4, .col.span-5, .col.span-6, .col.span-7, .col.span-8, .col.span-9, .col.span-10, .col.span-11, .col.span-12 {
    width: 100%; } }

.featured {
  /*.col{
    position: relative;
    z-index: 2;
  }*/
  /*.box-container{
    height: 100vh;
    position: fixed;
    top: 15rem;
    left: 0;
  }*/ }
  .featured .box {
    width: 400px;
    height: 400px;
    background: #f1ddd3;
    position: absolute;
    z-index: 0;
    top: 30%;
    right: -18rem;
    /* IE 9 */
    -webkit-transform: rotate(30deg);
    /* Chrome, Safari, Opera */
    transform: rotate(30deg);
    /*&.left{
      display: none;
      left: -20rem;
      top: 80%;
    }*/ }
  .featured p {
    margin: 0; }
  .featured .btn {
    margin: 1rem 0 0 0; }

.section p {
  margin: 0; }

.section-3 .field__items > .field__item:nth-child(3n+1) {
  clear: left;
  margin-left: 0; }

svg.at-icon.at-icon-facebook {
  height: 30px !important; }

.masthead {
  background-color: rgba(255, 255, 255, 0.9);
  height: 44px;
  padding: 0;
  position: fixed;
  width: 100%;
  z-index: 100;
  max-width: unset;
  transition: 0.5s;
  /**
   * The menu container contains both the social gray bar and the navigation
   * We toggle this display and not the individual items when the burger
   * is clicked
   * ---------------------------------------------------------------------------
   */
  /**
   * This is the social bar
   * ---------------------------------------------------------------------------
   */ }
  .masthead.is-scrolling {
    padding: 0;
    height: 46px;
    background-color: rgba(255, 255, 255, 0.8); }
    .masthead.is-scrolling > .container {
      height: 45px; }
      .masthead.is-scrolling > .container .menu-container {
        bottom: 2px; }
        @media (min-width: 891px) {
          .masthead.is-scrolling > .container .menu-container {
            top: 0; } }
  .masthead > .container {
    width: 100%;
    margin: 0 auto;
    max-width: 1350px; }
    @media (min-width: 1600) {
      .masthead > .container {
        width: 90%; } }
  @media (min-width: 769px) {
    .masthead {
      height: auto;
      padding: 2rem 1rem;
      position: fixed;
      width: 100%;
      right: 0;
      background: transparent;
      max-width: 100%; } }
  .masthead .branding {
    width: 165px;
    display: inline-block;
    position: relative; }
    .masthead .branding.scroll-logo-is-displayed {
      width: 280px; }
    .masthead .branding a {
      background-image: url("/themes/cfed/logo-h.svg");
      background-position: 0 50%;
      background-repeat: no-repeat;
      color: transparent;
      display: block;
      height: 18px;
      left: 11px;
      margin: 0;
      padding: 1rem;
      position: relative;
      top: 0;
      width: 200px;
      transition: 0.5s ease; }
      .masthead .branding a.scroll-logo {
        background-image: url("/themes/cfed/img/ProsperityNow-logo-horizontal-rgb.svg");
        position: absolute;
        background-size: 100% 55px;
        margin-top: 0;
        opacity: 0;
        left: 0px;
        display: inline;
        height: 45px;
        margin-left: 5px;
        width: 250px; }
        @media (min-width: 891px) {
          .masthead .branding a.scroll-logo {
            width: 130px; } }
        @media (min-width: 906px) {
          .masthead .branding a.scroll-logo {
            width: 140px; } }
        @media (min-width: 931px) {
          .masthead .branding a.scroll-logo {
            width: 160px; } }
        @media (min-width: 950px) {
          .masthead .branding a.scroll-logo {
            width: 180px; } }
        @media (min-width: 996px) {
          .masthead .branding a.scroll-logo {
            width: 220px; } }
        @media (min-width: 1051px) {
          .masthead .branding a.scroll-logo {
            width: 280px; } }
        @media (min-width: 1301px) {
          .masthead .branding a.scroll-logo {
            width: 200px; } }
        @media (min-width: 1378px) {
          .masthead .branding a.scroll-logo {
            margin-left: 0; } }
        @media (min-width: 1667px) {
          .masthead .branding a.scroll-logo {
            width: 180px; } }
        @media (min-width: 1667px) {
          .masthead .branding a.scroll-logo {
            width: 220px; } }
        @media (min-width: 1731px) {
          .masthead .branding a.scroll-logo {
            width: 250px; } }
        @media (min-width: 1801px) {
          .masthead .branding a.scroll-logo {
            width: 280px; } }
      @media (min-width: 769px) {
        .masthead .branding a {
          background-image: url("/themes/cfed/logo.svg");
          background-size: 120px 61px;
          background-position: 50% 50%;
          height: 61px;
          position: relative;
          width: 120px; } }
      @media (min-width: 1301px) {
        .masthead .branding a {
          background-size: 165px 75px;
          height: 88px;
          width: 165px; } }
      .masthead .branding a .sub-brand {
        display: block;
        bottom: -8px;
        font-size: .75rem;
        font-style: italic;
        font-weight: normal;
        color: #000;
        left: 0;
        position: absolute;
        transition: 0.5s ease; }
        @media (min-width: 769px) {
          .masthead .branding a .sub-brand {
            bottom: -22px; } }
        @media (min-width: 1301px) {
          .masthead .branding a .sub-brand {
            font-size: 1rem; } }
  .masthead .hamburger {
    background-color: #000;
    cursor: pointer;
    height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    width: 44px; }
    .masthead .hamburger:before {
      left: -44px;
      top: 0;
      position: absolute;
      width: 0;
      height: 0;
      border-right: 0px solid transparent;
      border-left: 44px solid transparent;
      border-bottom: 44px solid black;
      content: ''; }
    .masthead .hamburger:hover {
      opacity: 0.5; }
    .open .masthead .hamburger {
      background-color: #aa1a20; }
      .open .masthead .hamburger:before {
        border-bottom: 44px solid #aa1a20; }
      .open .masthead .hamburger:hover {
        opacity: 1; }
    @media (min-width: 891px) {
      .masthead .hamburger {
        display: none; } }
    .masthead .hamburger span {
      background: #fff;
      display: block;
      height: 2px;
      left: 11px;
      position: absolute;
      transition: -webkit-transform 0.2s ease-out;
      transition: transform 0.2s ease-out;
      transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
      width: 22px; }
      .masthead .hamburger span:nth-of-type(1) {
        top: 12px; }
        .open .masthead .hamburger span:nth-of-type(1) {
          top: 20px;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }
      .masthead .hamburger span:nth-of-type(2) {
        top: 20px; }
        .open .masthead .hamburger span:nth-of-type(2) {
          -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }
      .masthead .hamburger span:nth-of-type(3) {
        top: 28px; }
        .open .masthead .hamburger span:nth-of-type(3) {
          display: none; }
  .masthead .menu-container {
    display: none;
    font-size: 16px;
    left: 0;
    position: absolute;
    top: 44px;
    width: 100%;
    z-index: 10; }
    .open .masthead .menu-container {
      display: block; }
    @media (min-width: 891px) {
      .masthead .menu-container {
        -webkit-align-items: flex-end;
        -ms-flex-align: end;
        align-items: flex-end;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        font-size: 10px;
        left: auto;
        right: 0;
        top: 22px;
        width: auto; } }
    @media (min-width: 1301px) {
      .masthead .menu-container {
        font-size: 16px; } }
  .masthead .util {
    background-color: #666;
    font-size: 19px;
    margin-bottom: 1px;
    position: relative;
    transition: 0.5s ease;
    z-index: 0;
    opacity: 1; }
    .masthead .util .menu {
      margin: 0;
      padding: 0; }
    @media (min-width: 891px) {
      .masthead .util {
        height: 45px;
        background-color: rgba(166, 166, 166, 0.7);
        height: 44px; }
        .masthead .util:before {
          left: -44px;
          top: 0;
          position: absolute;
          width: 0;
          height: 0;
          border-right: 0px solid transparent;
          border-left: 44px solid transparent;
          border-bottom: 44px solid rgba(166, 166, 166, 0.7);
          content: ''; } }
    @media (min-width: 1301px) {
      .masthead .util {
        width: 58%; } }
    .masthead .util.hide-on-scroll {
      height: 0;
      opacity: 0; }
    .masthead .util .social {
      display: none; }
      @media (min-width: 891px) {
        .masthead .util .social {
          display: inline-block;
          padding-top: 3px; } }
      .masthead .util .social li {
        display: inline-block;
        margin-right: 1rem; }
      .masthead .util .social a {
        color: #fff;
        font-size: 20px; }
    .masthead .util .right {
      display: inline-block; }
    .masthead .util .menu--utility-menu {
      display: inline-block;
      padding: 1rem; }
      @media (min-width: 891px) {
        .masthead .util .menu--utility-menu {
          height: 44px;
          padding: 0; } }
      .search-open .masthead .util .menu--utility-menu {
        display: none; }
      .masthead .util .menu--utility-menu .menu-item {
        display: inline-block;
        font-size: 0.9em;
        margin-right: .5em;
        padding: 0.3em; }
        .masthead .util .menu--utility-menu .menu-item:last-child {
          margin: 0; }
        .masthead .util .menu--utility-menu .menu-item a {
          color: #fff;
          display: inline-block;
          padding: 0 0 0 10px;
          font-weight: 700;
          font-size: 16px; }
          .masthead .util .menu--utility-menu .menu-item a:hover, .masthead .util .menu--utility-menu .menu-item a:focus {
            background: transparent url("../img/white-wedge-right.svg") no-repeat 0 50%;
            background-size: 5px 7px; }
    .masthead .util .search-block-form {
      display: inline-block;
      padding-right: 40px;
      position: relative; }
      @media (min-width: 891px) {
        .masthead .util .search-block-form {
          padding-left: 1rem; } }
      .masthead .util .search-block-form a {
        color: #fff; }
      .masthead .util .search-block-form .fa-times {
        color: #666;
        left: 1.75rem;
        position: absolute;
        top: 10px; }
      @media (max-width: 889px) {
        .masthead .util .search-block-form .fa-times {
          top: 25px; } }
      .masthead .util .search-block-form form {
        display: none;
        padding: 1rem; }
        @media (min-width: 891px) {
          .masthead .util .search-block-form form {
            padding: 2px; } }
        .search-open .masthead .util .search-block-form form {
          display: block; }
        .masthead .util .search-block-form form .form-search {
          height: auto;
          padding: 0.5rem 0.5rem 0.5rem 2rem; }
          @media (min-width: 769px) {
            .masthead .util .search-block-form form .form-search {
              padding: 0.2rem 0.2rem 0.2rem 2rem; } }
        .masthead .util .search-block-form form .form-submit {
          height: auto;
          padding: 0.5rem; }
          @media (min-width: 769px) {
            .masthead .util .search-block-form form .form-submit {
              padding: 0.2rem; } }

footer {
  color: #fff;
  font-weight: 100;
  line-height: 1.55;
  max-width: 100%;
  overflow: hidden; }
  footer .container {
    max-width: 1350px;
    margin: 0 auto; }
  footer a {
    color: #fff;
    text-decoration: underline; }
    footer a.gray {
      color: #666; }
  footer .social {
    font-size: 24px;
    margin: 0 0 .5rem 0; }
    footer .social li {
      display: inline-block;
      margin: 0 1rem 0 0; }
      footer .social li a {
        text-decoration: none; }
  footer p {
    margin: 0; }
  footer .mask {
    height: 300px;
    width: 100%;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    overflow: hidden; }
  footer svg {
    fill: #fff;
    opacity: 0.05;
    width: 1688px;
    height: 1688px;
    position: absolute;
    top: -1100px;
    left: 50px; }
    @media (max-width: 1500px) {
      footer svg {
        width: 1288px;
        height: 1288px;
        top: -700px; } }
    @media (max-width: 1300px) {
      footer svg {
        display: none; } }
  footer .block.stay-informed h2 {
    margin: 0;
    font-weight: 100;
    font-size: 2.825rem; }
    @media (min-width: 769px) {
      footer .block.stay-informed h2 {
        font-size: 3.825rem; } }
  footer .block.stay-informed form::after {
    clear: both;
    content: "";
    display: table; }
  footer .block.stay-informed form .form-item-email,
  footer .block.stay-informed form .form-actions {
    float: left; }
  footer .block.stay-informed form .form-item-email {
    width: 70%; }
  footer .block.stay-informed form input.form-email {
    width: 100%;
    height: 55px;
    padding: .5rem 1rem;
    border: 0;
    box-shadow: inset 5px 5px 0px 0px rgba(0, 0, 0, 0.05); }
  footer .block.stay-informed form input.form-submit {
    width: 50px;
    height: 55px;
    border: 0;
    text-indent: -9999px;
    overflow: hidden;
    background: #fff url("../img/arrow-right-teal.png") no-repeat 35% 50%;
    cursor: pointer;
    box-shadow: inset 0px 5px 0px 0px rgba(0, 0, 0, 0.05); }

/**
 * Main navigation - Defaulting to mobile and then growing from there
 * Clicking the main menu gives the body a class of 'open', so that we
 * can tie a bunch of small changes to that parent class
 * -----------------------------------------------------------------------------
 */
nav.menu--main {
  position: relative;
  z-index: 1; }
  nav.menu--main ul, nav.menu--main li {
    margin: 0;
    padding: 0; }
  nav.menu--main .menu {
    display: none; }
    .open nav.menu--main .menu {
      display: block; }
    @media (min-width: 891px) {
      nav.menu--main .menu {
        display: block;
        height: 44px; } }
    nav.menu--main .menu > .back-to-menu {
      display: none; }
    nav.menu--main .menu li {
      background-color: #000;
      color: #fff;
      font-size: 1em; }
      @media (min-width: 891px) {
        nav.menu--main .menu li {
          display: inline-block;
          margin: 0 4.2em 0 0; }
          nav.menu--main .menu li:last-child {
            margin: 0; }
          nav.menu--main .menu li:hover, nav.menu--main .menu li:focus {
            background-color: #aa1a20; }
            nav.menu--main .menu li:hover a:before, nav.menu--main .menu li:focus a:before {
              border-bottom: 44px solid #aa1a20; }
            nav.menu--main .menu li:hover a:after, nav.menu--main .menu li:focus a:after {
              border-top: 44px solid #aa1a20; } }
      @media (min-width: 1301px) {
        nav.menu--main .menu li {
          margin: 0 43px 0 0; }
          nav.menu--main .menu li:hover a:before, nav.menu--main .menu li:focus a:before {
            border-bottom: 45px solid #aa1a20; }
          nav.menu--main .menu li:hover a:after, nav.menu--main .menu li:focus a:after {
            border-top: 45px solid #aa1a20; } }
      @media (min-width: 1501px) {
        nav.menu--main .menu li:last-child {
          width: 300px; } }
      nav.menu--main .menu li a {
        color: #fff;
        display: block;
        padding: 1rem;
        position: relative;
        text-transform: uppercase; }
        @media (min-width: 891px) {
          nav.menu--main .menu li a {
            font-family: "museo-sans",sans-serif;
            font-style: normal;
            font-weight: 700;
            line-height: 44px;
            padding: 0 1.75rem; }
            nav.menu--main .menu li a:before {
              left: -44px;
              top: 0;
              position: absolute;
              width: 0;
              height: 0;
              border-right: 0px solid transparent;
              border-left: 44px solid transparent;
              border-bottom: 44px solid #000;
              content: ''; }
            nav.menu--main .menu li a:after {
              right: -44px;
              top: 0;
              position: absolute;
              width: 0;
              height: 0;
              border-right: 44px solid transparent;
              border-left: 0px solid transparent;
              border-top: 44px solid #000;
              content: ''; } }
        @media (min-width: 1401px) {
          nav.menu--main .menu li a {
            font-size: 1.125em; } }
        @media (min-width: 1301px) {
          nav.menu--main .menu li a {
            line-height: 45px;
            padding: 0 3rem; }
            nav.menu--main .menu li a:before {
              border-left: 45px solid transparent;
              border-bottom: 45px solid #000;
              left: -45px; }
            nav.menu--main .menu li a:after {
              border-right: 45px solid transparent;
              border-top: 45px solid #000;
              right: -45px; } }
      nav.menu--main .menu li .menu li a {
        color: #333;
        font-size: 1rem;
        font-weight: 300;
        text-transform: none; }
        @media (min-width: 891px) {
          nav.menu--main .menu li .menu li a {
            padding: 0 1rem; } }
        nav.menu--main .menu li .menu li a:hover, nav.menu--main .menu li .menu li a:focus {
          color: #f47d31; }
          @media (min-width: 891px) {
            nav.menu--main .menu li .menu li a:hover, nav.menu--main .menu li .menu li a:focus {
              background: transparent url("../img/arrow-right-crimson.png") no-repeat 0 50%;
              background-size: 9px 15px; } }
    nav.menu--main .menu .parent .menu {
      left: 0;
      position: absolute;
      top: 0;
      -webkit-transform: translate3d(100%, 0, 0);
      transform: translate3d(100%, 0, 0);
      transition: visibility 1s, -webkit-transform 0.1s ease-out;
      transition: visibility 1s, transform 0.1s ease-out;
      transition: visibility 1s, transform 0.1s ease-out, -webkit-transform 0.1s ease-out;
      visibility: hidden;
      width: 100%;
      z-index: 11; }
      nav.menu--main .menu .parent .menu.expand {
        top: 0;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        visibility: visible; }
      @media (min-width: 891px) {
        nav.menu--main .menu .parent .menu {
          background: linear-gradient(45deg, #f0ebe8 0%, white 100%);
          box-shadow: 1px 3px 11px 4px rgba(0, 0, 0, 0.2);
          display: none;
          height: auto;
          left: 50%;
          max-width: 1350px;
          padding: 2rem 1.25em 1.25em;
          position: fixed;
          top: 110px;
          -webkit-transform: translate(-50%);
          transform: translate(-50%);
          transition: none;
          visibility: visible;
          width: 100vw; }
          nav.menu--main .menu .parent .menu::after {
            clear: both;
            content: "";
            display: table; }
          .toolbar-fixed nav.menu--main .menu .parent .menu {
            top: 200px; }
          .toolbar-tray-open nav.menu--main .menu .parent .menu {
            top: 200px; } }
      nav.menu--main .menu .parent .menu > .back-to-menu {
        display: block; }
        @media (min-width: 891px) {
          nav.menu--main .menu .parent .menu > .back-to-menu {
            display: none; } }
      nav.menu--main .menu .parent .menu li {
        background-color: #f0ebe8;
        border-bottom: 1px solid #B9B1B0; }
        @media (min-width: 891px) {
          nav.menu--main .menu .parent .menu li {
            background-color: transparent;
            display: block;
            border-bottom: none;
            margin: 0;
            position: relative; } }
        @media (min-width: 891px) {
          nav.menu--main .menu .parent .menu li a:before, nav.menu--main .menu .parent .menu li a:after {
            display: none; } }
        @media (min-width: 891px) {
          nav.menu--main .menu .parent .menu li.parent {
            border-right: 1px solid #deded9;
            margin: 0;
            padding: 1em 0;
            width: 20%; }
            nav.menu--main .menu .parent .menu li.parent:last-child {
              border-right: none; } }
        nav.menu--main .menu .parent .menu li.parent a {
          background: transparent url("../img/arrow-down-crimson.png") no-repeat 98% 50%;
          color: #aa1a20;
          font-family: "museo-sans",sans-serif;
          font-style: normal;
          font-weight: 900;
          font-size: .9rem;
          text-transform: uppercase; }
          @media (min-width: 891px) {
            nav.menu--main .menu .parent .menu li.parent a {
              -webkit-align-items: flex-end;
              -ms-flex-align: end;
              align-items: flex-end;
              background: none;
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              height: 40px;
              line-height: 1.4em;
              padding: 0 1.5em 1em; }
              nav.menu--main .menu .parent .menu li.parent a:hover {
                background: transparent url("../img/arrow-right-crimson.png") no-repeat 7px 31%;
                background-size: 9px 15px; } }
        nav.menu--main .menu .parent .menu li.back-to-menu {
          background: #000 url("../img/white-wedge.svg") no-repeat 14px 49.5%; }
          nav.menu--main .menu .parent .menu li.back-to-menu a {
            background: none;
            color: #fff;
            padding-left: 35px; }
      nav.menu--main .menu .parent .menu .parent .menu {
        -webkit-transform: none;
        transform: none;
        transition: none; }
        nav.menu--main .menu .parent .menu .parent .menu .back-to-menu {
          display: none; }
        nav.menu--main .menu .parent .menu .parent .menu.expand {
          padding-bottom: 1rem;
          position: static; }
        @media (min-width: 891px) {
          nav.menu--main .menu .parent .menu .parent .menu {
            background: transparent;
            box-shadow: none;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            padding: 0;
            position: static;
            width: auto; } }
        nav.menu--main .menu .parent .menu .parent .menu li {
          border-bottom: none;
          font-size: .9rem;
          float: none; }
          @media (min-width: 891px) {
            nav.menu--main .menu .parent .menu .parent .menu li.overview-link {
              display: none; } }
          nav.menu--main .menu .parent .menu .parent .menu li:last-child {
            width: auto; }
          nav.menu--main .menu .parent .menu .parent .menu li a {
            background: none;
            color: #333;
            display: block;
            font-size: 1rem;
            font-weight: 300;
            height: auto;
            padding: .75em 1.25em;
            text-transform: none; }
            nav.menu--main .menu .parent .menu .parent .menu li a:hover, nav.menu--main .menu .parent .menu .parent .menu li a:focus {
              color: #f47d31; }
              @media (min-width: 891px) {
                nav.menu--main .menu .parent .menu .parent .menu li a:hover, nav.menu--main .menu .parent .menu .parent .menu li a:focus {
                  background: transparent url("../img/arrow-right-crimson.png") no-repeat 8px 50%;
                  background-size: 9px 15px; } }
            @media (min-width: 891px) {
              nav.menu--main .menu .parent .menu .parent .menu li a {
                padding: .6em 1.5em; } }
    @media (min-width: 891px) {
      nav.menu--main .menu .parent.topics .menu, nav.menu--main .menu .parent.about .menu {
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 1.25em;
        position: absolute;
        top: 44px;
        width: auto; } }
    @media (min-width: 1301px) {
      nav.menu--main .menu .parent.topics .menu, nav.menu--main .menu .parent.about .menu {
        top: 45px; } }
    @media (min-width: 891px) {
      nav.menu--main .menu .parent.topics .menu {
        left: 83px; } }
    @media (min-width: 1301px) {
      nav.menu--main .menu .parent.topics .menu {
        left: 90px; } }
    @media (min-width: 1501px) {
      nav.menu--main .menu .parent.topics .menu {
        left: 127px; } }
    @media (min-width: 891px) {
      nav.menu--main .menu .parent.about .menu {
        left: 506px; } }
    @media (min-width: 1301px) {
      nav.menu--main .menu .parent.about .menu {
        left: 734px; } }
    @media (min-width: 1501px) {
      nav.menu--main .menu .parent.about .menu {
        left: 814px; } }
    @media (min-width: 891px) {
      nav.menu--main .menu .parent.take-action .menu {
        position: absolute;
        top: 44px;
        left: 379px; } }
    @media (min-width: 891px) {
      nav.menu--main .menu .parent:hover .menu, nav.menu--main .menu .parent:focus .menu, nav.menu--main .menu .parent:active .menu {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }

.breadcrumbs {
  position: absolute;
  z-index: 2;
  left: 1em;
  top: 85px; }
  @media (min-width: 769px) {
    .has-hero .breadcrumbs {
      left: 20px;
      top: 200px;
      right: 12px; } }
  @media (min-width: 1301px) {
    .has-hero .breadcrumbs {
      left: auto;
      top: 290px;
      right: auto; } }
  .no-hero .breadcrumbs {
    left: 1em;
    top: 78px; }
    @media (min-width: 769px) {
      .no-hero .breadcrumbs {
        left: auto;
        top: 175px; } }

.breadcrumb {
  padding: 0; }
  .breadcrumb ol {
    margin: 0; }
  .breadcrumb li {
    text-transform: uppercase;
    padding: 1rem 0;
    font-weight: 900;
    color: #aa1a20; }
    .breadcrumb li:before {
      content: ''; }
    .breadcrumb li:after {
      content: ' / ';
      padding: 0 2px;
      position: relative;
      top: 2px; }
    .breadcrumb li a {
      color: #fff;
      font-size: .7em;
      font-weight: 700;
      text-decoration: underline; }
      .no-hero .breadcrumb li a {
        color: #000; }

/**
 * Hero content is basically the page title on pages with hero divs
 * The nesting is all whack so we have to position absolute the stuff
 */
@media (min-width: 1300px) {
  .has-hero.path-frontpage .hero-content {
    font-size: 120%;
    margin: 11rem 0 0 0;
    width: 50%; } }

@media (min-width: 1881px) {
  .has-hero.path-frontpage .hero-content {
    width: 35%; } }

@media (min-width: 1300px) {
  .has-hero.path-frontpage .hero-content.toolbar-horizontal .hero-content {
    font-size: 120%;
    margin: 14rem 0 0 0;
    width: 50%; } }

.has-hero .main {
  position: relative; }

.has-hero .hero-content {
  color: #fff;
  font-size: 90%;
  left: 1em;
  line-height: 1.4;
  margin: 2rem 0 0 0;
  overflow: hidden;
  position: absolute;
  top: 100px; }
  .has-hero .hero-content.mac-os-x {
    top: 0; }
    @media (max-width: 1299px) {
      .has-hero .hero-content.mac-os-x {
        top: 100px; } }
  @media (min-width: 768px) {
    .has-hero .hero-content {
      left: auto;
      font-size: 100%;
      margin: 9rem 0 0 0;
      width: 68%; } }
  @media (min-width: 1300px) {
    .has-hero .hero-content {
      font-size: 120%;
      margin: 14rem 0 0 0;
      width: 50%; } }
  @media (min-width: 1881px) {
    .has-hero .hero-content {
      width: 35%; } }
  @media (min-width: 1300px) {
    .has-hero .hero-content.toolbar-horizontal .hero-content {
      font-size: 120%;
      margin: 14rem 0 0 0;
      width: 50%; } }
  .has-hero .hero-content h1 {
    color: #fff;
    font-size: 2em;
    text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.1); }
    @media (min-width: 769px) {
      .has-hero .hero-content h1 {
        font-size: 3em; } }
    @media (min-width: 1501px) {
      .has-hero .hero-content h1 {
        font-size: 3.7em;
        line-height: 1.1em; } }
  .has-hero .hero-content .btn {
    font-size: 1.2em; }
    @media (min-width: 768px) {
      .has-hero .hero-content .btn {
        font-size: 0.9em;
        font-weight: 700 !important; } }

.at-resp-share-element .at-share-btn:focus,
.at-resp-share-element .at-share-btn:hover {
  -webkit-transform: none !important;
  transform: none !important; }

/**
 * Pages without a hero have the standard tan bar with the right triangle
 * -----------------------------------------------------------------------------
 */
.no-hero {
  /*
   * Page title block version: styles the tan bar background on the page title
   * block only.
   * This should probably go away and we use Tory's new page-title-bar as it's
   * better, and has the breadcrumbs where they should be.
   * ===========================================================================
   */
  /*
   * Page title bar version: styles the tan bar background on a wrapper div
   * containing page title, breadcrumb, and other fields pulled from node.
   * ===========================================================================
   */ }
  .no-hero .tan-bar {
    display: none;
    left: 50%;
    overflow: hidden;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 0;
    width: 100vw;
    z-index: 0; }
    .no-hero .tan-bar .bar {
      background-color: #eee9e5;
      display: block; }
    .no-hero .tan-bar span.triangle {
      border-top-color: #eee9e5;
      display: block; }
      .no-hero .tan-bar span.triangle.t2 {
        border-top-color: #aa1a20; }
    @media (min-width: 769px) {
      .no-hero .tan-bar {
        display: block; } }
  .no-hero .block.page-title {
    position: relative;
    margin-bottom: 3rem; }
    .no-hero .block.page-title h1 {
      color: #000;
      font-size: 2em;
      padding: 3rem 0 1.5rem 0;
      margin: 0;
      position: relative;
      z-index: 1; }
      @media (min-width: 769px) {
        .no-hero .block.page-title h1 {
          font-size: 3em;
          padding: 4rem 0 3rem 0; } }
  .no-hero .page-title-bar {
    margin-bottom: 4rem;
    padding: .5em 0;
    position: relative; }
    .no-hero .page-title-bar::after {
      clear: both;
      content: "";
      display: table; }
    .no-hero .page-title-bar h1, .no-hero .page-title-bar h2, .no-hero .page-title-bar h3, .no-hero .page-title-bar h4, .no-hero .page-title-bar h5, .no-hero .page-title-bar h6, .no-hero .page-title-bar div {
      position: relative;
      z-index: 1; }
    .no-hero .page-title-bar .page-title-content {
      font-size: 1;
      position: relative;
      padding: .5em 0 1em 0; }
      @media (min-width: 769px) {
        .no-hero .page-title-bar .page-title-content {
          font-size: .7em;
          padding: .5em 0 1em 210px; } }
      @media (min-width: 1301px) {
        .no-hero .page-title-bar .page-title-content {
          font-size: 1em;
          padding: .5em 0 1em 260px; } }
    .no-hero .page-title-bar .breadcrumb {
      position: relative;
      z-index: 1;
      margin: 1rem 0;
      font-size: 25px; }
    .no-hero .page-title-bar .page-title {
      color: #000;
      font-size: 1.2em;
      position: relative;
      z-index: 1; }
      @media (min-width: 769px) {
        .no-hero .page-title-bar .page-title {
          font-size: 3em;
          width: 70%; } }
    .no-hero .page-title-bar .sub-title {
      font-style: italic;
      font-weight: normal;
      font-size: 1.25em; }
      @media (min-width: 769px) {
        .no-hero .page-title-bar .sub-title {
          font-size: 1.5em;
          width: 70%; } }
    .no-hero .page-title-bar .field {
      position: relative;
      z-index: 1; }
    .no-hero .page-title-bar .img-ringed {
      display: block;
      width: 200px;
      height: 200px;
      position: relative;
      display: none;
      margin-right: 1em;
      position: absolute;
      top: -9px; }
      .no-hero .page-title-bar .img-ringed .ring {
        width: 200px;
        height: 200px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2; }
        .no-hero .page-title-bar .img-ringed .ring path {
          fill: #fff; }
      .no-hero .page-title-bar .img-ringed .circle {
        display: block;
        position: absolute;
        top: 1px;
        left: 1px;
        z-index: 1;
        border-radius: 50%;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        height: 198px;
        width: 198px; }
      @media (min-width: 768px) {
        .no-hero .page-title-bar .img-ringed {
          display: block; } }
    @media (min-width: 1301px) {
      .no-hero .page-title-bar .img-ringed {
        display: block;
        width: 250px;
        height: 250px;
        position: relative;
        position: absolute;
        top: -24px; }
        .no-hero .page-title-bar .img-ringed .ring {
          width: 250px;
          height: 250px;
          position: absolute;
          top: 0;
          left: 0;
          z-index: 2; }
          .no-hero .page-title-bar .img-ringed .ring path {
            fill: #fff; }
        .no-hero .page-title-bar .img-ringed .circle {
          display: block;
          position: absolute;
          top: 1px;
          left: 1px;
          z-index: 1;
          border-radius: 50%;
          background-size: cover;
          background-repeat: no-repeat;
          background-position: 50% 50%;
          height: 248px;
          width: 248px; } }

.field--name-body a, .field--name-body a strong {
  font-weight: normal !important; }

.field--name-body h2 {
  margin: 2.5rem 0 0 0; }

.field--name-body h1, .field--name-body h2,
.field--name-body h3, .field--name-body h4,
.field--name-body h5, .field--name-body h6 {
  margin-top: 2.5rem; }
  .field--name-body h1 a, .field--name-body h1 a strong, .field--name-body h2 a, .field--name-body h2 a strong,
  .field--name-body h3 a,
  .field--name-body h3 a strong, .field--name-body h4 a, .field--name-body h4 a strong,
  .field--name-body h5 a,
  .field--name-body h5 a strong, .field--name-body h6 a, .field--name-body h6 a strong {
    font-weight: unset !important; }

article.teaser,
article.featured-sidebar {
  color: #666;
  margin: 0 0 1.5rem 0; }
  article.teaser h5,
  article.featured-sidebar h5 {
    margin: .5rem 0;
    line-height: 1.3; }
  article.teaser ul.topics li,
  article.featured-sidebar ul.topics li {
    margin: 0 .5rem 0 0; }

main .overline, p.overline, .overline {
  color: #B9B1B0;
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase; }

main ul.inline.topics,
main ul.inline.issues {
  display: inline;
  padding: 0;
  line-height: 1.4; }
  main ul.inline.topics li,
  main ul.inline.issues li {
    display: inline;
    margin: 0;
    padding: 0; }
    main ul.inline.topics li::after,
    main ul.inline.issues li::after {
      content: ', '; }
    main ul.inline.topics li:last-child::after,
    main ul.inline.issues li:last-child::after {
      content: ''; }

ul.topics a, ul.issues a {
  font-style: italic;
  color: #666;
  text-decoration: underline; }

main ul.inline.topics {
  clear: left; }

main ul.inline.issues {
  clear: right; }

.topic-issue-separator {
  display: inline-block;
  margin-left: -5px; }

.share {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  @media (min-width: 768px) {
    .share {
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  .share h6 {
    color: #B9B1B0; }

/*
 * Person detail
 * @see layout--content-detail--node-person-full.html.twig
 */
.node--type-person.node--view-mode-full {
  position: relative; }
  .node--type-person.node--view-mode-full .page-title {
    margin-top: .5rem; }
  @media (min-width: 768px) {
    .node--type-person.node--view-mode-full .page-title-content {
      padding-left: 222px; } }
  @media (min-width: 1300px) {
    .node--type-person.node--view-mode-full .page-title-content {
      padding-left: 282px; } }
  .node--type-person.node--view-mode-full .field--name-field-professional-title {
    width: 70%;
    font-size: .8em;
    position: relative;
    z-index: 1; }
    @media (min-width: 768px) {
      .node--type-person.node--view-mode-full .field--name-field-professional-title {
        font-size: 1.4em;
        padding-bottom: .5em; } }
  .node--type-person.node--view-mode-full .social {
    font-size: .6em;
    line-height: 1.4em;
    position: relative;
    z-index: 1; }
    @media (min-width: 768px) {
      .node--type-person.node--view-mode-full .social {
        font-size: .8em; } }
    .node--type-person.node--view-mode-full .social .social-label {
      display: block;
      color: #666;
      font-weight: 900;
      text-transform: uppercase; }
      @media (min-width: 769px) {
        .node--type-person.node--view-mode-full .social .social-label {
          display: inline-block; } }
    .node--type-person.node--view-mode-full .social .social-link {
      font-weight: bold;
      padding-right: 20px; }
      .node--type-person.node--view-mode-full .social .social-link + .social-link {
        border-left: 2px solid crimson;
        padding-left: 4px; }
  .node--type-person.node--view-mode-full .expertise {
    width: 300px;
    float: left;
    margin: 0 1rem 1rem -1rem;
    padding: 1rem;
    background-color: #eee9e5; }
    .node--type-person.node--view-mode-full .expertise .expertise-label {
      font-size: 1rem;
      font-weight: 700;
      margin-bottom: 1em;
      text-transform: uppercase; }
    .node--type-person.node--view-mode-full .expertise ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
      .node--type-person.node--view-mode-full .expertise ul li {
        display: block; }
        .node--type-person.node--view-mode-full .expertise ul li a {
          color: #008e96;
          font-style: normal;
          text-decoration: none; }
  .node--type-person.node--view-mode-full .view-content-authored .node--view-mode-authored-item {
    margin-bottom: 2em; }
    .node--type-person.node--view-mode-full .view-content-authored .node--view-mode-authored-item .field--name-field-image img {
      display: block;
      max-width: 100%; }
    .node--type-person.node--view-mode-full .view-content-authored .node--view-mode-authored-item .title {
      font-weight: normal; }
    .node--type-person.node--view-mode-full .view-content-authored .node--view-mode-authored-item .field--name-body p {
      margin-bottom: 0; }
    .node--type-person.node--view-mode-full .view-content-authored .node--view-mode-authored-item .addthis_inline_share_toolbox {
      margin-bottom: 1em; }
    .node--type-person.node--view-mode-full .view-content-authored .node--view-mode-authored-item .btn {
      display: inline-block;
      float: none; }

.related-content h5 {
  font-weight: 900; }

.related-content p {
  margin: 0; }

/*
 * Event detail
 * @see layout--content-detail--node-event-full.html.twig
 */
.node--type-event.node--view-mode-full {
  /*
   * @see address-plain.html.twig
   */
  /*
   * @see node--person--event-featured-speaker.html.twig
   */
  /*
   * @see field--node--field-additional-speakers--event.html.twig
   */
  /*
   * Schedule table
   * @see field--field-event-schedule.html.twig
   *      paragraph--event-schedule-item.html.twig
   *      field--field-item-date-time.html.twig
   */ }
  .node--type-event.node--view-mode-full .field--name-field-register {
    display: inline-block; }
  .node--type-event.node--view-mode-full .btn {
    display: inline-block;
    float: none; }
  .node--type-event.node--view-mode-full > .row {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    @media (min-width: 769px) {
      .node--type-event.node--view-mode-full > .row {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row; } }
  .node--type-event.node--view-mode-full .col {
    margin: 0;
    padding: 0 1em 1em 0; }
    .node--type-event.node--view-mode-full .col.span-8 {
      padding: 0 0 2em 0;
      width: 100%; }
      @media (min-width: 769px) {
        .node--type-event.node--view-mode-full .col.span-8 {
          padding: 0 2em 2em 0;
          width: 60%; } }
      .node--type-event.node--view-mode-full .col.span-8 .field--name-body .text-align-left img {
        float: left; }
      .node--type-event.node--view-mode-full .col.span-8 .field--name-body .text-align-right img {
        float: right; }
      .node--type-event.node--view-mode-full .col.span-8 .field--name-body .text-align-center img {
        float: none;
        display: block;
        margin-left: auto;
        margin-right: auto; }
      .node--type-event.node--view-mode-full .col.span-8 .field--name-body img {
        float: left;
        margin: 0 1em .25em 0; }
        @media (min-width: 769px) {
          .node--type-event.node--view-mode-full .col.span-8 .field--name-body img {
            padding-top: 20px;
            padding-right: 20px; } }
    .node--type-event.node--view-mode-full .col.span-4 {
      padding: 0 0 2em 0;
      width: 100%; }
      @media (min-width: 769px) {
        .node--type-event.node--view-mode-full .col.span-4 {
          padding: 0 2em 2em 2em;
          width: 38%; } }
  .node--type-event.node--view-mode-full .field--name-field-date-range {
    display: block;
    /* Event spanning multiple days includes these elements: */
    /* Event on a single day includes these elements: */
    /* The separator is between start and end times or date/times */ }
    @media (min-width: 1301px) {
      .node--type-event.node--view-mode-full .field--name-field-date-range {
        display: inline-block;
        font-size: 23px;
        margin: 1rem 0; } }
    @media (min-width: 768px) {
      .node--type-event.node--view-mode-full .field--name-field-date-range time {
        display: inline-block; } }
    .node--type-event.node--view-mode-full .field--name-field-date-range time.time-start {
      display: inline-block; }
    .node--type-event.node--view-mode-full .field--name-field-date-range time.time-end {
      display: inline-block; }
    @media (min-width: 1301px) {
      .node--type-event.node--view-mode-full .field--name-field-date-range .separator {
        display: inline-block; } }
  .node--type-event.node--view-mode-full .field--name-field-type {
    display: inline-block;
    font-size: 23px; }
    @media (min-width: 1301px) {
      .node--type-event.node--view-mode-full .field--name-field-type.has-date:before {
        color: #666;
        content: "\2022";
        display: inline-block;
        padding: 0 .5em 0 .2em; } }
  .node--type-event.node--view-mode-full .address {
    font-weight: bold;
    text-transform: uppercase;
    color: #B9B1B0; }
  .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .img-ringed {
    display: block;
    width: 230px;
    height: 230px;
    position: relative;
    display: none;
    margin-top: -150px; }
    .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .img-ringed .ring {
      width: 230px;
      height: 230px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2; }
      .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .img-ringed .ring path {
        fill: #fff; }
    .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .img-ringed .circle {
      display: block;
      position: absolute;
      top: 1px;
      left: 1px;
      z-index: 1;
      border-radius: 50%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      height: 228px;
      width: 228px; }
    @media (min-width: 769px) {
      .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .img-ringed {
        display: block; } }
  .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .featured-speaker-header {
    margin: 1rem 0 0.5rem 0;
    text-transform: uppercase;
    font-size: 0.9em; }
  .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .name {
    font-size: 1.8em; }
  .node--type-event.node--view-mode-full .node--type-person.node--view-mode-event-featured-speaker .field--name-field-professional-title {
    font-size: 1.1em; }
  .node--type-event.node--view-mode-full .field--name-field-additional-speakers {
    margin-top: 2rem; }
    .node--type-event.node--view-mode-full .field--name-field-additional-speakers .additional-speakers-header {
      margin: 0 0 0.5rem 0;
      text-transform: uppercase;
      font-size: 0.9em; }
    .node--type-event.node--view-mode-full .field--name-field-additional-speakers .field__item {
      font-size: 0.9em; }
  .node--type-event.node--view-mode-full .bottom {
    max-width: 5000px;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100vw;
    background-color: #eae4de;
    padding: 3em 0; }
    .node--type-event.node--view-mode-full .bottom.resources {
      background-color: #fff;
      padding: 0; }
    .node--type-event.node--view-mode-full .bottom h2 {
      font-weight: normal; }
    .node--type-event.node--view-mode-full .bottom table {
      width: 100%;
      margin-bottom: 2rem; }
      .node--type-event.node--view-mode-full .bottom table thead {
        margin-bottom: 2rem; }
      .node--type-event.node--view-mode-full .bottom table thead tr {
        background-color: transparent; }
      .node--type-event.node--view-mode-full .bottom table th {
        color: #666;
        font-size: .8em;
        padding: 1rem 1rem 1rem 0;
        text-align: left; }
      .node--type-event.node--view-mode-full .bottom table th.date, .node--type-event.node--view-mode-full .bottom table td.date {
        padding: 1rem 1rem 1rem 0;
        vertical-align: top;
        width: 15%; }
      .node--type-event.node--view-mode-full .bottom table th.time, .node--type-event.node--view-mode-full .bottom table td.time {
        padding: 1rem 1rem 1rem 0;
        vertical-align: top;
        width: 25%; }
      .node--type-event.node--view-mode-full .bottom table th.description, .node--type-event.node--view-mode-full .bottom table td.description {
        padding: 1rem 1rem 1rem 0;
        width: 60%; }
      .node--type-event.node--view-mode-full .bottom table td.description {
        padding-right: 50px;
        position: relative; }
        .node--type-event.node--view-mode-full .bottom table td.description .toggle {
          position: absolute;
          right: 1em;
          top: 8px; }
        .node--type-event.node--view-mode-full .bottom table td.description .field--name-field-event-item-description {
          display: none; }
        .node--type-event.node--view-mode-full .bottom table td.description .more {
          position: absolute;
          right: 1em;
          top: 8px;
          -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
          transition: -webkit-transform 0.5s ease-in-out;
          transition: transform 0.5s ease-in-out;
          transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out; }
      .node--type-event.node--view-mode-full .bottom table tbody tr {
        background-color: #eae4de; }
        .node--type-event.node--view-mode-full .bottom table tbody tr:nth-child(even) {
          background-color: #ecddca; }
        .node--type-event.node--view-mode-full .bottom table tbody tr.expanded {
          background-color: #fff;
          border-left: 2px solid #aa1a20; }
      .node--type-event.node--view-mode-full .bottom table.resources tbody tr:nth-child(even) {
        background-color: #fff; }
      .node--type-event.node--view-mode-full .bottom table.resources td {
        padding-left: 0;
        padding-right: 0; }
        .node--type-event.node--view-mode-full .bottom table.resources td span.file {
          padding: 0; }
          .node--type-event.node--view-mode-full .bottom table.resources td span.file::before {
            display: none; }
      .node--type-event.node--view-mode-full .bottom table.resources td.icon {
        width: 100px; }
        .node--type-event.node--view-mode-full .bottom table.resources td.icon span.file {
          padding: 0 .5em;
          font-size: 32px; }
          .node--type-event.node--view-mode-full .bottom table.resources td.icon span.file::before {
            display: inline-block; }
        .node--type-event.node--view-mode-full .bottom table.resources td.icon a {
          display: none; }
      .node--type-event.node--view-mode-full .bottom table tr.expanded td.date, .node--type-event.node--view-mode-full .bottom table tr.expanded td.time, .node--type-event.node--view-mode-full .bottom table tr.expanded td.description .field--name-field-event-item-title {
        font-weight: bold; }
      .node--type-event.node--view-mode-full .bottom table tr.expanded td.description .field--name-field-event-item-description {
        display: block; }
      .node--type-event.node--view-mode-full .bottom table tr.expanded td.description .more {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg); }

button,
input,
optgroup,
select,
textarea {
  background: #fff;
  border: solid 3px #B9B1B0;
  color: #444;
  font-weight: 900;
  font-size: 16px;
  height: 50px;
  padding: 0 .5rem; }
  button::-webkit-input-placeholder,
  input::-webkit-input-placeholder,
  optgroup::-webkit-input-placeholder,
  select::-webkit-input-placeholder,
  textarea::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #666;
    text-transform: uppercase; }
  button::-moz-placeholder,
  input::-moz-placeholder,
  optgroup::-moz-placeholder,
  select::-moz-placeholder,
  textarea::-moz-placeholder {
    /* Firefox 19+ */
    color: #666;
    text-transform: uppercase; }
  button:-ms-input-placeholder,
  input:-ms-input-placeholder,
  optgroup:-ms-input-placeholder,
  select:-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    /* IE 10+ */
    color: #666;
    text-transform: uppercase; }
  button::-moz-placeholder,
  input::-moz-placeholder,
  optgroup::-moz-placeholder,
  select::-moz-placeholder,
  textarea::-moz-placeholder {
    /* Firefox 18- */
    color: #666;
    text-transform: uppercase; }

input[type="submit"] {
  cursor: pointer; }

input.btn {
  padding-right: 1.5rem; }

button.blank-btn {
  background: none;
  cursor: pointer;
  font-weight: 300;
  text-transform: none;
  border: none; }

button.close-btn {
  background-color: #aa1a20;
  border: none;
  border-radius: 50% 50%;
  cursor: pointer;
  color: #fff;
  height: 40px;
  text-align: center;
  width: 40px; }
  button.close-btn svg {
    fill: #aa1a20;
    height: 48px;
    left: -4px;
    position: absolute;
    top: -4px;
    width: 48px; }
  button.close-btn:hover, button.close-btn:focus {
    background-color: #d62128; }

.btn {
  font-family: "museo-sans",sans-serif;
  font-style: normal;
  font-weight: 700;
  text-transform: capitalize;
  font-size: 18px;
  display: block;
  border: 0;
  outline: none;
  cursor: pointer;
  position: relative;
  background: #f47d31;
  color: #fff !important;
  padding: 0 2rem 0 1.5rem;
  line-height: 50px;
  margin: 0 5rem 0 0;
  float: left; }
  @media (max-width: 479px) {
    .btn {
      height: 45px; } }
  .btn:hover {
    background: #e6610c; }
    .btn:hover .triangle.t1 {
      border-top-color: #e6610c; }
  .btn.white {
    background: #fff;
    color: #f47d31 !important; }
    .btn.white span.triangle {
      border-top-color: #fff; }
      .btn.white span.triangle.t2 {
        border-top-color: #B9B1B0; }
    .btn.white:hover {
      background: #f2f2f2; }
      .btn.white:hover .triangle.t1 {
        border-top-color: #f2f2f2; }
  .btn.teal {
    background: #008e96; }
    .btn.teal span.triangle {
      border-top-color: #008e96; }
    .btn.teal:hover {
      background: #30f4ff; }
      .btn.teal:hover .triangle {
        border-top-color: #30f4ff; }
  .btn.black {
    font-weight: 700 !important;
    background: #000; }
    .btn.black span.triangle {
      border-top-color: #000; }
      .btn.black span.triangle.t2 {
        border-top-color: #B9B1B0; }
    .btn.black:hover {
      background: #4d4d4d; }
      .btn.black:hover .triangle.t1 {
        border-top-color: #4d4d4d; }

.actions {
  padding: 0 0 2rem 0; }
  .actions::after {
    clear: both;
    content: "";
    display: table; }

.form--inline {
  margin: 1rem 0 2rem; }
  .form--inline select {
    color: #008e96; }
  .form--inline .form-item {
    margin: 0 1rem 0 0; }
  .form--inline .form-actions {
    margin: 0;
    clear: none; }

.views-exposed-form .view-btn-container {
  display: inline-block;
  border: 0;
  outline: none;
  cursor: pointer;
  position: relative;
  color: #fff !important;
  line-height: 50px;
  margin: 0 5rem 0 0; }
  .views-exposed-form .view-btn-container:hover .triangle.t1 {
    border-top-color: #e6610c; }
  .views-exposed-form .view-btn-container .triangle.t1:hover + .form-submit {
    background: #e6610c; }

.wFormContainer form .oneChoice {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center; }
  .wFormContainer form .oneChoice [type="checkbox"] {
    margin-right: 10px; }

/*SELECT FORM STYLES*/
.s-hidden {
  visibility: hidden;
  padding-right: 10px; }

.select {
  cursor: pointer;
  display: inline-block;
  position: relative;
  width: 100%;
  background: #fff;
  border: solid 3px #B9B1B0;
  color: #444;
  font-weight: 900;
  font-size: 16px;
  height: 50px;
  padding: 0 .5rem; }

.styledSelect {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: white;
  padding: 6px 10px 0;
  font-weight: bold;
  background-image: url(/themes/cfed/img/select-arrow.png);
  background-repeat: no-repeat;
  background-position: 348px -1px;
  background-size: contain;
  color: grey; }

.options {
  display: none;
  position: absolute;
  top: 106%;
  right: -3px;
  left: -3px;
  z-index: 999;
  margin: 0 0;
  padding: 0 0;
  list-style: none;
  border-right: 4px solid #deccc4;
  border-bottom: 4px solid #deccc4;
  background-color: white; }

.options li {
  background-color: #fdf6f3;
  margin: 0 0;
  padding: 0 10px;
  font-weight: 100;
  color: #000; }

.options li:hover {
  background-color: #f47e2d; }

.btn-ringed {
  display: inline-block;
  width: 48px;
  height: 48px;
  position: relative; }
  .btn-ringed.gray .circle {
    background: #B9B1B0; }
  .btn-ringed.gray .ring {
    fill: #B9B1B0; }
  .btn-ringed span {
    display: block; }
  .btn-ringed .wedge {
    width: 12px;
    fill: #fff;
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 17px; }
  .btn-ringed.right .wedge {
    /* IE 9 */
    -webkit-transform: rotate(180deg);
    /* Chrome, Safari, Opera */
    transform: rotate(180deg);
    left: 20px; }
  .btn-ringed.down .wedge {
    /* IE 9 */
    -webkit-transform: rotate(-90deg);
    /* Chrome, Safari, Opera */
    transform: rotate(-90deg);
    left: 19px; }
  .btn-ringed.up .wedge {
    /* IE 9 */
    -webkit-transform: rotate(90deg);
    /* Chrome, Safari, Opera */
    transform: rotate(90deg);
    left: 19px; }
  .btn-ringed .circle {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    background: #008e96;
    position: absolute;
    z-index: 1;
    top: 4px;
    left: 4px; }
  .btn-ringed .ring {
    width: 48px;
    height: 48px;
    fill: #008e96;
    position: absolute;
    z-index: 0;
    top: 0; }

.carousel-items {
  overflow: hidden; }
  .carousel-items::after {
    clear: both;
    content: "";
    display: table; }

body.path-frontpage h6 {
  color: #B9B1B0;
  margin-bottom: 1rem; }

body.path-frontpage .box {
  width: 400px;
  height: 400px;
  background: #f1ddd3;
  position: absolute;
  z-index: 1;
  top: 0;
  /* IE 9 */
  -webkit-transform: rotate(30deg);
  /* Chrome, Safari, Opera */
  transform: rotate(30deg); }

body.path-frontpage .row.expert-block {
  padding: 0 0 3em; }
  @media (min-width: 481px) {
    body.path-frontpage .row.expert-block {
      padding: 2em 1em 6em; } }
  @media (min-width: 1301px) {
    body.path-frontpage .row.expert-block {
      padding: 0; } }
  body.path-frontpage .row.expert-block .col.span-3.expert-module {
    width: 100%;
    margin: 2em 0 30px;
    float: none; }
    @media (min-width: 626px) {
      body.path-frontpage .row.expert-block .col.span-3.expert-module .image {
        float: left;
        height: 230px;
        margin-bottom: 0;
        margin-right: 1rem;
        width: 49%; }
      body.path-frontpage .row.expert-block .col.span-3.expert-module h4 {
        padding: 1rem 1rem 0; } }
  @media (min-width: 626px) and (max-width: 767px) {
    body.path-frontpage .row.expert-block .col.span-3.expert-module h4 {
      font-size: 1em; } }
    @media (min-width: 626px) {
      body.path-frontpage .row.expert-block .col.span-3.expert-module .author {
        padding: 0; }
        body.path-frontpage .row.expert-block .col.span-3.expert-module .author .byline {
          width: 48%; } }
    @media (min-width: 981px) {
      body.path-frontpage .row.expert-block .col.span-3.expert-module {
        width: 90%; } }
    @media (min-width: 1301px) {
      body.path-frontpage .row.expert-block .col.span-3.expert-module {
        margin: 2em auto 30px;
        float: right;
        width: 23.5%;
        margin-top: -220px; }
        body.path-frontpage .row.expert-block .col.span-3.expert-module .image {
          height: 200px;
          margin-bottom: 1rem;
          width: 100%; }
        body.path-frontpage .row.expert-block .col.span-3.expert-module h4 {
          font-size: 1.2em;
          padding: 0 2rem; }
        body.path-frontpage .row.expert-block .col.span-3.expert-module .author {
          padding: 0 2rem 2rem; }
          body.path-frontpage .row.expert-block .col.span-3.expert-module .author .byline {
            width: 100%; } }
    body.path-frontpage .row.expert-block .col.span-3.expert-module .author .img-ringed {
      display: block;
      width: 125px;
      height: 125px;
      position: absolute;
      bottom: -70px;
      margin-right: 0;
      float: right;
      right: -40px; }
      @media (min-width: 1301px) {
        body.path-frontpage .row.expert-block .col.span-3.expert-module .author .img-ringed {
          right: -70px; } }
  body.path-frontpage .row.expert-block .need-to-know {
    color: #000;
    padding: 0;
    margin: 0;
    width: 100%;
    float: none; }
    @media (min-width: 981px) {
      body.path-frontpage .row.expert-block .need-to-know {
        float: left;
        padding: 0 0 8em; } }
    @media (min-width: 1301px) {
      body.path-frontpage .row.expert-block .need-to-know {
        width: 70%;
        padding: 2em 1em 6em; } }
    body.path-frontpage .row.expert-block .need-to-know a {
      color: #000; }

body.path-frontpage.toolbar-horizontal .expert {
  margin-top: -280px; }

body.path-frontpage .featured {
  max-width: 5000px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100vw;
  background-color: #a91b21;
  color: #fff;
  padding: 2em;
  position: relative;
  width: 100vw;
  margin-top: 90px; }
  @media (min-width: 891px) {
    body.path-frontpage .featured {
      height: 575px;
      padding: 0; } }
  @media (min-width: 1301px) {
    body.path-frontpage .featured {
      margin-top: 0px; } }
  body.path-frontpage .featured .contextual-region {
    position: static; }
  body.path-frontpage .featured .content-container {
    font-size: 0.8em;
    margin-top: -40px;
    padding: 0;
    position: relative;
    top: 0;
    z-index: 1; }
    body.path-frontpage .featured .content-container .col {
      float: none;
      margin: 0;
      width: 100%; }
    @media (min-width: 891px) {
      body.path-frontpage .featured .content-container {
        font-size: 1em;
        margin-top: 0; }
        body.path-frontpage .featured .content-container .col {
          float: left; }
          body.path-frontpage .featured .content-container .col.span-5 {
            margin: 0;
            width: 40.5%; }
          body.path-frontpage .featured .content-container .col.span-7 {
            margin: 0;
            width: 57.5%; } }
    body.path-frontpage .featured .content-container h6, body.path-frontpage .featured .content-container h5, body.path-frontpage .featured .content-container p {
      color: #fff;
      padding: 1rem 0;
      position: relative;
      z-index: 2; }
      @media (min-width: 891px) {
        body.path-frontpage .featured .content-container h6, body.path-frontpage .featured .content-container h5, body.path-frontpage .featured .content-container p {
          width: 500px; } }
    body.path-frontpage .featured .content-container h5 {
      font-size: 1.7em;
      line-height: 1.3em;
      padding: 0; }
    body.path-frontpage .featured .content-container h6 {
      padding: 0; }
      @media (min-width: 891px) {
        body.path-frontpage .featured .content-container h6 {
          padding-top: 12rem; } }
    body.path-frontpage .featured .content-container a {
      color: #fff;
      z-index: 2; }
      @media (max-width: 479px) {
        body.path-frontpage .featured .content-container a {
          height: 45px; } }
    body.path-frontpage .featured .content-container .view-display-id-block_featured .view-content > div > p {
      font-style: italic; }
  body.path-frontpage .featured .background-blender {
    display: none; }
    @media (min-width: 891px) {
      body.path-frontpage .featured .background-blender {
        width: 1950px;
        background: #a91b21;
        display: block;
        height: 575px;
        left: -110%;
        position: absolute;
        z-index: 0;
        top: 0; } }
  body.path-frontpage .featured .background {
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: .4;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    height: 575px;
    width: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  body.path-frontpage .featured .events {
    background: #fff;
    color: #444;
    margin: auto;
    padding-bottom: 2rem;
    position: relative;
    top: -75px;
    width: 100%;
    z-index: 2; }
    @media (min-width: 891px) {
      body.path-frontpage .featured .events {
        position: absolute;
        top: -65px;
        width: 302.672px;
        margin: 2em 1em 6em; } }
    body.path-frontpage .featured .events a {
      color: #008e96; }
    body.path-frontpage .featured .events .contextual-region {
      position: relative; }
    body.path-frontpage .featured .events .image {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      height: 200px;
      width: 100%; }
    body.path-frontpage .featured .events .date {
      position: absolute;
      z-index: 1;
      top: 200px;
      width: 100%;
      height: 48px;
      line-height: 48px;
      padding-left: 2.5rem;
      background: #000;
      color: #fff; }
    body.path-frontpage .featured .events a.btn-ringed {
      position: absolute;
      z-index: 2;
      top: 200px; }
      body.path-frontpage .featured .events a.btn-ringed.left {
        left: -24px; }
      body.path-frontpage .featured .events a.btn-ringed.right {
        right: -24px; }
    body.path-frontpage .featured .events h4, body.path-frontpage .featured .events p {
      margin: 0;
      padding: 0 1rem; }
      @media (min-width: 891px) {
        body.path-frontpage .featured .events h4, body.path-frontpage .featured .events p {
          padding: 0 2rem; } }
    body.path-frontpage .featured .events h4 {
      margin-top: 80px; }
    body.path-frontpage .featured .events p {
      line-height: 1.4;
      margin-top: .5rem;
      color: #444;
      width: auto; }

body.path-frontpage .articles,
body.path-frontpage .resources {
  max-width: 5000px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100vw;
  padding: 4rem 0;
  overflow: hidden; }
  @media (min-width: 769px) {
    body.path-frontpage .articles,
    body.path-frontpage .resources {
      padding: 9rem 2rem; } }
  body.path-frontpage .articles .overline:nth-child(1),
  body.path-frontpage .resources .overline:nth-child(1) {
    display: inline-block;
    text-decoration: underline; }
  body.path-frontpage .articles .overline,
  body.path-frontpage .resources .overline {
    color: #B9B1B0;
    font-size: 16px;
    font-weight: 900;
    margin: 0;
    text-transform: uppercase; }
  body.path-frontpage .articles h3,
  body.path-frontpage .resources h3 {
    display: inline-block;
    padding-right: 1rem;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1; }
  body.path-frontpage .articles p,
  body.path-frontpage .resources p {
    font-weight: normal;
    margin: 0;
    display: none; }
    @media (min-width: 769px) {
      body.path-frontpage .articles p,
      body.path-frontpage .resources p {
        display: block; } }
    body.path-frontpage .articles p.overline,
    body.path-frontpage .resources p.overline {
      display: block; }
    body.path-frontpage .articles p strong,
    body.path-frontpage .resources p strong {
      font-weight: normal; }
  body.path-frontpage .articles a.more,
  body.path-frontpage .resources a.more {
    color: #f47d31;
    font-size: 16px;
    font-weight: 900;
    text-transform: uppercase;
    text-decoration: underline;
    display: inline-block;
    /*@include media('>768px'){
        display: inline-block;
      }*/ }
  body.path-frontpage .articles h5,
  body.path-frontpage .resources h5 {
    font-size: 1.25rem; }
    @media (min-width: 769px) {
      body.path-frontpage .articles h5,
      body.path-frontpage .resources h5 {
        font-size: 1.5rem; } }

@media (min-width: 1301px) {
  body.path-frontpage .articles {
    padding: 10rem 160px; } }

body.path-frontpage .articles h3 {
  font-size: 2.9em;
  margin: 0; }
  @media (max-width: 479px) {
    body.path-frontpage .articles h3 {
      font-size: 2em; } }

body.path-frontpage .articles .box {
  height: 200px;
  top: -100px;
  right: -264px;
  width: 200px;
  z-index: 0; }
  @media (min-width: 1301px) {
    body.path-frontpage .articles .box {
      height: 400px;
      top: 100px;
      width: 400px; } }

body.path-frontpage .articles .content-container {
  position: relative; }
  @media (max-width: 767px) {
    body.path-frontpage .articles .content-container {
      padding: 0 4rem; } }
  @media (min-width: 768px) {
    body.path-frontpage .articles .content-container {
      padding: 0 3rem; } }

@media (min-width: 480px) {
  body.path-frontpage .articles .slick-initialized .slick-slide {
    padding: 0 15px; } }

@media (min-width: 769px) {
  body.path-frontpage .articles .slick-list {
    padding: 0 0 0 1em; } }

@media (min-width: 1301px) {
  body.path-frontpage .articles .slick-list {
    padding: 0; } }

body.path-frontpage .articles a.btn-ringed {
  position: absolute;
  top: 39%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media (min-width: 768px) {
    body.path-frontpage .articles a.btn-ringed {
      top: 45%; } }
  body.path-frontpage .articles a.btn-ringed.left {
    left: -50px; }
    @media (min-width: 769px) {
      body.path-frontpage .articles a.btn-ringed.left {
        left: -2em; } }
    @media (min-width: 1301px) {
      body.path-frontpage .articles a.btn-ringed.left {
        left: -4em; } }
  body.path-frontpage .articles a.btn-ringed.right {
    right: -50px; }
    @media (min-width: 769px) {
      body.path-frontpage .articles a.btn-ringed.right {
        right: -2em; } }
    @media (min-width: 1301px) {
      body.path-frontpage .articles a.btn-ringed.right {
        right: -4em; } }

body.path-frontpage .resources .box {
  height: 286px;
  left: -120px;
  top: 0;
  width: 200px;
  z-index: 0; }

@media (min-width: 481px) {
  body.path-frontpage .resources .view-content .span-3:nth-child(odd) {
    margin-right: 7px; } }

body.path-frontpage .resources .col {
  overflow: hidden; }

body.path-frontpage .resources img {
  box-shadow: 2px 2px 11px 1px rgba(0, 0, 0, 0.08);
  display: block;
  height: auto;
  margin-bottom: 0.5em;
  max-width: 100%; }

body.path-frontpage .resources .topics {
  display: none; }
  @media (min-width: 770px) {
    body.path-frontpage .resources .topics {
      display: block; } }
  body.path-frontpage .resources .topics a {
    font-style: italic;
    color: #666;
    text-decoration: underline; }

body.path-frontpage .resources h5 {
  font-weight: 900; }

body.path-frontpage .resources .topics a {
  font-style: italic;
  color: #666;
  text-decoration: underline; }

body.path-frontpage .story-bank {
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  background: #f47d31;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 445px;
  padding-bottom: 1em;
  position: relative; }
  @media (min-width: 769px) {
    body.path-frontpage .story-bank {
      background: #B9B1B0;
      color: #fff;
      display: block;
      height: 500px;
      margin-left: -20px;
      overflow: hidden;
      padding: 0; } }
  @media (min-width: 1301px) {
    body.path-frontpage .story-bank {
      margin-left: -60px;
      margin-right: -60px; } }
  @media (min-width: 769px) {
    body.path-frontpage .story-bank .content {
      position: absolute;
      width: 100%; } }
  body.path-frontpage .story-bank h6 {
    font-size: 0.9rem;
    padding: 0 25px;
    z-index: 2; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank h6 {
        bottom: auto;
        font-size: 1rem;
        left: auto;
        position: absolute;
        right: 24px;
        top: 24px;
        width: 450px; } }
  body.path-frontpage .story-bank .view-content h3 {
    font-size: 1.5rem;
    min-height: 75px;
    padding: 0 25px;
    z-index: 2; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank .view-content h3 {
        font-size: 2.5rem;
        bottom: auto;
        left: auto;
        position: absolute;
        right: 24px;
        top: 56px;
        width: 450px; } }
  body.path-frontpage .story-bank .view-content p {
    padding: 0 25px;
    z-index: 2; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank .view-content p {
        bottom: auto;
        left: auto;
        position: absolute;
        right: 24px;
        top: 240px;
        width: 450px; } }
  body.path-frontpage .story-bank h6, body.path-frontpage .story-bank a {
    color: #fff; }
  body.path-frontpage .story-bank .background {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    height: 225px;
    width: 100%;
    top: 0;
    bottom: 0;
    position: absolute; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank .background {
        height: 600px; } }
  body.path-frontpage .story-bank .contextual-region {
    position: static; }
  body.path-frontpage .story-bank .mask {
    border-radius: 50%;
    display: none;
    width: 1655px;
    height: 1655px;
    border: solid 185px #f0ebe8;
    position: absolute;
    z-index: 1;
    left: -183px;
    top: -570px; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank .mask {
        display: block; } }
    @media (min-width: 1301px) {
      body.path-frontpage .story-bank .mask {
        width: 2000px; } }
  body.path-frontpage .story-bank .circle {
    background: #f47d31;
    border-radius: 50%;
    display: none;
    width: 600px;
    height: 600px;
    position: absolute;
    top: -175px;
    right: -50px; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank .circle {
        display: block; } }
  body.path-frontpage .story-bank svg {
    display: none;
    width: 750px;
    height: 750px;
    position: absolute;
    top: -250px;
    right: -125px; }
    body.path-frontpage .story-bank svg path {
      fill: #ffffff; }
    @media (min-width: 769px) {
      body.path-frontpage .story-bank svg {
        display: block; } }

body.path-frontpage .resources .col.span-3 {
  margin-bottom: 20px;
  width: 47% !important;
  display: inline-block;
  vertical-align: top; }
  @media (min-width: 1301px) {
    body.path-frontpage .resources .col.span-3 {
      width: 22.5% !important; } }
  body.path-frontpage .resources .col.span-3:nth-child(odd) {
    margin-right: 15px; }

/**
 * Bottom tabbed content list with cards _card.scss and node--card.html
 * =============================================================================
 */
.latest {
  background: #f0ebe8;
  margin: 2rem 0 0 0;
  padding: 0 0 2rem 0; }
  .latest h2 {
    margin: 0;
    text-align: center; }

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

.view.latest .view-filters {
  display: none; }

.view.latest .view-header {
  margin: 0 0 2rem 0;
  padding: 2rem 0 0 0;
  border-bottom: solid 1px #B9B1B0; }

.view.latest .view-content .col {
  margin-bottom: 0; }
  .view.latest .view-content .col:nth-child(3n+1) {
    clear: left;
    margin-left: 0; }

.view.latest article.issue-page-section-item {
  margin: 0 0 2rem 0; }
  .view.latest article.issue-page-section-item .image, .view.latest article.issue-page-section-item img {
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: cover;
    height: 200px; }
  .view.latest article.issue-page-section-item .image {
    margin: 0 0 1rem 0; }

.view.latest ul.filters {
  font-size: 80%;
  list-style: none;
  margin: 2rem 0;
  padding: 0;
  width: 100%; }
  .view.latest ul.filters::after {
    clear: both;
    content: "";
    display: table; }
  @media (min-width: 769px) {
    .view.latest ul.filters {
      font-size: 100%; } }
  @media (min-width: 769px) {
    .view.latest ul.filters li {
      float: left;
      width: 20%; } }
  .view.latest ul.filters li:first-child a::before {
    display: none; }
  @media (min-width: 769px) {
    .view.latest ul.filters li:last-child a {
      width: 83%; } }
  .view.latest ul.filters li:last-child a::after {
    border: 0;
    height: 44px;
    width: 50px;
    background: #fff; }
  .view.latest ul.filters li:last-child a.active::after {
    background: #008e96; }
  .view.latest ul.filters li a {
    height: 44px;
    position: relative;
    display: block;
    padding: .5rem 0;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
    background: #fff;
    color: #008e96; }
    @media (min-width: 769px) {
      .view.latest ul.filters li a {
        width: 81%; }
        .view.latest ul.filters li a:before {
          left: -44px;
          top: 0;
          position: absolute;
          width: 0;
          height: 0;
          border-right: 0px solid transparent;
          border-left: 44px solid transparent;
          border-bottom: 44px solid #fff;
          content: ''; }
        .view.latest ul.filters li a:after {
          right: -44px;
          top: 0;
          position: absolute;
          width: 0;
          height: 0;
          border-right: 44px solid transparent;
          border-left: 0px solid transparent;
          border-top: 44px solid #fff;
          content: ''; } }
    .view.latest ul.filters li a.active {
      background: #008e96;
      color: #fff; }
      .view.latest ul.filters li a.active::before {
        border-bottom-color: #008e96; }
      .view.latest ul.filters li a.active::after {
        border-top-color: #008e96; }

.path-topic, .layout-landing {
  /*
  .lead-in {
    font-size: 1.3em;
  }
  */
  /**
   * Featured article with sub articles
   * ===========================================================================
   */
  /**
   * Big image paragraph sections
   * ===========================================================================
   */ }
  @media (max-width: 768px) {
    .path-topic .col, .layout-landing .col {
      float: none;
      margin: 0;
      width: 100%; } }
  .path-topic .featured, .layout-landing .featured {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
    @media (min-width: 981px) {
      .path-topic .featured, .layout-landing .featured {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row; } }
    .path-topic .featured > .col, .layout-landing .featured > .col {
      position: relative;
      float: none; }
      .path-topic .featured > .col.span-9, .layout-landing .featured > .col.span-9 {
        width: 100%; }
        @media (min-width: 981px) {
          .path-topic .featured > .col.span-9, .layout-landing .featured > .col.span-9 {
            width: 60%; } }
      .path-topic .featured > .col.span-3, .layout-landing .featured > .col.span-3 {
        width: 90%;
        margin: 0 auto;
        margin-top: 30px; }
        @media (min-width: 981px) {
          .path-topic .featured > .col.span-3, .layout-landing .featured > .col.span-3 {
            width: 35%; } }
        @media (min-width: 1281px) {
          .path-topic .featured > .col.span-3, .layout-landing .featured > .col.span-3 {
            width: 30%; } }
        .path-topic .featured > .col.span-3 .expert .expert-module, .layout-landing .featured > .col.span-3 .expert .expert-module {
          margin-top: 0;
          max-width: 395px;
          margin-bottom: 20px; }
    .path-topic .featured img, .layout-landing .featured img {
      display: block;
      height: auto;
      max-width: 100%;
      width: 100%; }
    .path-topic .featured .field--type-entity-reference-revisions, .layout-landing .featured .field--type-entity-reference-revisions {
      margin: 0 0 1em 0;
      /*.field__label {
        background-color: #000;
        color: #fff;
        padding: 1em 1.5em;
        text-transform: uppercase;
      }*/ }
      @media (min-width: 1301px) {
        .path-topic .featured .field--type-entity-reference-revisions, .layout-landing .featured .field--type-entity-reference-revisions {
          position: absolute;
          right: 0;
          top: -173px;
          width: 325px; }
          .toolbar-tray-open .path-topic .featured .field--type-entity-reference-revisions, .toolbar-tray-open .layout-landing .featured .field--type-entity-reference-revisions {
            top: -340px; } }
      .path-topic .featured .field--type-entity-reference-revisions .paragraph--type--section-nav .field--name-field-in-this-section-title, .layout-landing .featured .field--type-entity-reference-revisions .paragraph--type--section-nav .field--name-field-in-this-section-title {
        background-color: #000;
        color: #fff;
        padding: 1em 1.5em;
        text-transform: uppercase;
        font-weight: bold; }
      .path-topic .featured .field--type-entity-reference-revisions .paragraph--type--section-nav .field--name-field-links .field__item, .layout-landing .featured .field--type-entity-reference-revisions .paragraph--type--section-nav .field--name-field-links .field__item {
        background-color: #f0ebe8;
        border-bottom: 1px solid #e6ded9;
        padding: 1em 1.5em;
        font-size: 22px;
        line-height: 1.8em; }
        .path-topic .featured .field--type-entity-reference-revisions .paragraph--type--section-nav .field--name-field-links .field__item:last-child, .layout-landing .featured .field--type-entity-reference-revisions .paragraph--type--section-nav .field--name-field-links .field__item:last-child {
          border: none; }
      .path-topic .featured .field--type-entity-reference-revisions .field__item .field__items .field__item, .layout-landing .featured .field--type-entity-reference-revisions .field__item .field__items .field__item {
        background-color: #f0ebe8;
        border-bottom: 1px solid #e6ded9;
        padding: 1em 1.5em;
        font-size: 22px;
        line-height: 1.8em; }
        .path-topic .featured .field--type-entity-reference-revisions .field__item .field__items .field__item:last-child, .layout-landing .featured .field--type-entity-reference-revisions .field__item .field__items .field__item:last-child {
          border: none; }
    .path-topic .featured > .col.span-9, .layout-landing .featured > .col.span-9 {
      padding: 2em 0 0; }
      .path-topic .featured > .col.span-9 .field--type-text-with-summary, .layout-landing .featured > .col.span-9 .field--type-text-with-summary {
        border-bottom: 1px solid #f0ebe8;
        padding-bottom: 2em;
        /*
        p{
          font-size: 24px;
          line-height: 38px;
        }
        */ }
      .path-topic .featured > .col.span-9 .actual-featured-item article, .layout-landing .featured > .col.span-9 .actual-featured-item article {
        position: relative;
        margin: 4em 0; }
        @media (min-width: 769px) {
          .path-topic .featured > .col.span-9 .actual-featured-item article, .layout-landing .featured > .col.span-9 .actual-featured-item article {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column; } }
        @media (min-width: 1301px) {
          .path-topic .featured > .col.span-9 .actual-featured-item article, .layout-landing .featured > .col.span-9 .actual-featured-item article {
            -webkit-flex-direction: row;
            -ms-flex-direction: row;
            flex-direction: row; } }
        @media (min-width: 1301px) {
          .path-topic .featured > .col.span-9 .actual-featured-item article .featured-image, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-image {
            width: 70%; } }
        .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content {
          color: #000;
          position: static; }
          @media (min-width: 1301px) {
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content {
              padding: 0 1em;
              width: 30%; } }
          .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content h5, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content h5 {
            font-weight: 700; }
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content h5 a, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content h5 a {
              color: #008e96; }
          .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content .article-date, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content .article-date {
            -webkit-align-items: center;
            -ms-flex-align: center;
            align-items: center;
            background-color: #aa1a20;
            border-radius: 50% 50%;
            color: #fff;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-direction: column;
            -ms-flex-direction: column;
            flex-direction: column;
            height: 83px;
            font-size: 18px;
            -webkit-justify-content: center;
            -ms-flex-pack: center;
            justify-content: center;
            left: -18px;
            line-height: 1.4em;
            position: absolute;
            text-align: center;
            top: -30px;
            width: 83px; }
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content .article-date .month, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content .article-date .month {
              font-size: 1em; }
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content .article-date .day, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content .article-date .day {
              display: block;
              font-size: 1.5em;
              font-weight: 700; }
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content .article-date svg, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content .article-date svg {
              height: 85px;
              left: -1px;
              position: absolute;
              top: -1px;
              width: 85px; }
              .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content .article-date svg path, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content .article-date svg path {
                fill: #f0ebe8; }
          .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content.without-image, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content.without-image {
            width: 100%; }
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content.without-image .article-date, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content.without-image .article-date {
              right: -10px;
              -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
              position: absolute;
              top: 0;
              left: -10px; }
              @media (min-width: 1401px) {
                .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content.without-image .article-date, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content.without-image .article-date {
                  left: -30px; } }
            .path-topic .featured > .col.span-9 .actual-featured-item article .featured-content.without-image p, .layout-landing .featured > .col.span-9 .actual-featured-item article .featured-content.without-image p {
              width: 90%; }
      .path-topic .featured > .col.span-9 .sub, .layout-landing .featured > .col.span-9 .sub {
        margin: 2em 0 0; }
        @media (min-width: 769px) {
          .path-topic .featured > .col.span-9 .sub, .layout-landing .featured > .col.span-9 .sub {
            margin: 0; } }
        @media (min-width: 769px) {
          .path-topic .featured > .col.span-9 .sub .col, .layout-landing .featured > .col.span-9 .sub .col {
            padding: 1em 1em 1em 0; } }
        .path-topic .featured > .col.span-9 .sub article, .layout-landing .featured > .col.span-9 .sub article {
          margin-bottom: 4em; }
          .path-topic .featured > .col.span-9 .sub article svg, .path-topic .featured > .col.span-9 .sub article p, .layout-landing .featured > .col.span-9 .sub article svg, .layout-landing .featured > .col.span-9 .sub article p {
            display: none; }
          .path-topic .featured > .col.span-9 .sub article .article-date:before, .layout-landing .featured > .col.span-9 .sub article .article-date:before {
            content: "\2022"; }
  .path-topic .section, .layout-landing .section {
    position: relative; }
    .path-topic .section .col, .layout-landing .section .col {
      position: static; }
    .path-topic .section .paragraph-image, .layout-landing .section .paragraph-image {
      max-width: 5000px;
      position: relative;
      left: 50%;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 100vw;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
      display: none;
      height: 100%;
      position: absolute;
      top: 0;
      z-index: 0; }
      @media (min-width: 769px) {
        .path-topic .section .paragraph-image, .layout-landing .section .paragraph-image {
          display: block; } }
    .path-topic .section .paragraph, .layout-landing .section .paragraph {
      padding: 1em; }
      .path-topic .section .paragraph h3, .layout-landing .section .paragraph h3 {
        display: inline-block;
        font-weight: 900; }
      .path-topic .section .paragraph h3, .path-topic .section .paragraph .field--type-link, .path-topic .section .paragraph .field__items, .layout-landing .section .paragraph h3, .layout-landing .section .paragraph .field--type-link, .layout-landing .section .paragraph .field__items {
        padding: 1em 0 0.4em;
        position: relative;
        z-index: 1; }
      .path-topic .section .paragraph .field--type-link, .layout-landing .section .paragraph .field--type-link {
        display: inline-block;
        padding: 0 1em; }
        .path-topic .section .paragraph .field--type-link a, .layout-landing .section .paragraph .field--type-link a {
          color: #f47d31;
          font-weight: 800;
          text-decoration: underline;
          text-transform: uppercase; }
      .path-topic .section .paragraph .landing-page-section-item, .layout-landing .section .paragraph .landing-page-section-item {
        margin-bottom: 1.5em; }
        .path-topic .section .paragraph .landing-page-section-item h4, .layout-landing .section .paragraph .landing-page-section-item h4 {
          font-weight: bold;
          font-size: 1.51em; }
    .path-topic .section.section-3 .paragraph .field__item, .layout-landing .section.section-3 .paragraph .field__item {
      float: none;
      margin: 0 0 4em 0;
      width: 100%; }
      @media (min-width: 769px) {
        .path-topic .section.section-3 .paragraph .field__item, .layout-landing .section.section-3 .paragraph .field__item {
          float: left;
          padding: 1em 2em 1em 0;
          width: 32%; } }

@media (min-width: 769px) {
  .listing-page {
    margin-top: 3rem; } }

.listing-page form.views-exposed-form .form--inline .form-item {
  margin: 0 1rem 1rem 0;
  width: 44%; }
  .listing-page form.views-exposed-form .form--inline .form-item .form-select {
    color: grey;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url(/themes/cfed/img/select-arrow.png);
    background-repeat: no-repeat;
    background-position: 348px -1px;
    background-size: contain;
    width: 100%; }
    .listing-page form.views-exposed-form .form--inline .form-item .form-select option {
      color: black;
      background-color: #fdf6f4; }
      .listing-page form.views-exposed-form .form--inline .form-item .form-select option:hover {
        background: #f47d31 !important; }

.listing-page form.views-exposed-form .form--inline .form-actions {
  width: 48%;
  display: inline-block; }

.listing-page .list::after,
.view-content .list::after {
  clear: both;
  content: "";
  display: table; }

@media (min-width: 769px) {
  .listing-page .list,
  .view-content .list {
    border-right: solid 1px #f0ebe8; } }

.listing-page .featured .fa-rss {
  font-size: 3em;
  color: #f47d31;
  display: block; }

.listing-page .featured hr {
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  background-color: #f0ebe8; }

.listing-page .featured h6 {
  margin: 0 0 2rem 0; }

.listing-page .featured .field--type-entity-reference-revisions {
  margin: 0 0 1em 0; }
  @media (min-width: 1301px) {
    .listing-page .featured .field--type-entity-reference-revisions {
      width: 325px; } }
  .listing-page .featured .field--type-entity-reference-revisions .field__label {
    background-color: #000;
    color: #fff;
    padding: 1em 1.5em;
    text-transform: uppercase; }
  .listing-page .featured .field--type-entity-reference-revisions .field__item .field__items .field__item {
    background-color: #f0ebe8;
    border-bottom: 1px solid #e6ded9;
    padding: 1em 1.5em;
    font-size: 22px;
    line-height: 1.8em; }
    .listing-page .featured .field--type-entity-reference-revisions .field__item .field__items .field__item:last-child {
      border: none; }

article.listing-page-item {
  margin: 0 0 1rem 0; }
  article.listing-page-item p {
    margin: 0; }
  article.listing-page-item .terms {
    width: 64%;
    clear: none !important;
    float: left; }
  article.listing-page-item .addthis_inline_share_toolbox {
    clear: none !important;
    float: right;
    width: 36%; }
    article.listing-page-item .addthis_inline_share_toolbox .at-resp-share-element.at-mobile .at-share-btn {
      margin: 0;
      padding: 0; }
  article.listing-page-item .col.span-8 {
    width: 100%; }
    @media (min-width: 769px) {
      article.listing-page-item .col.span-8 {
        width: 64%; }
        article.listing-page-item .col.span-8.no-img {
          width: 100%;
          padding-right: 10px; } }
  article.listing-page-item .col.span-4 {
    width: 100%;
    margin: 0;
    padding: 0 0.5em; }
    @media (min-width: 769px) {
      article.listing-page-item .col.span-4 {
        padding-top: 32px;
        width: 34%; } }
    article.listing-page-item .col.span-4.no-img {
      display: none; }
    article.listing-page-item .col.span-4 .image {
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      height: 200px; }

article.listing-page-featured-item {
  margin: 0 0 1rem 0; }
  article.listing-page-featured-item h5 {
    margin: 0 0 1rem 0; }

ul.pager {
  margin: 0 0 2rem 0;
  padding: 0;
  float: left; }
  ul.pager::after {
    clear: both;
    content: "";
    display: table; }

.views-element-container .view-program-directory nav.pager ul {
  margin: 0;
  padding: 0; }

.views-element-container .view-program-directory .more-link {
  text-align: center !important; }

@media (min-width: 1501px) {
  .page-workplace-financial-wellness-services-directory--prosperity-now .hero-content h1 {
    font-size: 3.4em !important; } }

.page-workplace-financial-wellness-services-directory--prosperity-now p > em {
  font-size: 12px; }

.page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .views-element-container .view-header > em {
  line-height: 20px;
  font-size: 12px; }

.page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header {
  margin-bottom: 3rem; }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row {
      display: inline-block;
      width: 32.9%;
      text-align: center;
      padding: 1rem; }
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content {
        background-color: #f57d2f;
        border-radius: 15px;
        display: inline-block;
        width: 100%; }
        .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content:hover {
          background-color: #ff6400; }
        .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .image a {
          display: block;
          padding: 1rem 1rem 0; }
          .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .image a img {
            display: block;
            margin: 0 auto; }
            @media (max-width: 1149px) {
              .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .image a img {
                max-width: 70px;
                width: auto;
                height: auto; } }
            @media (max-width: 779px) {
              .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .image a img {
                max-width: 60px;
                width: auto;
                height: auto; } }
        .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .name a {
          display: block;
          color: #fff;
          font-size: 13px;
          font-weight: 700;
          padding: 0 1rem 1rem;
          text-transform: uppercase;
          height: 57px;
          line-height: 20px; }
          @media (max-width: 1149px) {
            .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .name a {
              font-size: 10px;
              padding-left: 0.5rem;
              padding-right: 0.5rem; } }
          @media (max-width: 779px) {
            .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row span.field-content .name a {
              font-size: 8px; } }
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row.active span.field-content {
        background-color: #909090; }
        .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row.active span.field-content:hover {
          background-color: #c1c1c1; }
      @media (max-width: 550px) {
        .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory .view-header .view-content .views-row {
          width: 50%; } }

.page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline {
  text-align: center; }
  @media (max-width: 799px) {
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline {
      text-align: left; } }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-item-keys {
    float: none;
    display: inline-block; }
    @media (max-width: 799px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-item-keys {
        float: left; } }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-item-keys input.form-text {
      width: 100%;
      font-size: 14px; }
    @media (max-width: 768px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-item-keys {
        width: 60%; } }
    @media (max-width: 419px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-item-keys {
        width: 100%; } }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-actions {
    width: 18%;
    vertical-align: top; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-actions .view-btn-container span.view-btn-filter {
      left: 96px !important; }
      @media (max-width: 479px) {
        .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-actions .view-btn-container span.view-btn-filter {
          border-top-width: 45px !important;
          border-right-width: 45px !important; } }
    @media (max-width: 768px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-filters .form--inline .form-actions {
        width: 30%; } }

.page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row {
  background-color: #bcbec0;
  margin-bottom: 1rem;
  padding: 3% 3%;
  position: relative; }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row a.program-link {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 1; }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .span-5 {
    line-height: 15px;
    padding-right: 1rem; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .span-5 h5 {
      margin-bottom: 4px; }
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .span-5 h5 a {
        color: #fff;
        font-size: 22px;
        font-weight: bold;
        text-transform: uppercase; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .span-5 span.address,
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .span-5 span.services {
      color: #fff;
      font-size: 13px;
      font-weight: normal;
      text-transform: capitalize; }
    @media (max-width: 919px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .span-5 {
        padding: 0.5rem 0;
        width: 100%; } }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 {
    border-left: 1px solid #cacaca;
    padding: 0 0 0 16px;
    width: 30%; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 .service-area {
      height: auto; }
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 .service-area .field--name-field-geographical-service-area .field__label {
        color: #fff;
        font-size: 16px;
        font-weight: bold;
        text-transform: capitalize; }
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 .service-area .field--name-field-geographical-service-area .field__item {
        line-height: 1rem;
        color: #fff;
        font-size: 15px;
        font-weight: normal; }
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 .service-area .field--name-field-geography-detail {
        color: #fff;
        font-size: 13px;
        font-weight: normal;
        text-transform: capitalize;
        line-height: 15px; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 .addthis_inline_share_toolbox {
      display: none; }
    @media (max-width: 919px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-4 {
        border-top: 1px solid #cacaca;
        border-left: none;
        padding: 0.5rem 0;
        width: 100%; } }
  .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-3 {
    border-left: 1px solid #cacaca;
    padding: 0 0 0 16px;
    width: 27%; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-3 .service .field__label {
      color: #fff;
      font-size: 16px;
      font-weight: bold;
      text-transform: capitalize;
      line-height: 20px;
      padding: 5px 0; }
    .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-3 .service .field__item {
      line-height: 1rem;
      color: #fff;
      font-size: 15px;
      font-weight: normal; }
    @media (max-width: 919px) {
      .page-workplace-financial-wellness-services-directory--prosperity-now .col.span-8.list .view-program-directory > .view-content .views-row .col.span-3 {
        border-top: 1px solid #cacaca;
        border-left: none;
        padding: 0.5rem 0;
        margin: 0;
        width: 100%; } }

/**
 * Article specific
 */
.node--type-article blockquote,
.node--type-basic-page blockquote {
  font-size: 1em;
  padding: 1em;
  width: 100%; }
  .node--type-article blockquote .triangle,
  .node--type-basic-page blockquote .triangle {
    display: none; }
  .node--type-article blockquote *,
  .node--type-basic-page blockquote * {
    margin: 0; }
  @media (min-width: 769px) {
    .node--type-article blockquote,
    .node--type-basic-page blockquote {
      font-size: 1.5em;
      left: 50%;
      padding-left: 2em;
      position: relative;
      -webkit-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 70vw; }
      .node--type-article blockquote .triangle,
      .node--type-basic-page blockquote .triangle {
        display: block; } }
  @media (min-width: 1301px) {
    .node--type-article blockquote,
    .node--type-basic-page blockquote {
      font-size: 2em;
      left: 0;
      padding-left: 0;
      -webkit-transform: translateX(0);
      transform: translateX(0);
      width: 65vw; }
      .node--type-article blockquote:before,
      .node--type-basic-page blockquote:before {
        content: '';
        position: absolute;
        background-color: #f47d31;
        width: 730px;
        height: 100%;
        left: -730px;
        top: 0; } }

.node--type-article .field-image-with-caption,
.node--type-basic-page .field-image-with-caption {
  margin-bottom: 2em;
  padding: 0;
  position: relative;
  width: 100%; }
  @media (min-width: 769px) {
    .node--type-article .field-image-with-caption,
    .node--type-basic-page .field-image-with-caption {
      padding: 2em 0 0 0; } }
  .node--type-article .field-image-with-caption img,
  .node--type-basic-page .field-image-with-caption img {
    display: block;
    height: auto;
    position: relative;
    width: 100%;
    z-index: 0; }
    @media (min-width: 769px) {
      .node--type-article .field-image-with-caption img,
      .node--type-basic-page .field-image-with-caption img {
        width: 66%; } }
  .node--type-article .field-image-with-caption .field--name-field-image-caption,
  .node--type-basic-page .field-image-with-caption .field--name-field-image-caption {
    background-color: #aa1a20;
    color: #fff;
    font-size: 1em;
    max-width: 500px;
    padding: .25em 1em; }
    .node--type-article .field-image-with-caption .field--name-field-image-caption .triangle,
    .node--type-basic-page .field-image-with-caption .field--name-field-image-caption .triangle {
      display: none; }
    @media (min-width: 769px) {
      .node--type-article .field-image-with-caption .field--name-field-image-caption,
      .node--type-basic-page .field-image-with-caption .field--name-field-image-caption {
        font-size: 1.1em;
        padding: .5em;
        position: absolute;
        left: 50%;
        top: 50%;
        z-index: 1; }
        .node--type-article .field-image-with-caption .field--name-field-image-caption .triangle,
        .node--type-basic-page .field-image-with-caption .field--name-field-image-caption .triangle {
          display: block; }
          .node--type-article .field-image-with-caption .field--name-field-image-caption .triangle.t1,
          .node--type-basic-page .field-image-with-caption .field--name-field-image-caption .triangle.t1 {
            border-top-color: #aa1a20; }
          .node--type-article .field-image-with-caption .field--name-field-image-caption .triangle.t2,
          .node--type-basic-page .field-image-with-caption .field--name-field-image-caption .triangle.t2 {
            border-bottom-color: #aa1a20; } }
    @media (min-width: 1301px) {
      .node--type-article .field-image-with-caption .field--name-field-image-caption,
      .node--type-basic-page .field-image-with-caption .field--name-field-image-caption {
        font-size: 1.5em; } }

.node--type-article .main,
.node--type-basic-page .main {
  /*
    img {
      display: block;
      height: auto;
      max-width: 100%;
      width: 100%;
    }
    */ }

/**
 * Both articles and resource shared stuff
 */
.page-node-type-resource .page-title-bar .page-meta,
.page-node-type-article .page-title-bar .page-meta,
.page-node-type-basic-page .page-title-bar .page-meta,
.page-node-type-event .page-title-bar .page-meta {
  padding: .25em 0 1em; }
  .page-node-type-resource .page-title-bar .page-meta.no-pdf-icon .page-date::before,
  .page-node-type-article .page-title-bar .page-meta.no-pdf-icon .page-date::before,
  .page-node-type-basic-page .page-title-bar .page-meta.no-pdf-icon .page-date::before,
  .page-node-type-event .page-title-bar .page-meta.no-pdf-icon .page-date::before {
    content: ""; }
  .page-node-type-resource .page-title-bar .page-meta .field--type-file,
  .page-node-type-article .page-title-bar .page-meta .field--type-file,
  .page-node-type-basic-page .page-title-bar .page-meta .field--type-file,
  .page-node-type-event .page-title-bar .page-meta .field--type-file {
    color: #000;
    display: inline-block;
    padding: 0 0 0 0; }
    .page-node-type-resource .page-title-bar .page-meta .field--type-file a,
    .page-node-type-article .page-title-bar .page-meta .field--type-file a,
    .page-node-type-basic-page .page-title-bar .page-meta .field--type-file a,
    .page-node-type-event .page-title-bar .page-meta .field--type-file a {
      color: #000;
      display: none; }
  .page-node-type-resource .page-title-bar .page-meta .page-date,
  .page-node-type-article .page-title-bar .page-meta .page-date,
  .page-node-type-basic-page .page-title-bar .page-meta .page-date,
  .page-node-type-event .page-title-bar .page-meta .page-date {
    color: #000;
    display: inline-block; }
    .page-node-type-resource .page-title-bar .page-meta .page-date:before,
    .page-node-type-article .page-title-bar .page-meta .page-date:before,
    .page-node-type-basic-page .page-title-bar .page-meta .page-date:before,
    .page-node-type-event .page-title-bar .page-meta .page-date:before {
      color: #666;
      content: '\2022';
      display: inline-block;
      padding: 0 .5em 0 0; }

@media (min-width: 769px) {
  .page-node-type-resource .sidebar .field--name-field-image,
  .page-node-type-article .sidebar .field--name-field-image,
  .page-node-type-basic-page .sidebar .field--name-field-image,
  .page-node-type-event .sidebar .field--name-field-image {
    position: relative;
    margin-top: -100px;
    margin-bottom: 2rem; } }

.page-node-type-resource .bottom,
.page-node-type-article .bottom,
.page-node-type-basic-page .bottom,
.page-node-type-event .bottom {
  max-width: 5000px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100vw;
  background: #f0ebe8;
  padding: 2em 1em;
  margin: 2rem 0 0 0; }
  .page-node-type-resource .bottom .overline,
  .page-node-type-article .bottom .overline,
  .page-node-type-basic-page .bottom .overline,
  .page-node-type-event .bottom .overline {
    margin: 0; }
  @media (max-width: 767px) {
    .page-node-type-resource .bottom .col,
    .page-node-type-article .bottom .col,
    .page-node-type-basic-page .bottom .col,
    .page-node-type-event .bottom .col {
      float: none;
      width: 100% !important; } }

#block-people-board, #block-people-leadership {
  margin-top: 2rem;
  padding: 4rem 0 0 0; }
  #block-people-board h2, #block-people-leadership h2 {
    padding-bottom: 2rem;
    text-align: center; }
  #block-people-board .view-content, #block-people-leadership .view-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    @media (min-width: 768px) {
      #block-people-board .view-content, #block-people-leadership .view-content {
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row; } }
    #block-people-board .view-content > div, #block-people-leadership .view-content > div {
      padding: 0 .25em;
      margin-bottom: 2em;
      width: 100%; }
      @media (min-width: 768px) {
        #block-people-board .view-content > div, #block-people-leadership .view-content > div {
          width: 25%; } }

#block-people-leadership {
  max-width: 5000px;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100vw;
  background: #f0ebe8; }
  #block-people-leadership .view-content {
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #block-people-leadership .view-content .person-list {
      /*h6{
        font-size: 1.34em;
      }*/ }
      #block-people-leadership .view-content .person-list .field--name-field-professional-title {
        font-size: 0.8em;
        /*font-size: 1.3em;
        font-weight: 300;*/ }
  #block-people-leadership .row {
    max-width: 1350px;
    margin: 0 auto; }

.block.our-team {
  position: relative;
  top: -18px;
  z-index: 1; }
  .block.our-team::after {
    clear: both;
    content: "";
    display: table; }
  @media (min-width: 769px) {
    .block.our-team {
      top: -42px; } }
  @media (min-width: 1301px) {
    .block.our-team {
      margin: auto;
      width: 1272px; } }
  .block.our-team h1 {
    font-size: 1.4em; }
    @media (min-width: 1301px) {
      .block.our-team h1 {
        font-size: 2.1em; } }
    .block.our-team h1 a {
      color: #fff; }
  .block.our-team .left-block, .block.our-team .right-block {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 154px;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    text-align: center;
    top: 0;
    width: 48%; }
    @media (min-width: 769px) {
      .block.our-team .left-block, .block.our-team .right-block {
        width: 49%; } }
    @media (min-width: 1301px) {
      .block.our-team .left-block, .block.our-team .right-block {
        width: 699px; } }
  .block.our-team .left-block {
    background: url("../img/our-team/supporters.png") no-repeat 0 0;
    left: 0; }
    @media (min-width: 1301px) {
      .block.our-team .left-block {
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        padding-left: 150px; } }
  .block.our-team .right-block {
    background: url("../img/our-team/staff.png") no-repeat 100% 0;
    right: 0; }
    @media (min-width: 1301px) {
      .block.our-team .right-block {
        -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        padding-right: 170px; } }
  .block.our-team .bottom-block {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: url("../img/our-team/meet-the-staff-header.jpg") no-repeat 0 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 185px;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 3em;
    position: relative;
    top: 175px; }
    @media (min-width: 769px) {
      .block.our-team .bottom-block {
        height: 312px; } }
    @media (min-width: 1301px) {
      .block.our-team .bottom-block {
        padding-left: 150px;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start; } }

#block-people-staff {
  padding: 8rem 0 5.5rem; }
  #block-people-staff h2 {
    padding: 4rem 0;
    text-align: center; }
  #block-people-staff .view-content {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center; }
    #block-people-staff .view-content > div {
      margin-bottom: 2em;
      padding: 0 1em;
      width: 49%; }
      @media (min-width: 769px) {
        #block-people-staff .view-content > div {
          width: 23%; } }
      @media (min-width: 1301px) {
        #block-people-staff .view-content > div {
          width: 15%; } }
  #block-people-staff .person-list {
    padding-top: 0;
    margin-bottom: 0; }
    #block-people-staff .person-list h6, #block-people-staff .person-list p {
      font-size: 75%;
      max-width: 180px;
      margin: 0 auto; }
  #block-people-staff a.img {
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    width: 100%;
    height: auto;
    min-height: 105px;
    position: relative;
    overflow: hidden;
    display: block;
    background-color: #f0ebe8;
    margin-bottom: 1rem;
    /*@include media('<=sm') {
      height: 106px;
    }

    @include media('<=md') {
      height: 157px;
    }

    @include media('>md') {
      height: auto;
    }

    @include media('>lg') {
      height: 163px;
    }*/ }
    #block-people-staff a.img:hover:before {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 0;
      height: 0;
      border-right: 0px solid transparent;
      border-left: 44px solid transparent;
      border-bottom: 44px solid #f47d31;
      content: ''; }
  #block-people-staff img {
    width: 100%;
    height: auto;
    display: block; }
  #block-people-staff .img-ringed {
    display: block;
    width: 220px;
    height: 220px;
    position: relative; }
    #block-people-staff .img-ringed .ring {
      width: 220px;
      height: 220px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2; }
      #block-people-staff .img-ringed .ring path {
        fill: #fff; }
    #block-people-staff .img-ringed .circle {
      display: block;
      position: absolute;
      top: 1px;
      left: 1px;
      z-index: 1;
      border-radius: 50%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      height: 170px;
      width: 170px; }
  #block-people-staff .img-ringed {
    position: absolute;
    top: -35%;
    right: -40%; }
    #block-people-staff .img-ringed .ring path {
      fill: #e0d6cf; }
    #block-people-staff .img-ringed .circle {
      background-color: #eae3df;
      top: 25px;
      left: 25px; }

.person-list {
  position: relative;
  text-align: center;
  line-height: 1.4;
  overflow: hidden; }
  .person-list * {
    max-width: 250px;
    margin: 0 auto;
    line-height: 1.4; }
  @media (min-width: 769px) {
    .person-list {
      margin-bottom: 2rem; } }
  .person-list .img-ringed {
    display: block;
    width: 175px;
    height: 175px;
    position: relative;
    margin-bottom: 1rem; }
    .person-list .img-ringed .ring {
      width: 175px;
      height: 175px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2; }
      .person-list .img-ringed .ring path {
        fill: #fff; }
    .person-list .img-ringed .circle {
      display: block;
      position: absolute;
      top: 1px;
      left: 1px;
      z-index: 1;
      border-radius: 50%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      height: 173px;
      width: 173px; }
  @media (min-width: 1301px) {
    .person-list .img-ringed {
      display: block;
      width: 250px;
      height: 250px;
      position: relative; }
      .person-list .img-ringed .ring {
        width: 250px;
        height: 250px;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2; }
        .person-list .img-ringed .ring path {
          fill: #fff; }
      .person-list .img-ringed .circle {
        display: block;
        position: absolute;
        top: 1px;
        left: 1px;
        z-index: 1;
        border-radius: 50%;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        height: 248px;
        width: 248px; } }
  .person-list:hover .img-ringed .ring path {
    fill: #f47d31; }

/**
 * Article specific
 */
.page-node-type-program article.node--type-program .node__content {
  padding-bottom: 6rem; }
  .page-node-type-program article.node--type-program .node__content .field {
    overflow: hidden; }
  .page-node-type-program article.node--type-program .node__content h4,
  .page-node-type-program article.node--type-program .node__content .field--name-field-image {
    margin: 1rem 0; }
  .page-node-type-program article.node--type-program .node__content .field__label {
    min-width: 24rem; }
    @media (max-width: 768px) {
      .page-node-type-program article.node--type-program .node__content .field__label {
        display: block;
        width: 100%; } }
  @media (max-width: 768px) {
    .page-node-type-program article.node--type-program .node__content .field__item {
      display: block; } }
  .page-node-type-program article.node--type-program .node__content .field--name-field-type .field__label,
  .page-node-type-program article.node--type-program .node__content .field--name-field-services-offered- .field__label,
  .page-node-type-program article.node--type-program .node__content .field--name-field-geographical-service-area .field__label,
  .page-node-type-program article.node--type-program .node__content .field--name-field-geography-detail .field__label,
  .page-node-type-program article.node--type-program .node__content .field--type-list-string .field__label,
  .page-node-type-program article.node--type-program .node__content .field--type-string .field__label,
  .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__label,
  .page-node-type-program article.node--type-program .node__content .field--name-field-bbb-rating .field__label {
    width: 22rem; }
    @media (max-width: 768px) {
      .page-node-type-program article.node--type-program .node__content .field--name-field-type .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-services-offered- .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-geographical-service-area .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-geography-detail .field__label,
      .page-node-type-program article.node--type-program .node__content .field--type-list-string .field__label,
      .page-node-type-program article.node--type-program .node__content .field--type-string .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-bbb-rating .field__label {
        width: 100%; } }
    @media (max-width: 425px) {
      .page-node-type-program article.node--type-program .node__content .field--name-field-type .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-services-offered- .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-geographical-service-area .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-geography-detail .field__label,
      .page-node-type-program article.node--type-program .node__content .field--type-list-string .field__label,
      .page-node-type-program article.node--type-program .node__content .field--type-string .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__label,
      .page-node-type-program article.node--type-program .node__content .field--name-field-bbb-rating .field__label {
        width: 100%; } }
  .page-node-type-program article.node--type-program .node__content .field--name-field-point-of-contact .field__label {
    width: 24rem; }
    @media (max-width: 768px) {
      .page-node-type-program article.node--type-program .node__content .field--name-field-point-of-contact .field__label {
        display: block;
        width: 100%; } }
  .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__item {
    padding-top: 32px; }
  @media (max-width: 768px) {
    .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__label {
      width: 100%; } }
  @media (max-width: 768px) and (max-width: 425px) {
    .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__label {
      width: 100%; } }
  @media (max-width: 768px) {
    .page-node-type-program article.node--type-program .node__content .field--name-field-not-english .field__item {
      padding-top: 32px; } }
  .page-node-type-program article.node--type-program .node__content .field--name-field-author-ref,
  .page-node-type-program article.node--type-program .node__content .field--name-field-type,
  .page-node-type-program article.node--type-program .node__content .field--name-field-services-offered-,
  .page-node-type-program article.node--type-program .node__content .field--name-field-not-english {
    overflow: hidden; }
  .page-node-type-program article.node--type-program .node__content .field--name-field-address .field__label {
    display: inline-block;
    float: left; }
    .page-node-type-program article.node--type-program .node__content .field--name-field-address .field__label:after {
      content: ":"; }
  .page-node-type-program article.node--type-program .node__content .field--name-field-address .field__item p.address {
    display: inline-block;
    margin-top: 2px;
    margin-bottom: 0; }
  .page-node-type-program article.node--type-program .node__content .field--name-field-how-to-get-started,
  .page-node-type-program article.node--type-program .node__content .field--name-body {
    margin-top: 1em;
    margin-bottom: 1em; }
    .page-node-type-program article.node--type-program .node__content .field--name-field-how-to-get-started .field__label:after,
    .page-node-type-program article.node--type-program .node__content .field--name-body .field__label:after {
      content: ":"; }
    .page-node-type-program article.node--type-program .node__content .field--name-field-how-to-get-started .field__item p,
    .page-node-type-program article.node--type-program .node__content .field--name-body .field__item p {
      margin: 0; }
  @media (min-width: 769px) {
    .page-node-type-program article.node--type-program .node__content .field--name-field-geography-detail {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

/**
 * Flex list of card-containers so we can have equal height boxes that wrap
 */
.view-taxonomy-term .views-infinite-scroll-content-wrapper {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media (min-width: 769px) {
    .view-taxonomy-term .views-infinite-scroll-content-wrapper {
      -webkit-flex-direction: row;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  .view-taxonomy-term .views-infinite-scroll-content-wrapper .card-container {
    background-color: #fff;
    margin: 0 0 4% 0;
    position: relative; }
    @media (min-width: 769px) {
      .view-taxonomy-term .views-infinite-scroll-content-wrapper .card-container {
        margin: 0 0 2% 2%;
        width: 32%; }
        .view-taxonomy-term .views-infinite-scroll-content-wrapper .card-container:nth-of-type(3n+1) {
          margin-left: 0; } }
    @media (min-width: 1301px) {
      .view-taxonomy-term .views-infinite-scroll-content-wrapper .card-container {
        margin: 0 0 1.3% 1.3%;
        width: 24%; }
        .view-taxonomy-term .views-infinite-scroll-content-wrapper .card-container:nth-of-type(3n+1) {
          margin-left: 1.3%; }
        .view-taxonomy-term .views-infinite-scroll-content-wrapper .card-container:nth-of-type(4n+1) {
          margin-left: 0; } }

.view-taxonomy-term ul.pager {
  float: none;
  margin: 0;
  padding: 0; }
  .view-taxonomy-term ul.pager .pager__item {
    display: block;
    padding: 1em 0;
    text-align: center; }
  .view-taxonomy-term ul.pager .btn {
    display: inline-block;
    float: none; }

/**
 * Generic card styles in case we use them somewhere other than the taxonomy-term
 * page
 */
.card {
  font-size: 1em;
  min-height: 400px;
  text-align: center;
  /**
   * Event type cards
   * ===========================================================================
   */ }
  .card .field--type-image {
    overflow-y: hidden; }
  .card img {
    display: block;
    height: auto;
    max-width: 100%;
    width: 100%; }
  .card h1 {
    font-size: .9em;
    line-height: 1.8em; }
  .card h2 {
    font-size: .7em;
    font-weight: normal;
    line-height: 1.8em; }
  .card .card-content {
    padding: 2.5em 2em;
    text-align: center; }
  .card.node--type-event .node-date {
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #aa1a20;
    border-radius: 50% 50%;
    color: #fff;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 83px;
    font-size: 18px;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: -18px;
    line-height: 1.4em;
    position: absolute;
    text-align: center;
    top: -30px;
    width: 83px;
    height: 65px;
    font-size: 14px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: 161px;
    width: 65px; }
    .card.node--type-event .node-date .month {
      font-size: 1em; }
    .card.node--type-event .node-date .day {
      display: block;
      font-size: 1.5em;
      font-weight: 700; }
    .card.node--type-event .node-date svg {
      height: 85px;
      left: -1px;
      position: absolute;
      top: -1px;
      width: 85px; }
      .card.node--type-event .node-date svg path {
        fill: #f0ebe8; }
    .card.node--type-event .node-date.without-image {
      position: relative;
      top: 20px; }
    .card.node--type-event .node-date svg {
      height: 68px;
      width: 68px; }
  .card.node--type-article .article-date {
    color: #B9B1B0;
    font-size: .8em;
    text-transform: uppercase; }
  .card.node--type-person {
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    height: 100%; }
    .card.node--type-person .meet-the-expert {
      color: #B9B1B0;
      font-size: .7em;
      font-weight: 700;
      text-transform: uppercase; }
    .card.node--type-person h1 {
      font-size: 2em;
      line-height: 1em;
      margin-bottom: .25em; }
      .card.node--type-person h1 a {
        color: #fff; }
    .card.node--type-person h3 {
      font-size: .6em; }
    .card.node--type-person .card-content {
      bottom: 0;
      color: #fff;
      padding: 1.5em .25em;
      position: absolute;
      left: 0;
      width: 100%;
      z-index: 1; }

.expert-module {
  box-shadow: 0px 2px 10px 2px rgba(0, 0, 0, 0.15);
  margin-top: -214px;
  background: #fff;
  color: #666;
  position: relative; }
  .toolbar-tray-open .expert-module {
    margin-top: -280px; }
  .expert .expert-module {
    margin-top: 0;
    max-width: 395px;
    margin-bottom: 20px; }
    @media (min-width: 981px) {
      .expert .expert-module {
        margin-top: -100px;
        margin-bottom: 0;
        max-width: unset; } }
    .toolbar-tray-open .expert .expert-module {
      margin-top: -180px; }
      @media (min-width: 769px) {
        .toolbar-tray-open .expert .expert-module {
          margin-top: 0;
          max-width: 382px; } }
  .expert-module .image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    height: 200px;
    width: 100%;
    margin-bottom: 1rem; }
  .expert-module h4, .expert-module .author {
    margin: 0;
    padding: 0 2rem 2rem; }
  .expert-module h4 {
    font-size: 1.2em;
    text-transform: uppercase;
    padding: 0 2rem; }
  .expert-module .author {
    color: #B9B1B0;
    font-weight: 600;
    padding-bottom: 2rem;
    line-height: 1.4; }
    .expert-module .author::after {
      clear: both;
      content: "";
      display: table; }
    .expert-module .author b {
      font-weight: 600; }
    .expert-module .author .byline {
      float: left;
      width: 80%;
      margin-top: .5rem; }
  .expert-module .img-ringed {
    display: block;
    width: 125px;
    height: 125px;
    position: relative;
    position: absolute;
    bottom: -34px;
    right: -35px; }
    .expert-module .img-ringed .ring {
      width: 125px;
      height: 125px;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2; }
      .expert-module .img-ringed .ring path {
        fill: #f0ebe8; }
    .expert-module .img-ringed .circle {
      display: block;
      position: absolute;
      top: 1px;
      left: 1px;
      z-index: 1;
      border-radius: 50%;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: 50% 50%;
      height: 123px;
      width: 123px; }
  @media (min-width: 1300px) {
    .expert-module {
      display: block; } }

.sidebar {
  padding: 2em 0; }
  @media (min-width: 769px) {
    .sidebar {
      border-left: 1px solid #f0ebe8;
      padding: 0 0 0 2em; } }
  .sidebar .field--type-image {
    padding-bottom: 1em; }
  .sidebar .node__content {
    font-size: .9em;
    line-height: 1.7em; }
  .sidebar h6 {
    margin: 0 0 1rem 0; }
  .sidebar .item-list {
    list-style: none;
    margin: 1em 0 0 0;
    padding: 0; }
    .sidebar .item-list li {
      font-size: 1.1em;
      line-height: 1.1em;
      margin: 0 0 1em; }
    .sidebar .item-list .heading {
      display: block;
      font-weight: 700; }
    .sidebar .item-list .subhead {
      color: #B9B1B0;
      font-size: .8em; }

.modal {
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: rgba(244, 125, 49, 0.9);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100vh;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 20; }
  @media (min-width: 768px) {
    .modal {
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center; } }
  .modal .content-container {
    height: 100%;
    padding: 1em;
    position: relative; }
    @media (min-width: 768px) {
      .modal .content-container {
        height: auto; } }
  .modal h1 {
    color: #fff;
    font-size: 2em;
    margin: 1em 0 1em;
    line-height: 1em; }
    @media (min-width: 768px) {
      .modal h1 {
        margin: 0 0 .5em; } }
    @media (min-width: 1024px) {
      .modal h1 {
        font-size: 3em; } }
    @media (min-width: 1300px) {
      .modal h1 {
        font-size: 4em; } }
  .modal .col {
    float: none;
    margin: 0;
    position: static;
    width: 100%; }
    @media (min-width: 768px) {
      .modal .col {
        float: left; }
        .modal .col.span-5 {
          width: 40.5%; }
        .modal .col.span-7 {
          width: 57.5%; } }
  .modal .btn {
    display: inline-block;
    height: 50px;
    font-size: .7em;
    float: none;
    width: calc(100% - 50px); }
    @media (min-width: 1024px) {
      .modal .btn {
        font-size: 1em;
        margin: 1em 0;
        width: auto; } }
    .modal .btn .triangle {
      border-right: 50px solid transparent;
      border-left: 0px solid transparent;
      border-top: 50px solid #008e96;
      border-top-width: 50px;
      border-right-width: 50px;
      bottom: 0;
      content: '';
      height: 50px;
      position: absolute;
      right: -50px;
      width: 50px;
      z-index: 1; }
  .modal .blank-btn {
    color: #fff;
    display: block;
    text-decoration: underline;
    text-align: center;
    width: 100%; }
    @media (min-width: 768px) {
      .modal .blank-btn {
        text-align: left;
        width: auto; } }
  .modal .close-btn {
    bottom: 24px;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%); }
    @media (min-width: 768px) {
      .modal .close-btn {
        bottom: auto;
        left: auto;
        right: 1em;
        top: -40px;
        -webkit-transform: none;
        transform: none; } }
  .modal .iframe {
    display: block;
    height: 163px;
    margin: auto;
    width: 290px; }
    @media (min-width: 375px) {
      .modal .iframe {
        height: 191px;
        width: 340px; } }
    @media (min-width: 1024px) {
      .modal .iframe {
        height: 310px;
        width: 550px; } }
    @media (min-width: 1300px) {
      .modal .iframe {
        height: 420px;
        width: 747px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZlbmRvci9fbm9ybWFsaXplLnNjc3MiLCJtYWluLmNzcyIsInZlbmRvci9fc2xpY2suc2NzcyIsInZlbmRvci9faW5jbHVkZS1tZWRpYS5zY3NzIiwidXRpbGl0aWVzL19taXhpbnMuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwidXRpbGl0aWVzL19maWxlcy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fbGF5b3V0LnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fbWVudXMuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVycy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvaGVhZGVycy9faGVyby1jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fY2Fyb3VzZWxzLnNjc3MiLCJjb21wb25lbnRzL19ob21lcGFnZS5zY3NzIiwiY29tcG9uZW50cy9faXNzdWUtcGFnZS5zY3NzIiwiY29tcG9uZW50cy9fdG9waWNzLXBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2xpc3RpbmctcGFnZS5zY3NzIiwiY29tcG9uZW50cy9fZmluYW5jaWFsLXBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3Jlc291cmNlcy1wYWdlLnNjc3MiLCJjb21wb25lbnRzL190ZWFtLXBhZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2RhcmUtcGFnZS5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX2V4cGVydC5zY3NzIiwiY29tcG9uZW50cy9fc2lkZWJhci5zY3NzIiwiY29tcG9uZW50cy9fbW9kYWxzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsZ0ZBQU87QUNOUCw0RUFBNEU7QUFFNUU7Ozs7O0dBS0c7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c0JBQXFCO0lBQ3JCLGFBQVk7SUFDWixnQkFBZTtJQUNmLFlBQVc7SUFDWCx5QkFBd0IsRUEyQnpCO0kxQnFkQztNMEIvaUJKO1FBc0VNLGVBQWM7UUFDZCxjQUFhO1FBQ2IsWUFBVyxFQWtCZCxFQUFBO0lBMUZIO01BNEVNLHFDQUFvQztNQUNwQyxtQ0FBa0M7TUFDbEMsK0J4Qi9DUTtNd0JnRFIsdUJBQXNCO01BQ3RCLHlCQUF3QjtNQUN4QixVQUFTO01BQ1QsWUFBVztNQUNYLGFBQVk7TUFDWixtQkFBa0I7TUFDbEIsYUFBWTtNQUNaLFlBQVc7TUFDWCxXQUFVLEVBQ1g7RUF4Rkw7SUE2RkksWUFBVztJQUNYLGVBQWM7SUFDZCwyQkFBMEI7SUFDMUIsbUJBQWtCO0lBQ2xCLFlBQVcsRUFLWjtJMUJ5Y0M7TTBCL2lCSjtRQW1HTSxpQkFBZ0I7UUFDaEIsWUFBVyxFQUVkLEVBQUE7RUF0R0g7SUF5R0ksYUFBWTtJQUNaLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1Qsb0NBQTJCO0lBQTNCLDRCQUEyQixFQVM1QjtJMUIwYkM7TTBCL2lCSjtRQStHTSxhQUFZO1FBQ1osV0FBVTtRQUNWLFdBQVU7UUFDVixXQUFVO1FBQ1Ysd0JBQWU7UUFBZixnQkFBZSxFQUVsQixFQUFBO0VBckhIO0lBd0hJLGVBQWM7SUFDZCxjQUFhO0lBQ2IsYUFBWTtJQUNaLGFBQVksRUFpQmI7STFCbWFDO00wQi9pQko7UUE4SE0sY0FBYTtRQUNiLGFBQVksRUFhZixFQUFBO0kxQm1hQztNMEIvaUJKO1FBbUlNLGNBQWE7UUFDYixhQUFZLEVBUWYsRUFBQTtJMUJtYUM7TTBCL2lCSjtRQXdJTSxjQUFhO1FBQ2IsYUFBWSxFQUdmLEVBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBtYWluIGVudHJ5IHBvaW50IGFuZCBpbXBvcnRlclxuLy8gdGhlIG9yZGVyIG9mIEBpbXBvcnQncyBoZXJlIGlzIGltcG9ydGFudC5cbi8vIFxuLy8gb3ZlcmFsbCBzaXRlIHZhcmlhYmxlcyBhbmQgc2V0dGluZ3MuXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5cbkBpbXBvcnQgJy8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyc7XG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJ3ZlbmRvci9pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ3ZlbmRvci9zbGljayc7XG5cbi8vIGFueSBjdXN0b20gZ2xvYmFsIG1peGlucyBvZiBvdXIgb3duIGNyZWF0aW9uLlxuQGltcG9ydCAndXRpbGl0aWVzL21peGlucyc7XG5AaW1wb3J0ICd1dGlsaXRpZXMvZmlsZXMnO1xuXG4vLyBiYXNlXG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvbGF5b3V0JztcblxuLy8gY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nhcm91c2Vscyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2hvbWVwYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaXNzdWUtcGFnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcGljcy1wYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGlzdGluZy1wYWdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmluYW5jaWFsLXBhZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNvdXJjZXMtcGFnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RlYW0tcGFnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RhcmUtcGFnZSc7XG5cbi8vIFNtYWxsIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9leHBlcnQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zaWRlYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbW9kYWxzJzsiLCIvKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIixzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJy8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vZm9udC1hd2Vzb21lLzQuNy4wL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyc7XG4vKiEgbm9ybWFsaXplLmNzcyB2NS4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIixzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2xpY2stbGlzdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLWxpc3QuZHJhZ2dpbmcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjayAuY29sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAyZW07IH1cblxuLnNsaWNrLXRyYWNrOmJlZm9yZSxcbi5zbGljay10cmFjazphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnJzsgfVxuXG4uc2xpY2stdHJhY2s6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zbGljay1zbGlkZSB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zbGljay1zbGlkZSBpbWcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5zcGFuLnRyaWFuZ2xlIHtcbiAgei1pbmRleDogMTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCAjZjQ3ZDMxO1xuICBjb250ZW50OiAnJzsgfVxuICBzcGFuLnRyaWFuZ2xlLnQyIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxMDBweCBzb2xpZCAjZjQ3ZDMxO1xuICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnZpZXdzLWV4cG9zZWQtZm9ybSAuanMtZm9ybS1zdWJtaXQ6aG92ZXIgKyAudmlldy1idG4tZmlsdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2U2NjEwYzsgfVxuXG4udmlld3MtZXhwb3NlZC1mb3JtIC52aWV3LWJ0bi1maWx0ZXIge1xuICB6LWluZGV4OiAxO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMTAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCAjZjQ3ZDMxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbnRlbnQ6ICcnOyB9XG4gIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXctYnRuLWZpbHRlcjpob3ZlciB+ICNlZGl0LXN1Ym1pdC1saXN0aW5ncyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2NjEwYzsgfVxuXG51bC5maWxlLWljb25zIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsLmZpbGUtaWNvbnMgYSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG51bC5maWxlLWRvd25sb2FkcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICB1bC5maWxlLWRvd25sb2FkcyBsaSB7XG4gICAgbWFyZ2luOiAwIDAgMWVtIDA7IH1cbiAgICB1bC5maWxlLWRvd25sb2FkcyBsaTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cblxuW2NsYXNzKj1cImZpbGUtLW1pbWUtYXBwbGljYXRpb24tXCJdLFxuW2NsYXNzKj1cImZpbGUtLWFwcGxpY2F0aW9uLVwiXSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLWhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAuNWVtO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IH1cbiAgW2NsYXNzKj1cImZpbGUtLW1pbWUtYXBwbGljYXRpb24tXCJdOmJlZm9yZSxcbiAgW2NsYXNzKj1cImZpbGUtLWFwcGxpY2F0aW9uLVwiXTpiZWZvcmUge1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE2cHgvMSBGb250QXdlc29tZTtcbiAgICBjb250ZW50OiAnXFxmMGY2JzsgfVxuXG5bY2xhc3MqPVwiYnRuIGZpbGUtLW1pbWUtYXBwbGljYXRpb24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCJidG4gZmlsZS0tYXBwbGljYXRpb24tXCJdOmJlZm9yZSB7XG4gIHBhZGRpbmctcmlnaHQ6IC41cmVtOyB9XG5cbi5maWxlLXR5cGUtc3RyaW5nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uZmlsZS0tYXBwbGljYXRpb24tbGluazpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDE2JzsgfVxuXG4uZmlsZS0tYXBwbGljYXRpb24tb2N0ZXQtc3RyZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMjgnOyB9XG5cbi5maWxlLS1hcHBsaWNhdGlvbi1hcHBsaWNhdGlvbi1wZGY6YmVmb3JlLFxuLmZpbGUtLWFwcGxpY2F0aW9uLXBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiOyB9XG5cbi5maWxlLS1hcHBsaWNhdGlvbi16aXA6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjFjNic7IH1cblxuW2NsYXNzKj1cIndvcmRwcm9jZXNzaW5nXCJdOmJlZm9yZSxcbi5maWxlLS1hcHBsaWNhdGlvbi1tc3dvcmQ6YmVmb3JlLFxuLmZpbGUtLXgtb2ZmaWNlLWRvY3VtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxYzInOyB9XG5cbi5maWxlLS1hcHBsaWNhdGlvbi1tc2V4Y2VsOmJlZm9yZSxcbi5maWxlLS1leGNlbC1vZmZpY2UtZG9jdW1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjFjMyc7IH1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLW1zcG93ZXJwb2ludDpiZWZvcmUsXG4uZmlsZS0tZmlsZS0tcHAtb2ZmaWNlLWRvY3VtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYxYzQnOyB9XG5cbi5maWxlLS1hcHBsaWNhdGlvbi1hdWRpbzpiZWZvcmUsXG4uZmlsZS0tYXVkaW86YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjFjNyc7IH1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLXZpZGVvOmJlZm9yZSxcbi5maWxlLS12aWRlbzpiZWZvcmUge1xuICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNnB4LzEgRm9udEF3ZXNvbWU7XG4gIGNvbnRlbnQ6ICdcXGYwM2QnOyB9XG5cbi5maWxlLS1hcHBsaWNhdGlvbi10eHQ6YmVmb3JlLFxuLmZpbGUtLXR4dDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGY2JzsgfVxuXG4uZmlsZS0tYXBwbGljYXRpb24temlwOmJlZm9yZSxcbi5maWxlLS16aXA6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjFjNic7IH1cblxuW2NsYXNzKj1cInNwcmVhZHNoZWV0XCJdOmJlZm9yZSxcbi5maWxlLS14LW9mZmljZS1zcHJlYWRzaGVldDpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMWMzJzsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YWZ0ZXIsXG4qOjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCIsc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7IH1cblxuLmtpbnQge1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbjogOHB4IDA7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDEwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiN0b29sYmFyLWJhciB7XG4gIGhlaWdodDogMzlweCAhaW1wb3J0YW50OyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCIsc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwibXVzZW8tc2Fuc1wiLHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiA0LjYyNXJlbTtcbiAgY29sb3I6ICNmNDdkMzE7IH1cblxuaDIge1xuICBmb250LXNpemU6IDMuMTI1cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAyLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjAwcmVtOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5iLCBzdHJvbmcsIGgxLCBoMiwgaDQsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5oNiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuZW0sIGkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDAuNzVlbTsgfVxuXG5iaWcge1xuICBmb250LXNpemU6IDEuMjVlbTsgfVxuXG5hIHtcbiAgY29sb3I6ICMwMDhlOTY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIixzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogI2Y0N2QzMTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDIuNXJlbSAwIDIuNXJlbSA1cmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4MCU7IH1cbiAgYmxvY2txdW90ZSBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgYmxvY2txdW90ZSAuYXV0aG9yIHtcbiAgICBmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCIsc2Fucy1zZXJpZjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG50YWJsZSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfVxuICB0YWJsZSB0cjpudGgtY2hpbGQoMSkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgdGFibGUgdGgsIHRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAuOHJlbSAxLjByZW07IH1cbiAgdGFibGUgdGgge1xuICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIixzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmOWJlOTg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07IH1cblxuaDEuc3VidGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgaDEuc3VidGl0bGUgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuaHRtbCwgYm9keSB7XG4gIGJhY2tncm91bmQ6ICM2NjY7IH1cblxuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi53cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiBhdXRvO1xuICBtYXgtd2lkdGg6IDUwMDBweDtcbiAgbWluLWhlaWdodDogODN2aDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndyYXBwZXIuZ3JheSB7XG4gICAgYmFja2dyb3VuZDogI2YwZWJlODsgfVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDYwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiA0NzRweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVybyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDU1JTtcbiAgICAgIGhlaWdodDogODAycHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gICAgLmhlcm8ge1xuICAgICAgaGVpZ2h0OiA4ODJweDsgfSB9XG5cbmhlYWRlciwgbWFpbiwgZm9vdGVyLCAuY29udGFpbmVyLmxheW91dCwgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMzUwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgaGVhZGVyOjphZnRlciwgbWFpbjo6YWZ0ZXIsIGZvb3Rlcjo6YWZ0ZXIsIC5jb250YWluZXIubGF5b3V0OjphZnRlciwgLmNvbnRlbnQtY29udGFpbmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuXG5tYWluLmZ1bGx3aWR0aCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5tYWluIHtcbiAgbWFyZ2luLXRvcDogNDRweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBtYWluIHtcbiAgICAgIG1hcmdpbi10b3A6IDE0NXB4OyB9IH1cbiAgLmhhcy1oZXJvIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiA0NDRweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhhcy1oZXJvIG1haW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzQxcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLmhhcy1oZXJvIG1haW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0NHB4OyB9IH1cbiAgLndyYXBwZXIubm8taGVybyBtYWluIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtOyB9XG5cbmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciB7XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9IH1cblxuLyogIFNFQ1RJT05TICAqL1xuLmNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbjogMHB4OyB9XG5cbi8qICBDT0xVTU4gU0VUVVAgICovXG4uY29sLCAuc2VjdGlvbi0zIC5maWVsZF9faXRlbXMgPiAuZmllbGRfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAwIDElIDIlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbDpmaXJzdC1jaGlsZCwgLnNlY3Rpb24tMyAuZmllbGRfX2l0ZW1zID4gLmZpZWxkX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiAgR1JPVVBJTkcgICovXG4ucm93IHtcbiAgem9vbTogMTtcbiAgLyogRm9yIElFIDYvNyAqLyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi8qICBHUklEIE9GIFRXRUxWRSAgKi9cbi5jb2wuc3Bhbi0xMiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY29sLnNwYW4tMTEge1xuICB3aWR0aDogOTEuNSU7IH1cblxuLmNvbC5zcGFuLTEwIHtcbiAgd2lkdGg6IDgzJTsgfVxuXG4uY29sLnNwYW4tOSB7XG4gIHdpZHRoOiA3NC41JTsgfVxuXG4uY29sLnNwYW4tOCB7XG4gIHdpZHRoOiA2NiU7IH1cblxuLmNvbC5zcGFuLTcge1xuICB3aWR0aDogNTcuNSU7IH1cblxuLmNvbC5zcGFuLTYge1xuICB3aWR0aDogNDklOyB9XG5cbi5jb2wuc3Bhbi01IHtcbiAgd2lkdGg6IDQwLjUlOyB9XG5cbi5jb2wuc3Bhbi00LCAuc2VjdGlvbi0zIC5maWVsZF9faXRlbXMgPiAuZmllbGRfX2l0ZW0ge1xuICB3aWR0aDogMzIlOyB9XG5cbi5jb2wuc3Bhbi0zIHtcbiAgd2lkdGg6IDIzLjUlOyB9XG5cbi5jb2wuc3Bhbi0yIHtcbiAgd2lkdGg6IDE1JTsgfVxuXG4uY29sLnNwYW4tMSB7XG4gIHdpZHRoOiA2LjUlOyB9XG5cbi8qICBHTyBGVUxMIFdJRFRIIEJFTE9XIDQ4MCBQSVhFTFMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuY29sIHtcbiAgICBtYXJnaW46IDElIDAgMSUgMCU7IH1cbiAgLmNvbCwgLmNvbC5zcGFuLTEsIC5jb2wuc3Bhbi0yLCAuY29sLnNwYW4tMywgLmNvbC5zcGFuLTQsIC5jb2wuc3Bhbi01LCAuY29sLnNwYW4tNiwgLmNvbC5zcGFuLTcsIC5jb2wuc3Bhbi04LCAuY29sLnNwYW4tOSwgLmNvbC5zcGFuLTEwLCAuY29sLnNwYW4tMTEsIC5jb2wuc3Bhbi0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZmVhdHVyZWQge1xuICAvKi5jb2x7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH0qL1xuICAvKi5ib3gtY29udGFpbmVye1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTVyZW07XG4gICAgbGVmdDogMDtcbiAgfSovIH1cbiAgLmZlYXR1cmVkIC5ib3gge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmMWRkZDM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiAzMCU7XG4gICAgcmlnaHQ6IC0xOHJlbTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICAgIC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG4gICAgLyomLmxlZnR7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbGVmdDogLTIwcmVtO1xuICAgICAgdG9wOiA4MCU7XG4gICAgfSovIH1cbiAgLmZlYXR1cmVkIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAuZmVhdHVyZWQgLmJ0biB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMCAwOyB9XG5cbi5zZWN0aW9uIHAge1xuICBtYXJnaW46IDA7IH1cblxuLnNlY3Rpb24tMyAuZmllbGRfX2l0ZW1zID4gLmZpZWxkX19pdGVtOm50aC1jaGlsZCgzbisxKSB7XG4gIGNsZWFyOiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5zdmcuYXQtaWNvbi5hdC1pY29uLWZhY2Vib29rIHtcbiAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7IH1cblxuLm1hc3RoZWFkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBoZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgbWF4LXdpZHRoOiB1bnNldDtcbiAgdHJhbnNpdGlvbjogMC41cztcbiAgLyoqXG4gICAqIFRoZSBtZW51IGNvbnRhaW5lciBjb250YWlucyBib3RoIHRoZSBzb2NpYWwgZ3JheSBiYXIgYW5kIHRoZSBuYXZpZ2F0aW9uXG4gICAqIFdlIHRvZ2dsZSB0aGlzIGRpc3BsYXkgYW5kIG5vdCB0aGUgaW5kaXZpZHVhbCBpdGVtcyB3aGVuIHRoZSBidXJnZXJcbiAgICogaXMgY2xpY2tlZFxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG4gIC8qKlxuICAgKiBUaGlzIGlzIHRoZSBzb2NpYWwgYmFyXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi8gfVxuICAubWFzdGhlYWQuaXMtc2Nyb2xsaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogNDZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7IH1cbiAgICAubWFzdGhlYWQuaXMtc2Nyb2xsaW5nID4gLmNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAgIC5tYXN0aGVhZC5pcy1zY3JvbGxpbmcgPiAuY29udGFpbmVyIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIGJvdHRvbTogMnB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICAgIC5tYXN0aGVhZC5pcy1zY3JvbGxpbmcgPiAuY29udGFpbmVyIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0b3A6IDA7IH0gfVxuICAubWFzdGhlYWQgPiAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEzNTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwKSB7XG4gICAgICAubWFzdGhlYWQgPiAuY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5tYXN0aGVhZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAycmVtIDFyZW07XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAubWFzdGhlYWQgLmJyYW5kaW5nIHtcbiAgICB3aWR0aDogMTY1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcuc2Nyb2xsLWxvZ28taXMtZGlzcGxheWVkIHtcbiAgICAgIHdpZHRoOiAyODBweDsgfVxuICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2NmZWQvbG9nby1oLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbGVmdDogMTFweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7IH1cbiAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYS5zY3JvbGwtbG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvY2ZlZC9pbWcvUHJvc3Blcml0eU5vdy1sb2dvLWhvcml6b250YWwtcmdiLnN2Z1wiKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgNTVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYS5zY3JvbGwtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMTMwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTA2cHgpIHtcbiAgICAgICAgICAubWFzdGhlYWQgLmJyYW5kaW5nIGEuc2Nyb2xsLWxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDE0MHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkzMXB4KSB7XG4gICAgICAgICAgLm1hc3RoZWFkIC5icmFuZGluZyBhLnNjcm9sbC1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NTBweCkge1xuICAgICAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYS5zY3JvbGwtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMTgwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTk2cHgpIHtcbiAgICAgICAgICAubWFzdGhlYWQgLmJyYW5kaW5nIGEuc2Nyb2xsLWxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwNTFweCkge1xuICAgICAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYS5zY3JvbGwtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMjgwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAgICAgLm1hc3RoZWFkIC5icmFuZGluZyBhLnNjcm9sbC1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzc4cHgpIHtcbiAgICAgICAgICAubWFzdGhlYWQgLmJyYW5kaW5nIGEuc2Nyb2xsLWxvZ28ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTY2N3B4KSB7XG4gICAgICAgICAgLm1hc3RoZWFkIC5icmFuZGluZyBhLnNjcm9sbC1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxODBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjY3cHgpIHtcbiAgICAgICAgICAubWFzdGhlYWQgLmJyYW5kaW5nIGEuc2Nyb2xsLWxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE3MzFweCkge1xuICAgICAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYS5zY3JvbGwtbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTgwMXB4KSB7XG4gICAgICAgICAgLm1hc3RoZWFkIC5icmFuZGluZyBhLnNjcm9sbC1sb2dvIHtcbiAgICAgICAgICAgIHdpZHRoOiAyODBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgLm1hc3RoZWFkIC5icmFuZGluZyBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGhlbWVzL2NmZWQvbG9nby5zdmdcIik7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjBweCA2MXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgICAgaGVpZ2h0OiA2MXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgICAubWFzdGhlYWQgLmJyYW5kaW5nIGEge1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTY1cHggNzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDg4cHg7XG4gICAgICAgICAgd2lkdGg6IDE2NXB4OyB9IH1cbiAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYSAuc3ViLWJyYW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBlYXNlOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgIC5tYXN0aGVhZCAuYnJhbmRpbmcgYSAuc3ViLWJyYW5kIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTIycHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAgICAgLm1hc3RoZWFkIC5icmFuZGluZyBhIC5zdWItYnJhbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLm1hc3RoZWFkIC5oYW1idXJnZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0NHB4OyB9XG4gICAgLm1hc3RoZWFkIC5oYW1idXJnZXI6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC00NHB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiA0NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNDRweCBzb2xpZCBibGFjaztcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgLm1hc3RoZWFkIC5oYW1idXJnZXI6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLm9wZW4gLm1hc3RoZWFkIC5oYW1idXJnZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhMWEyMDsgfVxuICAgICAgLm9wZW4gLm1hc3RoZWFkIC5oYW1idXJnZXI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNDRweCBzb2xpZCAjYWExYTIwOyB9XG4gICAgICAub3BlbiAubWFzdGhlYWQgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIC5tYXN0aGVhZCAuaGFtYnVyZ2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLm1hc3RoZWFkIC5oYW1idXJnZXIgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGxlZnQ6IDExcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgICAgIHdpZHRoOiAyMnB4OyB9XG4gICAgICAubWFzdGhlYWQgLmhhbWJ1cmdlciBzcGFuOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgdG9wOiAxMnB4OyB9XG4gICAgICAgIC5vcGVuIC5tYXN0aGVhZCAuaGFtYnVyZ2VyIHNwYW46bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5tYXN0aGVhZCAuaGFtYnVyZ2VyIHNwYW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0b3A6IDIwcHg7IH1cbiAgICAgICAgLm9wZW4gLm1hc3RoZWFkIC5oYW1idXJnZXIgc3BhbjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgLm1hc3RoZWFkIC5oYW1idXJnZXIgc3BhbjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIHRvcDogMjhweDsgfVxuICAgICAgICAub3BlbiAubWFzdGhlYWQgLmhhbWJ1cmdlciBzcGFuOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tYXN0aGVhZCAubWVudS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vcGVuIC5tYXN0aGVhZCAubWVudS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIC5tYXN0aGVhZCAubWVudS1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgLm1hc3RoZWFkIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIC5tYXN0aGVhZCAudXRpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gICAgLm1hc3RoZWFkIC51dGlsIC5tZW51IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIC5tYXN0aGVhZCAudXRpbCB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjYsIDE2NiwgMTY2LCAwLjcpO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7IH1cbiAgICAgICAgLm1hc3RoZWFkIC51dGlsOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTQ0cHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDQ0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNDRweCBzb2xpZCByZ2JhKDE2NiwgMTY2LCAxNjYsIDAuNyk7XG4gICAgICAgICAgY29udGVudDogJyc7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgIC5tYXN0aGVhZCAudXRpbCB7XG4gICAgICAgIHdpZHRoOiA1OCU7IH0gfVxuICAgIC5tYXN0aGVhZCAudXRpbC5oaWRlLW9uLXNjcm9sbCB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLm1hc3RoZWFkIC51dGlsIC5zb2NpYWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAuc29jaWFsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDNweDsgfSB9XG4gICAgICAubWFzdGhlYWQgLnV0aWwgLnNvY2lhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAubWFzdGhlYWQgLnV0aWwgLnNvY2lhbCBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC5tYXN0aGVhZCAudXRpbCAucmlnaHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLm1hc3RoZWFkIC51dGlsIC5tZW51LS11dGlsaXR5LW1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAubWVudS0tdXRpbGl0eS1tZW51IHtcbiAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAuc2VhcmNoLW9wZW4gLm1hc3RoZWFkIC51dGlsIC5tZW51LS11dGlsaXR5LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAubWFzdGhlYWQgLnV0aWwgLm1lbnUtLXV0aWxpdHktbWVudSAubWVudS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC41ZW07XG4gICAgICAgIHBhZGRpbmc6IDAuM2VtOyB9XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAubWVudS0tdXRpbGl0eS1tZW51IC5tZW51LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAubWVudS0tdXRpbGl0eS1tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgICAgICAubWFzdGhlYWQgLnV0aWwgLm1lbnUtLXV0aWxpdHktbWVudSAubWVudS1pdGVtIGE6aG92ZXIsIC5tYXN0aGVhZCAudXRpbCAubWVudS0tdXRpbGl0eS1tZW51IC5tZW51LWl0ZW0gYTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvd2hpdGUtd2VkZ2UtcmlnaHQuc3ZnXCIpIG5vLXJlcGVhdCAwIDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IDdweDsgfVxuICAgIC5tYXN0aGVhZCAudXRpbCAuc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAuc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfSB9XG4gICAgICAubWFzdGhlYWQgLnV0aWwgLnNlYXJjaC1ibG9jay1mb3JtIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm1hc3RoZWFkIC51dGlsIC5zZWFyY2gtYmxvY2stZm9ybSAuZmEtdGltZXMge1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgbGVmdDogMS43NXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4ODlweCkge1xuICAgICAgICAubWFzdGhlYWQgLnV0aWwgLnNlYXJjaC1ibG9jay1mb3JtIC5mYS10aW1lcyB7XG4gICAgICAgICAgdG9wOiAyNXB4OyB9IH1cbiAgICAgIC5tYXN0aGVhZCAudXRpbCAuc2VhcmNoLWJsb2NrLWZvcm0gZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgICAgLm1hc3RoZWFkIC51dGlsIC5zZWFyY2gtYmxvY2stZm9ybSBmb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJweDsgfSB9XG4gICAgICAgIC5zZWFyY2gtb3BlbiAubWFzdGhlYWQgLnV0aWwgLnNlYXJjaC1ibG9jay1mb3JtIGZvcm0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAuc2VhcmNoLWJsb2NrLWZvcm0gZm9ybSAuZm9ybS1zZWFyY2gge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAycmVtOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgICAgICAubWFzdGhlYWQgLnV0aWwgLnNlYXJjaC1ibG9jay1mb3JtIGZvcm0gLmZvcm0tc2VhcmNoIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtIDAuMnJlbSAwLjJyZW0gMnJlbTsgfSB9XG4gICAgICAgIC5tYXN0aGVhZCAudXRpbCAuc2VhcmNoLWJsb2NrLWZvcm0gZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgICAgIC5tYXN0aGVhZCAudXRpbCAuc2VhcmNoLWJsb2NrLWZvcm0gZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW07IH0gfVxuXG5mb290ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBmb290ZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgZm9vdGVyIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgZm9vdGVyIGEuZ3JheSB7XG4gICAgICBjb2xvcjogIzY2NjsgfVxuICBmb290ZXIgLnNvY2lhbCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIG1hcmdpbjogMCAwIC41cmVtIDA7IH1cbiAgICBmb290ZXIgLnNvY2lhbCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7IH1cbiAgICAgIGZvb3RlciAuc29jaWFsIGxpIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgZm9vdGVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBmb290ZXIgLm1hc2sge1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBmb290ZXIgc3ZnIHtcbiAgICBmaWxsOiAjZmZmO1xuICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgd2lkdGg6IDE2ODhweDtcbiAgICBoZWlnaHQ6IDE2ODhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTEwMHB4O1xuICAgIGxlZnQ6IDUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTUwMHB4KSB7XG4gICAgICBmb290ZXIgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDEyODhweDtcbiAgICAgICAgaGVpZ2h0OiAxMjg4cHg7XG4gICAgICAgIHRvcDogLTcwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICBmb290ZXIgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIGZvb3RlciAuYmxvY2suc3RheS1pbmZvcm1lZCBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgZm9udC1zaXplOiAyLjgyNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgZm9vdGVyIC5ibG9jay5zdGF5LWluZm9ybWVkIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjgyNXJlbTsgfSB9XG4gIGZvb3RlciAuYmxvY2suc3RheS1pbmZvcm1lZCBmb3JtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICBmb290ZXIgLmJsb2NrLnN0YXktaW5mb3JtZWQgZm9ybSAuZm9ybS1pdGVtLWVtYWlsLFxuICBmb290ZXIgLmJsb2NrLnN0YXktaW5mb3JtZWQgZm9ybSAuZm9ybS1hY3Rpb25zIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICBmb290ZXIgLmJsb2NrLnN0YXktaW5mb3JtZWQgZm9ybSAuZm9ybS1pdGVtLWVtYWlsIHtcbiAgICB3aWR0aDogNzAlOyB9XG4gIGZvb3RlciAuYmxvY2suc3RheS1pbmZvcm1lZCBmb3JtIGlucHV0LmZvcm0tZW1haWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTVweDtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cbiAgZm9vdGVyIC5ibG9jay5zdGF5LWluZm9ybWVkIGZvcm0gaW5wdXQuZm9ybS1zdWJtaXQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybChcIi4uL2ltZy9hcnJvdy1yaWdodC10ZWFsLnBuZ1wiKSBuby1yZXBlYXQgMzUlIDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggNXB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDBweCA1cHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCA1cHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMDUpOyB9XG5cbi8qKlxuICogTWFpbiBuYXZpZ2F0aW9uIC0gRGVmYXVsdGluZyB0byBtb2JpbGUgYW5kIHRoZW4gZ3Jvd2luZyBmcm9tIHRoZXJlXG4gKiBDbGlja2luZyB0aGUgbWFpbiBtZW51IGdpdmVzIHRoZSBib2R5IGEgY2xhc3Mgb2YgJ29wZW4nLCBzbyB0aGF0IHdlXG4gKiBjYW4gdGllIGEgYnVuY2ggb2Ygc21hbGwgY2hhbmdlcyB0byB0aGF0IHBhcmVudCBjbGFzc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xubmF2Lm1lbnUtLW1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgbmF2Lm1lbnUtLW1haW4gdWwsIG5hdi5tZW51LS1tYWluIGxpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICBuYXYubWVudS0tbWFpbiAubWVudSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vcGVuIG5hdi5tZW51LS1tYWluIC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICBuYXYubWVudS0tbWFpbiAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7IH0gfVxuICAgIG5hdi5tZW51LS1tYWluIC5tZW51ID4gLmJhY2stdG8tbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCA0LjJlbSAwIDA7IH1cbiAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpOmhvdmVyLCBuYXYubWVudS0tbWFpbiAubWVudSBsaTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWExYTIwOyB9XG4gICAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaTpob3ZlciBhOmJlZm9yZSwgbmF2Lm1lbnUtLW1haW4gLm1lbnUgbGk6Zm9jdXMgYTpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0NHB4IHNvbGlkICNhYTFhMjA7IH1cbiAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpOmhvdmVyIGE6YWZ0ZXIsIG5hdi5tZW51LS1tYWluIC5tZW51IGxpOmZvY3VzIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiA0NHB4IHNvbGlkICNhYTFhMjA7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDQzcHggMCAwOyB9XG4gICAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgbGk6aG92ZXIgYTpiZWZvcmUsIG5hdi5tZW51LS1tYWluIC5tZW51IGxpOmZvY3VzIGE6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDQ1cHggc29saWQgI2FhMWEyMDsgfVxuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpOmhvdmVyIGE6YWZ0ZXIsIG5hdi5tZW51LS1tYWluIC5tZW51IGxpOmZvY3VzIGE6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogNDVweCBzb2xpZCAjYWExYTIwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNTAxcHgpIHtcbiAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIixzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjc1cmVtOyB9XG4gICAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGxlZnQ6IC00NHB4O1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA0NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0NHB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgcmlnaHQ6IC00NHB4O1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICBib3JkZXItdG9wOiA0NHB4IHNvbGlkICMwMDA7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIGEge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDNyZW07IH1cbiAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDQ1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDQ1cHggc29saWQgIzAwMDtcbiAgICAgICAgICAgICAgbGVmdDogLTQ1cHg7IH1cbiAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDQ1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDQ1cHggc29saWQgIzAwMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IC00NXB4OyB9IH1cbiAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIC5tZW51IGxpIGEge1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSAubWVudSBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfSB9XG4gICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIC5tZW51IGxpIGE6aG92ZXIsIG5hdi5tZW51LS1tYWluIC5tZW51IGxpIC5tZW51IGxpIGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjZjQ3ZDMxOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSBsaSAubWVudSBsaSBhOmhvdmVyLCBuYXYubWVudS0tbWFpbiAubWVudSBsaSAubWVudSBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1nL2Fycm93LXJpZ2h0LWNyaW1zb24ucG5nXCIpIG5vLXJlcGVhdCAwIDUwJTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMTVweDsgfSB9XG4gICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMXMsIHRyYW5zZm9ybSAwLjFzIGVhc2Utb3V0O1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMTsgfVxuICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudS5leHBhbmQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNmMGViZTggMCUsIHdoaXRlIDEwMCUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAzcHggMTFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEzNTBweDtcbiAgICAgICAgICBwYWRkaW5nOiAycmVtIDEuMjVlbSAxLjI1ZW07XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMTEwcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnU6OmFmdGVyIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAgICAgLnRvb2xiYXItZml4ZWQgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSB7XG4gICAgICAgICAgICB0b3A6IDIwMHB4OyB9XG4gICAgICAgICAgLnRvb2xiYXItdHJheS1vcGVuIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUge1xuICAgICAgICAgICAgdG9wOiAyMDBweDsgfSB9XG4gICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51ID4gLmJhY2stdG8tbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgPiAuYmFjay10by1tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSBsaSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGViZTg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQjlCMUIwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IGxpIGE6YmVmb3JlLCBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IGxpIGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgbGkucGFyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZWRlZDk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgbGkucGFyZW50Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH0gfVxuICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IGxpLnBhcmVudCBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvYXJyb3ctZG93bi1jcmltc29uLnBuZ1wiKSBuby1yZXBlYXQgOTglIDUwJTtcbiAgICAgICAgICBjb2xvcjogI2FhMWEyMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCIsc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgbGkucGFyZW50IGEge1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEuNWVtIDFlbTsgfVxuICAgICAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IGxpLnBhcmVudCBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi9pbWcvYXJyb3ctcmlnaHQtY3JpbXNvbi5wbmdcIikgbm8tcmVwZWF0IDdweCAzMSU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMTVweDsgfSB9XG4gICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgbGkuYmFjay10by1tZW51IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybChcIi4uL2ltZy93aGl0ZS13ZWRnZS5zdmdcIikgbm8tcmVwZWF0IDE0cHggNDkuNSU7IH1cbiAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IGxpLmJhY2stdG8tbWVudSBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzVweDsgfVxuICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSAucGFyZW50IC5tZW51IHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgLnBhcmVudCAubWVudSAuYmFjay10by1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgLnBhcmVudCAubWVudS5leHBhbmQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSAucGFyZW50IC5tZW51IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSAucGFyZW50IC5tZW51IGxpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgLnBhcmVudCAubWVudSBsaS5vdmVydmlldy1saW5rIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSAucGFyZW50IC5tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50IC5tZW51IC5wYXJlbnQgLm1lbnUgbGkgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAuNzVlbSAxLjI1ZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSAucGFyZW50IC5tZW51IGxpIGE6aG92ZXIsIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgLnBhcmVudCAubWVudSBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmNDdkMzE7IH1cbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgICAgICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudCAubWVudSAucGFyZW50IC5tZW51IGxpIGE6aG92ZXIsIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgLnBhcmVudCAubWVudSBsaSBhOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltZy9hcnJvdy1yaWdodC1jcmltc29uLnBuZ1wiKSBuby1yZXBlYXQgOHB4IDUwJTtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDE1cHg7IH0gfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgICAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQgLm1lbnUgLnBhcmVudCAubWVudSBsaSBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAuNmVtIDEuNWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQudG9waWNzIC5tZW51LCBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50LmFib3V0IC5tZW51IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMS4yNWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDRweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQudG9waWNzIC5tZW51LCBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50LmFib3V0IC5tZW51IHtcbiAgICAgICAgdG9wOiA0NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQudG9waWNzIC5tZW51IHtcbiAgICAgICAgbGVmdDogODNweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudC50b3BpY3MgLm1lbnUge1xuICAgICAgICBsZWZ0OiA5MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMXB4KSB7XG4gICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50LnRvcGljcyAubWVudSB7XG4gICAgICAgIGxlZnQ6IDEyN3B4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIG5hdi5tZW51LS1tYWluIC5tZW51IC5wYXJlbnQuYWJvdXQgLm1lbnUge1xuICAgICAgICBsZWZ0OiA1MDZweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudC5hYm91dCAubWVudSB7XG4gICAgICAgIGxlZnQ6IDczNHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMXB4KSB7XG4gICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50LmFib3V0IC5tZW51IHtcbiAgICAgICAgbGVmdDogODE0cHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgbmF2Lm1lbnUtLW1haW4gLm1lbnUgLnBhcmVudC50YWtlLWFjdGlvbiAubWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0NHB4O1xuICAgICAgICBsZWZ0OiAzNzlweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50OmhvdmVyIC5tZW51LCBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50OmZvY3VzIC5tZW51LCBuYXYubWVudS0tbWFpbiAubWVudSAucGFyZW50OmFjdGl2ZSAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGxlZnQ6IDFlbTtcbiAgdG9wOiA4NXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5oYXMtaGVybyAuYnJlYWRjcnVtYnMge1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogMjAwcHg7XG4gICAgICByaWdodDogMTJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAuaGFzLWhlcm8gLmJyZWFkY3J1bWJzIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB0b3A6IDI5MHB4O1xuICAgICAgcmlnaHQ6IGF1dG87IH0gfVxuICAubm8taGVybyAuYnJlYWRjcnVtYnMge1xuICAgIGxlZnQ6IDFlbTtcbiAgICB0b3A6IDc4cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5uby1oZXJvIC5icmVhZGNydW1icyB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHRvcDogMTc1cHg7IH0gfVxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmJyZWFkY3J1bWIgb2wge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnJlYWRjcnVtYiBsaSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogI2FhMWEyMDsgfVxuICAgIC5icmVhZGNydW1iIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC5icmVhZGNydW1iIGxpOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgLyAnO1xuICAgICAgcGFkZGluZzogMCAycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDJweDsgfVxuICAgIC5icmVhZGNydW1iIGxpIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5uby1oZXJvIC5icmVhZGNydW1iIGxpIGEge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAqIEhlcm8gY29udGVudCBpcyBiYXNpY2FsbHkgdGhlIHBhZ2UgdGl0bGUgb24gcGFnZXMgd2l0aCBoZXJvIGRpdnNcbiAqIFRoZSBuZXN0aW5nIGlzIGFsbCB3aGFjayBzbyB3ZSBoYXZlIHRvIHBvc2l0aW9uIGFic29sdXRlIHRoZSBzdHVmZlxuICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gIC5oYXMtaGVyby5wYXRoLWZyb250cGFnZSAuaGVyby1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gICAgbWFyZ2luOiAxMXJlbSAwIDAgMDtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE4ODFweCkge1xuICAuaGFzLWhlcm8ucGF0aC1mcm9udHBhZ2UgLmhlcm8tY29udGVudCB7XG4gICAgd2lkdGg6IDM1JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLmhhcy1oZXJvLnBhdGgtZnJvbnRwYWdlIC5oZXJvLWNvbnRlbnQudG9vbGJhci1ob3Jpem9udGFsIC5oZXJvLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICBtYXJnaW46IDE0cmVtIDAgMCAwO1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uaGFzLWhlcm8gLm1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmhhcy1oZXJvIC5oZXJvLWNvbnRlbnQge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGxlZnQ6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwcHg7IH1cbiAgLmhhcy1oZXJvIC5oZXJvLWNvbnRlbnQubWFjLW9zLXgge1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjk5cHgpIHtcbiAgICAgIC5oYXMtaGVybyAuaGVyby1jb250ZW50Lm1hYy1vcy14IHtcbiAgICAgICAgdG9wOiAxMDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oYXMtaGVybyAuaGVyby1jb250ZW50IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICBtYXJnaW46IDlyZW0gMCAwIDA7XG4gICAgICB3aWR0aDogNjglOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAgIC5oYXMtaGVybyAuaGVyby1jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgIG1hcmdpbjogMTRyZW0gMCAwIDA7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE4ODFweCkge1xuICAgIC5oYXMtaGVybyAuaGVyby1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAzNSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgLmhhcy1oZXJvIC5oZXJvLWNvbnRlbnQudG9vbGJhci1ob3Jpem9udGFsIC5oZXJvLWNvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAxMjAlO1xuICAgICAgbWFyZ2luOiAxNHJlbSAwIDAgMDtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuaGFzLWhlcm8gLmhlcm8tY29udGVudCBoMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLmhhcy1oZXJvIC5oZXJvLWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDNlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MDFweCkge1xuICAgICAgLmhhcy1oZXJvIC5oZXJvLWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDMuN2VtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07IH0gfVxuICAuaGFzLWhlcm8gLmhlcm8tY29udGVudCAuYnRuIHtcbiAgICBmb250LXNpemU6IDEuMmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGFzLWhlcm8gLmhlcm8tY29udGVudCAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50OyB9IH1cblxuLmF0LXJlc3Atc2hhcmUtZWxlbWVudCAuYXQtc2hhcmUtYnRuOmZvY3VzLFxuLmF0LXJlc3Atc2hhcmUtZWxlbWVudCAuYXQtc2hhcmUtYnRuOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyoqXG4gKiBQYWdlcyB3aXRob3V0IGEgaGVybyBoYXZlIHRoZSBzdGFuZGFyZCB0YW4gYmFyIHdpdGggdGhlIHJpZ2h0IHRyaWFuZ2xlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4ubm8taGVybyB7XG4gIC8qXG4gICAqIFBhZ2UgdGl0bGUgYmxvY2sgdmVyc2lvbjogc3R5bGVzIHRoZSB0YW4gYmFyIGJhY2tncm91bmQgb24gdGhlIHBhZ2UgdGl0bGVcbiAgICogYmxvY2sgb25seS5cbiAgICogVGhpcyBzaG91bGQgcHJvYmFibHkgZ28gYXdheSBhbmQgd2UgdXNlIFRvcnkncyBuZXcgcGFnZS10aXRsZS1iYXIgYXMgaXQnc1xuICAgKiBiZXR0ZXIsIGFuZCBoYXMgdGhlIGJyZWFkY3J1bWJzIHdoZXJlIHRoZXkgc2hvdWxkIGJlLlxuICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICovXG4gIC8qXG4gICAqIFBhZ2UgdGl0bGUgYmFyIHZlcnNpb246IHN0eWxlcyB0aGUgdGFuIGJhciBiYWNrZ3JvdW5kIG9uIGEgd3JhcHBlciBkaXZcbiAgICogY29udGFpbmluZyBwYWdlIHRpdGxlLCBicmVhZGNydW1iLCBhbmQgb3RoZXIgZmllbGRzIHB1bGxlZCBmcm9tIG5vZGUuXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKi8gfVxuICAubm8taGVybyAudGFuLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgei1pbmRleDogMDsgfVxuICAgIC5uby1oZXJvIC50YW4tYmFyIC5iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTllNTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm5vLWhlcm8gLnRhbi1iYXIgc3Bhbi50cmlhbmdsZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZWVlOWU1O1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5uby1oZXJvIC50YW4tYmFyIHNwYW4udHJpYW5nbGUudDIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjYWExYTIwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAubm8taGVybyAudGFuLWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm5vLWhlcm8gLmJsb2NrLnBhZ2UtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG4gICAgLm5vLWhlcm8gLmJsb2NrLnBhZ2UtdGl0bGUgaDEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMCAxLjVyZW0gMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAubm8taGVybyAuYmxvY2sucGFnZS10aXRsZSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgICAgcGFkZGluZzogNHJlbSAwIDNyZW0gMDsgfSB9XG4gIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBwYWRkaW5nOiAuNWVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5vLWhlcm8gLnBhZ2UtdGl0bGUtYmFyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciBoMSwgLm5vLWhlcm8gLnBhZ2UtdGl0bGUtYmFyIGgyLCAubm8taGVybyAucGFnZS10aXRsZS1iYXIgaDMsIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciBoNCwgLm5vLWhlcm8gLnBhZ2UtdGl0bGUtYmFyIGg1LCAubm8taGVybyAucGFnZS10aXRsZS1iYXIgaDYsIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciBkaXYge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAucGFnZS10aXRsZS1jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IC41ZW0gMCAxZW0gMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAucGFnZS10aXRsZS1jb250ZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICAgICAgcGFkZGluZzogLjVlbSAwIDFlbSAyMTBweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAucGFnZS10aXRsZS1jb250ZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICBwYWRkaW5nOiAuNWVtIDAgMWVtIDI2MHB4OyB9IH1cbiAgICAubm8taGVybyAucGFnZS10aXRsZS1iYXIgLmJyZWFkY3J1bWIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAyNXB4OyB9XG4gICAgLm5vLWhlcm8gLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAubm8taGVybyAucGFnZS10aXRsZS1iYXIgLnBhZ2UtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAuc3ViLXRpdGxlIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEuMjVlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAuc3ViLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAuZmllbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAuaW1nLXJpbmdlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC05cHg7IH1cbiAgICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAuaW1nLXJpbmdlZCAucmluZyB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICAgLm5vLWhlcm8gLnBhZ2UtdGl0bGUtYmFyIC5pbWctcmluZ2VkIC5yaW5nIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAgIC5uby1oZXJvIC5wYWdlLXRpdGxlLWJhciAuaW1nLXJpbmdlZCAuY2lyY2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICBoZWlnaHQ6IDE5OHB4O1xuICAgICAgICB3aWR0aDogMTk4cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubm8taGVybyAucGFnZS10aXRsZS1iYXIgLmltZy1yaW5nZWQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAubm8taGVybyAucGFnZS10aXRsZS1iYXIgLmltZy1yaW5nZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMjRweDsgfVxuICAgICAgICAubm8taGVybyAucGFnZS10aXRsZS1iYXIgLmltZy1yaW5nZWQgLnJpbmcge1xuICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgICAgLm5vLWhlcm8gLnBhZ2UtdGl0bGUtYmFyIC5pbWctcmluZ2VkIC5yaW5nIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgICAubm8taGVybyAucGFnZS10aXRsZS1iYXIgLmltZy1yaW5nZWQgLmNpcmNsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgIGxlZnQ6IDFweDtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgICBoZWlnaHQ6IDI0OHB4O1xuICAgICAgICAgIHdpZHRoOiAyNDhweDsgfSB9XG5cbi5maWVsZC0tbmFtZS1ib2R5IGEsIC5maWVsZC0tbmFtZS1ib2R5IGEgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5maWVsZC0tbmFtZS1ib2R5IGgyIHtcbiAgbWFyZ2luOiAyLjVyZW0gMCAwIDA7IH1cblxuLmZpZWxkLS1uYW1lLWJvZHkgaDEsIC5maWVsZC0tbmFtZS1ib2R5IGgyLFxuLmZpZWxkLS1uYW1lLWJvZHkgaDMsIC5maWVsZC0tbmFtZS1ib2R5IGg0LFxuLmZpZWxkLS1uYW1lLWJvZHkgaDUsIC5maWVsZC0tbmFtZS1ib2R5IGg2IHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5maWVsZC0tbmFtZS1ib2R5IGgxIGEsIC5maWVsZC0tbmFtZS1ib2R5IGgxIGEgc3Ryb25nLCAuZmllbGQtLW5hbWUtYm9keSBoMiBhLCAuZmllbGQtLW5hbWUtYm9keSBoMiBhIHN0cm9uZyxcbiAgLmZpZWxkLS1uYW1lLWJvZHkgaDMgYSxcbiAgLmZpZWxkLS1uYW1lLWJvZHkgaDMgYSBzdHJvbmcsIC5maWVsZC0tbmFtZS1ib2R5IGg0IGEsIC5maWVsZC0tbmFtZS1ib2R5IGg0IGEgc3Ryb25nLFxuICAuZmllbGQtLW5hbWUtYm9keSBoNSBhLFxuICAuZmllbGQtLW5hbWUtYm9keSBoNSBhIHN0cm9uZywgLmZpZWxkLS1uYW1lLWJvZHkgaDYgYSwgLmZpZWxkLS1uYW1lLWJvZHkgaDYgYSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbmFydGljbGUudGVhc2VyLFxuYXJ0aWNsZS5mZWF0dXJlZC1zaWRlYmFyIHtcbiAgY29sb3I6ICM2NjY7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwOyB9XG4gIGFydGljbGUudGVhc2VyIGg1LFxuICBhcnRpY2xlLmZlYXR1cmVkLXNpZGViYXIgaDUge1xuICAgIG1hcmdpbjogLjVyZW0gMDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIGFydGljbGUudGVhc2VyIHVsLnRvcGljcyBsaSxcbiAgYXJ0aWNsZS5mZWF0dXJlZC1zaWRlYmFyIHVsLnRvcGljcyBsaSB7XG4gICAgbWFyZ2luOiAwIC41cmVtIDAgMDsgfVxuXG5tYWluIC5vdmVybGluZSwgcC5vdmVybGluZSwgLm92ZXJsaW5lIHtcbiAgY29sb3I6ICNCOUIxQjA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5tYWluIHVsLmlubGluZS50b3BpY3MsXG5tYWluIHVsLmlubGluZS5pc3N1ZXMge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgbWFpbiB1bC5pbmxpbmUudG9waWNzIGxpLFxuICBtYWluIHVsLmlubGluZS5pc3N1ZXMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIG1haW4gdWwuaW5saW5lLnRvcGljcyBsaTo6YWZ0ZXIsXG4gICAgbWFpbiB1bC5pbmxpbmUuaXNzdWVzIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnLCAnOyB9XG4gICAgbWFpbiB1bC5pbmxpbmUudG9waWNzIGxpOmxhc3QtY2hpbGQ6OmFmdGVyLFxuICAgIG1haW4gdWwuaW5saW5lLmlzc3VlcyBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuXG51bC50b3BpY3MgYSwgdWwuaXNzdWVzIGEge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5tYWluIHVsLmlubGluZS50b3BpY3Mge1xuICBjbGVhcjogbGVmdDsgfVxuXG5tYWluIHVsLmlubGluZS5pc3N1ZXMge1xuICBjbGVhcjogcmlnaHQ7IH1cblxuLnRvcGljLWlzc3VlLXNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cblxuLnNoYXJlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zaGFyZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG4gIC5zaGFyZSBoNiB7XG4gICAgY29sb3I6ICNCOUIxQjA7IH1cblxuLypcbiAqIFBlcnNvbiBkZXRhaWxcbiAqIEBzZWUgbGF5b3V0LS1jb250ZW50LWRldGFpbC0tbm9kZS1wZXJzb24tZnVsbC5odG1sLnR3aWdcbiAqL1xuLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5wYWdlLXRpdGxlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMjJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWZ1bGwgLnBhZ2UtdGl0bGUtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI4MnB4OyB9IH1cbiAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5maWVsZC0tbmFtZS1maWVsZC1wcm9mZXNzaW9uYWwtdGl0bGUge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmZpZWxkLS1uYW1lLWZpZWxkLXByb2Zlc3Npb25hbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAuNWVtOyB9IH1cbiAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5zb2NpYWwge1xuICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAuc29jaWFsIHtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtOyB9IH1cbiAgICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWZ1bGwgLnNvY2lhbCAuc29jaWFsLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAuc29jaWFsIC5zb2NpYWwtbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5zb2NpYWwgLnNvY2lhbC1saW5rIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAgICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5zb2NpYWwgLnNvY2lhbC1saW5rICsgLnNvY2lhbC1saW5rIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBjcmltc29uO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfVxuICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmV4cGVydGlzZSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxcmVtIDFyZW0gLTFyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlOWU1OyB9XG4gICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5leHBlcnRpc2UgLmV4cGVydGlzZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZXhwZXJ0aXNlIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZXhwZXJ0aXNlIHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC5leHBlcnRpc2UgdWwgbGkgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDhlOTY7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWZ1bGwgLnZpZXctY29udGVudC1hdXRob3JlZCAubm9kZS0tdmlldy1tb2RlLWF1dGhvcmVkLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTsgfVxuICAgIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAudmlldy1jb250ZW50LWF1dGhvcmVkIC5ub2RlLS12aWV3LW1vZGUtYXV0aG9yZWQtaXRlbSAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC52aWV3LWNvbnRlbnQtYXV0aG9yZWQgLm5vZGUtLXZpZXctbW9kZS1hdXRob3JlZC1pdGVtIC50aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIC52aWV3LWNvbnRlbnQtYXV0aG9yZWQgLm5vZGUtLXZpZXctbW9kZS1hdXRob3JlZC1pdGVtIC5maWVsZC0tbmFtZS1ib2R5IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZnVsbCAudmlldy1jb250ZW50LWF1dGhvcmVkIC5ub2RlLS12aWV3LW1vZGUtYXV0aG9yZWQtaXRlbSAuYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWZ1bGwgLnZpZXctY29udGVudC1hdXRob3JlZCAubm9kZS0tdmlldy1tb2RlLWF1dGhvcmVkLWl0ZW0gLmJ0biB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbm9uZTsgfVxuXG4ucmVsYXRlZC1jb250ZW50IGg1IHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4ucmVsYXRlZC1jb250ZW50IHAge1xuICBtYXJnaW46IDA7IH1cblxuLypcbiAqIEV2ZW50IGRldGFpbFxuICogQHNlZSBsYXlvdXQtLWNvbnRlbnQtZGV0YWlsLS1ub2RlLWV2ZW50LWZ1bGwuaHRtbC50d2lnXG4gKi9cbi5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIHtcbiAgLypcbiAgICogQHNlZSBhZGRyZXNzLXBsYWluLmh0bWwudHdpZ1xuICAgKi9cbiAgLypcbiAgICogQHNlZSBub2RlLS1wZXJzb24tLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIuaHRtbC50d2lnXG4gICAqL1xuICAvKlxuICAgKiBAc2VlIGZpZWxkLS1ub2RlLS1maWVsZC1hZGRpdGlvbmFsLXNwZWFrZXJzLS1ldmVudC5odG1sLnR3aWdcbiAgICovXG4gIC8qXG4gICAqIFNjaGVkdWxlIHRhYmxlXG4gICAqIEBzZWUgZmllbGQtLWZpZWxkLWV2ZW50LXNjaGVkdWxlLmh0bWwudHdpZ1xuICAgKiAgICAgIHBhcmFncmFwaC0tZXZlbnQtc2NoZWR1bGUtaXRlbS5odG1sLnR3aWdcbiAgICogICAgICBmaWVsZC0tZmllbGQtaXRlbS1kYXRlLXRpbWUuaHRtbC50d2lnXG4gICAqLyB9XG4gIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5maWVsZC0tbmFtZS1maWVsZC1yZWdpc3RlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbm9uZTsgfVxuICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCA+IC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgPiAucm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5jb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDFlbSAxZW0gMDsgfVxuICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5jb2wuc3Bhbi04IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyZW0gMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmNvbC5zcGFuLTgge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMmVtIDJlbSAwO1xuICAgICAgICAgIHdpZHRoOiA2MCU7IH0gfVxuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmNvbC5zcGFuLTggLmZpZWxkLS1uYW1lLWJvZHkgLnRleHQtYWxpZ24tbGVmdCBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmNvbC5zcGFuLTggLmZpZWxkLS1uYW1lLWJvZHkgLnRleHQtYWxpZ24tcmlnaHQgaW1nIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuY29sLnNwYW4tOCAuZmllbGQtLW5hbWUtYm9keSAudGV4dC1hbGlnbi1jZW50ZXIgaW1nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuY29sLnNwYW4tOCAuZmllbGQtLW5hbWUtYm9keSBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAuMjVlbSAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5jb2wuc3Bhbi04IC5maWVsZC0tbmFtZS1ib2R5IGltZyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH0gfVxuICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5jb2wuc3Bhbi00IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyZW0gMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmNvbC5zcGFuLTQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMmVtIDJlbSAyZW07XG4gICAgICAgICAgd2lkdGg6IDM4JTsgfSB9XG4gIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5maWVsZC0tbmFtZS1maWVsZC1kYXRlLXJhbmdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiBFdmVudCBzcGFubmluZyBtdWx0aXBsZSBkYXlzIGluY2x1ZGVzIHRoZXNlIGVsZW1lbnRzOiAqL1xuICAgIC8qIEV2ZW50IG9uIGEgc2luZ2xlIGRheSBpbmNsdWRlcyB0aGVzZSBlbGVtZW50czogKi9cbiAgICAvKiBUaGUgc2VwYXJhdG9yIGlzIGJldHdlZW4gc3RhcnQgYW5kIGVuZCB0aW1lcyBvciBkYXRlL3RpbWVzICovIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS1yYW5nZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBtYXJnaW46IDFyZW0gMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS1yYW5nZSB0aW1lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS1yYW5nZSB0aW1lLnRpbWUtc3RhcnQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmZpZWxkLS1uYW1lLWZpZWxkLWRhdGUtcmFuZ2UgdGltZS50aW1lLWVuZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS1yYW5nZSAuc2VwYXJhdG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmZpZWxkLS1uYW1lLWZpZWxkLXR5cGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtdHlwZS5oYXMtZGF0ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIC41ZW0gMCAuMmVtOyB9IH1cbiAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmFkZHJlc3Mge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNCOUIxQjA7IH1cbiAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1ldmVudC1mZWF0dXJlZC1zcGVha2VyIC5pbWctcmluZ2VkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgaGVpZ2h0OiAyMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAtMTUwcHg7IH1cbiAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIgLmltZy1yaW5nZWQgLnJpbmcge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIgLmltZy1yaW5nZWQgLnJpbmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIgLmltZy1yaW5nZWQgLmNpcmNsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGhlaWdodDogMjI4cHg7XG4gICAgICB3aWR0aDogMjI4cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZXZlbnQtZmVhdHVyZWQtc3BlYWtlciAuaW1nLXJpbmdlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1ldmVudC1mZWF0dXJlZC1zcGVha2VyIC5mZWF0dXJlZC1zcGVha2VyLWhlYWRlciB7XG4gICAgbWFyZ2luOiAxcmVtIDAgMC41cmVtIDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOWVtOyB9XG4gIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ub2RlLS10eXBlLXBlcnNvbi5ub2RlLS12aWV3LW1vZGUtZXZlbnQtZmVhdHVyZWQtc3BlYWtlciAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjhlbTsgfVxuICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIgLmZpZWxkLS1uYW1lLWZpZWxkLXByb2Zlc3Npb25hbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFlbTsgfVxuICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuZmllbGQtLW5hbWUtZmllbGQtYWRkaXRpb25hbC1zcGVha2VycyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5maWVsZC0tbmFtZS1maWVsZC1hZGRpdGlvbmFsLXNwZWFrZXJzIC5hZGRpdGlvbmFsLXNwZWFrZXJzLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuOWVtOyB9XG4gICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmZpZWxkLS1uYW1lLWZpZWxkLWFkZGl0aW9uYWwtc3BlYWtlcnMgLmZpZWxkX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07IH1cbiAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB7XG4gICAgbWF4LXdpZHRoOiA1MDAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWU0ZGU7XG4gICAgcGFkZGluZzogM2VtIDA7IH1cbiAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tLnJlc291cmNlcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gaDIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRoZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0aGVhZCB0ciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRoIHtcbiAgICAgICAgY29sb3I6ICM2NjY7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0aC5kYXRlLCAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRkLmRhdGUge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB3aWR0aDogMTUlOyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRoLnRpbWUsIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUgdGQudGltZSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUgdGguZGVzY3JpcHRpb24sIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUgdGQuZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwO1xuICAgICAgICB3aWR0aDogNjAlOyB9XG4gICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRkLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUgdGQuZGVzY3JpcHRpb24gLnRvZ2dsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgdG9wOiA4cHg7IH1cbiAgICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0ZC5kZXNjcmlwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtZXZlbnQtaXRlbS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRkLmRlc2NyaXB0aW9uIC5tb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAtby10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlLWluLW91dDsgfVxuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWU0ZGU7IH1cbiAgICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2RkY2E7IH1cbiAgICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0Ym9keSB0ci5leHBhbmRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNhYTFhMjA7IH1cbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUucmVzb3VyY2VzIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUucmVzb3VyY2VzIHRkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUucmVzb3VyY2VzIHRkIHNwYW4uZmlsZSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUucmVzb3VyY2VzIHRkIHNwYW4uZmlsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUucmVzb3VyY2VzIHRkLmljb24ge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH1cbiAgICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZS5yZXNvdXJjZXMgdGQuaWNvbiBzcGFuLmZpbGUge1xuICAgICAgICAgIHBhZGRpbmc6IDAgLjVlbTtcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7IH1cbiAgICAgICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlLnJlc291cmNlcyB0ZC5pY29uIHNwYW4uZmlsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlLnJlc291cmNlcyB0ZC5pY29uIGEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUgdHIuZXhwYW5kZWQgdGQuZGF0ZSwgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0ci5leHBhbmRlZCB0ZC50aW1lLCAubm9kZS0tdHlwZS1ldmVudC5ub2RlLS12aWV3LW1vZGUtZnVsbCAuYm90dG9tIHRhYmxlIHRyLmV4cGFuZGVkIHRkLmRlc2NyaXB0aW9uIC5maWVsZC0tbmFtZS1maWVsZC1ldmVudC1pdGVtLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIC5ib3R0b20gdGFibGUgdHIuZXhwYW5kZWQgdGQuZGVzY3JpcHRpb24gLmZpZWxkLS1uYW1lLWZpZWxkLWV2ZW50LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm5vZGUtLXR5cGUtZXZlbnQubm9kZS0tdmlldy1tb2RlLWZ1bGwgLmJvdHRvbSB0YWJsZSB0ci5leHBhbmRlZCB0ZC5kZXNjcmlwdGlvbiAubW9yZSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IHNvbGlkIDNweCAjQjlCMUIwO1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDAgLjVyZW07IH1cbiAgYnV0dG9uOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgb3B0Z3JvdXA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgICBjb2xvcjogIzY2NjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGJ1dHRvbjo6LW1vei1wbGFjZWhvbGRlcixcbiAgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4gIG9wdGdyb3VwOjotbW96LXBsYWNlaG9sZGVyLFxuICBzZWxlY3Q6Oi1tb3otcGxhY2Vob2xkZXIsXG4gIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgYnV0dG9uOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuICBvcHRncm91cDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHNlbGVjdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgLyogSUUgMTArICovXG4gICAgY29sb3I6ICM2NjY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBidXR0b246Oi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuICBvcHRncm91cDo6LW1vei1wbGFjZWhvbGRlcixcbiAgc2VsZWN0OjotbW96LXBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgLyogRmlyZWZveCAxOC0gKi9cbiAgICBjb2xvcjogIzY2NjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuaW5wdXQuYnRuIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbmJ1dHRvbi5ibGFuay1idG4ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuYnV0dG9uLmNsb3NlLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYTFhMjA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlIDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA0MHB4OyB9XG4gIGJ1dHRvbi5jbG9zZS1idG4gc3ZnIHtcbiAgICBmaWxsOiAjYWExYTIwO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBsZWZ0OiAtNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC00cHg7XG4gICAgd2lkdGg6IDQ4cHg7IH1cbiAgYnV0dG9uLmNsb3NlLWJ0bjpob3ZlciwgYnV0dG9uLmNsb3NlLWJ0bjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2MjEyODsgfVxuXG4uYnRuIHtcbiAgZm9udC1mYW1pbHk6IFwibXVzZW8tc2Fuc1wiLHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmNDdkMzE7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMnJlbSAwIDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCA1cmVtIDAgMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgLmJ0biB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7IH0gfVxuICAuYnRuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTY2MTBjOyB9XG4gICAgLmJ0bjpob3ZlciAudHJpYW5nbGUudDEge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2U2NjEwYzsgfVxuICAuYnRuLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjZjQ3ZDMxICFpbXBvcnRhbnQ7IH1cbiAgICAuYnRuLndoaXRlIHNwYW4udHJpYW5nbGUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuICAgICAgLmJ0bi53aGl0ZSBzcGFuLnRyaWFuZ2xlLnQyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0I5QjFCMDsgfVxuICAgIC5idG4ud2hpdGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAgICAgLmJ0bi53aGl0ZTpob3ZlciAudHJpYW5nbGUudDEge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZjJmMmYyOyB9XG4gIC5idG4udGVhbCB7XG4gICAgYmFja2dyb3VuZDogIzAwOGU5NjsgfVxuICAgIC5idG4udGVhbCBzcGFuLnRyaWFuZ2xlIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDhlOTY7IH1cbiAgICAuYnRuLnRlYWw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMwZjRmZjsgfVxuICAgICAgLmJ0bi50ZWFsOmhvdmVyIC50cmlhbmdsZSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMzMGY0ZmY7IH1cbiAgLmJ0bi5ibGFjayB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgICAuYnRuLmJsYWNrIHNwYW4udHJpYW5nbGUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuICAgICAgLmJ0bi5ibGFjayBzcGFuLnRyaWFuZ2xlLnQyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI0I5QjFCMDsgfVxuICAgIC5idG4uYmxhY2s6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzRkNGQ0ZDsgfVxuICAgICAgLmJ0bi5ibGFjazpob3ZlciAudHJpYW5nbGUudDEge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjNGQ0ZDRkOyB9XG5cbi5hY3Rpb25zIHtcbiAgcGFkZGluZzogMCAwIDJyZW0gMDsgfVxuICAuYWN0aW9uczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLmZvcm0tLWlubGluZSB7XG4gIG1hcmdpbjogMXJlbSAwIDJyZW07IH1cbiAgLmZvcm0tLWlubGluZSBzZWxlY3Qge1xuICAgIGNvbG9yOiAjMDA4ZTk2OyB9XG4gIC5mb3JtLS1pbmxpbmUgLmZvcm0taXRlbSB7XG4gICAgbWFyZ2luOiAwIDFyZW0gMCAwOyB9XG4gIC5mb3JtLS1pbmxpbmUgLmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNsZWFyOiBub25lOyB9XG5cbi52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXctYnRuLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gIG1hcmdpbjogMCA1cmVtIDAgMDsgfVxuICAudmlld3MtZXhwb3NlZC1mb3JtIC52aWV3LWJ0bi1jb250YWluZXI6aG92ZXIgLnRyaWFuZ2xlLnQxIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZTY2MTBjOyB9XG4gIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXctYnRuLWNvbnRhaW5lciAudHJpYW5nbGUudDE6aG92ZXIgKyAuZm9ybS1zdWJtaXQge1xuICAgIGJhY2tncm91bmQ6ICNlNjYxMGM7IH1cblxuLndGb3JtQ29udGFpbmVyIGZvcm0gLm9uZUNob2ljZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLndGb3JtQ29udGFpbmVyIGZvcm0gLm9uZUNob2ljZSBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLypTRUxFQ1QgRk9STSBTVFlMRVMqL1xuLnMtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG5cbi5zZWxlY3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiBzb2xpZCAzcHggI0I5QjFCMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIC41cmVtOyB9XG5cbi5zdHlsZWRTZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDZweCAxMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9jZmVkL2ltZy9zZWxlY3QtYXJyb3cucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzQ4cHggLTFweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBjb2xvcjogZ3JleTsgfVxuXG4ub3B0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDYlO1xuICByaWdodDogLTNweDtcbiAgbGVmdDogLTNweDtcbiAgei1pbmRleDogOTk5O1xuICBtYXJnaW46IDAgMDtcbiAgcGFkZGluZzogMCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZGVjY2M0O1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2RlY2NjNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLm9wdGlvbnMgbGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmNmYzO1xuICBtYXJnaW46IDAgMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXdlaWdodDogMTAwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4ub3B0aW9ucyBsaTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDdlMmQ7IH1cblxuLmJ0bi1yaW5nZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYnRuLXJpbmdlZC5ncmF5IC5jaXJjbGUge1xuICAgIGJhY2tncm91bmQ6ICNCOUIxQjA7IH1cbiAgLmJ0bi1yaW5nZWQuZ3JheSAucmluZyB7XG4gICAgZmlsbDogI0I5QjFCMDsgfVxuICAuYnRuLXJpbmdlZCBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnRuLXJpbmdlZCAud2VkZ2Uge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGZpbGw6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAxNHB4O1xuICAgIGxlZnQ6IDE3cHg7IH1cbiAgLmJ0bi1yaW5nZWQucmlnaHQgLndlZGdlIHtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAvKiBJRSA5ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgbGVmdDogMjBweDsgfVxuICAuYnRuLXJpbmdlZC5kb3duIC53ZWRnZSB7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgLyogSUUgOSAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIGxlZnQ6IDE5cHg7IH1cbiAgLmJ0bi1yaW5nZWQudXAgLndlZGdlIHtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIC8qIElFIDkgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgbGVmdDogMTlweDsgfVxuICAuYnRuLXJpbmdlZCAuY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDhlOTY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogNHB4OyB9XG4gIC5idG4tcmluZ2VkIC5yaW5nIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgZmlsbDogIzAwOGU5NjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDA7IH1cblxuLmNhcm91c2VsLWl0ZW1zIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY2Fyb3VzZWwtaXRlbXM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UgaDYge1xuICBjb2xvcjogI0I5QjFCMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5ib3gge1xuICB3aWR0aDogNDAwcHg7XG4gIGhlaWdodDogNDAwcHg7XG4gIGJhY2tncm91bmQ6ICNmMWRkZDM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICAvKiBJRSA5ICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICAvKiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEgKi9cbiAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpOyB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sge1xuICBwYWRkaW5nOiAwIDAgM2VtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sge1xuICAgICAgcGFkZGluZzogMmVtIDFlbSA2ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAucm93LmV4cGVydC1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAucm93LmV4cGVydC1ibG9jayAuY29sLnNwYW4tMy5leHBlcnQtbW9kdWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDJlbSAwIDMwcHg7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjI2cHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sgLmNvbC5zcGFuLTMuZXhwZXJ0LW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogNDklOyB9XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5jb2wuc3Bhbi0zLmV4cGVydC1tb2R1bGUgaDQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MjZweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAucm93LmV4cGVydC1ibG9jayAuY29sLnNwYW4tMy5leHBlcnQtbW9kdWxlIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjI2cHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sgLmNvbC5zcGFuLTMuZXhwZXJ0LW1vZHVsZSAuYXV0aG9yIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5jb2wuc3Bhbi0zLmV4cGVydC1tb2R1bGUgLmF1dGhvciAuYnlsaW5lIHtcbiAgICAgICAgICB3aWR0aDogNDglOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sgLmNvbC5zcGFuLTMuZXhwZXJ0LW1vZHVsZSB7XG4gICAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sgLmNvbC5zcGFuLTMuZXhwZXJ0LW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbjogMmVtIGF1dG8gMzBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMjMuNSU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMjBweDsgfVxuICAgICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5jb2wuc3Bhbi0zLmV4cGVydC1tb2R1bGUgLmltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAucm93LmV4cGVydC1ibG9jayAuY29sLnNwYW4tMy5leHBlcnQtbW9kdWxlIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfVxuICAgICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5jb2wuc3Bhbi0zLmV4cGVydC1tb2R1bGUgLmF1dGhvciB7XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtIDJyZW07IH1cbiAgICAgICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5jb2wuc3Bhbi0zLmV4cGVydC1tb2R1bGUgLmF1dGhvciAuYnlsaW5lIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5jb2wuc3Bhbi0zLmV4cGVydC1tb2R1bGUgLmF1dGhvciAuaW1nLXJpbmdlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMjVweDtcbiAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC03MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcmlnaHQ6IC00MHB4OyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sgLmNvbC5zcGFuLTMuZXhwZXJ0LW1vZHVsZSAuYXV0aG9yIC5pbWctcmluZ2VkIHtcbiAgICAgICAgICByaWdodDogLTcwcHg7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5uZWVkLXRvLWtub3cge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yb3cuZXhwZXJ0LWJsb2NrIC5uZWVkLXRvLWtub3cge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCAwIDhlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAucm93LmV4cGVydC1ibG9jayAubmVlZC10by1rbm93IHtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgcGFkZGluZzogMmVtIDFlbSA2ZW07IH0gfVxuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJvdy5leHBlcnQtYmxvY2sgLm5lZWQtdG8ta25vdyBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UudG9vbGJhci1ob3Jpem9udGFsIC5leHBlcnQge1xuICBtYXJnaW4tdG9wOiAtMjgwcHg7IH1cblxuYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQge1xuICBtYXgtd2lkdGg6IDUwMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTkxYjIxO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLXRvcDogOTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCB7XG4gICAgICBoZWlnaHQ6IDU3NXB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuY29udGV4dHVhbC1yZWdpb24ge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2wge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2wge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2wuc3Bhbi01IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiA0MC41JTsgfVxuICAgICAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5jb250ZW50LWNvbnRhaW5lciAuY29sLnNwYW4tNyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogNTcuNSU7IH0gfVxuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5jb250ZW50LWNvbnRhaW5lciBoNiwgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIGg1LCBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgaDYsIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5jb250ZW50LWNvbnRhaW5lciBoNSwgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgICAgIHdpZHRoOiA1MDBweDsgfSB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIGg2IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuY29udGVudC1jb250YWluZXIgaDYge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMnJlbTsgfSB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIGEge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfSB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmNvbnRlbnQtY29udGFpbmVyIC52aWV3LWRpc3BsYXktaWQtYmxvY2tfZmVhdHVyZWQgLnZpZXctY29udGVudCA+IGRpdiA+IHAge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5iYWNrZ3JvdW5kLWJsZW5kZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODkxcHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5iYWNrZ3JvdW5kLWJsZW5kZXIge1xuICAgICAgICB3aWR0aDogMTk1MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYTkxYjIxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA1NzVweDtcbiAgICAgICAgbGVmdDogLTExMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmJhY2tncm91bmQge1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIG9wYWNpdHk6IC40O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA1NzVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTc1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4OTFweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNjVweDtcbiAgICAgICAgd2lkdGg6IDMwMi42NzJweDtcbiAgICAgICAgbWFyZ2luOiAyZW0gMWVtIDZlbTsgfSB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyBhIHtcbiAgICAgIGNvbG9yOiAjMDA4ZTk2OyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyAuY29udGV4dHVhbC1yZWdpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyAuaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyAuZGF0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAyMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5ldmVudHMgYS5idG4tcmluZ2VkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB0b3A6IDIwMHB4OyB9XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuZXZlbnRzIGEuYnRuLXJpbmdlZC5sZWZ0IHtcbiAgICAgICAgbGVmdDogLTI0cHg7IH1cbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5ldmVudHMgYS5idG4tcmluZ2VkLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IC0yNHB4OyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyBoNCwgYm9keS5wYXRoLWZyb250cGFnZSAuZmVhdHVyZWQgLmV2ZW50cyBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDg5MXB4KSB7XG4gICAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5ldmVudHMgaDQsIGJvZHkucGF0aC1mcm9udHBhZ2UgLmZlYXR1cmVkIC5ldmVudHMgcCB7XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtOyB9IH1cbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuZXZlbnRzIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5mZWF0dXJlZCAuZXZlbnRzIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyxcbmJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyB7XG4gIG1heC13aWR0aDogNTAwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMTAwdnc7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyxcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMge1xuICAgICAgcGFkZGluZzogOXJlbSAycmVtOyB9IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgLm92ZXJsaW5lOm50aC1jaGlsZCgxKSxcbiAgYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIC5vdmVybGluZTpudGgtY2hpbGQoMSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyAub3ZlcmxpbmUsXG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyAub3ZlcmxpbmUge1xuICAgIGNvbG9yOiAjQjlCMUIwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIGgzLFxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgaDMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgcCxcbiAgYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIHAge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIHAsXG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBwLm92ZXJsaW5lLFxuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyBwLm92ZXJsaW5lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgcCBzdHJvbmcsXG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgYS5tb3JlLFxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgYS5tb3JlIHtcbiAgICBjb2xvcjogI2Y0N2QzMTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKkBpbmNsdWRlIG1lZGlhKCc+NzY4cHgnKXtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfSovIH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgaDUsXG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBoNSxcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyB7XG4gICAgcGFkZGluZzogMTByZW0gMTYwcHg7IH0gfVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBoMyB7XG4gIGZvbnQtc2l6ZTogMi45ZW07XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBoMyB7XG4gICAgICBmb250LXNpemU6IDJlbTsgfSB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIC5ib3gge1xuICBoZWlnaHQ6IDIwMHB4O1xuICB0b3A6IC0xMDBweDtcbiAgcmlnaHQ6IC0yNjRweDtcbiAgd2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyAuYm94IHtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICB0b3A6IDEwMHB4O1xuICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDRyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCAzcmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyAuc2xpY2stbGlzdCB7XG4gICAgcGFkZGluZzogMCAwIDAgMWVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyAuc2xpY2stbGlzdCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIGEuYnRuLXJpbmdlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzOSU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBhLmJ0bi1yaW5nZWQge1xuICAgICAgdG9wOiA0NSU7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBhLmJ0bi1yaW5nZWQubGVmdCB7XG4gICAgbGVmdDogLTUwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIGEuYnRuLXJpbmdlZC5sZWZ0IHtcbiAgICAgICAgbGVmdDogLTJlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgYS5idG4tcmluZ2VkLmxlZnQge1xuICAgICAgICBsZWZ0OiAtNGVtOyB9IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuYXJ0aWNsZXMgYS5idG4tcmluZ2VkLnJpZ2h0IHtcbiAgICByaWdodDogLTUwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLmFydGljbGVzIGEuYnRuLXJpbmdlZC5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAtMmVtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5hcnRpY2xlcyBhLmJ0bi1yaW5nZWQucmlnaHQge1xuICAgICAgICByaWdodDogLTRlbTsgfSB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyAuYm94IHtcbiAgaGVpZ2h0OiAyODZweDtcbiAgbGVmdDogLTEyMHB4O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIC52aWV3LWNvbnRlbnQgLnNwYW4tMzpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH0gfVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgLmNvbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIGltZyB7XG4gIGJveC1zaGFkb3c6IDJweCAycHggMTFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgLnRvcGljcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc3MHB4KSB7XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIC50b3BpY3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgLnRvcGljcyBhIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYm9keS5wYXRoLWZyb250cGFnZSAucmVzb3VyY2VzIGg1IHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5ib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgLnRvcGljcyBhIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgYmFja2dyb3VuZDogI2Y0N2QzMTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA0NDVweDtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsge1xuICAgICAgYmFja2dyb3VuZDogI0I5QjFCMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayB7XG4gICAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC02MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAuY29udGVudCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsgaDYge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5zdG9yeS1iYW5rIGg2IHtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIHRvcDogMjRweDtcbiAgICAgICAgd2lkdGg6IDQ1MHB4OyB9IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAudmlldy1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5zdG9yeS1iYW5rIC52aWV3LWNvbnRlbnQgaDMge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICB0b3A6IDU2cHg7XG4gICAgICAgIHdpZHRoOiA0NTBweDsgfSB9XG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsgLnZpZXctY29udGVudCBwIHtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAudmlldy1jb250ZW50IHAge1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIHRvcDogMjQwcHg7XG4gICAgICAgIHdpZHRoOiA0NTBweDsgfSB9XG4gIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsgaDYsIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAuYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgaGVpZ2h0OiAyMjVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAuYmFja2dyb3VuZCB7XG4gICAgICAgIGhlaWdodDogNjAwcHg7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5zdG9yeS1iYW5rIC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5zdG9yeS1iYW5rIC5tYXNrIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTY1NXB4O1xuICAgIGhlaWdodDogMTY1NXB4O1xuICAgIGJvcmRlcjogc29saWQgMTg1cHggI2YwZWJlODtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBsZWZ0OiAtMTgzcHg7XG4gICAgdG9wOiAtNTcwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsgLm1hc2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAubWFzayB7XG4gICAgICAgIHdpZHRoOiAyMDAwcHg7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5zdG9yeS1iYW5rIC5jaXJjbGUge1xuICAgIGJhY2tncm91bmQ6ICNmNDdkMzE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDYwMHB4O1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE3NXB4O1xuICAgIHJpZ2h0OiAtNTBweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayAuY2lyY2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5zdG9yeS1iYW5rIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogNzUwcHg7XG4gICAgaGVpZ2h0OiA3NTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjUwcHg7XG4gICAgcmlnaHQ6IC0xMjVweDsgfVxuICAgIGJvZHkucGF0aC1mcm9udHBhZ2UgLnN0b3J5LWJhbmsgc3ZnIHBhdGgge1xuICAgICAgZmlsbDogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgYm9keS5wYXRoLWZyb250cGFnZSAuc3RvcnktYmFuayBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbmJvZHkucGF0aC1mcm9udHBhZ2UgLnJlc291cmNlcyAuY29sLnNwYW4tMyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHdpZHRoOiA0NyUgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgLmNvbC5zcGFuLTMge1xuICAgICAgd2lkdGg6IDIyLjUlICFpbXBvcnRhbnQ7IH0gfVxuICBib2R5LnBhdGgtZnJvbnRwYWdlIC5yZXNvdXJjZXMgLmNvbC5zcGFuLTM6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuXG4vKipcbiAqIEJvdHRvbSB0YWJiZWQgY29udGVudCBsaXN0IHdpdGggY2FyZHMgX2NhcmQuc2NzcyBhbmQgbm9kZS0tY2FyZC5odG1sXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4ubGF0ZXN0IHtcbiAgYmFja2dyb3VuZDogI2YwZWJlODtcbiAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICBwYWRkaW5nOiAwIDAgMnJlbSAwOyB9XG4gIC5sYXRlc3QgaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnZpZXcubGF0ZXN0OjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4udmlldy5sYXRlc3QgLnZpZXctZmlsdGVycyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnZpZXcubGF0ZXN0IC52aWV3LWhlYWRlciB7XG4gIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgcGFkZGluZzogMnJlbSAwIDAgMDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNCOUIxQjA7IH1cblxuLnZpZXcubGF0ZXN0IC52aWV3LWNvbnRlbnQgLmNvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnZpZXcubGF0ZXN0IC52aWV3LWNvbnRlbnQgLmNvbDpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi52aWV3LmxhdGVzdCBhcnRpY2xlLmlzc3VlLXBhZ2Utc2VjdGlvbi1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwOyB9XG4gIC52aWV3LmxhdGVzdCBhcnRpY2xlLmlzc3VlLXBhZ2Utc2VjdGlvbi1pdGVtIC5pbWFnZSwgLnZpZXcubGF0ZXN0IGFydGljbGUuaXNzdWUtcGFnZS1zZWN0aW9uLWl0ZW0gaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAyMDBweDsgfVxuICAudmlldy5sYXRlc3QgYXJ0aWNsZS5pc3N1ZS1wYWdlLXNlY3Rpb24taXRlbSAuaW1hZ2Uge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuXG4udmlldy5sYXRlc3QgdWwuZmlsdGVycyB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDJyZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnZpZXcubGF0ZXN0IHVsLmZpbHRlcnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDIwJTsgfSB9XG4gIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIGxpOmZpcnN0LWNoaWxkIGE6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAudmlldy5sYXRlc3QgdWwuZmlsdGVycyBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgd2lkdGg6IDgzJTsgfSB9XG4gIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIGxpOmxhc3QtY2hpbGQgYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAudmlldy5sYXRlc3QgdWwuZmlsdGVycyBsaTpsYXN0LWNoaWxkIGEuYWN0aXZlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzAwOGU5NjsgfVxuICAudmlldy5sYXRlc3QgdWwuZmlsdGVycyBsaSBhIHtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMDA4ZTk2OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAudmlldy5sYXRlc3QgdWwuZmlsdGVycyBsaSBhIHtcbiAgICAgICAgd2lkdGg6IDgxJTsgfVxuICAgICAgICAudmlldy5sYXRlc3QgdWwuZmlsdGVycyBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogLTQ0cHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDQ0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNDRweCBzb2xpZCAjZmZmO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgICAgIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAtNDRweDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDQ0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItdG9wOiA0NHB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgY29udGVudDogJyc7IH0gfVxuICAgIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIGxpIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDhlOTY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnZpZXcubGF0ZXN0IHVsLmZpbHRlcnMgbGkgYS5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDhlOTY7IH1cbiAgICAgIC52aWV3LmxhdGVzdCB1bC5maWx0ZXJzIGxpIGEuYWN0aXZlOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDhlOTY7IH1cblxuLnBhdGgtdG9waWMsIC5sYXlvdXQtbGFuZGluZyB7XG4gIC8qXG4gIC5sZWFkLWluIHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xuICB9XG4gICovXG4gIC8qKlxuICAgKiBGZWF0dXJlZCBhcnRpY2xlIHdpdGggc3ViIGFydGljbGVzXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKi9cbiAgLyoqXG4gICAqIEJpZyBpbWFnZSBwYXJhZ3JhcGggc2VjdGlvbnNcbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqLyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5wYXRoLXRvcGljIC5jb2wsIC5sYXlvdXQtbGFuZGluZyAuY29sIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGF0aC10b3BpYyAuZmVhdHVyZWQsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05LCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IHtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7IH0gfVxuICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTMsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tMyB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi0zLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTMge1xuICAgICAgICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgxcHgpIHtcbiAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tMywgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi0zIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tMyAuZXhwZXJ0IC5leHBlcnQtbW9kdWxlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTMgLmV4cGVydCAuZXhwZXJ0LW1vZHVsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM5NXB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgaW1nLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucywgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMge1xuICAgICAgbWFyZ2luOiAwIDAgMWVtIDA7XG4gICAgICAvKi5maWVsZF9fbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfSovIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucywgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IC0xNzNweDtcbiAgICAgICAgICB3aWR0aDogMzI1cHg7IH1cbiAgICAgICAgICAudG9vbGJhci10cmF5LW9wZW4gLnBhdGgtdG9waWMgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucywgLnRvb2xiYXItdHJheS1vcGVuIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIHtcbiAgICAgICAgICAgIHRvcDogLTM0MHB4OyB9IH1cbiAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMgLnBhcmFncmFwaC0tdHlwZS0tc2VjdGlvbi1uYXYgLmZpZWxkLS1uYW1lLWZpZWxkLWluLXRoaXMtc2VjdGlvbi10aXRsZSwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMgLnBhcmFncmFwaC0tdHlwZS0tc2VjdGlvbi1uYXYgLmZpZWxkLS1uYW1lLWZpZWxkLWluLXRoaXMtc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY3Rpb24tbmF2IC5maWVsZC0tbmFtZS1maWVsZC1saW5rcyAuZmllbGRfX2l0ZW0sIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY3Rpb24tbmF2IC5maWVsZC0tbmFtZS1maWVsZC1saW5rcyAuZmllbGRfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlYmU4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZGVkOTtcbiAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfVxuICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIC5wYXJhZ3JhcGgtLXR5cGUtLXNlY3Rpb24tbmF2IC5maWVsZC0tbmFtZS1maWVsZC1saW5rcyAuZmllbGRfX2l0ZW06bGFzdC1jaGlsZCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMgLnBhcmFncmFwaC0tdHlwZS0tc2VjdGlvbi1uYXYgLmZpZWxkLS1uYW1lLWZpZWxkLWxpbmtzIC5maWVsZF9faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMgLmZpZWxkX19pdGVtIC5maWVsZF9faXRlbXMgLmZpZWxkX19pdGVtLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucyAuZmllbGRfX2l0ZW0gLmZpZWxkX19pdGVtcyAuZmllbGRfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlYmU4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZGVkOTtcbiAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfVxuICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIC5maWVsZF9faXRlbSAuZmllbGRfX2l0ZW1zIC5maWVsZF9faXRlbTpsYXN0LWNoaWxkLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucyAuZmllbGRfX2l0ZW0gLmZpZWxkX19pdGVtcyAuZmllbGRfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTksIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSB7XG4gICAgICBwYWRkaW5nOiAyZW0gMCAwOyB9XG4gICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnksIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuZmllbGQtLXR5cGUtdGV4dC13aXRoLXN1bW1hcnkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YwZWJlODtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICAgICAgLypcbiAgICAgICAgcHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIH1cbiAgICAgICAgKi8gfVxuICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiA0ZW0gMDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtaW1hZ2UsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50LCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQge1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtY29udGVudCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAgICAgICAgIHdpZHRoOiAzMCU7IH0gfVxuICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IGg1LCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQgaDUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQgaDUgYSwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IGg1IGEge1xuICAgICAgICAgICAgICBjb2xvcjogIzAwOGU5NjsgfVxuICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IC5hcnRpY2xlLWRhdGUsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtY29udGVudCAuYXJ0aWNsZS1kYXRlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWExYTIwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlIDUwJTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDgzcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGxlZnQ6IC0xOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdG9wOiAtMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiA4M3B4OyB9XG4gICAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtY29udGVudCAuYXJ0aWNsZS1kYXRlIC5tb250aCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IC5hcnRpY2xlLWRhdGUgLm1vbnRoIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IC5hcnRpY2xlLWRhdGUgLmRheSwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IC5hcnRpY2xlLWRhdGUgLmRheSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtY29udGVudCAuYXJ0aWNsZS1kYXRlIHN2ZywgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IC5hcnRpY2xlLWRhdGUgc3ZnIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA4NXB4O1xuICAgICAgICAgICAgICBsZWZ0OiAtMXB4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDg1cHg7IH1cbiAgICAgICAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQgLmFydGljbGUtZGF0ZSBzdmcgcGF0aCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50IC5hcnRpY2xlLWRhdGUgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICNmMGViZTg7IH1cbiAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0gYXJ0aWNsZSAuZmVhdHVyZWQtY29udGVudC53aXRob3V0LWltYWdlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQud2l0aG91dC1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQud2l0aG91dC1pbWFnZSAuYXJ0aWNsZS1kYXRlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQud2l0aG91dC1pbWFnZSAuYXJ0aWNsZS1kYXRlIHtcbiAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAtMTBweDsgfVxuICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMXB4KSB7XG4gICAgICAgICAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQud2l0aG91dC1pbWFnZSAuYXJ0aWNsZS1kYXRlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLmFjdHVhbC1mZWF0dXJlZC1pdGVtIGFydGljbGUgLmZlYXR1cmVkLWNvbnRlbnQud2l0aG91dC1pbWFnZSAuYXJ0aWNsZS1kYXRlIHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zMHB4OyB9IH1cbiAgICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50LndpdGhvdXQtaW1hZ2UgcCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5hY3R1YWwtZmVhdHVyZWQtaXRlbSBhcnRpY2xlIC5mZWF0dXJlZC1jb250ZW50LndpdGhvdXQtaW1hZ2UgcCB7XG4gICAgICAgICAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5zdWIsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuc3ViIHtcbiAgICAgICAgbWFyZ2luOiAyZW0gMCAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5zdWIsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuc3ViIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgICAgIC5wYXRoLXRvcGljIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5zdWIgLmNvbCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5zdWIgLmNvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gMWVtIDFlbSAwOyB9IH1cbiAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLnN1YiBhcnRpY2xlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLnN1YiBhcnRpY2xlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07IH1cbiAgICAgICAgICAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuc3ViIGFydGljbGUgc3ZnLCAucGF0aC10b3BpYyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuc3ViIGFydGljbGUgcCwgLmxheW91dC1sYW5kaW5nIC5mZWF0dXJlZCA+IC5jb2wuc3Bhbi05IC5zdWIgYXJ0aWNsZSBzdmcsIC5sYXlvdXQtbGFuZGluZyAuZmVhdHVyZWQgPiAuY29sLnNwYW4tOSAuc3ViIGFydGljbGUgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLnBhdGgtdG9waWMgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLnN1YiBhcnRpY2xlIC5hcnRpY2xlLWRhdGU6YmVmb3JlLCAubGF5b3V0LWxhbmRpbmcgLmZlYXR1cmVkID4gLmNvbC5zcGFuLTkgLnN1YiBhcnRpY2xlIC5hcnRpY2xlLWRhdGU6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDIyXCI7IH1cbiAgLnBhdGgtdG9waWMgLnNlY3Rpb24sIC5sYXlvdXQtbGFuZGluZyAuc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBhdGgtdG9waWMgLnNlY3Rpb24gLmNvbCwgLmxheW91dC1sYW5kaW5nIC5zZWN0aW9uIC5jb2wge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgIC5wYXRoLXRvcGljIC5zZWN0aW9uIC5wYXJhZ3JhcGgtaW1hZ2UsIC5sYXlvdXQtbGFuZGluZyAuc2VjdGlvbiAucGFyYWdyYXBoLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogNTAwMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5wYXRoLXRvcGljIC5zZWN0aW9uIC5wYXJhZ3JhcGgtaW1hZ2UsIC5sYXlvdXQtbGFuZGluZyAuc2VjdGlvbiAucGFyYWdyYXBoLWltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnBhdGgtdG9waWMgLnNlY3Rpb24gLnBhcmFncmFwaCwgLmxheW91dC1sYW5kaW5nIC5zZWN0aW9uIC5wYXJhZ3JhcGgge1xuICAgICAgcGFkZGluZzogMWVtOyB9XG4gICAgICAucGF0aC10b3BpYyAuc2VjdGlvbiAucGFyYWdyYXBoIGgzLCAubGF5b3V0LWxhbmRpbmcgLnNlY3Rpb24gLnBhcmFncmFwaCBoMyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuICAgICAgLnBhdGgtdG9waWMgLnNlY3Rpb24gLnBhcmFncmFwaCBoMywgLnBhdGgtdG9waWMgLnNlY3Rpb24gLnBhcmFncmFwaCAuZmllbGQtLXR5cGUtbGluaywgLnBhdGgtdG9waWMgLnNlY3Rpb24gLnBhcmFncmFwaCAuZmllbGRfX2l0ZW1zLCAubGF5b3V0LWxhbmRpbmcgLnNlY3Rpb24gLnBhcmFncmFwaCBoMywgLmxheW91dC1sYW5kaW5nIC5zZWN0aW9uIC5wYXJhZ3JhcGggLmZpZWxkLS10eXBlLWxpbmssIC5sYXlvdXQtbGFuZGluZyAuc2VjdGlvbiAucGFyYWdyYXBoIC5maWVsZF9faXRlbXMge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMCAwLjRlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAucGF0aC10b3BpYyAuc2VjdGlvbiAucGFyYWdyYXBoIC5maWVsZC0tdHlwZS1saW5rLCAubGF5b3V0LWxhbmRpbmcgLnNlY3Rpb24gLnBhcmFncmFwaCAuZmllbGQtLXR5cGUtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAxZW07IH1cbiAgICAgICAgLnBhdGgtdG9waWMgLnNlY3Rpb24gLnBhcmFncmFwaCAuZmllbGQtLXR5cGUtbGluayBhLCAubGF5b3V0LWxhbmRpbmcgLnNlY3Rpb24gLnBhcmFncmFwaCAuZmllbGQtLXR5cGUtbGluayBhIHtcbiAgICAgICAgICBjb2xvcjogI2Y0N2QzMTtcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5wYXRoLXRvcGljIC5zZWN0aW9uIC5wYXJhZ3JhcGggLmxhbmRpbmctcGFnZS1zZWN0aW9uLWl0ZW0sIC5sYXlvdXQtbGFuZGluZyAuc2VjdGlvbiAucGFyYWdyYXBoIC5sYW5kaW5nLXBhZ2Utc2VjdGlvbi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgICAgICAgLnBhdGgtdG9waWMgLnNlY3Rpb24gLnBhcmFncmFwaCAubGFuZGluZy1wYWdlLXNlY3Rpb24taXRlbSBoNCwgLmxheW91dC1sYW5kaW5nIC5zZWN0aW9uIC5wYXJhZ3JhcGggLmxhbmRpbmctcGFnZS1zZWN0aW9uLWl0ZW0gaDQge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41MWVtOyB9XG4gICAgLnBhdGgtdG9waWMgLnNlY3Rpb24uc2VjdGlvbi0zIC5wYXJhZ3JhcGggLmZpZWxkX19pdGVtLCAubGF5b3V0LWxhbmRpbmcgLnNlY3Rpb24uc2VjdGlvbi0zIC5wYXJhZ3JhcGggLmZpZWxkX19pdGVtIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwIDAgNGVtIDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC5wYXRoLXRvcGljIC5zZWN0aW9uLnNlY3Rpb24tMyAucGFyYWdyYXBoIC5maWVsZF9faXRlbSwgLmxheW91dC1sYW5kaW5nIC5zZWN0aW9uLnNlY3Rpb24tMyAucGFyYWdyYXBoIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZzogMWVtIDJlbSAxZW0gMDtcbiAgICAgICAgICB3aWR0aDogMzIlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5saXN0aW5nLXBhZ2Uge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH0gfVxuXG4ubGlzdGluZy1wYWdlIGZvcm0udmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLS1pbmxpbmUgLmZvcm0taXRlbSB7XG4gIG1hcmdpbjogMCAxcmVtIDFyZW0gMDtcbiAgd2lkdGg6IDQ0JTsgfVxuICAubGlzdGluZy1wYWdlIGZvcm0udmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLS1pbmxpbmUgLmZvcm0taXRlbSAuZm9ybS1zZWxlY3Qge1xuICAgIGNvbG9yOiBncmV5O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvY2ZlZC9pbWcvc2VsZWN0LWFycm93LnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAzNDhweCAtMXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5saXN0aW5nLXBhZ2UgZm9ybS52aWV3cy1leHBvc2VkLWZvcm0gLmZvcm0tLWlubGluZSAuZm9ybS1pdGVtIC5mb3JtLXNlbGVjdCBvcHRpb24ge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjZmNDsgfVxuICAgICAgLmxpc3RpbmctcGFnZSBmb3JtLnZpZXdzLWV4cG9zZWQtZm9ybSAuZm9ybS0taW5saW5lIC5mb3JtLWl0ZW0gLmZvcm0tc2VsZWN0IG9wdGlvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNDdkMzEgIWltcG9ydGFudDsgfVxuXG4ubGlzdGluZy1wYWdlIGZvcm0udmlld3MtZXhwb3NlZC1mb3JtIC5mb3JtLS1pbmxpbmUgLmZvcm0tYWN0aW9ucyB7XG4gIHdpZHRoOiA0OCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubGlzdGluZy1wYWdlIC5saXN0OjphZnRlcixcbi52aWV3LWNvbnRlbnQgLmxpc3Q6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAubGlzdGluZy1wYWdlIC5saXN0LFxuICAudmlldy1jb250ZW50IC5saXN0IHtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjZjBlYmU4OyB9IH1cblxuLmxpc3RpbmctcGFnZSAuZmVhdHVyZWQgLmZhLXJzcyB7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBjb2xvcjogI2Y0N2QzMTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmxpc3RpbmctcGFnZSAuZmVhdHVyZWQgaHIge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlYmU4OyB9XG5cbi5saXN0aW5nLXBhZ2UgLmZlYXR1cmVkIGg2IHtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwOyB9XG5cbi5saXN0aW5nLXBhZ2UgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucyB7XG4gIG1hcmdpbjogMCAwIDFlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAubGlzdGluZy1wYWdlIC5mZWF0dXJlZCAuZmllbGQtLXR5cGUtZW50aXR5LXJlZmVyZW5jZS1yZXZpc2lvbnMge1xuICAgICAgd2lkdGg6IDMyNXB4OyB9IH1cbiAgLmxpc3RpbmctcGFnZSAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIC5maWVsZF9fbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmxpc3RpbmctcGFnZSAuZmVhdHVyZWQgLmZpZWxkLS10eXBlLWVudGl0eS1yZWZlcmVuY2UtcmV2aXNpb25zIC5maWVsZF9faXRlbSAuZmllbGRfX2l0ZW1zIC5maWVsZF9faXRlbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZWJlODtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZGVkOTtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfVxuICAgIC5saXN0aW5nLXBhZ2UgLmZlYXR1cmVkIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucyAuZmllbGRfX2l0ZW0gLmZpZWxkX19pdGVtcyAuZmllbGRfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cblxuYXJ0aWNsZS5saXN0aW5nLXBhZ2UtaXRlbSB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICBhcnRpY2xlLmxpc3RpbmctcGFnZS1pdGVtIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBhcnRpY2xlLmxpc3RpbmctcGFnZS1pdGVtIC50ZXJtcyB7XG4gICAgd2lkdGg6IDY0JTtcbiAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIGFydGljbGUubGlzdGluZy1wYWdlLWl0ZW0gLmFkZHRoaXNfaW5saW5lX3NoYXJlX3Rvb2xib3gge1xuICAgIGNsZWFyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAzNiU7IH1cbiAgICBhcnRpY2xlLmxpc3RpbmctcGFnZS1pdGVtIC5hZGR0aGlzX2lubGluZV9zaGFyZV90b29sYm94IC5hdC1yZXNwLXNoYXJlLWVsZW1lbnQuYXQtbW9iaWxlIC5hdC1zaGFyZS1idG4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICBhcnRpY2xlLmxpc3RpbmctcGFnZS1pdGVtIC5jb2wuc3Bhbi04IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgYXJ0aWNsZS5saXN0aW5nLXBhZ2UtaXRlbSAuY29sLnNwYW4tOCB7XG4gICAgICAgIHdpZHRoOiA2NCU7IH1cbiAgICAgICAgYXJ0aWNsZS5saXN0aW5nLXBhZ2UtaXRlbSAuY29sLnNwYW4tOC5uby1pbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuICBhcnRpY2xlLmxpc3RpbmctcGFnZS1pdGVtIC5jb2wuc3Bhbi00IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwLjVlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgYXJ0aWNsZS5saXN0aW5nLXBhZ2UtaXRlbSAuY29sLnNwYW4tNCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgICB3aWR0aDogMzQlOyB9IH1cbiAgICBhcnRpY2xlLmxpc3RpbmctcGFnZS1pdGVtIC5jb2wuc3Bhbi00Lm5vLWltZyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgYXJ0aWNsZS5saXN0aW5nLXBhZ2UtaXRlbSAuY29sLnNwYW4tNCAuaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgaGVpZ2h0OiAyMDBweDsgfVxuXG5hcnRpY2xlLmxpc3RpbmctcGFnZS1mZWF0dXJlZC1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwOyB9XG4gIGFydGljbGUubGlzdGluZy1wYWdlLWZlYXR1cmVkLWl0ZW0gaDUge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuXG51bC5wYWdlciB7XG4gIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgdWwucGFnZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSBuYXYucGFnZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIC52aWV3LXByb2dyYW0tZGlyZWN0b3J5IC5tb3JlLWxpbmsge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTUwMXB4KSB7XG4gIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuaGVyby1jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDMuNGVtICFpbXBvcnRhbnQ7IH0gfVxuXG4ucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgcCA+IGVtIHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbi5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3cy1lbGVtZW50LWNvbnRhaW5lciAudmlldy1oZWFkZXIgPiBlbSB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBmb250LXNpemU6IDEycHg7IH1cblxuLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgLnZpZXctaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfVxuICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzMi45JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5IC52aWV3LWhlYWRlciAudmlldy1jb250ZW50IC52aWV3cy1yb3cgc3Bhbi5maWVsZC1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1N2QyZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHNwYW4uZmllbGQtY29udGVudDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjQwMDsgfVxuICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHNwYW4uZmllbGQtY29udGVudCAuaW1hZ2UgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDA7IH1cbiAgICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHNwYW4uZmllbGQtY29udGVudCAuaW1hZ2UgYSBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNDlweCkge1xuICAgICAgICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHNwYW4uZmllbGQtY29udGVudCAuaW1hZ2UgYSBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc3OXB4KSB7XG4gICAgICAgICAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5IC52aWV3LWhlYWRlciAudmlldy1jb250ZW50IC52aWV3cy1yb3cgc3Bhbi5maWVsZC1jb250ZW50IC5pbWFnZSBhIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5IC52aWV3LWhlYWRlciAudmlldy1jb250ZW50IC52aWV3cy1yb3cgc3Bhbi5maWVsZC1jb250ZW50IC5uYW1lIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbSAxcmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExNDlweCkge1xuICAgICAgICAgICAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgLnZpZXctaGVhZGVyIC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBzcGFuLmZpZWxkLWNvbnRlbnQgLm5hbWUgYSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfSB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc3OXB4KSB7XG4gICAgICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHNwYW4uZmllbGQtY29udGVudCAubmFtZSBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiA4cHg7IH0gfVxuICAgICAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgLnZpZXctaGVhZGVyIC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdy5hY3RpdmUgc3Bhbi5maWVsZC1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwOTA5MDsgfVxuICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93LmFjdGl2ZSBzcGFuLmZpZWxkLWNvbnRlbnQ6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMWMxYzE7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSAudmlldy1oZWFkZXIgLnZpZXctY29udGVudCAudmlld3Mtcm93IHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgPiAudmlldy1maWx0ZXJzIC5mb3JtLS1pbmxpbmUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc5OXB4KSB7XG4gICAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgPiAudmlldy1maWx0ZXJzIC5mb3JtLS1pbmxpbmUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctZmlsdGVycyAuZm9ybS0taW5saW5lIC5mb3JtLWl0ZW0ta2V5cyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc5OXB4KSB7XG4gICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWZpbHRlcnMgLmZvcm0tLWlubGluZSAuZm9ybS1pdGVtLWtleXMge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgPiAudmlldy1maWx0ZXJzIC5mb3JtLS1pbmxpbmUgLmZvcm0taXRlbS1rZXlzIGlucHV0LmZvcm0tdGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgPiAudmlldy1maWx0ZXJzIC5mb3JtLS1pbmxpbmUgLmZvcm0taXRlbS1rZXlzIHtcbiAgICAgICAgd2lkdGg6IDYwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQxOXB4KSB7XG4gICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWZpbHRlcnMgLmZvcm0tLWlubGluZSAuZm9ybS1pdGVtLWtleXMge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctZmlsdGVycyAuZm9ybS0taW5saW5lIC5mb3JtLWFjdGlvbnMge1xuICAgIHdpZHRoOiAxOCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctZmlsdGVycyAuZm9ybS0taW5saW5lIC5mb3JtLWFjdGlvbnMgLnZpZXctYnRuLWNvbnRhaW5lciBzcGFuLnZpZXctYnRuLWZpbHRlciB7XG4gICAgICBsZWZ0OiA5NnB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWZpbHRlcnMgLmZvcm0tLWlubGluZSAuZm9ybS1hY3Rpb25zIC52aWV3LWJ0bi1jb250YWluZXIgc3Bhbi52aWV3LWJ0bi1maWx0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDQ1cHggIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDQ1cHggIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWZpbHRlcnMgLmZvcm0tLWlubGluZSAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgd2lkdGg6IDMwJTsgfSB9XG5cbi5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JjYmVjMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZzogMyUgMyU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyBhLnByb2dyYW0tbGluayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5zcGFuLTUge1xuICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuc3Bhbi01IGg1IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAgICAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgPiAudmlldy1jb250ZW50IC52aWV3cy1yb3cgLnNwYW4tNSBoNSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuc3Bhbi01IHNwYW4uYWRkcmVzcyxcbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuc3Bhbi01IHNwYW4uc2VydmljZXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTE5cHgpIHtcbiAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5zcGFuLTUge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuY29sLnNwYW4tNCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAgIHBhZGRpbmc6IDAgMCAwIDE2cHg7XG4gICAgd2lkdGg6IDMwJTsgfVxuICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5jb2wuc3Bhbi00IC5zZXJ2aWNlLWFyZWEge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuY29sLnNwYW4tNCAuc2VydmljZS1hcmVhIC5maWVsZC0tbmFtZS1maWVsZC1nZW9ncmFwaGljYWwtc2VydmljZS1hcmVhIC5maWVsZF9fbGFiZWwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5jb2wuc3Bhbi00IC5zZXJ2aWNlLWFyZWEgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoaWNhbC1zZXJ2aWNlLWFyZWEgLmZpZWxkX19pdGVtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5jb2wuc3Bhbi00IC5zZXJ2aWNlLWFyZWEgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoeS1kZXRhaWwge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7IH1cbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuY29sLnNwYW4tNCAuYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkxOXB4KSB7XG4gICAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuY29sLnNwYW4tNCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93IC5jb2wuc3Bhbi04Lmxpc3QgLnZpZXctcHJvZ3JhbS1kaXJlY3RvcnkgPiAudmlldy1jb250ZW50IC52aWV3cy1yb3cgLmNvbC5zcGFuLTMge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNnB4O1xuICAgIHdpZHRoOiAyNyU7IH1cbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuY29sLnNwYW4tMyAuc2VydmljZSAuZmllbGRfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAucGFnZS13b3JrcGxhY2UtZmluYW5jaWFsLXdlbGxuZXNzLXNlcnZpY2VzLWRpcmVjdG9yeS0tcHJvc3Blcml0eS1ub3cgLmNvbC5zcGFuLTgubGlzdCAudmlldy1wcm9ncmFtLWRpcmVjdG9yeSA+IC52aWV3LWNvbnRlbnQgLnZpZXdzLXJvdyAuY29sLnNwYW4tMyAuc2VydmljZSAuZmllbGRfX2l0ZW0ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTE5cHgpIHtcbiAgICAgIC5wYWdlLXdvcmtwbGFjZS1maW5hbmNpYWwtd2VsbG5lc3Mtc2VydmljZXMtZGlyZWN0b3J5LS1wcm9zcGVyaXR5LW5vdyAuY29sLnNwYW4tOC5saXN0IC52aWV3LXByb2dyYW0tZGlyZWN0b3J5ID4gLnZpZXctY29udGVudCAudmlld3Mtcm93IC5jb2wuc3Bhbi0zIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNhY2E7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qKlxuICogQXJ0aWNsZSBzcGVjaWZpY1xuICovXG4ubm9kZS0tdHlwZS1hcnRpY2xlIGJsb2NrcXVvdGUsXG4ubm9kZS0tdHlwZS1iYXNpYy1wYWdlIGJsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMWVtO1xuICB3aWR0aDogMTAwJTsgfVxuICAubm9kZS0tdHlwZS1hcnRpY2xlIGJsb2NrcXVvdGUgLnRyaWFuZ2xlLFxuICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIGJsb2NrcXVvdGUgLnRyaWFuZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ub2RlLS10eXBlLWFydGljbGUgYmxvY2txdW90ZSAqLFxuICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIGJsb2NrcXVvdGUgKiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5ub2RlLS10eXBlLWFydGljbGUgYmxvY2txdW90ZSxcbiAgICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIGJsb2NrcXVvdGUge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6IDcwdnc7IH1cbiAgICAgIC5ub2RlLS10eXBlLWFydGljbGUgYmxvY2txdW90ZSAudHJpYW5nbGUsXG4gICAgICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIGJsb2NrcXVvdGUgLnRyaWFuZ2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgLm5vZGUtLXR5cGUtYXJ0aWNsZSBibG9ja3F1b3RlLFxuICAgIC5ub2RlLS10eXBlLWJhc2ljLXBhZ2UgYmxvY2txdW90ZSB7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICB3aWR0aDogNjV2dzsgfVxuICAgICAgLm5vZGUtLXR5cGUtYXJ0aWNsZSBibG9ja3F1b3RlOmJlZm9yZSxcbiAgICAgIC5ub2RlLS10eXBlLWJhc2ljLXBhZ2UgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ3ZDMxO1xuICAgICAgICB3aWR0aDogNzMwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogLTczMHB4O1xuICAgICAgICB0b3A6IDA7IH0gfVxuXG4ubm9kZS0tdHlwZS1hcnRpY2xlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24sXG4ubm9kZS0tdHlwZS1iYXNpYy1wYWdlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLm5vZGUtLXR5cGUtYXJ0aWNsZSAuZmllbGQtaW1hZ2Utd2l0aC1jYXB0aW9uLFxuICAgIC5ub2RlLS10eXBlLWJhc2ljLXBhZ2UgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAyZW0gMCAwIDA7IH0gfVxuICAubm9kZS0tdHlwZS1hcnRpY2xlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gaW1nLFxuICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5ub2RlLS10eXBlLWFydGljbGUgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiBpbWcsXG4gICAgICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDY2JTsgfSB9XG4gIC5ub2RlLS10eXBlLWFydGljbGUgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UtY2FwdGlvbixcbiAgLm5vZGUtLXR5cGUtYmFzaWMtcGFnZSAuZmllbGQtaW1hZ2Utd2l0aC1jYXB0aW9uIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZS1jYXB0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWExYTIwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgcGFkZGluZzogLjI1ZW0gMWVtOyB9XG4gICAgLm5vZGUtLXR5cGUtYXJ0aWNsZSAuZmllbGQtaW1hZ2Utd2l0aC1jYXB0aW9uIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZS1jYXB0aW9uIC50cmlhbmdsZSxcbiAgICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlLWNhcHRpb24gLnRyaWFuZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC5ub2RlLS10eXBlLWFydGljbGUgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UtY2FwdGlvbixcbiAgICAgIC5ub2RlLS10eXBlLWJhc2ljLXBhZ2UgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UtY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgIHBhZGRpbmc6IC41ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICAubm9kZS0tdHlwZS1hcnRpY2xlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlLWNhcHRpb24gLnRyaWFuZ2xlLFxuICAgICAgICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlLWNhcHRpb24gLnRyaWFuZ2xlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC5ub2RlLS10eXBlLWFydGljbGUgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UtY2FwdGlvbiAudHJpYW5nbGUudDEsXG4gICAgICAgICAgLm5vZGUtLXR5cGUtYmFzaWMtcGFnZSAuZmllbGQtaW1hZ2Utd2l0aC1jYXB0aW9uIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZS1jYXB0aW9uIC50cmlhbmdsZS50MSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjYWExYTIwOyB9XG4gICAgICAgICAgLm5vZGUtLXR5cGUtYXJ0aWNsZSAuZmllbGQtaW1hZ2Utd2l0aC1jYXB0aW9uIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZS1jYXB0aW9uIC50cmlhbmdsZS50MixcbiAgICAgICAgICAubm9kZS0tdHlwZS1iYXNpYy1wYWdlIC5maWVsZC1pbWFnZS13aXRoLWNhcHRpb24gLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlLWNhcHRpb24gLnRyaWFuZ2xlLnQyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhYTFhMjA7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgIC5ub2RlLS10eXBlLWFydGljbGUgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UtY2FwdGlvbixcbiAgICAgIC5ub2RlLS10eXBlLWJhc2ljLXBhZ2UgLmZpZWxkLWltYWdlLXdpdGgtY2FwdGlvbiAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UtY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07IH0gfVxuXG4ubm9kZS0tdHlwZS1hcnRpY2xlIC5tYWluLFxuLm5vZGUtLXR5cGUtYmFzaWMtcGFnZSAubWFpbiB7XG4gIC8qXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICovIH1cblxuLyoqXG4gKiBCb3RoIGFydGljbGVzIGFuZCByZXNvdXJjZSBzaGFyZWQgc3R1ZmZcbiAqL1xuLnBhZ2Utbm9kZS10eXBlLXJlc291cmNlIC5wYWdlLXRpdGxlLWJhciAucGFnZS1tZXRhLFxuLnBhZ2Utbm9kZS10eXBlLWFydGljbGUgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEsXG4ucGFnZS1ub2RlLXR5cGUtYmFzaWMtcGFnZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSxcbi5wYWdlLW5vZGUtdHlwZS1ldmVudCAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSB7XG4gIHBhZGRpbmc6IC4yNWVtIDAgMWVtOyB9XG4gIC5wYWdlLW5vZGUtdHlwZS1yZXNvdXJjZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YS5uby1wZGYtaWNvbiAucGFnZS1kYXRlOjpiZWZvcmUsXG4gIC5wYWdlLW5vZGUtdHlwZS1hcnRpY2xlIC5wYWdlLXRpdGxlLWJhciAucGFnZS1tZXRhLm5vLXBkZi1pY29uIC5wYWdlLWRhdGU6OmJlZm9yZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWJhc2ljLXBhZ2UgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEubm8tcGRmLWljb24gLnBhZ2UtZGF0ZTo6YmVmb3JlLFxuICAucGFnZS1ub2RlLXR5cGUtZXZlbnQgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEubm8tcGRmLWljb24gLnBhZ2UtZGF0ZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5wYWdlLW5vZGUtdHlwZS1yZXNvdXJjZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSAuZmllbGQtLXR5cGUtZmlsZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWFydGljbGUgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLmZpZWxkLS10eXBlLWZpbGUsXG4gIC5wYWdlLW5vZGUtdHlwZS1iYXNpYy1wYWdlIC5wYWdlLXRpdGxlLWJhciAucGFnZS1tZXRhIC5maWVsZC0tdHlwZS1maWxlLFxuICAucGFnZS1ub2RlLXR5cGUtZXZlbnQgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLmZpZWxkLS10eXBlLWZpbGUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDAgMCAwOyB9XG4gICAgLnBhZ2Utbm9kZS10eXBlLXJlc291cmNlIC5wYWdlLXRpdGxlLWJhciAucGFnZS1tZXRhIC5maWVsZC0tdHlwZS1maWxlIGEsXG4gICAgLnBhZ2Utbm9kZS10eXBlLWFydGljbGUgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLmZpZWxkLS10eXBlLWZpbGUgYSxcbiAgICAucGFnZS1ub2RlLXR5cGUtYmFzaWMtcGFnZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSAuZmllbGQtLXR5cGUtZmlsZSBhLFxuICAgIC5wYWdlLW5vZGUtdHlwZS1ldmVudCAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSAuZmllbGQtLXR5cGUtZmlsZSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAucGFnZS1ub2RlLXR5cGUtcmVzb3VyY2UgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLnBhZ2UtZGF0ZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWFydGljbGUgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLnBhZ2UtZGF0ZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWJhc2ljLXBhZ2UgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLnBhZ2UtZGF0ZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWV2ZW50IC5wYWdlLXRpdGxlLWJhciAucGFnZS1tZXRhIC5wYWdlLWRhdGUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5wYWdlLW5vZGUtdHlwZS1yZXNvdXJjZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSAucGFnZS1kYXRlOmJlZm9yZSxcbiAgICAucGFnZS1ub2RlLXR5cGUtYXJ0aWNsZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSAucGFnZS1kYXRlOmJlZm9yZSxcbiAgICAucGFnZS1ub2RlLXR5cGUtYmFzaWMtcGFnZSAucGFnZS10aXRsZS1iYXIgLnBhZ2UtbWV0YSAucGFnZS1kYXRlOmJlZm9yZSxcbiAgICAucGFnZS1ub2RlLXR5cGUtZXZlbnQgLnBhZ2UtdGl0bGUtYmFyIC5wYWdlLW1ldGEgLnBhZ2UtZGF0ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2NjY7XG4gICAgICBjb250ZW50OiAnXFwyMDIyJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgLjVlbSAwIDA7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5wYWdlLW5vZGUtdHlwZS1yZXNvdXJjZSAuc2lkZWJhciAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2UsXG4gIC5wYWdlLW5vZGUtdHlwZS1hcnRpY2xlIC5zaWRlYmFyIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWJhc2ljLXBhZ2UgLnNpZGViYXIgLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlLFxuICAucGFnZS1ub2RlLXR5cGUtZXZlbnQgLnNpZGViYXIgLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH0gfVxuXG4ucGFnZS1ub2RlLXR5cGUtcmVzb3VyY2UgLmJvdHRvbSxcbi5wYWdlLW5vZGUtdHlwZS1hcnRpY2xlIC5ib3R0b20sXG4ucGFnZS1ub2RlLXR5cGUtYmFzaWMtcGFnZSAuYm90dG9tLFxuLnBhZ2Utbm9kZS10eXBlLWV2ZW50IC5ib3R0b20ge1xuICBtYXgtd2lkdGg6IDUwMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kOiAjZjBlYmU4O1xuICBwYWRkaW5nOiAyZW0gMWVtO1xuICBtYXJnaW46IDJyZW0gMCAwIDA7IH1cbiAgLnBhZ2Utbm9kZS10eXBlLXJlc291cmNlIC5ib3R0b20gLm92ZXJsaW5lLFxuICAucGFnZS1ub2RlLXR5cGUtYXJ0aWNsZSAuYm90dG9tIC5vdmVybGluZSxcbiAgLnBhZ2Utbm9kZS10eXBlLWJhc2ljLXBhZ2UgLmJvdHRvbSAub3ZlcmxpbmUsXG4gIC5wYWdlLW5vZGUtdHlwZS1ldmVudCAuYm90dG9tIC5vdmVybGluZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5wYWdlLW5vZGUtdHlwZS1yZXNvdXJjZSAuYm90dG9tIC5jb2wsXG4gICAgLnBhZ2Utbm9kZS10eXBlLWFydGljbGUgLmJvdHRvbSAuY29sLFxuICAgIC5wYWdlLW5vZGUtdHlwZS1iYXNpYy1wYWdlIC5ib3R0b20gLmNvbCxcbiAgICAucGFnZS1ub2RlLXR5cGUtZXZlbnQgLmJvdHRvbSAuY29sIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbiNibG9jay1wZW9wbGUtYm9hcmQsICNibG9jay1wZW9wbGUtbGVhZGVyc2hpcCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIHBhZGRpbmc6IDRyZW0gMCAwIDA7IH1cbiAgI2Jsb2NrLXBlb3BsZS1ib2FyZCBoMiwgI2Jsb2NrLXBlb3BsZS1sZWFkZXJzaGlwIGgyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2Jsb2NrLXBlb3BsZS1ib2FyZCAudmlldy1jb250ZW50LCAjYmxvY2stcGVvcGxlLWxlYWRlcnNoaXAgLnZpZXctY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICNibG9jay1wZW9wbGUtYm9hcmQgLnZpZXctY29udGVudCwgI2Jsb2NrLXBlb3BsZS1sZWFkZXJzaGlwIC52aWV3LWNvbnRlbnQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAjYmxvY2stcGVvcGxlLWJvYXJkIC52aWV3LWNvbnRlbnQgPiBkaXYsICNibG9jay1wZW9wbGUtbGVhZGVyc2hpcCAudmlldy1jb250ZW50ID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDAgLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNibG9jay1wZW9wbGUtYm9hcmQgLnZpZXctY29udGVudCA+IGRpdiwgI2Jsb2NrLXBlb3BsZS1sZWFkZXJzaGlwIC52aWV3LWNvbnRlbnQgPiBkaXYge1xuICAgICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4jYmxvY2stcGVvcGxlLWxlYWRlcnNoaXAge1xuICBtYXgtd2lkdGg6IDUwMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBiYWNrZ3JvdW5kOiAjZjBlYmU4OyB9XG4gICNibG9jay1wZW9wbGUtbGVhZGVyc2hpcCAudmlldy1jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICNibG9jay1wZW9wbGUtbGVhZGVyc2hpcCAudmlldy1jb250ZW50IC5wZXJzb24tbGlzdCB7XG4gICAgICAvKmg2e1xuICAgICAgICBmb250LXNpemU6IDEuMzRlbTtcbiAgICAgIH0qLyB9XG4gICAgICAjYmxvY2stcGVvcGxlLWxlYWRlcnNoaXAgLnZpZXctY29udGVudCAucGVyc29uLWxpc3QgLmZpZWxkLS1uYW1lLWZpZWxkLXByb2Zlc3Npb25hbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgIC8qZm9udC1zaXplOiAxLjNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsqLyB9XG4gICNibG9jay1wZW9wbGUtbGVhZGVyc2hpcCAucm93IHtcbiAgICBtYXgtd2lkdGg6IDEzNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uYmxvY2sub3VyLXRlYW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE4cHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmJsb2NrLm91ci10ZWFtOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYmxvY2sub3VyLXRlYW0ge1xuICAgICAgdG9wOiAtNDJweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAuYmxvY2sub3VyLXRlYW0ge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDEyNzJweDsgfSB9XG4gIC5ibG9jay5vdXItdGVhbSBoMSB7XG4gICAgZm9udC1zaXplOiAxLjRlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgIC5ibG9jay5vdXItdGVhbSBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xZW07IH0gfVxuICAgIC5ibG9jay5vdXItdGVhbSBoMSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5ibG9jay5vdXItdGVhbSAubGVmdC1ibG9jaywgLmJsb2NrLm91ci10ZWFtIC5yaWdodC1ibG9jayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTU0cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDQ4JTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLmJsb2NrLm91ci10ZWFtIC5sZWZ0LWJsb2NrLCAuYmxvY2sub3VyLXRlYW0gLnJpZ2h0LWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDQ5JTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgLmJsb2NrLm91ci10ZWFtIC5sZWZ0LWJsb2NrLCAuYmxvY2sub3VyLXRlYW0gLnJpZ2h0LWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDY5OXB4OyB9IH1cbiAgLmJsb2NrLm91ci10ZWFtIC5sZWZ0LWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvb3VyLXRlYW0vc3VwcG9ydGVycy5wbmdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICBsZWZ0OiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgLmJsb2NrLm91ci10ZWFtIC5sZWZ0LWJsb2NrIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1MHB4OyB9IH1cbiAgLmJsb2NrLm91ci10ZWFtIC5yaWdodC1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL291ci10ZWFtL3N0YWZmLnBuZ1wiKSBuby1yZXBlYXQgMTAwJSAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgLmJsb2NrLm91ci10ZWFtIC5yaWdodC1ibG9jayB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE3MHB4OyB9IH1cbiAgLmJsb2NrLm91ci10ZWFtIC5ib3R0b20tYmxvY2sge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL291ci10ZWFtL21lZXQtdGhlLXN0YWZmLWhlYWRlci5qcGdcIikgbm8tcmVwZWF0IDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTg1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDE3NXB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuYmxvY2sub3VyLXRlYW0gLmJvdHRvbS1ibG9jayB7XG4gICAgICAgIGhlaWdodDogMzEycHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAgIC5ibG9jay5vdXItdGVhbSAuYm90dG9tLWJsb2NrIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNTBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuI2Jsb2NrLXBlb3BsZS1zdGFmZiB7XG4gIHBhZGRpbmc6IDhyZW0gMCA1LjVyZW07IH1cbiAgI2Jsb2NrLXBlb3BsZS1zdGFmZiBoMiB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjYmxvY2stcGVvcGxlLXN0YWZmIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgI2Jsb2NrLXBlb3BsZS1zdGFmZiAudmlldy1jb250ZW50ID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgd2lkdGg6IDQ5JTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgICNibG9jay1wZW9wbGUtc3RhZmYgLnZpZXctY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgd2lkdGg6IDIzJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgICAgICNibG9jay1wZW9wbGUtc3RhZmYgLnZpZXctY29udGVudCA+IGRpdiB7XG4gICAgICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gICNibG9jay1wZW9wbGUtc3RhZmYgLnBlcnNvbi1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgI2Jsb2NrLXBlb3BsZS1zdGFmZiAucGVyc29uLWxpc3QgaDYsICNibG9jay1wZW9wbGUtc3RhZmYgLnBlcnNvbi1saXN0IHAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgI2Jsb2NrLXBlb3BsZS1zdGFmZiBhLmltZyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlYmU4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgLypAaW5jbHVkZSBtZWRpYSgnPD1zbScpIHtcbiAgICAgIGhlaWdodDogMTA2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzw9bWQnKSB7XG4gICAgICBoZWlnaHQ6IDE1N3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIGhlaWdodDogMTYzcHg7XG4gICAgfSovIH1cbiAgICAjYmxvY2stcGVvcGxlLXN0YWZmIGEuaW1nOmhvdmVyOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItbGVmdDogNDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IDQ0cHggc29saWQgI2Y0N2QzMTtcbiAgICAgIGNvbnRlbnQ6ICcnOyB9XG4gICNibG9jay1wZW9wbGUtc3RhZmYgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI2Jsb2NrLXBlb3BsZS1zdGFmZiAuaW1nLXJpbmdlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIGhlaWdodDogMjIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Jsb2NrLXBlb3BsZS1zdGFmZiAuaW1nLXJpbmdlZCAucmluZyB7XG4gICAgICB3aWR0aDogMjIwcHg7XG4gICAgICBoZWlnaHQ6IDIyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgICNibG9jay1wZW9wbGUtc3RhZmYgLmltZy1yaW5nZWQgLnJpbmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNmZmY7IH1cbiAgICAjYmxvY2stcGVvcGxlLXN0YWZmIC5pbWctcmluZ2VkIC5jaXJjbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgd2lkdGg6IDE3MHB4OyB9XG4gICNibG9jay1wZW9wbGUtc3RhZmYgLmltZy1yaW5nZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zNSU7XG4gICAgcmlnaHQ6IC00MCU7IH1cbiAgICAjYmxvY2stcGVvcGxlLXN0YWZmIC5pbWctcmluZ2VkIC5yaW5nIHBhdGgge1xuICAgICAgZmlsbDogI2UwZDZjZjsgfVxuICAgICNibG9jay1wZW9wbGUtc3RhZmYgLmltZy1yaW5nZWQgLmNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlM2RmO1xuICAgICAgdG9wOiAyNXB4O1xuICAgICAgbGVmdDogMjVweDsgfVxuXG4ucGVyc29uLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGVyc29uLWxpc3QgKiB7XG4gICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5wZXJzb24tbGlzdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9IH1cbiAgLnBlcnNvbi1saXN0IC5pbWctcmluZ2VkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTc1cHg7XG4gICAgaGVpZ2h0OiAxNzVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5wZXJzb24tbGlzdCAuaW1nLXJpbmdlZCAucmluZyB7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5wZXJzb24tbGlzdCAuaW1nLXJpbmdlZCAucmluZyBwYXRoIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5wZXJzb24tbGlzdCAuaW1nLXJpbmdlZCAuY2lyY2xlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBsZWZ0OiAxcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgaGVpZ2h0OiAxNzNweDtcbiAgICAgIHdpZHRoOiAxNzNweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gICAgLnBlcnNvbi1saXN0IC5pbWctcmluZ2VkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnBlcnNvbi1saXN0IC5pbWctcmluZ2VkIC5yaW5nIHtcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAucGVyc29uLWxpc3QgLmltZy1yaW5nZWQgLnJpbmcgcGF0aCB7XG4gICAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgICAgLnBlcnNvbi1saXN0IC5pbWctcmluZ2VkIC5jaXJjbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICAgIGhlaWdodDogMjQ4cHg7XG4gICAgICAgIHdpZHRoOiAyNDhweDsgfSB9XG4gIC5wZXJzb24tbGlzdDpob3ZlciAuaW1nLXJpbmdlZCAucmluZyBwYXRoIHtcbiAgICBmaWxsOiAjZjQ3ZDMxOyB9XG5cbi8qKlxuICogQXJ0aWNsZSBzcGVjaWZpY1xuICovXG4ucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiA2cmVtOyB9XG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCBoNCxcbiAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLWltYWdlIHtcbiAgICBtYXJnaW46IDFyZW0gMDsgfVxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGRfX2xhYmVsIHtcbiAgICBtaW4td2lkdGg6IDI0cmVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkX19pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLXR5cGUgLmZpZWxkX19sYWJlbCxcbiAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLXNlcnZpY2VzLW9mZmVyZWQtIC5maWVsZF9fbGFiZWwsXG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1nZW9ncmFwaGljYWwtc2VydmljZS1hcmVhIC5maWVsZF9fbGFiZWwsXG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1nZW9ncmFwaHktZGV0YWlsIC5maWVsZF9fbGFiZWwsXG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tdHlwZS1saXN0LXN0cmluZyAuZmllbGRfX2xhYmVsLFxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLXR5cGUtc3RyaW5nIC5maWVsZF9fbGFiZWwsXG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1ub3QtZW5nbGlzaCAuZmllbGRfX2xhYmVsLFxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtYmJiLXJhdGluZyAuZmllbGRfX2xhYmVsIHtcbiAgICB3aWR0aDogMjJyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC10eXBlIC5maWVsZF9fbGFiZWwsXG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtc2VydmljZXMtb2ZmZXJlZC0gLmZpZWxkX19sYWJlbCxcbiAgICAgIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1nZW9ncmFwaGljYWwtc2VydmljZS1hcmVhIC5maWVsZF9fbGFiZWwsXG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtZ2VvZ3JhcGh5LWRldGFpbCAuZmllbGRfX2xhYmVsLFxuICAgICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS10eXBlLWxpc3Qtc3RyaW5nIC5maWVsZF9fbGFiZWwsXG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLXR5cGUtc3RyaW5nIC5maWVsZF9fbGFiZWwsXG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtbm90LWVuZ2xpc2ggLmZpZWxkX19sYWJlbCxcbiAgICAgIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1iYmItcmF0aW5nIC5maWVsZF9fbGFiZWwge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNXB4KSB7XG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtdHlwZSAuZmllbGRfX2xhYmVsLFxuICAgICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLXNlcnZpY2VzLW9mZmVyZWQtIC5maWVsZF9fbGFiZWwsXG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtZ2VvZ3JhcGhpY2FsLXNlcnZpY2UtYXJlYSAuZmllbGRfX2xhYmVsLFxuICAgICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoeS1kZXRhaWwgLmZpZWxkX19sYWJlbCxcbiAgICAgIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tdHlwZS1saXN0LXN0cmluZyAuZmllbGRfX2xhYmVsLFxuICAgICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS10eXBlLXN0cmluZyAuZmllbGRfX2xhYmVsLFxuICAgICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLW5vdC1lbmdsaXNoIC5maWVsZF9fbGFiZWwsXG4gICAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtYmJiLXJhdGluZyAuZmllbGRfX2xhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtcG9pbnQtb2YtY29udGFjdCAuZmllbGRfX2xhYmVsIHtcbiAgICB3aWR0aDogMjRyZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1wb2ludC1vZi1jb250YWN0IC5maWVsZF9fbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtbm90LWVuZ2xpc2ggLmZpZWxkX19pdGVtIHtcbiAgICBwYWRkaW5nLXRvcDogMzJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtbm90LWVuZ2xpc2ggLmZpZWxkX19sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG4gICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLW5vdC1lbmdsaXNoIC5maWVsZF9fbGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtbm90LWVuZ2xpc2ggLmZpZWxkX19pdGVtIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9IH1cbiAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLWF1dGhvci1yZWYsXG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC10eXBlLFxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtc2VydmljZXMtb2ZmZXJlZC0sXG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1ub3QtZW5nbGlzaCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtYWRkcmVzcyAuZmllbGRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtYWRkcmVzcyAuZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiOlwiOyB9XG4gIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1hZGRyZXNzIC5maWVsZF9faXRlbSBwLmFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtZmllbGQtaG93LXRvLWdldC1zdGFydGVkLFxuICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtYm9keSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5wYWdlLW5vZGUtdHlwZS1wcm9ncmFtIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFtIC5ub2RlX19jb250ZW50IC5maWVsZC0tbmFtZS1maWVsZC1ob3ctdG8tZ2V0LXN0YXJ0ZWQgLmZpZWxkX19sYWJlbDphZnRlcixcbiAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtYm9keSAuZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiOlwiOyB9XG4gICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLWhvdy10by1nZXQtc3RhcnRlZCAuZmllbGRfX2l0ZW0gcCxcbiAgICAucGFnZS1ub2RlLXR5cGUtcHJvZ3JhbSBhcnRpY2xlLm5vZGUtLXR5cGUtcHJvZ3JhbSAubm9kZV9fY29udGVudCAuZmllbGQtLW5hbWUtYm9keSAuZmllbGRfX2l0ZW0gcCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnBhZ2Utbm9kZS10eXBlLXByb2dyYW0gYXJ0aWNsZS5ub2RlLS10eXBlLXByb2dyYW0gLm5vZGVfX2NvbnRlbnQgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoeS1kZXRhaWwge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi8qKlxuICogRmxleCBsaXN0IG9mIGNhcmQtY29udGFpbmVycyBzbyB3ZSBjYW4gaGF2ZSBlcXVhbCBoZWlnaHQgYm94ZXMgdGhhdCB3cmFwXG4gKi9cbi52aWV3LXRheG9ub215LXRlcm0gLnZpZXdzLWluZmluaXRlLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC52aWV3LXRheG9ub215LXRlcm0gLnZpZXdzLWluZmluaXRlLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC52aWV3LXRheG9ub215LXRlcm0gLnZpZXdzLWluZmluaXRlLXNjcm9sbC1jb250ZW50LXdyYXBwZXIgLmNhcmQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDQlIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAudmlldy10YXhvbm9teS10ZXJtIC52aWV3cy1pbmZpbml0ZS1zY3JvbGwtY29udGVudC13cmFwcGVyIC5jYXJkLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIlIDIlO1xuICAgICAgICB3aWR0aDogMzIlOyB9XG4gICAgICAgIC52aWV3LXRheG9ub215LXRlcm0gLnZpZXdzLWluZmluaXRlLXNjcm9sbC1jb250ZW50LXdyYXBwZXIgLmNhcmQtY29udGFpbmVyOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDFweCkge1xuICAgICAgLnZpZXctdGF4b25vbXktdGVybSAudmlld3MtaW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciAuY2FyZC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjMlIDEuMyU7XG4gICAgICAgIHdpZHRoOiAyNCU7IH1cbiAgICAgICAgLnZpZXctdGF4b25vbXktdGVybSAudmlld3MtaW5maW5pdGUtc2Nyb2xsLWNvbnRlbnQtd3JhcHBlciAuY2FyZC1jb250YWluZXI6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjMlOyB9XG4gICAgICAgIC52aWV3LXRheG9ub215LXRlcm0gLnZpZXdzLWluZmluaXRlLXNjcm9sbC1jb250ZW50LXdyYXBwZXIgLmNhcmQtY29udGFpbmVyOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi52aWV3LXRheG9ub215LXRlcm0gdWwucGFnZXIge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC52aWV3LXRheG9ub215LXRlcm0gdWwucGFnZXIgLnBhZ2VyX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnZpZXctdGF4b25vbXktdGVybSB1bC5wYWdlciAuYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuLyoqXG4gKiBHZW5lcmljIGNhcmQgc3R5bGVzIGluIGNhc2Ugd2UgdXNlIHRoZW0gc29tZXdoZXJlIG90aGVyIHRoYW4gdGhlIHRheG9ub215LXRlcm1cbiAqIHBhZ2VcbiAqL1xuLmNhcmQge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyoqXG4gICAqIEV2ZW50IHR5cGUgY2FyZHNcbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqLyB9XG4gIC5jYXJkIC5maWVsZC0tdHlwZS1pbWFnZSB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5jYXJkIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2FyZCBoMSB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfVxuICAuY2FyZCBoMiB7XG4gICAgZm9udC1zaXplOiAuN2VtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtOyB9XG4gIC5jYXJkIC5jYXJkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIuNWVtIDJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcmQubm9kZS0tdHlwZS1ldmVudCAubm9kZS1kYXRlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYTFhMjA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlIDUwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiA4M3B4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAtMThweDtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IC0zMHB4O1xuICAgIHdpZHRoOiA4M3B4O1xuICAgIGhlaWdodDogNjVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0b3A6IDE2MXB4O1xuICAgIHdpZHRoOiA2NXB4OyB9XG4gICAgLmNhcmQubm9kZS0tdHlwZS1ldmVudCAubm9kZS1kYXRlIC5tb250aCB7XG4gICAgICBmb250LXNpemU6IDFlbTsgfVxuICAgIC5jYXJkLm5vZGUtLXR5cGUtZXZlbnQgLm5vZGUtZGF0ZSAuZGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY2FyZC5ub2RlLS10eXBlLWV2ZW50IC5ub2RlLWRhdGUgc3ZnIHtcbiAgICAgIGhlaWdodDogODVweDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICB3aWR0aDogODVweDsgfVxuICAgICAgLmNhcmQubm9kZS0tdHlwZS1ldmVudCAubm9kZS1kYXRlIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogI2YwZWJlODsgfVxuICAgIC5jYXJkLm5vZGUtLXR5cGUtZXZlbnQgLm5vZGUtZGF0ZS53aXRob3V0LWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMjBweDsgfVxuICAgIC5jYXJkLm5vZGUtLXR5cGUtZXZlbnQgLm5vZGUtZGF0ZSBzdmcge1xuICAgICAgaGVpZ2h0OiA2OHB4O1xuICAgICAgd2lkdGg6IDY4cHg7IH1cbiAgLmNhcmQubm9kZS0tdHlwZS1hcnRpY2xlIC5hcnRpY2xlLWRhdGUge1xuICAgIGNvbG9yOiAjQjlCMUIwO1xuICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jYXJkLm5vZGUtLXR5cGUtcGVyc29uIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuY2FyZC5ub2RlLS10eXBlLXBlcnNvbiAubWVldC10aGUtZXhwZXJ0IHtcbiAgICAgIGNvbG9yOiAjQjlCMUIwO1xuICAgICAgZm9udC1zaXplOiAuN2VtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuY2FyZC5ub2RlLS10eXBlLXBlcnNvbiBoMSB7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAuMjVlbTsgfVxuICAgICAgLmNhcmQubm9kZS0tdHlwZS1wZXJzb24gaDEgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNhcmQubm9kZS0tdHlwZS1wZXJzb24gaDMge1xuICAgICAgZm9udC1zaXplOiAuNmVtOyB9XG4gICAgLmNhcmQubm9kZS0tdHlwZS1wZXJzb24gLmNhcmQtY29udGVudCB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDEuNWVtIC4yNWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTsgfVxuXG4uZXhwZXJ0LW1vZHVsZSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCAxMHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAycHggMTBweCAycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxMHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBtYXJnaW4tdG9wOiAtMjE0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRvb2xiYXItdHJheS1vcGVuIC5leHBlcnQtbW9kdWxlIHtcbiAgICBtYXJnaW4tdG9wOiAtMjgwcHg7IH1cbiAgLmV4cGVydCAuZXhwZXJ0LW1vZHVsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDM5NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgICAgIC5leHBlcnQgLmV4cGVydC1tb2R1bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7IH0gfVxuICAgIC50b29sYmFyLXRyYXktb3BlbiAuZXhwZXJ0IC5leHBlcnQtbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xODBweDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAgIC50b29sYmFyLXRyYXktb3BlbiAuZXhwZXJ0IC5leHBlcnQtbW9kdWxlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1heC13aWR0aDogMzgycHg7IH0gfVxuICAuZXhwZXJ0LW1vZHVsZSAuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuZXhwZXJ0LW1vZHVsZSBoNCwgLmV4cGVydC1tb2R1bGUgLmF1dGhvciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMnJlbSAycmVtOyB9XG4gIC5leHBlcnQtbW9kdWxlIGg0IHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMCAycmVtOyB9XG4gIC5leHBlcnQtbW9kdWxlIC5hdXRob3Ige1xuICAgIGNvbG9yOiAjQjlCMUIwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAgIC5leHBlcnQtbW9kdWxlIC5hdXRob3I6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLmV4cGVydC1tb2R1bGUgLmF1dGhvciBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuZXhwZXJ0LW1vZHVsZSAuYXV0aG9yIC5ieWxpbmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07IH1cbiAgLmV4cGVydC1tb2R1bGUgLmltZy1yaW5nZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMjVweDtcbiAgICBoZWlnaHQ6IDEyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMzRweDtcbiAgICByaWdodDogLTM1cHg7IH1cbiAgICAuZXhwZXJ0LW1vZHVsZSAuaW1nLXJpbmdlZCAucmluZyB7XG4gICAgICB3aWR0aDogMTI1cHg7XG4gICAgICBoZWlnaHQ6IDEyNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5leHBlcnQtbW9kdWxlIC5pbWctcmluZ2VkIC5yaW5nIHBhdGgge1xuICAgICAgICBmaWxsOiAjZjBlYmU4OyB9XG4gICAgLmV4cGVydC1tb2R1bGUgLmltZy1yaW5nZWQgLmNpcmNsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgIGhlaWdodDogMTIzcHg7XG4gICAgICB3aWR0aDogMTIzcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAgIC5leHBlcnQtbW9kdWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNpZGViYXIge1xuICBwYWRkaW5nOiAyZW0gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2lkZWJhciB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmMGViZTg7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyZW07IH0gfVxuICAuc2lkZWJhciAuZmllbGQtLXR5cGUtaW1hZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07IH1cbiAgLnNpZGViYXIgLm5vZGVfX2NvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogLjllbTtcbiAgICBsaW5lLWhlaWdodDogMS43ZW07IH1cbiAgLnNpZGViYXIgaDYge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuc2lkZWJhciAuaXRlbS1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMWVtIDAgMCAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuc2lkZWJhciAuaXRlbS1saXN0IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgICBtYXJnaW46IDAgMCAxZW07IH1cbiAgICAuc2lkZWJhciAuaXRlbS1saXN0IC5oZWFkaW5nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zaWRlYmFyIC5pdGVtLWxpc3QgLnN1YmhlYWQge1xuICAgICAgY29sb3I6ICNCOUIxQjA7XG4gICAgICBmb250LXNpemU6IC44ZW07IH1cblxuLm1vZGFsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDQsIDEyNSwgNDksIDAuOSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwdmg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgei1pbmRleDogMjA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1vZGFsIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLm1vZGFsIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tb2RhbCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAubW9kYWwgaDEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMWVtIDAgMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tb2RhbCBoMSB7XG4gICAgICAgIG1hcmdpbjogMCAwIC41ZW07IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tb2RhbCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgICAubW9kYWwgaDEge1xuICAgICAgICBmb250LXNpemU6IDRlbTsgfSB9XG4gIC5tb2RhbCAuY29sIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1vZGFsIC5jb2wge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAubW9kYWwgLmNvbC5zcGFuLTUge1xuICAgICAgICAgIHdpZHRoOiA0MC41JTsgfVxuICAgICAgICAubW9kYWwgLmNvbC5zcGFuLTcge1xuICAgICAgICAgIHdpZHRoOiA1Ny41JTsgfSB9XG4gIC5tb2RhbCAuYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubW9kYWwgLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW46IDFlbSAwO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLm1vZGFsIC5idG4gLnRyaWFuZ2xlIHtcbiAgICAgIGJvcmRlci1yaWdodDogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICMwMDhlOTY7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiA1MHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA1MHB4O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTUwcHg7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgLm1vZGFsIC5ibGFuay1idG4ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1vZGFsIC5ibGFuay1idG4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5tb2RhbCAuY2xvc2UtYnRuIHtcbiAgICBib3R0b206IDI0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5tb2RhbCAuY2xvc2UtYnRuIHtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMWVtO1xuICAgICAgICB0b3A6IC00MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAubW9kYWwgLmlmcmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxNjNweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDI5MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gICAgICAubW9kYWwgLmlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTkxcHg7XG4gICAgICAgIHdpZHRoOiAzNDBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1vZGFsIC5pZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDMxMHB4O1xuICAgICAgICB3aWR0aDogNTUwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgICAgIC5tb2RhbCAuaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiA0MjBweDtcbiAgICAgICAgd2lkdGg6IDc0N3B4OyB9IH1cbiIsIi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2xpY2stbGlzdFxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi5zbGljay1saXN0OmZvY3VzXG57XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1saXN0LmRyYWdnaW5nXG57XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDtcbn1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0XG57XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC5jb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMmVtO1xuICAgIH1cbn1cbi5zbGljay10cmFjazpiZWZvcmUsXG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIGNvbnRlbnQ6ICcnO1xufVxuLnNsaWNrLXRyYWNrOmFmdGVyXG57XG4gICAgY2xlYXI6IGJvdGg7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2tcbntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbltkaXI9J3J0bCddIC5zbGljay1zbGlkZVxue1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5zbGljay1zbGlkZSBpbWdcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZ1xue1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nXG57XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGVcbntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgICAgICAgICBodHRwOi8vaW5jbHVkZS1tZWRpYS5jb21cbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgSHVnbyBHaXJhdWRlbCAoQGh1Z29naXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG5cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdkZXNrdG9wJzogMTAyNHB4XG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXG4pICFkZWZhdWx0O1xuXG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xuICAgIEBlcnJvciAkbWVzc2FnZTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJG1lc3NhZ2U7XG4gICAgJF86IG5vb3AoKTtcbiAgfVxuXG4gIEByZXR1cm4gJG1lc3NhZ2U7XG59XG5cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7fVxufVxuXG5cbi8vL1xuLy8vIEZ1bmN0aW9uIHdpdGggbm8gYEByZXR1cm5gIGNhbGxlZCBuZXh0IHRvIGBAd2FybmAgaW4gU2FzcyAzLjNcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxuLy8vXG5AZnVuY3Rpb24gbm9vcCgpIHt9XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLy9cbi8vLyBQYXJzaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgIH1cblxuICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGlnaXRzOiAxO1xuICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgJF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG5cbi8vL1xuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IGJhc2VkIG9uIGEgbGlzdCBvZiBjb25kaXRpb25zXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxuLy8vXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIGdlbmVyYWwgbWl4aW5zLCBhcyByZXF1aXJlZCBnbyBoZXJlLlxuXG5AbWl4aW4gZm9udFN0dWZmKCR3ZWlnaHQ6MzAwKSB7XG4gIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIixzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG5AbWl4aW4gY2xlYXJGaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZnVsbFdpZHRoIHtcbiAgbWF4LXdpZHRoOiAkd3JhcHBlcldpZHRoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMTAwdnc7XG59XG5cbkBtaXhpbiBmbHVpZFZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5ICovXG4gIHBhZGRpbmctdG9wOiAwLjcycmVtO1xuICBoZWlnaHQ6IDA7XG5cbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmbHVpZEltYWdlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBoaWRlVGV4dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uSGFja3Mge1xuICAvLyBcImhhY2tzXCIgZm9yIGJldHRlciByZW5kZXJpbmcsXG4gIC8vIEhXIGFjY2VsZXJhdGlvbiwgZXRjLiBmcm9tIEhvdmVyIENTUy5cbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbkBtaXhpbiBza2V3T3V0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoMTM1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHNrZXcoMTM1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiBza2V3KDEzNWRlZyk7XG59XG5cbkBtaXhpbiBza2V3SW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoNDVkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogc2tldyg0NWRlZyk7XG4gIC1vLXRyYW5zZm9ybTogc2tldyg0NWRlZyk7XG59XG5cbkBtaXhpbiBib3hTaGFkb3coKSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDJweCAxMHB4IDJweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAycHggMTBweCAycHggcmdiYSgwLDAsMCwwLjE1KTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAxMHB4IDJweCByZ2JhKDAsMCwwLDAuMTUpO1xufVxuXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7IC8qIElFIDkgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkZWdyZWVzfWRlZyk7XG59XG5cbkBtaXhpbiBkYXJrZW5UcmFuc2l0aW9uKCRjb2xvcjokb3JhbmdlLCAkYW1vdW50OjEwJSkge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGNvbG9yLCAkYW1vdW50KTtcbn1cblxuQG1peGluIGxpZ2h0ZW5UcmFuc2l0aW9uKCRjb2xvcjokb3JhbmdlLCAkYW1vdW50OjEwJSkge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRjb2xvciwgJGFtb3VudCk7XG59XG5cbi8vIENpcmNsZSBkYXRlIHRoaW5nIHdpdGggdGhlIHN2Z1xuQG1peGluIGNpcmNsZURhdGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JpbXNvbjtcbiAgYm9yZGVyLXJhZGl1czogNTAlIDUwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogODNweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogLTE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogLTMwcHg7XG4gIHdpZHRoOiA4M3B4O1xuICAubW9udGgge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC5kYXkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuICBzdmcge1xuICAgIGhlaWdodDogODVweDtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgd2lkdGg6IDg1cHg7XG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiAkZ3JheUxpZ2h0ZXI7XG4gICAgfVxuICB9XG59XG5cblxuXG5zcGFuLnRyaWFuZ2xlIHtcbiAgei1pbmRleDogMTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmlnaHQ6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMDBweCBzb2xpZCAkb3JhbmdlO1xuICBjb250ZW50OiAnJztcblxuICAmLnQyIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci1yaWdodDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAxMDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxMDBweCBzb2xpZCAkb3JhbmdlO1xuICAgIGJvcmRlci10b3A6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG5cdC5qcy1mb3JtLXN1Ym1pdDpob3ZlciArIC52aWV3LWJ0bi1maWx0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlNjYxMGM7XG4gIH1cbiAgLnZpZXctYnRuLWZpbHRlciB7XG4gICAgei1pbmRleDogMTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDEwMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDEwMHB4IHNvbGlkICRvcmFuZ2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgICY6aG92ZXIgfiAjZWRpdC1zdWJtaXQtbGlzdGluZ3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U2NjEwYztcbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gaW1nUmluZ2VkKCRyaW5nU2l6ZSwgJHJpbmdJbWFnZVNpemUsICRyaW5nQ29sb3IpIHtcblxuICAuaW1nLXJpbmdlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRyaW5nU2l6ZTtcbiAgICBoZWlnaHQ6ICRyaW5nU2l6ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAucmluZyB7XG4gICAgICB3aWR0aDogJHJpbmdTaXplO1xuICAgICAgaGVpZ2h0OiAkcmluZ1NpemU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRyaW5nQ29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNpcmNsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgaGVpZ2h0OiAkcmluZ0ltYWdlU2l6ZTtcbiAgICAgIHdpZHRoOiAkcmluZ0ltYWdlU2l6ZTtcbiAgICB9XG5cbiAgICBAY29udGVudDtcbiAgfVxuXG59XG5cbi8vUmVzcG9uc2l2ZSBNaXhpblxuQG1peGluIHJlc3BvbmQtdG8oJHF1ZXJ5KSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkcXVlcnkpIHtcbiAgICBAY29udGVudFxuICB9XG59XG4iLCIvLyBzYXNzIHNldHRpbmdzIGFuZCB2YXJpYWJsZXNcblxuLy8gYnJlYWtwb2ludHMgbWFwIGZvciBpbmNsdWRlLW1lZGlhLlxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtOiA0ODBweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogMTMwMHB4LCAvLyAxMjQwcHhcbiAgeGw6IDE1MDBweFxuKTtcblxuJHdyYXBwZXJXaWR0aDogNTAwMHB4O1xuXG4vLyBmb250c1xuJGZvbnRTaXplOiAxOHB4O1xuJGZvbnRMaW5lSGVpZ2h0OiAzMnB4O1xuXG4vLyBjb2xvcnNcbiRjb2xvckRhcms6ICMzMzM7XG4kY29sb3JMaWdodDogI2ZmZjtcbiRibGFjazogIzAwMDtcbiR3aGl0ZTogJGNvbG9yTGlnaHQ7XG4kZ3JheURhcms6ICM0NDQ7XG4kZ3JheTogIzY2NjtcbiRncmF5TGlnaHQ6ICNCOUIxQjA7XG4kZ3JheUxpZ2h0ZXI6ICNmMGViZTg7XG5cbiR0YW5MaWdodDogI2VlZTllNTtcbiRvcmFuZ2U6ICNmNDdkMzE7XG4keWVsbG93OiAjZmJiMDQwO1xuJHJlZDogI2VkMWMyNDtcbiRjcmltc29uOiAjYWExYTIwO1xuJHRlYWw6ICMwMDhlOTY7XG5cbiRuYXZCYXJIZWlnaHQ6IDQ0cHg7XG4kaGVyb0hlaWdodDogODAycHg7XG4kYnV0dG9uSGVpZ2h0OiA1MHB4O1xuIiwiLy8gZm9udC1hd2Vzb21lIHN0dWZmXG4vLyBcbi8vIFNlYXJjaCBvbiBmb250YXdlc29tZS5pbyBmb3IgdGhlIGljb24geW91IHdhbnQsIGNsaWNrIG9uIGl0LCBsb29rIGF0IHRoZSBcbi8vIHVuaWNvZGUgdmFsdWUgYW5kIGNyZWF0ZSBhIG5ldyBjbGFzcyBoZXJlIGF0IHRoZSBib3R0b20gb2YgdGhlIGxpc3Rcbi8vIFxuLy8gYXBwbGljYXRpb24vbXN3b3JkLFxuLy8gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtLFxuLy8gYXBwbGljYXRpb24vcGRmLFxuLy8gYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsLFxuLy8gYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbixcbi8vIGFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0LFxuLy8gYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQsXG4vLyBhcHBsaWNhdGlvbi94LWh0dHBkLXBocCxcbi8vIGFwcGxpY2F0aW9uL3ppcCxcbi8vIGF1ZGlvL21wZWcsXG4vLyBpbWFnZS9naWYsXG4vLyBpbWFnZS9qcGVnLFxuLy8gaW1hZ2UvcG5nLFxuLy8gaW1hZ2UveC1tcy1ibXAsXG4vLyB0ZXh0L2h0bWwsXG4vLyB0ZXh0L3BsYWluLFxuLy8gdmlkZW8vbXA0LFxuLy8gdmlkZW8veC1tcy13bXYsXG5cbi8vIERlZmF1bHRzIHRvIG92ZXJyaWRlIGNvcmUgRHJ1cGFsIHRoaW5ncyBhbmQgYWRkIHRoZSBGb250QXdlc29tZSAuZmEgY2xhc3NcblxudWwuZmlsZS1pY29ucyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBhIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbnVsLmZpbGUtZG93bmxvYWRzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBAaW5jbHVkZSBjbGVhckZpeDtcbiAgICBtYXJnaW46IDAgMCAxZW0gMDtcbiAgfVxufVxuXG5bY2xhc3MqPVwiZmlsZS0tbWltZS1hcHBsaWNhdGlvbi1cIl0sXG5bY2xhc3MqPVwiZmlsZS0tYXBwbGljYXRpb24tXCJdIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIC41ZW07XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuICAmOmJlZm9yZSB7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTZweC8xIEZvbnRBd2Vzb21lO1xuICAgIGNvbnRlbnQ6ICdcXGYwZjYnO1xuICB9XG59XG5cblxuXG5bY2xhc3MqPVwiYnRuIGZpbGUtLW1pbWUtYXBwbGljYXRpb24tXCJdLFxuW2NsYXNzKj1cImJ0biBmaWxlLS1hcHBsaWNhdGlvbi1cIl0ge1xuICAmOmJlZm9yZSB7XG4gICAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gIH1cbn1cblxuXG4vLyBVc2VkIHR3aWcncyBzcGxpdCgnLycpWzFdXG4uZmlsZS10eXBlLXN0cmluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuLy8gRmlsZSB0eXBlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLWxpbmsge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjAxNic7XG4gIH1cbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLW9jdGV0LXN0cmVhbSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMDI4JztcbiAgfVxufVxuXG4uZmlsZS0tYXBwbGljYXRpb24tYXBwbGljYXRpb24tcGRmLFxuLmZpbGUtLWFwcGxpY2F0aW9uLXBkZiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjFjMVwiO1xuICB9XG59XG5cbi5maWxlLS1hcHBsaWNhdGlvbi16aXAge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjNic7XG4gIH1cbn1cblxuW2NsYXNzKj1cIndvcmRwcm9jZXNzaW5nXCJdLFxuLmZpbGUtLWFwcGxpY2F0aW9uLW1zd29yZCxcbi5maWxlLS14LW9mZmljZS1kb2N1bWVudCB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxmMWMyJztcbiAgfVxufVxuXG4uZmlsZS0tYXBwbGljYXRpb24tbXNleGNlbCxcbi5maWxlLS1leGNlbC1vZmZpY2UtZG9jdW1lbnQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjMyc7XG4gIH1cbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLW1zcG93ZXJwb2ludCxcbi5maWxlLS1maWxlLS1wcC1vZmZpY2UtZG9jdW1lbnQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjNCc7XG4gIH1cbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLWF1ZGlvLFxuLmZpbGUtLWF1ZGlvIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGYxYzcnO1xuICB9XG59XG5cbi5maWxlLS1hcHBsaWNhdGlvbi12aWRlbyxcbi5maWxlLS12aWRlbyB7XG4gICY6YmVmb3JlIHtcbiAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCAxNnB4LzEgRm9udEF3ZXNvbWU7XG4gICAgY29udGVudDogJ1xcZjAzZCc7XG4gIH1cbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLXR4dCxcbi5maWxlLS10eHQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjBmNic7XG4gIH1cbn1cblxuLmZpbGUtLWFwcGxpY2F0aW9uLXppcCxcbi5maWxlLS16aXAge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjNic7XG4gIH1cbn1cblxuXG5bY2xhc3MqPVwic3ByZWFkc2hlZXRcIl0sXG4uZmlsZS0teC1vZmZpY2Utc3ByZWFkc2hlZXQge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjFjMyc7XG4gIH1cbn0iLCJodG1sIHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmFmdGVyLFxuKjo6YmVmb3JlIHtcblx0Ym94LXNpemluZzogaW5oZXJpdDtcbn1cblxuYm9keSB7XG5cdEBpbmNsdWRlIGZvbnRTdHVmZigpO1xuXHRmb250LXNpemU6ICRmb250U2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRmb250TGluZUhlaWdodDtcblx0Y29sb3I6ICRjb2xvckRhcms7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4ua2ludCB7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bWFyZ2luOiA4cHggMDtcblx0b3ZlcmZsb3cteDogYXV0bztcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0ei1pbmRleDogMTA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbiN0b29sYmFyLWJhcntcblx0aGVpZ2h0OiAzOXB4ICFpbXBvcnRhbnQ7XG59IiwiXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgQGluY2x1ZGUgZm9udFN0dWZmKDMwMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDA7XG59XG5cbmgxIHtcbiAgQGluY2x1ZGUgZm9udFN0dWZmKDkwMCk7XG5cdGZvbnQtc2l6ZTogNC42MjVyZW07XG5cdGNvbG9yOiAkb3JhbmdlO1xufVxuaDIgeyBmb250LXNpemU6IDMuMTI1cmVtOyB9XG5oMyB7IGZvbnQtc2l6ZTogMi41cmVtOyB9XG5oNCB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG5oNSB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG5oNiB7IGZvbnQtc2l6ZTogMS4wMHJlbTsgfVxuXG5AaW5jbHVkZSBtZWRpYSgnPD1zbScpIHtcblx0aDEgeyBmb250LXNpemU6IDJyZW07IH1cblx0aDIgeyBmb250LXNpemU6IDEuNzVyZW07IH1cblx0aDMgeyBmb250LXNpemU6IDEuNXJlbTsgfVxuXHRoNCB7IGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxufVxuXG5iLCBzdHJvbmcsIGgxLCBoMiwgaDQsIGg2IHsgZm9udC13ZWlnaHQ6IDkwMDsgfVxuaDYgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5lbSwgaSB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuc21hbGwgeyBmb250LXNpemU6IDAuNzVlbTsgfVxuYmlnIHsgZm9udC1zaXplOiAxLjI1ZW07IH1cblxuYSB7XG5cdGNvbG9yOiAkdGVhbDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsIDApO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJsb2NrcXVvdGUge1xuICBAaW5jbHVkZSBmb250U3R1ZmYoOTAwKTtcbiAgZm9udC1zaXplOiAyLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICBjb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nOiAyLjVyZW0gMCAyLjVyZW0gNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODAlO1xuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5hdXRob3Ige1xuICAgIEBpbmNsdWRlIGZvbnRTdHVmZig3MDApO1xuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXG4gIHRyIHtcbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIC8vYmFja2dyb3VuZDogI2ZmZjdlYztcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIHRoLCB0ZCB7XG4gICAgcGFkZGluZzogLjhyZW0gMS4wcmVtO1xuICB9XG5cbiAgdGgge1xuICAgIEBpbmNsdWRlIGZvbnRTdHVmZig5MDApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmOWJlOTg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW07XG4gIH1cblxufVxuXG5oMS5zdWJ0aXRsZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuIiwiXG5odG1sLCBib2R5IHtcbiAgYmFja2dyb3VuZDogJGdyYXk7XG59XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OmhpZGRlbjtcbn1cblxuLndyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIG1hcmdpbjogYXV0bztcbiAgbWF4LXdpZHRoOiAkd3JhcHBlcldpZHRoO1xuICBtaW4taGVpZ2h0OiA4M3ZoO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLmdyYXkge1xuICAgIGJhY2tncm91bmQ6ICRncmF5TGlnaHRlcjtcbiAgfVxufVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDYwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgaGVpZ2h0OiA0NzRweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDU1JTtcbiAgICBoZWlnaHQ6ICRoZXJvSGVpZ2h0O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+MTkyMHB4Jyl7XG4gICAgaGVpZ2h0OiA4ODJweDtcbiAgfVxufVxuXG5oZWFkZXIsIG1haW4sIGZvb3RlciwgLmNvbnRhaW5lci5sYXlvdXQsIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyRml4O1xuICBtYXgtd2lkdGg6IDEzNTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgcGFkZGluZzogMCAxcmVtO1xufVxuXG5tYWluLmZ1bGx3aWR0aCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxubWFpbiB7XG4gIG1hcmdpbi10b3A6IDQ0cHg7XG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIG1hcmdpbi10b3A6IDE0NXB4O1xuICB9XG5cbiAgLmhhcy1oZXJvICYge1xuICAgIHBhZGRpbmctdG9wOiA0NDRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgcGFkZGluZy10b3A6IDc0MXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPD1tZCcpe1xuICAgICAgbWFyZ2luLXRvcDogNDRweDtcbiAgICB9XG4gIH1cblxuICAud3JhcHBlci5uby1oZXJvICYge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIG1lZGlhKCc8PW1kJykge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbn1cblxuLyogIFNFQ1RJT05TICAqL1xuLmNvbnRhaW5lciB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbjogMHB4O1xufVxuXG4vKiAgQ09MVU1OIFNFVFVQICAqL1xuJWNvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDpsZWZ0O1xuICBtYXJnaW46IDAgMCAxJSAyJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4uY29sIHtcbiAgQGV4dGVuZCAlY29sO1xufVxuXG4vKiAgR1JPVVBJTkcgICovXG4ucm93IHtcbiAgQGluY2x1ZGUgY2xlYXJGaXg7XG4gIHpvb206MTsgLyogRm9yIElFIDYvNyAqL1xufVxuXG4vKiAgR1JJRCBPRiBUV0VMVkUgICovXG4lc3Bhbi0xMiB7XG4gIHdpZHRoOiAxMDAlOyBtYXJnaW4tbGVmdDogMDtcbn1cbi5jb2wuc3Bhbi0xMiAgeyBAZXh0ZW5kICVzcGFuLTEyOyB9XG4uY29sLnNwYW4tMTEgIHsgd2lkdGg6IDkxLjUlOyB9XG4uY29sLnNwYW4tMTAgIHsgd2lkdGg6IDgzJTsgfVxuLmNvbC5zcGFuLTkgIHsgd2lkdGg6IDc0LjUlOyB9XG4uY29sLnNwYW4tOCAgeyB3aWR0aDogNjYlOyB9XG4uY29sLnNwYW4tNyAgeyB3aWR0aDogNTcuNSU7IH1cbiVzcGFuLTYge1xuICB3aWR0aDogNDklO1xufVxuLmNvbC5zcGFuLTYgIHsgQGV4dGVuZCAlc3Bhbi02OyB9XG4uY29sLnNwYW4tNSAgeyB3aWR0aDogNDAuNSU7IH1cbiVzcGFuLTQge1xuICB3aWR0aDogMzIlO1xufVxuLmNvbC5zcGFuLTQgIHsgQGV4dGVuZCAlc3Bhbi00OyB9XG4uY29sLnNwYW4tMyAgeyB3aWR0aDogMjMuNSU7IH1cbi5jb2wuc3Bhbi0yICB7IHdpZHRoOiAxNSU7IH1cbi5jb2wuc3Bhbi0xICB7IHdpZHRoOiA2LjUlOyB9XG5cbi8qICBHTyBGVUxMIFdJRFRIIEJFTE9XIDQ4MCBQSVhFTFMgKi9cbkBpbmNsdWRlIG1lZGlhKCc8PXNtJykge1xuICAuY29sIHsgIG1hcmdpbjogMSUgMCAxJSAwJTsgfVxuXG4gIC5jb2wsIC5jb2wuc3Bhbi0xICwgLmNvbC5zcGFuLTIgLCAuY29sLnNwYW4tMyAsIC5jb2wuc3Bhbi00ICwgLmNvbC5zcGFuLTUgLCAuY29sLnNwYW4tNiAsIC5jb2wuc3Bhbi03ICwgLmNvbC5zcGFuLTggLCAuY29sLnNwYW4tOSAsIC5jb2wuc3Bhbi0xMCAsIC5jb2wuc3Bhbi0xMSAsIC5jb2wuc3Bhbi0xMiAge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIExhbmRpbmcgUGFnZSBsYXlvdXQuXG4uZmVhdHVyZWQge1xuICAvKi5jb2x7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH0qL1xuICAuYm94IHtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjFkZGQzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRvcDogMzAlO1xuICAgIHJpZ2h0OiAtMThyZW07XG5cbiAgICBAaW5jbHVkZSByb3RhdGUoMzApO1xuXG4gICAgLyomLmxlZnR7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbGVmdDogLTIwcmVtO1xuICAgICAgdG9wOiA4MCU7XG4gICAgfSovXG4gIH1cblxuICAvKi5ib3gtY29udGFpbmVye1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTVyZW07XG4gICAgbGVmdDogMDtcbiAgfSovXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5idG4ge1xuICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcbiAgfVxufVxuXG4uc2VjdGlvbiB7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLnNlY3Rpb24tMyAuZmllbGRfX2l0ZW1zID4gLmZpZWxkX19pdGVtIHtcbiAgQGV4dGVuZCAlY29sO1xuICBAZXh0ZW5kICVzcGFuLTQ7XG5cbiAgJjpudGgtY2hpbGQoM24rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbnN2Zy5hdC1pY29uLmF0LWljb24tZmFjZWJvb2t7XG4gIGhlaWdodDogMzBweCFpbXBvcnRhbnQ7XG59IiwiXG4vLyB3ZSBhcmUgdXNpbmcgODkwcHggaGVyZSBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBkZXZpY2UgbWVkaWEgcXVlcmllcyBiZWNhdXNlXG4vLyB0aGF0J3Mgd2hlcmUgaXQgYnJlYWtzXG5cbiRoZWFkZXJNYXJnaW5Ub3A6IDFyZW07XG5cbi5tYXN0aGVhZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUgLCAwLjkpO1xuICBoZWlnaHQ6ICRuYXZCYXJIZWlnaHQ7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDtcbiAgbWF4LXdpZHRoOiB1bnNldDtcbiAgdHJhbnNpdGlvbjogMC41cztcbiAgJi5pcy1zY3JvbGxpbmd7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjgpIDtcbiAgICA+IC5jb250YWluZXJ7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAubWVudS1jb250YWluZXJ7XG4gICAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAgPiAuY29udGFpbmVye1xuICAgICB3aWR0aDogMTAwJTtcbiAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgIG1heC13aWR0aDogMTM1MHB4O1xuICAgICBAaW5jbHVkZSBtZWRpYSgnPjE2MDAnKSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgIH1cbiAgIH1cbiAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMnJlbSAxcmVtO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYnJhbmRpbmcge1xuICAgIHdpZHRoOiAxNjVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICYuc2Nyb2xsLWxvZ28taXMtZGlzcGxheWVke1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9jZmVkL2xvZ28taC5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbGVmdDogMTFweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG4gICAgICAmLnNjcm9sbC1sb2dve1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvY2ZlZC9pbWcvUHJvc3Blcml0eU5vdy1sb2dvLWhvcml6b250YWwtcmdiLnN2ZycpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSA1NXB4O1xuXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpe1xuICAgICAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjkwNXB4Jyl7XG4gICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+OTMwcHgnKXtcbiAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz45NDlweCcpe1xuICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjk5NXB4Jyl7XG4gICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+MTA1MHB4Jyl7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKXtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz4xMzc3cHgnKXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjE2NjZweCcpe1xuICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjE2NjZweCcpe1xuICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjE3MzBweCcpe1xuICAgICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjE4MDBweCcpe1xuICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL2NmZWQvbG9nby5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjBweCA2MXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICBoZWlnaHQ6IDYxcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2NXB4IDc1cHg7XG4gICAgICAgIGhlaWdodDogODhweDtcbiAgICAgICAgd2lkdGg6IDE2NXB4O1xuICAgICAgfVxuXG4gICAgICAuc3ViLWJyYW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBicmFuZGluZ1xuXG4gIC5oYW1idXJnZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogJG5hdkJhckhlaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkbmF2QmFySGVpZ2h0O1xuXG4gICAgLy8gVHJpYW5nbGUgdGhpbmd5XG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogLSRuYXZCYXJIZWlnaHQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6ICRuYXZCYXJIZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0IHNvbGlkIGJsYWNrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7IG9wYWNpdHk6IDAuNTsgfVxuXG4gICAgLy8gV2hlbiBvcGVuIHR1cm4gdGhlIG1lbnUgdG8gcmVkXG4gICAgLm9wZW4gJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JpbXNvbjtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdkJhckhlaWdodCBzb2xpZCAkY3JpbXNvbjtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbWJ1cmdlciBpcyBlYXRlbiBvbiB0YWJsZXQgdXBcbiAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBXaGVuIG9wZW4gdGhlIGhhbWJ1cmdlciB0dXJucyB0byBhbiBYXG4gICAgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGxlZnQ6ICRuYXZCYXJIZWlnaHQgLyA0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gICAgICB3aWR0aDogJG5hdkJhckhlaWdodCAvIDI7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIC5vcGVuICYge1xuICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIC5vcGVuICYge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICB0b3A6IDI4cHg7XG4gICAgICAgIC5vcGVuICYge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gaGFtYnVyZ2VyXG5cblxuICAvKipcbiAgICogVGhlIG1lbnUgY29udGFpbmVyIGNvbnRhaW5zIGJvdGggdGhlIHNvY2lhbCBncmF5IGJhciBhbmQgdGhlIG5hdmlnYXRpb25cbiAgICogV2UgdG9nZ2xlIHRoaXMgZGlzcGxheSBhbmQgbm90IHRoZSBpbmRpdmlkdWFsIGl0ZW1zIHdoZW4gdGhlIGJ1cmdlclxuICAgKiBpcyBjbGlja2VkXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cbiAgLm1lbnUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRuYXZCYXJIZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgLm9wZW4gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6ICRuYXZCYXJIZWlnaHQgLyAyO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cblxuICAvKipcbiAgICogVGhpcyBpcyB0aGUgc29jaWFsIGJhclxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG4gIC51dGlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGVhc2U7XG4gICAgei1pbmRleDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC5tZW51IHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9IC8vIGd0Zm9cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2NiwgMTY2LCAxNjYsIDAuNyk7XG4gICAgICBoZWlnaHQ6ICRuYXZCYXJIZWlnaHQ7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0kbmF2QmFySGVpZ2h0O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2QmFySGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0IHNvbGlkIHJnYmEoMTY2LCAxNjYsIDE2NiwgMC43KTs7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICB3aWR0aDogNTglO1xuICAgIH1cbiAgICAmLmhpZGUtb24tc2Nyb2xse1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgLnNvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBub3QgdmlzaWJsZSBvbiBtb2JpbGVcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDNweDtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8vIEJsb2cgLyBDYXJlZXJzIHR5cGUgbGlua3MgbWVudVxuICAgIC5tZW51LS11dGlsaXR5LW1lbnUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgaGVpZ2h0OiAkbmF2QmFySGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLW9wZW4gJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgcGFkZGluZzogMC4zZW07XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvd2hpdGUtd2VkZ2UtcmlnaHQuc3ZnJykgbm8tcmVwZWF0IDAgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggN3B4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gdXRpbGl0eS1tZW51XG5cbiAgICAvLyBTZWFyY2ggZm9ybVxuICAgIC5zZWFyY2gtYmxvY2stZm9ybSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgLmZhLXRpbWVzIHtcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICBsZWZ0OiAxLjc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzw4OTBweCcpIHtcbiAgICAgICAgLmZhLXRpbWVzIHtcbiAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLW9wZW4gJiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1zZWFyY2gge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAycmVtO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjJyZW0gMC4ycmVtIDAuMnJlbSAycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICAgICAgcGFkZGluZzogMC4ycmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfSAvLyBzZWFyY2gtYmxvY2stZm9ybVxuXG4gIH0gLy8gdXRpbCBzb2NpYWwgYmFyXG5cbn0iLCJcbmZvb3RlciB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJi5ncmF5IHtcbiAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICB9XG4gIH1cblxuICAuc29jaWFsIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luOiAwIDAgLjVyZW0gMDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAubWFzayB7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgc3ZnIHtcbiAgICBmaWxsOiAkd2hpdGU7XG4gICAgb3BhY2l0eTogMC4wNTtcbiAgICB3aWR0aDogMTY4OHB4O1xuICAgIGhlaWdodDogMTY4OHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xMTAwcHg7XG4gICAgbGVmdDogNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PXhsJykge1xuICAgICAgd2lkdGg6IDEyODhweDtcbiAgICAgIGhlaWdodDogMTI4OHB4O1xuICAgICAgdG9wOiAtNzAwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PWxnJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYmxvY2suc3RheS1pbmZvcm1lZCB7XG4gICAgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIGZvbnQtc2l6ZTogMi44MjVyZW07XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBmb250LXNpemU6IDMuODI1cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgQGluY2x1ZGUgY2xlYXJGaXg7XG5cbiAgICAgIC5mb3JtLWl0ZW0tZW1haWwsXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0tZW1haWwge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgfVxuXG4gICAgICBpbnB1dC5mb3JtLWVtYWlsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMHB4IDBweCByZ2JhKDAsMCwwLDAuMDUpO1xuICAgICAgfVxuXG4gICAgICBpbnB1dC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSB1cmwoJy4uL2ltZy9hcnJvdy1yaWdodC10ZWFsLnBuZycpIG5vLXJlcGVhdCAzNSUgNTAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwcHggNXB4IDBweCAwcHggcmdiYSgwLDAsMCwwLjA1KTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiBpbnNldCAwcHggNXB4IDBweCAwcHggcmdiYSgwLDAsMCwwLjA1KTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDVweCAwcHggMHB4IHJnYmEoMCwwLDAsMC4wNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi8qKlxuICogTWFpbiBuYXZpZ2F0aW9uIC0gRGVmYXVsdGluZyB0byBtb2JpbGUgYW5kIHRoZW4gZ3Jvd2luZyBmcm9tIHRoZXJlXG4gKiBDbGlja2luZyB0aGUgbWFpbiBtZW51IGdpdmVzIHRoZSBib2R5IGEgY2xhc3Mgb2YgJ29wZW4nLCBzbyB0aGF0IHdlXG4gKiBjYW4gdGllIGEgYnVuY2ggb2Ygc21hbGwgY2hhbmdlcyB0byB0aGF0IHBhcmVudCBjbGFzc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4kbmF2U3BhY2luZzogMXB4O1xuXG5cbm5hdi5tZW51LS1tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB1bCwgbGkgeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH1cblxuICAvLyBUaGUgbWVudSBpcyBoaWRkZW4gYnkgZGVmYXVsdCBhbmQgc2hvd24gdmlhIGEgYm9keSBjbGFzcyB0b2dnbGUgZnJvbVxuICAvLyBjbGlja2luZyB0aGUgaGFtYnVyZ2VyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAubWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5vcGVuICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAkbmF2QmFySGVpZ2h0O1xuICAgIH1cblxuICAgID4uYmFjay10by1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC1zaXplOiAxZW07XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDQuMmVtIDAgMDtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgLy8gd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmltc29uO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0IHNvbGlkICRjcmltc29uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6ICRuYXZCYXJIZWlnaHQgc29saWQgJGNyaW1zb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgIG1hcmdpbjogMCAoJG5hdkJhckhlaWdodCArICRuYXZTcGFjaW5nIC0gMnB4KSAwIDA7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0ICsgJG5hdlNwYWNpbmcgc29saWQgJGNyaW1zb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJG5hdkJhckhlaWdodCArICRuYXZTcGFjaW5nIHNvbGlkICRjcmltc29uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnhsJykge1xuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAvLyBBZGQgdGhlIHRyaWFuZ2xlIHRoaW5neVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgIEBpbmNsdWRlIGZvbnRTdHVmZig3MDApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2QmFySGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS43NXJlbTtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAtJG5hdkJhckhlaWdodDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJG5hdkJhckhlaWdodCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRuYXZCYXJIZWlnaHQgc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0kbmF2QmFySGVpZ2h0O1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRuYXZCYXJIZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJG5hdkJhckhlaWdodCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz4xNDAwcHgnKXtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbmF2QmFySGVpZ2h0ICsgJG5hdlNwYWNpbmc7XG4gICAgICAgICAgcGFkZGluZzogMCAzcmVtO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkbmF2QmFySGVpZ2h0ICsgJG5hdlNwYWNpbmcgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0ICsgJG5hdlNwYWNpbmcgc29saWQgJGJsYWNrO1xuICAgICAgICAgICAgbGVmdDogLSRuYXZCYXJIZWlnaHQgLSAkbmF2U3BhY2luZztcbiAgICAgICAgICB9XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRuYXZCYXJIZWlnaHQgKyAkbmF2U3BhY2luZyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRuYXZCYXJIZWlnaHQgKyAkbmF2U3BhY2luZyBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICByaWdodDogLSRuYXZCYXJIZWlnaHQgLSAkbmF2U3BhY2luZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfSAvLyBhIC0gbGlua1xuXG4gICAgICAubWVudSB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3JEYXJrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2Fycm93LXJpZ2h0LWNyaW1zb24ucG5nJykgbm8tcmVwZWF0IDAgNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDE1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFN1Ym1lbnUncyBhcmUgaGlkZGVuIGJ5IGRlZmF1bHQuXG4gICAgLy8gQ2xpY2tpbmcgYSBwYXJlbnQgbWVudSdzIGxpbmsgd2lsbCBhZGQgYW4gZXhwYW5kIGNsYXNzIG9uIHRoZSBwYXJlbnQgbWVudVxuICAgIC8vIGFzIHdlbGwgYXMgdGhlIGNoaWxkcyBtZW51XG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5wYXJlbnQge1xuXG4gICAgICAvLyBUaGUgY2hpbGQgbWVudSBpcyBoaWRkZW4gYnkgZGVmYXVsdCBhbmQgdGFrZXMgb3ZlciB3aGVuIGV4cGFuZGVkXG4gICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBsYXllclxuICAgICAgLm1lbnUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxcywgdHJhbnNmb3JtIDAuMXMgZWFzZS1vdXQ7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDExO1xuXG4gICAgICAgICYuZXhwYW5kIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICBAaW5jbHVkZSBjbGVhckZpeDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjQwLDIzNSwyMzIsMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMTAwJSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMXB4IDNweCAxMXB4IDRweCByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMzUwcHg7XG4gICAgICAgICAgcGFkZGluZzogMnJlbSAxLjI1ZW0gMS4yNWVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDExMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgLnRvb2xiYXItZml4ZWQgJiB7XG4gICAgICAgICAgICB0b3A6IDIwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLy8vIGxvZ2dlZCBpbiB3aXRoIHRyYXktb3BlblxuICAgICAgICAgIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICAgICAgICAgIHRvcDogMjAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAvL0BpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgIC8vICB0b3A6IDExMXB4ICsgJG5hdlNwYWNpbmc7XG4gICAgICAgIC8vICAudG9vbGJhci1maXhlZCAmIHtcbiAgICAgICAgLy8gICAgdG9wOiAxNjFweCArICRuYXZTcGFjaW5nO1xuICAgICAgICAvLyAgfVxuICAgICAgICAvLyAgLy8gbG9nZ2VkIGluIHdpdGggdHJheS1vcGVuXG4gICAgICAgIC8vICAudG9vbGJhci10cmF5LW9wZW4gJiB7XG4gICAgICAgIC8vICAgIHRvcDogMjAwICsgJG5hdlNwYWNpbmc7XG4gICAgICAgIC8vICB9XG4gICAgICAgIC8vfVxuXG4gICAgICAgID4uYmFjay10by1tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodGVyO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheUxpZ2h0O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnBhcmVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGVkZWQ5O1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnLi4vaW1nL2Fycm93LWRvd24tY3JpbXNvbi5wbmcnKSBuby1yZXBlYXQgOTglIDUwJTtcbiAgICAgICAgICAgICAgY29sb3I6ICRjcmltc29uO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBmb250U3R1ZmYoOTAwKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxLjVlbSAxZW07XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltZy9hcnJvdy1yaWdodC1jcmltc29uLnBuZycpIG5vLXJlcGVhdCA3cHggMzElO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5iYWNrLXRvLW1lbnUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMCB1cmwoJy4uL2ltZy93aGl0ZS13ZWRnZS5zdmcnKSBuby1yZXBlYXQgMTRweCA0OS41JTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRoaXMgaXMgdGhlIHN1Yi1jaGlsZCBtZW51ID8gdGhhdCBkaXNwbGF5cyBsaWtlIGEgbm9ybWFsIGxpc3QgYW5kXG4gICAgICAgIC8vIGRvZXNuJ3QgdGFrZSBvdmVyIHRoZSB3aG9sZSBtZW51IHN5c3RlbVxuICAgICAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgLnBhcmVudCB7XG4gICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgICAgIC5iYWNrLXRvLW1lbnUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgICAmLmV4cGFuZCB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgLy8gT3ZlcnZpZXcgbGluayBpcyBvbmx5IHZpc2libGUgb24gbW9iaWxlXG4gICAgICAgICAgICAgICYub3ZlcnZpZXctbGluayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckRhcms7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC43NWVtIDEuMjVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWcvYXJyb3ctcmlnaHQtY3JpbXNvbi5wbmcnKSBuby1yZXBlYXQgOHB4IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggMTVweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC42ZW0gMS41ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIHN1Yi1jaGlsZFxuXG4gICAgICB9XG5cbiAgICAgIC8vIE1ha2UgdGhlIHRvcGljIGFuZCBhYm91dCBtZW51IGEgY29sdW1uXG4gICAgICAmLnRvcGljcywgJi5hYm91dCB7XG4gICAgICAgIC5tZW51IHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogJG5hdkJhckhlaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgLnRvb2xiYXItZml4ZWQgJiB7XG4gICAgICAgICAgICAgIC8vIHRvcDogODhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGxvZ2dlZCBpbiB3aXRoIHRyYXktb3BlblxuICAgICAgICAgICAgLnRvb2xiYXItdHJheS1vcGVuICYge1xuICAgICAgICAgICAgICAvLyB0b3A6IDg4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgICAgICB0b3A6ICRuYXZCYXJIZWlnaHQgKyAkbmF2U3BhY2luZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50b3BpY3Mge1xuICAgICAgICAubWVudSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgIGxlZnQ6IDgzcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgICAgICBsZWZ0OiA5MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnhsJykge1xuICAgICAgICAgICAgbGVmdDogMTI3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWJvdXQge1xuICAgICAgICAubWVudSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICAgICAgbGVmdDogNzM0cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+eGwnKSB7XG4gICAgICAgICAgICBsZWZ0OiA4MTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50YWtlLWFjdGlvbntcbiAgICAgICAgLm1lbnV7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNDRweDtcbiAgICAgICAgICAgIGxlZnQ6IDM3OXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNYWtlIHRoZSBhYm91dCBtZW51IGNvbHVtbnMgYmlnZ2VyXG4gICAgICAvLyBSRU1PVkVEIFRISVMgV0hFTiBXRSBNQURFIFRIRSBBQk9VVCBNRU5VIEEgTk9STUFMIE1FTlUgLSBKQ1xuICAgICAgLy8gJi5hYm91dCB7XG4gICAgICAvLyAgIC5tZW51IHtcbiAgICAgIC8vICAgICAucGFyZW50IHtcbiAgICAgIC8vICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAvLyAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAvLyAgICAgICB9XG4gICAgICAvLyAgICAgfVxuICAgICAgLy8gICB9XG4gICAgICAvLyB9XG5cbiAgICAgIC8vIEZvciB0aGUgdGFibGV0IGFuZCB1cCB3ZSBhcmUgZ29pbmcgdG8gYWRqdXN0IHRoaXMgb24gaG92ZXIgYW5kIG92ZXJyaWRlXG4gICAgICAvLyB0aGUgZGVmYXVsdHNcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gcGFyZW50XG5cbiAgfSAvLyBtYWluXG5cbn0gLy8gbWVudVxuXG5cblxuXG4iLCIuYnJlYWRjcnVtYnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGxlZnQ6IDFlbTtcbiAgdG9wOiA4NXB4O1xuICAuaGFzLWhlcm8gJiB7XG5cbiAgICAvL0BpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgLy8gIGxlZnQ6IDE4cHg7XG4gICAgLy8gIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHRvcDogMjAwcHg7XG4gICAgICByaWdodDogMTJweDtcbiAgICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHRvcDogMjkwcHg7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAubm8taGVybyAmIHtcbiAgICBsZWZ0OiAxZW07XG4gICAgdG9wOiA3OHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgdG9wOiAxNzVweDtcbiAgICB9XG4gIH1cbn1cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiAwO1xuXG4gIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsaSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBjb2xvcjogJGNyaW1zb247XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnIC8gJztcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIC5uby1oZXJvICYge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0gLy8gYnJlYWRjcnVtYlxuIiwiLyoqXG4gKiBIZXJvIGNvbnRlbnQgaXMgYmFzaWNhbGx5IHRoZSBwYWdlIHRpdGxlIG9uIHBhZ2VzIHdpdGggaGVybyBkaXZzXG4gKiBUaGUgbmVzdGluZyBpcyBhbGwgd2hhY2sgc28gd2UgaGF2ZSB0byBwb3NpdGlvbiBhYnNvbHV0ZSB0aGUgc3R1ZmZcbiAqL1xuXG4uaGFzLWhlcm8ge1xuICAmLnBhdGgtZnJvbnRwYWdle1xuICAgIC5oZXJvLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgICAgbWFyZ2luOiAxMXJlbSAwIDAgMDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz4xODgwcHgnKSB7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICB9XG5cbiAgICAgICYudG9vbGJhci1ob3Jpem9udGFsIC5oZXJvLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgICAgbWFyZ2luOiAxNHJlbSAwIDAgMDtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgIH1cbiAgfVxuICAubWFpbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmhlcm8tY29udGVudCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBsZWZ0OiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDBweDtcbiAgICAmLm1hYy1vcy14e1xuICAgICAgdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgIG1lZGlhKCc8bGcnKXtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgbWFyZ2luOiA5cmVtIDAgMCAwO1xuICAgICAgd2lkdGg6IDY4JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTIwJTtcbiAgICAgIG1hcmdpbjogMTRyZW0gMCAwIDA7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+MTg4MHB4Jykge1xuICAgICAgd2lkdGg6IDM1JTtcbiAgICB9XG5cbiAgICAmLnRvb2xiYXItaG9yaXpvbnRhbCAuaGVyby1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PWxnJykge1xuICAgICAgICBmb250LXNpemU6IDEyMCU7XG4gICAgICAgIG1hcmdpbjogMTRyZW0gMCAwIDA7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDZweCByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz54bCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjdlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuIiwiLy8gSSBicm9rZSB0aGlzIG91dCBiZWNhdXNlIGl0IGdvdCBzdXBlciBjb25mdXNpbmcgd2l0aCBhbGwgdGhlIG92ZXJyaWRlcyBmb3Jcbi8vIGRpZmZlcmVudCBjaXJjdW1zdGFuY2VzIC0gSkNcbi8vXG4vLyBIZXJvIGNvbnRlbnQ6ICAgY29uc2lkZXJlZCBoYXZpbmcgYSBoZXJvLWNvbnRlbnQgYW5kIGRvZXMgYWxsIHRoZSBncm9zc1xuLy8gICAgICAgICAgICAgICAgIGFic29sdXRlIHBvc2l0aW9uaW5nIHN0dWZmXG4vLyBXaXRob3V0IGhlcm86ICAgY29uc2lkZXJlZCBhbnl0aGluZyB3aXRoIHRoZSB0YW4gYmFyXG4vLyBQZW9wbGUgcHJvZmlsZTogcGVyc29uIHByb2ZpbGUgcGFnZSBzcGVjaWZpY3Ncbi8vXG5AaW1wb3J0ICdoZWFkZXJzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2hlYWRlcnMvaGVyby1jb250ZW50JztcblxuLy8gVGVzdGluZ1xuLmF0LXJlc3Atc2hhcmUtZWxlbWVudCAuYXQtc2hhcmUtYnRuOmZvY3VzLFxuLmF0LXJlc3Atc2hhcmUtZWxlbWVudCAuYXQtc2hhcmUtYnRuOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogUGFnZXMgd2l0aG91dCBhIGhlcm8gaGF2ZSB0aGUgc3RhbmRhcmQgdGFuIGJhciB3aXRoIHRoZSByaWdodCB0cmlhbmdsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLm5vLWhlcm8ge1xuXG4gIC8vIFRoaXMgaXMgcHVyZWx5IHZpc3VhbCBzbyB3ZSBjYW4ga2VlcCB0aGUgY29udGVudCBpbiB0aGUgbm9ybWFsIHBhZ2UgZmxvd1xuICAudGFuLWJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgei1pbmRleDogMDtcbiAgICAuYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YW5MaWdodDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBzcGFuLnRyaWFuZ2xlIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0YW5MaWdodDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgJi50MiB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjcmltc29uO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLypcbiAgICogUGFnZSB0aXRsZSBibG9jayB2ZXJzaW9uOiBzdHlsZXMgdGhlIHRhbiBiYXIgYmFja2dyb3VuZCBvbiB0aGUgcGFnZSB0aXRsZVxuICAgKiBibG9jayBvbmx5LlxuICAgKiBUaGlzIHNob3VsZCBwcm9iYWJseSBnbyBhd2F5IGFuZCB3ZSB1c2UgVG9yeSdzIG5ldyBwYWdlLXRpdGxlLWJhciBhcyBpdCdzXG4gICAqIGJldHRlciwgYW5kIGhhcyB0aGUgYnJlYWRjcnVtYnMgd2hlcmUgdGhleSBzaG91bGQgYmUuXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKi9cbiAgLmJsb2NrLnBhZ2UtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgLy8gMzg1IC8gMzM2MVxuICAgIGgxIHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMCAxLjVyZW0gMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBZb3UgY2FuIGRlbGV0ZSB0aGlzIGNodW5rIG9uY2UgaXQncyBhbGwgc2V0IF5cblxuICAvKlxuICAgKiBQYWdlIHRpdGxlIGJhciB2ZXJzaW9uOiBzdHlsZXMgdGhlIHRhbiBiYXIgYmFja2dyb3VuZCBvbiBhIHdyYXBwZXIgZGl2XG4gICAqIGNvbnRhaW5pbmcgcGFnZSB0aXRsZSwgYnJlYWRjcnVtYiwgYW5kIG90aGVyIGZpZWxkcyBwdWxsZWQgZnJvbSBub2RlLlxuICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICovXG4gIC5wYWdlLXRpdGxlLWJhciB7XG4gICAgQGluY2x1ZGUgY2xlYXJGaXg7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICBwYWRkaW5nOiAuNWVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgZGl2IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUtY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAuNWVtIDAgMWVtIDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBmb250LXNpemU6IC43ZW07XG4gICAgICAgIHBhZGRpbmc6IC41ZW0gMCAxZW0gMjEwcHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgcGFkZGluZzogLjVlbSAwIDFlbSAyNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5maWVsZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC8vIGNpcmNsZSBhdXRob3IgdGhpbmd5XG4gICAgQGluY2x1ZGUgaW1nUmluZ2VkKDIwMHB4LCAxOThweCwgJHdoaXRlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC05cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIEBpbmNsdWRlIGltZ1JpbmdlZCgyNTBweCwgMjQ4cHgsICR3aGl0ZSkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgLy8gcGFnZS10aXRsZS1iYXIgZGVmYXVsdFxuXG59XG5cbi8vIG5vLWhlcm8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uZmllbGQtLW5hbWUtYm9keSB7XG5cbiAgLy8gQHNlZSBodHRwczovL3Rhb3RpLnRlYW13b3JrLmNvbS8jL3Rhc2tzLzEzMjc0ODMwP2M9NTI4NDQwMiZcbiAgYSwgYSBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEBzZWUgaHR0cHM6Ly90YW90aS50ZWFtd29yay5jb20vI3Rhc2tzLzEzMjc0NjM2XG4gIGgyIHtcbiAgICBtYXJnaW46IDIuNXJlbSAwIDAgMDtcbiAgfVxuXG4gIGgxLCBoMixcbiAgaDMsIGg0LFxuICBoNSwgaDYge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICBhLCBhIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuYXJ0aWNsZS50ZWFzZXIsXG5hcnRpY2xlLmZlYXR1cmVkLXNpZGViYXIge1xuICBjb2xvcjogJGdyYXk7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuXG4gIGg1IHtcbiAgICBtYXJnaW46IC41cmVtIDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gIHVsLnRvcGljcyB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwIC41cmVtIDAgMDtcbiAgICB9XG4gIH1cbn1cblxubWFpbiAub3ZlcmxpbmUsIHAub3ZlcmxpbmUsIC5vdmVybGluZSB7XG4gIGNvbG9yOiAkZ3JheUxpZ2h0O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbm1haW4gdWwuaW5saW5lLnRvcGljcyxcbm1haW4gdWwuaW5saW5lLmlzc3VlcyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJywgJztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbnVsLnRvcGljcywgdWwuaXNzdWVzIHtcbiAgYSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG5tYWluIHVsLmlubGluZS50b3BpY3Mge1xuICBjbGVhcjogbGVmdDtcbn1cblxubWFpbiB1bC5pbmxpbmUuaXNzdWVzIHtcbiAgY2xlYXI6IHJpZ2h0O1xufVxuXG4udG9waWMtaXNzdWUtc2VwYXJhdG9yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbn1cblxuLnNoYXJlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG5cbiAgaDYge1xuICAgIGNvbG9yOiAkZ3JheUxpZ2h0O1xuICB9XG5cbn1cblxuLypcbiAqIFBlcnNvbiBkZXRhaWxcbiAqIEBzZWUgbGF5b3V0LS1jb250ZW50LWRldGFpbC0tbm9kZS1wZXJzb24tZnVsbC5odG1sLnR3aWdcbiAqL1xuLm5vZGUtLXR5cGUtcGVyc29uLm5vZGUtLXZpZXctbW9kZS1mdWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgfVxuXG4gIC5wYWdlLXRpdGxlLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMjJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI4MnB4O1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tbmFtZS1maWVsZC1wcm9mZXNzaW9uYWwtdGl0bGUge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIC5zb2NpYWwge1xuICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICB9XG5cbiAgICAuc29jaWFsLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1saW5rIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICYgKyAuc29jaWFsLWxpbmsge1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIGNyaW1zb247XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmV4cGVydGlzZSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxcmVtIDFyZW0gLTFyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFuTGlnaHQ7XG5cbiAgICAuZXhwZXJ0aXNlLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkdGVhbDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZXctY29udGVudC1hdXRob3JlZCB7XG5cbiAgICAubm9kZS0tdmlldy1tb2RlLWF1dGhvcmVkLWl0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtaW1hZ2Uge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtLW5hbWUtYm9keSB7XG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFkZHRoaXNfaW5saW5lX3NoYXJlX3Rvb2xib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICB9XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG4ucmVsYXRlZC1jb250ZW50IHtcbiAgaDUge1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLypcbiAqIEV2ZW50IGRldGFpbFxuICogQHNlZSBsYXlvdXQtLWNvbnRlbnQtZGV0YWlsLS1ub2RlLWV2ZW50LWZ1bGwuaHRtbC50d2lnXG4gKi9cbi5ub2RlLS10eXBlLWV2ZW50Lm5vZGUtLXZpZXctbW9kZS1mdWxsIHtcblxuICAuZmllbGQtLW5hbWUtZmllbGQtcmVnaXN0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuYnRuIHtcbiAgICAvLyB3aHkgYXJlIGFsbCBidXR0b25zIGZsb2F0ZWQgbGVmdD8hXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgPiAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICB9XG5cbiAgLmNvbCB7XG4gICAgLy8gU2VlIGNvbW1lbnRzIGluIGh0dHBzOi8vdGFvdGkudGVhbXdvcmsuY29tLyMvdGFza3MvMTMyMzY5MTZcbiAgICAvL2Zsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDFlbSAxZW0gMDtcbiAgICAmLnNwYW4tOCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMmVtIDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMmVtIDJlbSAwO1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgfVxuICAgICAgLmZpZWxkLS1uYW1lLWJvZHkge1xuICAgICAgICAudGV4dC1hbGlnbi1sZWZ0IHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dC1hbGlnbi1jZW50ZXIge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luOiAwIDFlbSAuMjVlbSAwO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc3Bhbi00IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyZW0gMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAyZW0gMmVtIDJlbTtcbiAgICAgICAgd2lkdGg6IDM4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtZGF0ZS1yYW5nZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgIH1cblxuICAgIC8qIEV2ZW50IHNwYW5uaW5nIG11bHRpcGxlIGRheXMgaW5jbHVkZXMgdGhlc2UgZWxlbWVudHM6ICovXG4gICAgdGltZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEV2ZW50IG9uIGEgc2luZ2xlIGRheSBpbmNsdWRlcyB0aGVzZSBlbGVtZW50czogKi9cbiAgICB0aW1lLmRhdGUtZGF5IHtcblxuICAgIH1cblxuICAgIHRpbWUudGltZS1zdGFydCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIC8vIENvbW1lbnRpbmcgdGhpcyB0byBtYWludGFpbiBjb25zaXN0ZW5jeSBcblxuICAgICAgLy8mOmJlZm9yZSB7XG4gICAgICAvLyAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICAvLyAgICBjb2xvcjogJGdyYXk7XG4gICAgICAvLyAgICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICAgICAgLy8gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gICAgcGFkZGluZzogMCAuNWVtIDAgLjJlbTtcbiAgICAgIC8vICB9XG4gICAgICAvL31cbiAgICB9XG5cbiAgICB0aW1lLnRpbWUtZW5kIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKiBUaGUgc2VwYXJhdG9yIGlzIGJldHdlZW4gc3RhcnQgYW5kIGVuZCB0aW1lcyBvciBkYXRlL3RpbWVzICovXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuZmllbGQtLW5hbWUtZmllbGQtdHlwZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAmLmhhcy1kYXRlIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgICAgICBjb2xvcjogJGdyYXk7XG4gICAgICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAuNWVtIDAgLjJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIEBzZWUgYWRkcmVzcy1wbGFpbi5odG1sLnR3aWdcbiAgICovXG4gIC5hZGRyZXNzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkZ3JheUxpZ2h0O1xuICB9XG5cbiAgLypcbiAgICogQHNlZSBub2RlLS1wZXJzb24tLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIuaHRtbC50d2lnXG4gICAqL1xuICAubm9kZS0tdHlwZS1wZXJzb24ubm9kZS0tdmlldy1tb2RlLWV2ZW50LWZlYXR1cmVkLXNwZWFrZXIge1xuXG4gICAgQGluY2x1ZGUgaW1nUmluZ2VkKDIzMHB4LCAyMjhweCwgJHdoaXRlKSB7XG4gICAgICAvLyBQdXNoIHVwIHRvIG92ZXJsYXAgcGFnZSB0aXRsZSBiYXJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTUwcHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtc3BlYWtlci1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAxcmVtIDAgMC41cmVtIDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIH1cblxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1wcm9mZXNzaW9uYWwtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBAc2VlIGZpZWxkLS1ub2RlLS1maWVsZC1hZGRpdGlvbmFsLXNwZWFrZXJzLS1ldmVudC5odG1sLnR3aWdcbiAgICovXG4gIC5maWVsZC0tbmFtZS1maWVsZC1hZGRpdGlvbmFsLXNwZWFrZXJzIHtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gICAgLmFkZGl0aW9uYWwtc3BlYWtlcnMtaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuXG4gICAgLmZpZWxkX19pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuXG4gIH1cblxuICAvKlxuICAgKiBTY2hlZHVsZSB0YWJsZVxuICAgKiBAc2VlIGZpZWxkLS1maWVsZC1ldmVudC1zY2hlZHVsZS5odG1sLnR3aWdcbiAgICogICAgICBwYXJhZ3JhcGgtLWV2ZW50LXNjaGVkdWxlLWl0ZW0uaHRtbC50d2lnXG4gICAqICAgICAgZmllbGQtLWZpZWxkLWl0ZW0tZGF0ZS10aW1lLmh0bWwudHdpZ1xuICAgKi9cbiAgLmJvdHRvbSB7XG4gICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWU0ZGU7XG4gICAgcGFkZGluZzogM2VtIDA7XG5cbiAgICAmLnJlc291cmNlcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICB0aGVhZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICB9XG4gICAgICB0aGVhZCB0ciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICB0aC5kYXRlLCB0ZC5kYXRlIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIH1cbiAgICAgIHRoLnRpbWUsIHRkLnRpbWUge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMXJlbSAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgfVxuICAgICAgdGguZGVzY3JpcHRpb24sIHRkLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMDtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIH1cblxuICAgICAgdGQuZGVzY3JpcHRpb24ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC50b2dnbGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMWVtO1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWV2ZW50LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAxZW07XG4gICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgLW8tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZTRkZTtcblxuICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2RkY2E7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRjcmltc29uO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJlc291cmNlcyB7XG4gICAgICAgIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAgIHNwYW4uZmlsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRkLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICBzcGFuLmZpbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMCAuNWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ci5leHBhbmRlZCB7XG5cbiAgICAgICAgdGQuZGF0ZSwgdGQudGltZSwgdGQuZGVzY3JpcHRpb24gLmZpZWxkLS1uYW1lLWZpZWxkLWV2ZW50LWl0ZW0tdGl0bGUge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQuZGVzY3JpcHRpb24ge1xuICAgICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1ldmVudC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5tb3JlIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuIiwiXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGJvcmRlcjogc29saWQgM3B4ICRncmF5TGlnaHQ7XG4gIGNvbG9yOiAkZ3JheURhcms7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgaGVpZ2h0OiAkYnV0dG9uSGVpZ2h0O1xuICBwYWRkaW5nOiAwIC41cmVtO1xuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgY29sb3I6ICRncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6ICRncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cbiAgICBjb2xvcjogJGdyYXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cbiAgICBjb2xvcjogJGdyYXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dC5idG4ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbmJ1dHRvbiB7XG4gICYuYmxhbmstYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuICAmLmNsb3NlLWJ0biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNyaW1zb247XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSA1MCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6ICRjcmltc29uO1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgbGVmdDogLTRweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgIH1cbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGNyaW1zb24sIDEwJSk7XG4gICAgfVxuICB9XG59XG5cbi5idG4ge1xuICBAaW5jbHVkZSBmb250U3R1ZmYoNzAwKTtcblxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC1zaXplOiAkZm9udFNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAkb3JhbmdlO1xuICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMnJlbSAwIDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6ICRidXR0b25IZWlnaHQ7XG4gIG1hcmdpbjogMCA1cmVtIDAgMDtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG9yYW5nZSwgMTAlKTtcbiAgICAudHJpYW5nbGUudDEge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRvcmFuZ2UsIDEwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5vcmFuZ2Uge1xuXG4gIH1cblxuICAmLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRvcmFuZ2UgIWltcG9ydGFudDtcblxuICAgIHNwYW4udHJpYW5nbGUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHdoaXRlO1xuXG4gICAgICAmLnQyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdyYXlMaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkd2hpdGUsIDUlKTtcbiAgICAgIC50cmlhbmdsZS50MSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkd2hpdGUsIDUlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnRlYWwge1xuICAgIGJhY2tncm91bmQ6ICR0ZWFsO1xuICAgIHNwYW4udHJpYW5nbGUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRlYWw7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkdGVhbCwgMzAlKTtcbiAgICAgIC50cmlhbmdsZSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGxpZ2h0ZW4oJHRlYWwsIDMwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ibGFjayB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gICAgc3Bhbi50cmlhbmdsZSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICYudDIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZ3JheUxpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkYmxhY2ssIDMwJSk7XG4gICAgICAudHJpYW5nbGUudDEge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBsaWdodGVuKCRibGFjaywgMzAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4uYWN0aW9ucyB7XG4gIEBpbmNsdWRlIGNsZWFyRml4O1xuICBwYWRkaW5nOiAwIDAgMnJlbSAwO1xufVxuXG4uZm9ybS0taW5saW5lIHtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTtcblxuICBzZWxlY3Qge1xuICAgIGNvbG9yOiAkdGVhbDtcbiAgfVxuXG4gIC5mb3JtLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgfVxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbn1cblxuLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gIC52aWV3LWJ0bi1jb250YWluZXJ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogMCA1cmVtIDAgMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIC50cmlhbmdsZS50MSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkb3JhbmdlLCAxMCUpO1xuICAgICAgfVxuICAgIH1cbiAgICAudHJpYW5nbGUudDE6aG92ZXIgKyAuZm9ybS1zdWJtaXR7XG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oJG9yYW5nZSwgMTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLndGb3JtQ29udGFpbmVye1xuICBmb3Jte1xuICAgIC5vbmVDaG9pY2V7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl17XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLypTRUxFQ1QgRk9STSBTVFlMRVMqL1xuLnMtaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTpoaWRkZW47XG4gIHBhZGRpbmctcmlnaHQ6MTBweDtcbn1cbi5zZWxlY3Qge1xuICBjdXJzb3I6cG9pbnRlcjtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiBzb2xpZCAzcHggI0I5QjFCMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIC41cmVtO1xufVxuLnN0eWxlZFNlbGVjdCB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6MDtcbiAgcmlnaHQ6MDtcbiAgYm90dG9tOjA7XG4gIGxlZnQ6MDtcbiAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgcGFkZGluZzo2cHggMTBweCAwO1xuICBmb250LXdlaWdodDpib2xkO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9jZmVkL2ltZy9zZWxlY3QtYXJyb3cucG5nKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzQ4cHggLTFweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBjb2xvcjogZ3JleTtcbn1cblxuLnN0eWxlZFNlbGVjdDphY3RpdmUsIC5zdHlsZWRTZWxlY3QuYWN0aXZlIHtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiNlZWU7XG59XG4ub3B0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDYlO1xuICByaWdodDogLTNweDtcbiAgbGVmdDogLTNweDtcbiAgei1pbmRleDogOTk5O1xuICBtYXJnaW46IDAgMDtcbiAgcGFkZGluZzogMCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCByZ2IoMjIyLCAyMDQsIDE5Nik7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCByZ2IoMjIyLCAyMDQsIDE5Nik7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLm9wdGlvbnMgbGkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmNmYzO1xuICBtYXJnaW46IDAgMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBmb250LXdlaWdodDogMTAwO1xuICBjb2xvcjogJGJsYWNrO1xufVxuLm9wdGlvbnMgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ3ZTJkO1xufVxuIiwiXG4uYnRuLXJpbmdlZCB7XG4gICRyaW5nLWRpbWVuc2lvbjogNDhweDtcbiAgJHJpbmctY29sb3I6ICR0ZWFsO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRyaW5nLWRpbWVuc2lvbjtcbiAgaGVpZ2h0OiAkcmluZy1kaW1lbnNpb247XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLmdyYXkge1xuICAgIC5jaXJjbGUge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlMaWdodDtcbiAgICB9XG4gICAgLnJpbmcge1xuICAgICAgZmlsbDogJGdyYXlMaWdodDtcbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC53ZWRnZSB7XG4gICAgd2lkdGg6ICgkcmluZy1kaW1lbnNpb24gLyA0KTtcbiAgICBmaWxsOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAoJHJpbmctZGltZW5zaW9uIC8gMykgLSAyO1xuICAgIGxlZnQ6ICgkcmluZy1kaW1lbnNpb24gLyAzKSArIDE7XG4gIH1cbiAgICAmLmxlZnQgLndlZGdlIHtcblxuICAgIH1cblxuICAgICYucmlnaHQgLndlZGdlIHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZSgxODApO1xuICAgICAgbGVmdDogKCRyaW5nLWRpbWVuc2lvbiAvIDIpIC0gNDtcbiAgICB9XG5cbiAgICAmLmRvd24gLndlZGdlIHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZSgtOTApO1xuICAgICAgbGVmdDogKCRyaW5nLWRpbWVuc2lvbiAvIDIpIC0gNTtcbiAgICB9XG5cbiAgICAmLnVwIC53ZWRnZSB7XG4gICAgICBAaW5jbHVkZSByb3RhdGUoOTApO1xuICAgICAgbGVmdDogKCRyaW5nLWRpbWVuc2lvbiAvIDIpIC0gNTtcbiAgICB9XG5cbiAgLmNpcmNsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAoJHJpbmctZGltZW5zaW9uIC0gOHB4KTtcbiAgICBoZWlnaHQ6ICgkcmluZy1kaW1lbnNpb24gLSA4cHgpO1xuICAgIGJhY2tncm91bmQ6ICRyaW5nLWNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogNHB4O1xuICAgIGxlZnQ6IDRweDtcbiAgfVxuXG4gIC5yaW5nIHtcbiAgICB3aWR0aDogJHJpbmctZGltZW5zaW9uO1xuICAgIGhlaWdodDogJHJpbmctZGltZW5zaW9uO1xuICAgIGZpbGw6ICRyaW5nLWNvbG9yO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbXMge1xuICBAaW5jbHVkZSBjbGVhckZpeDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIiRzdG9yeS1iYW5rLWhlaWdodDogNjAwcHg7XG5cbmJvZHkucGF0aC1mcm9udHBhZ2Uge1xuXG4gIG1haW4gLmNvbnRhaW5lciB7XG4gICAgLy8gbWFyZ2luLWJvdHRvbTogNnJlbTtcbiAgfVxuXG4gIC8vIEFkbWluJ3MgQ01TIGxpbmtzIHRvIGVkaXQvZGVsZXRlL3doYXRldmVyIHN0dWZmLi4udHJ5IHRvIGtlZXAgdGhhdCBmcm9tIGJyZWFraW5nIG90aGVyIHBvc2l0aW9uZWQgc3R1ZmYuXG4gIC8vIC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gIC8vICAgcG9zaXRpb246IHN0YXRpYztcbiAgLy8gfVxuXG4gIGg2IHtcbiAgICBjb2xvcjogJGdyYXlMaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLmJveCB7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgYmFja2dyb3VuZDogI2YxZGRkMztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG5cbiAgICBAaW5jbHVkZSByb3RhdGUoMzApO1xuICB9XG5cblxuICAucm93e1xuICAgICYuZXhwZXJ0LWJsb2Nre1xuICAgICAgcGFkZGluZzogMCAwIDNlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKXtcbiAgICAgICAgcGFkZGluZzogMmVtIDFlbSA2ZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJyl7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgICAuY29sIHtcbiAgICAgICAgJi5zcGFuLTMge1xuICAgICAgICAgICYuZXhwZXJ0LW1vZHVsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMmVtIDAgMzBweDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz42MjVweCcpIHtcbiAgICAgICAgICAgICAgLmltYWdle1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjMwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBoNHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDc2OHB4Jykge1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5hdXRob3J7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAuYnlsaW5le1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+OTgwcHgnKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAyZW0gYXV0byAzMHB4O1xuICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgIHdpZHRoOiAyMy41JTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIyMHB4O1xuICAgICAgICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGg0e1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5hdXRob3J7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAycmVtIDJyZW07XG4gICAgICAgICAgICAgICAgLmJ5bGluZXtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXV0aG9yICB7XG4gICAgICAgICAgICAgIC5pbWctcmluZ2VkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjEzMDBweCcpe1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IC03MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uZWVkLXRvLWtub3cge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz45ODBweCcpe1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCA4ZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpe1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgcGFkZGluZzogMmVtIDFlbSA2ZW07XG4gICAgICAgIH1cblxuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuICB9XG5cblxuXG4gICYudG9vbGJhci1ob3Jpem9udGFsIC5leHBlcnQge1xuICAgIG1hcmdpbi10b3A6IC0yODBweDtcbiAgfVxuXG5cbiAgLmZlYXR1cmVkIHtcbiAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E5MWIyMTtcbiAgICAkZmVhdHVyZWQtaGVpZ2h0OiA1NzVweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgIGhlaWdodDogJGZlYXR1cmVkLWhlaWdodDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCgnPmxnJykpe1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIH1cblxuICAgIC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cblxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmNvbCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgJi5zcGFuLTUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDQwLjUlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNwYW4tNyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogNTcuNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg2LCBoNSwgcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgICAvL2ZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICAgIGg2IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz44OTBweCcpIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTJyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnZpZXctZGlzcGxheS1pZC1ibG9ja19mZWF0dXJlZHtcbiAgICAgICAgLnZpZXctY29udGVudHtcbiAgICAgICAgICA+ZGl2e1xuICAgICAgICAgICAgPnB7XG4gICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLWJsZW5kZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAgIHdpZHRoOiAxOTUwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNhOTFiMjE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6ICRmZWF0dXJlZC1oZWlnaHQ7XG4gICAgICAgIGxlZnQ6IC0xMTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6ICRmZWF0dXJlZC1oZWlnaHQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmV2ZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGdyYXlEYXJrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC03NXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPjg5MHB4Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTY1cHg7XG4gICAgICAgIHdpZHRoOiAzMDIuNjcycHg7XG4gICAgICAgIG1hcmdpbjogMmVtIDFlbSA2ZW07XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHRlYWw7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5kYXRlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0b3A6IDIwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgYS5idG4tcmluZ2VkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB0b3A6IDIwMHB4O1xuXG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgbGVmdDogLTI0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgcmlnaHQ6IC0yNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGg0LCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+ODkwcHgnKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgIGNvbG9yOiAkZ3JheURhcms7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAuYXJ0aWNsZXMsXG4gIC5yZXNvdXJjZXMge1xuICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcbiAgICBwYWRkaW5nOiA0cmVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICBwYWRkaW5nOiA5cmVtIDJyZW07XG4gICAgfVxuXG4gICAgLm92ZXJsaW5lOm50aC1jaGlsZCgxKXtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAub3ZlcmxpbmUge1xuICAgICAgY29sb3I6ICRncmF5TGlnaHQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+NzY4cHgnKXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAmLm92ZXJsaW5le1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYS5tb3JlIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8qQGluY2x1ZGUgbWVkaWEoJz43NjhweCcpe1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9Ki9cbiAgICB9XG5cbiAgICBoNXtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+NzY4cHgnKXtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGVzIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICBwYWRkaW5nOiAxMHJlbSAxNjBweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgIH1cbiAgICAgIGZvbnQtc2l6ZTogMi45ZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmJveCB7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgdG9wOiAtMTAwcHg7XG4gICAgICByaWdodDogLTI2NHB4O1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgIHRvcDogMTAwcHg7XG4gICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgcGFkZGluZzogMCA0cmVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgM3JlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgICAgLy9wYWRkaW5nOiAwIDRlbTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PXNtJykge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWxpc3Qge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMWVtO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLmJ0bi1yaW5nZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzOSU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgIH1cblxuICAgICAgJi5sZWZ0IHtcbiAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgbGVmdDogLTJlbTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICAgIGxlZnQ6IC00ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmlnaHQge1xuICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgcmlnaHQ6IC0yZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgICAgICByaWdodDogLTRlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAucmVzb3VyY2VzIHtcblxuXG4gICAgLmJveCB7XG4gICAgICBoZWlnaHQ6IDI4NnB4O1xuICAgICAgbGVmdDogLTEyMHB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAudmlldy1jb250ZW50e1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICAgLnNwYW4tMzpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAycHggMTFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRvcGljcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz43NjlweCcpe1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgIH1cblxuICAgIC50b3BpY3Mge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICRncmF5O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3RvcnktYmFuayB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQ0NXB4O1xuICAgIC8vcGFkZGluZzogMWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5TGlnaHQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRzdG9yeS1iYW5rLWhlaWdodCAtIDEwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTYwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjRweDtcbiAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAyNHB4O1xuICAgICAgICAgIHRvcDogNTZweDtcbiAgICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgICAgdG9wOiAyNDBweDtcbiAgICAgICAgICB3aWR0aDogNDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgaDYsIGEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBoZWlnaHQ6IDIyNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBoZWlnaHQ6ICRzdG9yeS1iYW5rLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGV4dHVhbC1yZWdpb24ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAubWFzayB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6IDE2NTVweDtcbiAgICAgIGhlaWdodDogMTY1NXB4O1xuICAgICAgYm9yZGVyOiBzb2xpZCAxODVweCAjZjBlYmU4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxlZnQ6IC0xODNweDtcbiAgICAgIHRvcDogLTU3MHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICB3aWR0aDogMjAwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jaXJjbGUge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogJHN0b3J5LWJhbmstaGVpZ2h0O1xuICAgICAgaGVpZ2h0OiAkc3RvcnktYmFuay1oZWlnaHQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0xNzVweDtcbiAgICAgIHJpZ2h0OiAtNTBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgd2lkdGg6ICRzdG9yeS1iYW5rLWhlaWdodCArIDE1MHB4O1xuICAgICAgaGVpZ2h0OiAkc3RvcnktYmFuay1oZWlnaHQgKyAxNTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTI1MHB4O1xuICAgICAgcmlnaHQ6IC0xMjVweDtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAjZmZmZmZmO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gIC5yZXNvdXJjZXN7XG4gICAgLmNvbHtcbiAgICAgICYuc3Bhbi0ze1xuICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAvL0BpbmNsdWRlIG1lZGlhICgnPjU1MHB4Jyl7XG4gICAgICAgICAgd2lkdGg6IDQ3JSAhaW1wb3J0YW50O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAvL31cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpe1xuICAgICAgICAgIHdpZHRoOiAyMi41JSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZChvZGQpe1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhdGgtdG9waWMtaXNzdWUtdGFncyB7XG5cbiAgLy8uZXhwZXJ0IHtcbiAgLy8gIGRpc3BsYXk6IG5vbmU7XG4gIC8vICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAvLyAgICBkaXNwbGF5OiBibG9jaztcbiAgLy8gIH1cbiAgLy99XG5cbn1cblxuXG4vKipcbiAqIEJvdHRvbSB0YWJiZWQgY29udGVudCBsaXN0IHdpdGggY2FyZHMgX2NhcmQuc2NzcyBhbmQgbm9kZS0tY2FyZC5odG1sXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICovXG4ubGF0ZXN0IHtcbiAgYmFja2dyb3VuZDogJGdyYXlMaWdodGVyO1xuICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gIHBhZGRpbmc6IDAgMCAycmVtIDA7XG5cbiAgaDIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLnZpZXcubGF0ZXN0IHtcbiAgQGluY2x1ZGUgY2xlYXJGaXg7XG5cbiAgLnZpZXctZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC52aWV3LWhlYWRlciB7XG4gICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRncmF5TGlnaHQ7XG4gIH1cblxuICAudmlldy1jb250ZW50IC5jb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmOm50aC1jaGlsZCgzbisxKSB7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIGFydGljbGUuaXNzdWUtcGFnZS1zZWN0aW9uLWl0ZW0ge1xuICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgIC5pbWFnZSwgaW1nIHtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gICAgfVxuICB9XG5cblxuICB1bC5maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBjbGVhckZpeDtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMnJlbSAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgIH1cblxuICAgIGxpIHtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQgYSB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgICB3aWR0aDogODMlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBoZWlnaHQ6ICRuYXZCYXJIZWlnaHQ7XG4gICAgICAgICAgd2lkdGg6ICRuYXZCYXJIZWlnaHQgKyA2O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHRlYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogJG5hdkJhckhlaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkdGVhbDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICAgIHdpZHRoOiA4MSU7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLSRuYXZCYXJIZWlnaHQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRuYXZCYXJIZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtJG5hdkJhckhlaWdodDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkbmF2QmFySGVpZ2h0IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRuYXZCYXJIZWlnaHQgc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0ZWFsO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRlYWw7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0ZWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCJcbi8vIFRvcGljcyBwYWdlcyBzdWNoIGFzIC90b3BpY3Mvc2FsZXNcbi5wYXRoLXRvcGljLCAubGF5b3V0LWxhbmRpbmcge1xuXG4gIC5jb2wge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1kJykge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIFJlbW92aW5nIHRoaXMgcGx1cyBzaXplLlxuICAvLyBAc2VlIGh0dHBzOi8vdGFvdGkudGVhbXdvcmsuY29tLyN0YXNrcy8xMzM0NDQ5NFxuICAvKlxuICAubGVhZC1pbiB7XG4gICAgZm9udC1zaXplOiAxLjNlbTtcbiAgfVxuICAqL1xuXG5cbiAgLyoqXG4gICAqIEZlYXR1cmVkIGFydGljbGUgd2l0aCBzdWIgYXJ0aWNsZXNcbiAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAqL1xuICAuZmVhdHVyZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPjk4MHB4Jykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cblxuICAgID4uY29sIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgJi5zcGFuLTkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz45ODBweCcpIHtcbiAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNwYW4tMyB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjk4MHB4Jyl7XG4gICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+MTI4MHB4Jykge1xuICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5leHBlcnQgLmV4cGVydC1tb2R1bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzOTVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGwgaW1hZ2VzIHJlc3BvbnNpdmVcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy8gQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgIC8vICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICAvLyB9XG4gICAgfVxuXG4gICAgLy8gSW4gdGhpcyBzZWN0aW9uIGJpdFxuICAgIC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucyB7XG4gICAgICBtYXJnaW46IDAgMCAxZW0gMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAtMTczcHg7XG4gICAgICAgIHdpZHRoOiAzMjVweDtcbiAgICAgICAgLnRvb2xiYXItdHJheS1vcGVuICYge1xuICAgICAgICAgIHRvcDogLTM0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGFyYWdyYXBoLS10eXBlLS1zZWN0aW9uLW5hdiB7XG4gICAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1pbi10aGlzLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWxpbmtzIHtcbiAgICAgICAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkZ3JheUxpZ2h0ZXIsIDUlKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8qLmZpZWxkX19sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9Ki9cbiAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgIC5maWVsZF9faXRlbXMge1xuICAgICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRncmF5TGlnaHRlciwgNSUpO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gaW4gdGhpcyBzZWN0aW9uXG5cbiAgICA+LmNvbC5zcGFuLTkge1xuICAgICAgcGFkZGluZzogMmVtIDAgMDtcblxuICAgICAgLmZpZWxkLS10eXBlLXRleHQtd2l0aC1zdW1tYXJ5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5TGlnaHRlcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICAgICAgLypcbiAgICAgICAgcHtcbiAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgICAgIH1cbiAgICAgICAgKi9cbiAgICAgIH1cblxuICAgICAgLy8gVGhpcyBpcyB0aGUgZmVhdHVyZWQgYXJ0aWNsZSBhdCB0aGUgdG9wIHdpdGggdGhlIHJlZCBkYXRlIHRoaW5nXG4gICAgICAuYWN0dWFsLWZlYXR1cmVkLWl0ZW0geyBcblxuICAgICAgICBhcnRpY2xlIHtcblxuICAgICAgICAgIC8vcGFkZGluZzogNGVtIDA7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogNGVtIDA7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mZWF0dXJlZC1jb250ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGVhbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJ0aWNsZS1kYXRlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY2lyY2xlRGF0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi53aXRob3V0LWltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIC5hcnRpY2xlLWRhdGUge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPjE0MDBweCcpe1xuICAgICAgICAgICAgICAgICAgbGVmdDogLSAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gZmVhdHVyZWQgYXJ0aWNsZVxuICAgICAgfVxuXG4gICAgICAuc3ViIHtcbiAgICAgICAgbWFyZ2luOiAyZW0gMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbSAxZW0gMWVtIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICAgICAgICBzdmcsIHAgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLmFydGljbGUtZGF0ZSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9IC8vIGZpcnN0LWNvbFxuXG4gIH0gLy8gZmVhdHVyZWRcblxuXG4gIC8qKlxuICAgKiBCaWcgaW1hZ2UgcGFyYWdyYXBoIHNlY3Rpb25zXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKi9cbiAgLnNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jb2wge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG5cbiAgICAucGFyYWdyYXBoLWltYWdlIHtcbiAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIHBhZGRpbmc6IDFlbTtcblxuICAgICAgaDMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICB9XG5cbiAgICAgIGgzLCAuZmllbGQtLXR5cGUtbGluaywgLmZpZWxkX19pdGVtcyB7XG4gICAgICAgIHBhZGRpbmc6IDFlbSAwIDAuNGVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC0tdHlwZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDFlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5sYW5kaW5nLXBhZ2Utc2VjdGlvbi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgICAgIGg0e1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41MWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWN0aW9uLTMge1xuICAgICAgLnBhcmFncmFwaCB7XG4gICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgNGVtIDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW0gMmVtIDFlbSAwO1xuICAgICAgICAgICAgd2lkdGg6IDMyJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn0gLy8gcGF0aC10b3BpYyIsIlxuLmxpc3RpbmctcGFnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxuXG4gIGZvcm0udmlld3MtZXhwb3NlZC1mb3Jte1xuICAgIC5mb3JtLS1pbmxpbmV7XG4gICAgICAuZm9ybS1pdGVte1xuICAgICAgICBtYXJnaW46IDAgMXJlbSAxcmVtIDA7XG4gICAgICAgIHdpZHRoOiA0NCU7XG4gICAgICAgIC5mb3JtLXNlbGVjdHtcbiAgICAgICAgICBjb2xvcjogZ3JleTtcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIC8vYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9jZmVkL2ltZy9zZWxlY3QtYXJyb3cucG5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDM0OHB4IC0xcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG9wdGlvbntcbiAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGY2ZjQ7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mb3JtLWFjdGlvbnN7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxpc3RpbmctcGFnZSAubGlzdCxcbi52aWV3LWNvbnRlbnQgLmxpc3R7XG4gIEBpbmNsdWRlIGNsZWFyRml4O1xuICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICRncmF5TGlnaHRlcjtcbiAgfVxufVxuXG4ubGlzdGluZy1wYWdlIC5mZWF0dXJlZCB7XG5cbiAgLmZhLXJzcyB7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBociB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0ZXI7XG4gIH1cblxuICBoNiB7XG4gICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICB9XG5cdC5maWVsZC0tdHlwZS1lbnRpdHktcmVmZXJlbmNlLXJldmlzaW9ucyB7XG5cdFx0bWFyZ2luOiAwIDAgMWVtIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuXHRcdFx0d2lkdGg6IDMyNXB4O1xuXHRcdH1cblxuXHRcdC5maWVsZF9fbGFiZWwge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0cGFkZGluZzogMWVtIDEuNWVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdFx0LmZpZWxkX19pdGVtIHtcblx0XHRcdC5maWVsZF9faXRlbXMge1xuXHRcdFx0XHQuZmllbGRfX2l0ZW0ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHRlcjtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRncmF5TGlnaHRlciwgNSUpO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDFlbSAxLjVlbTtcblx0XHRcdFx0XHRmb250LXNpemU6IDIycHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuOGVtO1xuXHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9IC8vIGluIHRoaXMgc2VjdGlvbiBMSVNUSU5HIFBBR0Vcbn1cblxuYXJ0aWNsZS5saXN0aW5nLXBhZ2UtaXRlbSB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAudGVybXMge1xuICAgIHdpZHRoOiA2NCU7XG4gICAgY2xlYXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5hZGR0aGlzX2lubGluZV9zaGFyZV90b29sYm94IHtcbiAgICBjbGVhcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICAvL21hcmdpbi10b3A6IC0xMHB4O1xuICAgIHdpZHRoOiAzNiU7XG4gICAgLmF0LXJlc3Atc2hhcmUtZWxlbWVudC5hdC1tb2JpbGUgLmF0LXNoYXJlLWJ0bntcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5jb2wuc3Bhbi04IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgd2lkdGg6IDY0JTtcbiAgICAgICYubm8taW1ne1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvbC5zcGFuLTQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAuNWVtO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgICAgd2lkdGg6IDM0JTtcbiAgICB9XG4gICAgJi5uby1pbWd7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG5hcnRpY2xlLmxpc3RpbmctcGFnZS1mZWF0dXJlZC1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuXG4gIGg1IHtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIH1cbn1cblxudWwucGFnZXIge1xuICBAaW5jbHVkZSBjbGVhckZpeDtcbiAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIC52aWV3LXByb2dyYW0tZGlyZWN0b3J5e1xuICBuYXYucGFnZXJ7XG4gICAgdWx7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAubW9yZS1saW5re1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59IiwiLnBhZ2Utd29ya3BsYWNlLWZpbmFuY2lhbC13ZWxsbmVzcy1zZXJ2aWNlcy1kaXJlY3RvcnktLXByb3NwZXJpdHktbm93e1xuICAuaGVyby1jb250ZW50e1xuICAgIGgxe1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz54bCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjRlbSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAgPiBlbSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIC5jb2wuc3Bhbi04Lmxpc3R7XG4gICAgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIC52aWV3LWhlYWRlcntcblx0XHQ+IGVtIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdH1cbiAgICB9XG4gICAgLnZpZXctcHJvZ3JhbS1kaXJlY3Rvcnl7XG4gICAgICAudmlldy1oZWFkZXJ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIC52aWV3LWNvbnRlbnR7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgLnZpZXdzLXJvd3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzMi45JTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBzcGFuLmZpZWxkLWNvbnRlbnR7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTdkMmY7XG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjQwMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuaW1hZ2V7XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxcmVtIDA7XG4gICAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzwxMTUwcHgnKXtcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NzgwcHgnKXtcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5uYW1le1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yTGlnaHQ7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtIDFyZW07XG4gICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDExNTBweCcpe1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDc4MHB4Jyl7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5hY3RpdmV7XG4gICAgICAgICAgICAgIHNwYW4uZmllbGQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkwOTA5MDtcbiAgICAgICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MxYzFjMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NTUxcHgnKXtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4udmlldy1maWx0ZXJze1xuICAgICAgICAuZm9ybS0taW5saW5le1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDgwMHB4Jykge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0taXRlbS1rZXlzIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw4MDBweCcpIHtcbiAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dC5mb3JtLXRleHQge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw3NjlweCcpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NDIwcHgnKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZm9ybS1hY3Rpb25ze1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAudmlldy1idG4tY29udGFpbmVye1xuICAgICAgICAgICAgICBzcGFuLnZpZXctYnRuLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogOTZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NDgwcHgnKSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiA0NXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDQ1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NzY5cHgnKSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+LnZpZXctY29udGVudHtcbiAgICAgICAgLnZpZXdzLXJvd3tcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmNiZWMwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgcGFkZGluZzogMyUgMyU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGEucHJvZ3JhbS1saW5re1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNwYW4tNXtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgIGg1e1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckxpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuLmFkZHJlc3MsXG4gICAgICAgICAgICBzcGFuLnNlcnZpY2Vze1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yTGlnaHQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDkyMHB4Jyl7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbC5zcGFuLTR7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIC5zZXJ2aWNlLWFyZWF7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoaWNhbC1zZXJ2aWNlLWFyZWF7XG4gICAgICAgICAgICAgICAgLmZpZWxkX19sYWJlbHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3JMaWdodDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5maWVsZF9faXRlbXtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckxpZ2h0O1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoeS1kZXRhaWx7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckxpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYWRkdGhpc19pbmxpbmVfc2hhcmVfdG9vbGJveHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8OTIwcHgnKXtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWNhY2E7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jb2wuc3Bhbi0ze1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNyU7XG4gICAgICAgICAgICAuc2VydmljZXtcbiAgICAgICAgICAgICAgLmZpZWxkX19sYWJlbHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yTGlnaHQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5maWVsZF9faXRlbSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvckxpZ2h0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDkyMHB4Jyl7XG4gICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FjYWNhO1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDA7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiBBcnRpY2xlIHNwZWNpZmljXG4gKi9cbi5ub2RlLS10eXBlLWFydGljbGUsXG4ubm9kZS0tdHlwZS1iYXNpYy1wYWdlIHtcblxuICBibG9ja3F1b3RlIHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAudHJpYW5nbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAqIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6IDcwdnc7XG4gICAgICAudHJpYW5nbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIHdpZHRoOiA2NXZ3O1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgIHdpZHRoOiA3MzBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAtNzMwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtaW1hZ2Utd2l0aC1jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgcGFkZGluZzogMmVtIDAgMCAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIHdpZHRoOiA2NiU7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZS1jYXB0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmltc29uO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICBwYWRkaW5nOiAuMjVlbSAxZW07XG5cbiAgICAgIC50cmlhbmdsZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgcGFkZGluZzogLjVlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAudHJpYW5nbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICYudDEge2JvcmRlci10b3AtY29sb3I6ICRjcmltc29uO31cbiAgICAgICAgICAmLnQyIHtib3JkZXItYm90dG9tLWNvbG9yOiAkY3JpbXNvbjt9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWFpbiB7XG4gICAgLypcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgKi9cbiAgfVxufVxuXG4vKipcbiAqIEJvdGggYXJ0aWNsZXMgYW5kIHJlc291cmNlIHNoYXJlZCBzdHVmZlxuICovXG4ucGFnZS1ub2RlLXR5cGUtcmVzb3VyY2UsXG4ucGFnZS1ub2RlLXR5cGUtYXJ0aWNsZSxcbi5wYWdlLW5vZGUtdHlwZS1iYXNpYy1wYWdlLFxuLnBhZ2Utbm9kZS10eXBlLWV2ZW50IHtcblxuICAucGFnZS10aXRsZS1iYXIge1xuXG4gICAgLnBhZ2UtbWV0YSB7XG4gICAgICBwYWRkaW5nOiAuMjVlbSAwIDFlbTtcbiAgICAgICYubm8tcGRmLWljb257XG4gICAgICAgIC5wYWdlLWRhdGV7XG4gICAgICAgICAgJjo6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLS10eXBlLWZpbGUge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucGFnZS1kYXRlIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheTtcbiAgICAgICAgICBjb250ZW50OiAnXFwyMDIyJztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAuNWVtIDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9IC8vIHBhZ2UtdGl0bGUtYmFyXG5cbiAgLnNpZGViYXIge1xuICAgIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYm90dG9tIHtcbiAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XG4gICAgYmFja2dyb3VuZDogJGdyYXlMaWdodGVyO1xuICAgIHBhZGRpbmc6IDJlbSAxZW07XG4gICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuXG4gICAgaDYge1xuICAgICAgLy9tYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuXG4gICAgLm92ZXJsaW5lIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgLmNvbCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cbiIsIlxuJWltcG9ydGFudC1wZW9wbGUge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBwYWRkaW5nOiA0cmVtIDAgMCAwO1xuXG4gIGgyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAudmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cbiAgICA+ZGl2IHtcbiAgICAgIHBhZGRpbmc6IDAgLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jYmxvY2stcGVvcGxlLWJvYXJkIHtcbiAgQGV4dGVuZCAlaW1wb3J0YW50LXBlb3BsZTtcbn1cblxuI2Jsb2NrLXBlb3BsZS1sZWFkZXJzaGlwIHtcbiAgQGV4dGVuZCAlaW1wb3J0YW50LXBlb3BsZTtcbiAgQGluY2x1ZGUgZnVsbFdpZHRoO1xuICBiYWNrZ3JvdW5kOiAkZ3JheUxpZ2h0ZXI7XG5cbiAgLnZpZXctY29udGVudCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLnBlcnNvbi1saXN0e1xuICAgICAgLypoNntcbiAgICAgICAgZm9udC1zaXplOiAxLjM0ZW07XG4gICAgICB9Ki9cbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1wcm9mZXNzaW9uYWwtdGl0bGV7XG5cdCAgXHRmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAvKmZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7Ki9cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucm93IHtcbiAgICBtYXgtd2lkdGg6IDEzNTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5cbi5ibG9jay5vdXItdGVhbSB7XG4gIEBpbmNsdWRlIGNsZWFyRml4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE4cHg7XG4gIHotaW5kZXg6IDE7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICB0b3A6IC00MnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDEyNzJweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIEBpbmNsdWRlIG1lZGlhICgnPmxnJykge1xuICAgICAgZm9udC1zaXplOiAyLjFlbTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICAubGVmdC1ibG9jaywgLnJpZ2h0LWJsb2NrIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxNTRweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDglO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIHdpZHRoOiA2OTlweDtcbiAgICB9XG4gICAgXG4gIH1cblxuICAubGVmdC1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvb3VyLXRlYW0vc3VwcG9ydGVycy5wbmcnKSBuby1yZXBlYXQgMCAwO1xuICAgIGxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTUwcHg7XG4gICAgfVxuICB9XG4gIC5yaWdodC1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvb3VyLXRlYW0vc3RhZmYucG5nJykgbm8tcmVwZWF0IDEwMCUgMDtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE3MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ib3R0b20tYmxvY2sge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvb3VyLXRlYW0vbWVldC10aGUtc3RhZmYtaGVhZGVyLmpwZycpIG5vLXJlcGVhdCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDE4NXB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxNzVweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgaGVpZ2h0OiAzMTJweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5sZycpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTUwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbn1cblxuXG4jYmxvY2stcGVvcGxlLXN0YWZmIHtcbiAgcGFkZGluZzogOHJlbSAwIDUuNXJlbTtcblxuICBoMiB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgID5kaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICB3aWR0aDogNDklO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICAgICAgd2lkdGg6IDIzJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBlcnNvbi1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgaDYsIHAge1xuICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgYS5pbWcge1xuICAgIEBpbmNsdWRlIGhpZGVUZXh0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxMDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC8qQGluY2x1ZGUgbWVkaWEoJzw9c20nKSB7XG4gICAgICBoZWlnaHQ6IDEwNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8PW1kJykge1xuICAgICAgaGVpZ2h0OiAxNTdweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPm1kJykge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bGcnKSB7XG4gICAgICBoZWlnaHQ6IDE2M3B4O1xuICAgIH0qL1xuXG4gICAgJjpob3ZlciB7fVxuXG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQ6ICRuYXZCYXJIZWlnaHQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbmF2QmFySGVpZ2h0IHNvbGlkICRvcmFuZ2U7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBpbmNsdWRlIGltZ1JpbmdlZCgyMjBweCwgMTcwcHgsICR3aGl0ZSk7XG4gIC5pbWctcmluZ2VkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzUlO1xuICAgIHJpZ2h0OiAtNDAlO1xuXG4gICAgLnJpbmcgcGF0aCB7XG4gICAgICBmaWxsOiBkYXJrZW4oJGdyYXlMaWdodGVyLCA4JSk7XG4gICAgfVxuXG4gICAgLmNpcmNsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGdyYXlMaWdodGVyLCAzJSk7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5wZXJzb24tbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICoge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIGltZ1JpbmdlZCgxNzVweCwgMTczcHgsICR3aGl0ZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgIEBpbmNsdWRlIGltZ1JpbmdlZCgyNTBweCwgMjQ4cHgsICR3aGl0ZSk7XG4gIH1cbiAgXG5cbiAgJjpob3ZlciB7XG4gICAgLmltZy1yaW5nZWQgLnJpbmcgcGF0aCB7XG4gICAgICBmaWxsOiAkb3JhbmdlO1xuICAgIH1cbiAgfVxuXG59XG4iLCIvKipcbiAqIEFydGljbGUgc3BlY2lmaWNcbiAqL1xuLnBhZ2Utbm9kZS10eXBlLXByb2dyYW17XG4gIGFydGljbGUubm9kZS0tdHlwZS1wcm9ncmFte1xuICAgIC5ub2RlX19jb250ZW50e1xuICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gICAgICAuZmllbGR7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgICBoNCxcbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1pbWFnZXtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XG4gICAgICB9XG4gICAgICAuZmllbGRfX2xhYmVse1xuICAgICAgICBtaW4td2lkdGg6IDI0cmVtO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDc2OXB4Jyl7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5maWVsZF9faXRlbXtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw3NjlweCcpe1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtdHlwZSxcbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1zZXJ2aWNlcy1vZmZlcmVkLSxcbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1nZW9ncmFwaGljYWwtc2VydmljZS1hcmVhLFxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoeS1kZXRhaWwsXG4gICAgICAuZmllbGQtLXR5cGUtbGlzdC1zdHJpbmcsXG4gICAgICAuZmllbGQtLXR5cGUtc3RyaW5nLFxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLW5vdC1lbmdsaXNoLFxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWJiYi1yYXRpbmd7XG4gICAgICAgIC5maWVsZF9fbGFiZWx7XG4gICAgICAgICAgd2lkdGg6IDIycmVtO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NzY5cHgnKXtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDQyNnB4Jyl7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLXBvaW50LW9mLWNvbnRhY3R7XG4gICAgICAgIC5maWVsZF9fbGFiZWx7XG4gICAgICAgICAgd2lkdGg6IDI0cmVtO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8NzY5cHgnKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtbm90LWVuZ2xpc2h7XG4gICAgICAgIC5maWVsZF9faXRlbXtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPDc2OXB4Jyl7XG4gICAgICAgICAgLmZpZWxkX19sYWJlbHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzw0MjZweCcpe1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmZpZWxkX19pdGVte1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5maWVsZC0tbmFtZS1maWVsZC1hdXRob3ItcmVmLFxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLXR5cGUsXG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtc2VydmljZXMtb2ZmZXJlZC0sXG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtbm90LWVuZ2xpc2h7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtYWRkcmVzc3tcbiAgICAgICAgLmZpZWxkX19sYWJlbHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZpZWxkX19pdGVte1xuICAgICAgICAgIHAuYWRkcmVzc3tcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmllbGQtLW5hbWUtZmllbGQtaG93LXRvLWdldC1zdGFydGVkLFxuICAgICAgLmZpZWxkLS1uYW1lLWJvZHl7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAuZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICB9XG4gICAgICAgIC5maWVsZF9faXRlbXtcbiAgICAgICAgICBwe1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZpZWxkLS1uYW1lLWZpZWxkLWdlb2dyYXBoeS1kZXRhaWx7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+NzY4cHgnKXtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiXG4vKipcbiAqIEZsZXggbGlzdCBvZiBjYXJkLWNvbnRhaW5lcnMgc28gd2UgY2FuIGhhdmUgZXF1YWwgaGVpZ2h0IGJveGVzIHRoYXQgd3JhcFxuICovXG4udmlldy10YXhvbm9teS10ZXJtIHtcbiAgLnZpZXdzLWluZmluaXRlLXNjcm9sbC1jb250ZW50LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICBcbiAgICAuY2FyZC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMCAwIDQlIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIlIDIlO1xuICAgICAgICB3aWR0aDogMzIlO1xuICAgICAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPmxnJykge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjMlIDEuMyU7XG4gICAgICAgIHdpZHRoOiAyNCU7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjMlO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgdWwucGFnZXIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIFxuICAgIC5wYWdlcl9faXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuYnRuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogR2VuZXJpYyBjYXJkIHN0eWxlcyBpbiBjYXNlIHdlIHVzZSB0aGVtIHNvbWV3aGVyZSBvdGhlciB0aGFuIHRoZSB0YXhvbm9teS10ZXJtXG4gKiBwYWdlXG4gKi9cbi5jYXJkIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLmZpZWxkLS10eXBlLWltYWdlIHtcbiAgICAvLyBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIH1cblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAuOWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAuN2VtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICB9XG5cbiAgLmNhcmQtY29udGVudCB7XG4gICAgcGFkZGluZzogMi41ZW0gMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCB0eXBlIGNhcmRzXG4gICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgKi9cbiAgJi5ub2RlLS10eXBlLWV2ZW50IHtcbiAgICAubm9kZS1kYXRlIHtcbiAgICAgIEBpbmNsdWRlIGNpcmNsZURhdGU7XG4gICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB0b3A6IDE2MXB4O1xuICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAmLndpdGhvdXQtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgd2lkdGg6IDY4cHg7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIGV2ZW50IHR5cGVcblxuICAmLm5vZGUtLXR5cGUtYXJ0aWNsZSB7XG4gICAgLmFydGljbGUtZGF0ZSB7XG4gICAgICBjb2xvcjogJGdyYXlMaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgJi5ub2RlLS10eXBlLXBlcnNvbiB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLm1lZXQtdGhlLWV4cGVydCB7XG4gICAgICBjb2xvcjogJGdyYXlMaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC4yNWVtO1xuICAgICAgYSB7IGNvbG9yOiAjZmZmOyB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgIH1cblxuICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAxLjVlbSAuMjVlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG5cblxufSIsIi5leHBlcnQtbW9kdWxlIHtcbiAgLy9kaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBib3hTaGFkb3c7XG4gIG1hcmdpbi10b3A6IC0yMTRweDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBjb2xvcjogJGdyYXk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLnRvb2xiYXItdHJheS1vcGVuICYge1xuICAgIG1hcmdpbi10b3A6IC0yODBweDtcbiAgfVxuXG4gIC5leHBlcnQgJiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDM5NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz45ODBweCcpe1xuICAgICAgbWFyZ2luLXRvcDogLTEwMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xODBweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1heC13aWR0aDogMzgycHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIGg0LCAuYXV0aG9yIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAycmVtIDJyZW07XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgfVxuXG4gIC5hdXRob3Ige1xuICAgIEBpbmNsdWRlIGNsZWFyRml4O1xuICAgIGNvbG9yOiAkZ3JheUxpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBiIHsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5ieWxpbmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgaW1nUmluZ2VkKDEyNXB4LCAxMjNweCwgJGdyYXlMaWdodGVyKSB7XG4gICAgLy8gKFRoZXNlIGFkZGl0aW9uYWwgcnVsZXMgYXJlIGFwcGxpZWQgd2l0aGluIC5pbWctcmluZ2VkKVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTM0cHg7XG4gICAgcmlnaHQ6IC0zNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz49bGcnKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi5zaWRlYmFyIHtcbiAgcGFkZGluZzogMmVtIDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5TGlnaHRlcjtcbiAgICBwYWRkaW5nOjAgMCAwIDJlbTtcbiAgfVxuXG4gIC5maWVsZC0tdHlwZS1pbWFnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgfVxuXG4gIC5ub2RlX19jb250ZW50IHtcbiAgICBmb250LXNpemU6IC45ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuN2VtO1xuICB9XG5cbiAgaDYge1xuICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgfVxuXG4gIC5pdGVtLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAxZW0gMCAwIDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgICBtYXJnaW46IDAgMCAxZW07XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgICAuc3ViaGVhZCB7XG4gICAgICBjb2xvcjogJGdyYXlMaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogLjhlbTtcbiAgICB9XG5cbiAgfVxuXG59IiwiLm1vZGFsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkb3JhbmdlLCAwLjkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIHotaW5kZXg6IDIwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAxZW0gMCAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj03NjhweCcpIHtcbiAgICAgIG1hcmdpbjogMCAwIC41ZW07XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PTEwMjRweCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgIH1cbiAgfVxuXG4gIC5jb2wge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAmLnNwYW4tNSB7XG4gICAgICAgIHdpZHRoOiA0MC41JTtcbiAgICAgIH1cbiAgICAgICYuc3Bhbi03IHtcbiAgICAgICAgd2lkdGg6IDU3LjUlO1xuICAgICAgfVxuICAgIH0gXG4gIH1cblxuICAuYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogLjdlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc+PTEwMjRweCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAvLyBoYXZlIHRvIGRvIHRoaXMgbWFudWFsbHkgYmVjYXVzZSB0aGF0IG1vZGFsIGlzbnQgcGFydCBvZiB0aGUgZG9tXG4gICAgLnRyaWFuZ2xlIHtcbiAgICAgIGJvcmRlci1yaWdodDogNTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItdG9wOiA1MHB4IHNvbGlkICR0ZWFsO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogNTBweDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogNTBweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC01MHB4O1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIC5ibGFuay1idG4ge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuY2xvc2UtYnRuIHtcbiAgICBib3R0b206IDI0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1tZCcpIHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMWVtO1xuICAgICAgdG9wOiAtNDBweDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuaWZyYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE2M3B4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjkwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj0zNzVweCcpIHtcbiAgICAgIGhlaWdodDogMTkxcHg7XG4gICAgICB3aWR0aDogMzQwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz49MTAyNHB4Jykge1xuICAgICAgaGVpZ2h0OiAzMTBweDtcbiAgICAgIHdpZHRoOiA1NTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPj1sZycpIHtcbiAgICAgIGhlaWdodDogNDIwcHg7XG4gICAgICB3aWR0aDogNzQ3cHg7XG4gICAgfVxuXG4gIH1cblxufSJdfQ== */
