@font-face {
  font-family: 'JunicodeBoldCondensed';
  src: url("../fonts/Junicode-BoldCondensed.woff") format("woff2"), url("../fonts/Junicode-BoldCondensed.woff") format("woff"), url("../fonts/Junicode-BoldCondensed.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'JunicodeBoldItalicCondensed';
  src: url("../fonts/Junicode-BoldItalicCondensed.woff2") format("woff2"), url("../fonts/Junicode-BoldItalicCondensed.woff") format("woff"), url("../fonts/Junicode-BoldItalicCondensed.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Junicode';
  src: url("../fonts/Junicode.woff2") format("woff2"), url("../fonts/Junicode.woff") format("woff"), url("../fonts/Junicode.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Put your global styles here */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*! HTML5 Boilerplate v6.0.1 | MIT License | https://html5boilerplate.com/ */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
  text-align: center;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

/*
$main-font-sans-serif: Helvetica;
$main-font-serif: Junicode;
$special-font: JunicodeBoldCondensed;
$special-font-italic: JunicodeBoldItalcCondensed;;
--> set in main css
*/
html {
  font-smooth: auto;
  -webkit-font-smoothing: antialiased;
  font-size: 18px;
  line-height: 22px;
  font-family: Helvetica;
}

.serif-font {
  font-family: Junicode;
}

.serif-italic-font {
  font-family: JunicodeBoldItalicCondensed;
}

.body-serif-font {
  font-family: Junicode;
  font-size: 20px;
  line-height: 24px;
}

.body-serif-bold-condensed-font {
  font-family: JunicodeBoldCondensed;
  font-size: 20px;
  font-weight: 400;
  line-height: 24px;
}

.body-serif-italic-font {
  font-family: JunicodeBoldItalicCondensed;
  font-size: 20px;
  line-height: 24px;
}

.tiny {
  font-family: Junicode;
  font-size: 15px;
  line-height: 19px;
}

.tiny.helvetica {
  font-family: Helvetica;
}

.sans-serif {
  font-family: Helvetica;
}

.sans-serif-italic {
  font-family: Helvetica;
  font-style: italic;
}

.all-caps {
  text-transform: uppercase;
}

.helvetica {
  font-family: Helvetica;
  font-weight: normal;
}

main.main {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
}

h1, h1 a, a h1 {
  font-size: 65px;
  line-height: 58px;
  font-family: JunicodeBoldItalicCondensed;
  text-transform: uppercase;
  margin: 60px 0 60px 0;
  text-decoration: none;
  -webkit-transform: scale(1, 1.8);
          transform: scale(1, 1.8);
}

h2, h2 a, a h2 {
  font-size: 30px;
  line-height: 28px;
  font-family: JunicodeBoldItalicCondensed;
  font-weight: 400;
  -webkit-transform: scale(1, 1.8);
          transform: scale(1, 1.8);
  text-transform: uppercase;
  margin: 10px 0 40px 0;
  text-decoration: none;
}

h2.sans-serif, h3.sans-serif {
  font-weight: 400;
}

h2.sans-serif-italic, h3.sans-serif-italic {
  font-weight: 400;
  text-transform: none;
}

h2.no-italic, h2.no-italic a, a h.no-italic {
  font-size: 30px;
  line-height: 28px;
  font-family: JunicodeBoldCondensed;
  text-transform: uppercase;
  margin: 10px 0 20px 0;
  text-decoration: none;
}

h3, h3 a, a h3 {
  font-size: 35px;
  line-height: 35px;
  font-family: JunicodeBoldCondensed;
  margin: 8px 0 5px 0;
  text-decoration: none;
  font-weight: 400;
}

h4, h4 a, a h4 {
  font-size: 24px;
  line-height: 24px;
  font-family: JunicodeBoldCondensed;
  font-weight: 400;
  margin: 6px 0 6px 0;
  text-decoration: none;
}

/* Put your layout here */
body, html {
  height: 100%;
}

.main {
  margin-bottom: 50px;
}

#container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100%;
  max-width: 1600px;
  padding: 0 20px;
  margin: 20px auto;
}

.extra-margin-top {
  margin-top: 40px;
}

.extra-extra-margin-top {
  margin-top: 80px;
}

.extra-extra-padding-bottom {
  margin-bottom: 80px;
}

.text-left {
  text-align: left;
}

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

.text-right {
  text-align: right;
}

.mobile-only {
  display: none;
}

.desktop-only {
  display: block;
}

figure,
.iframe-container,
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.show-on-mobile-only {
  display: none !important;
}

.show-on-desktop-only {
  display: block !important;
}

figure iframe,
figure object,
figure embed,
.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

input {
  font-size: 24px;
  line-height: 24px;
  margin-right: 10px;
  padding: 8px 15px;
}

input[type="submit"],
.button {
  background: #000;
  color: #FFF;
  min-width: 120px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  padding: 8px 15px;
  margin-bottom: 5px;
  text-transform: uppercase;
  font-size: 24px;
  line-height: 24px;
  font-family: JunicodeBoldItalicCondensed;
}

.button:hover {
  background: #c3767c;
  color: #FFF;
}

.no-link {
  text-decoration: none;
}

/*-------------------- HEADER & FOOTER ----------- */
.footer {
  border-top: 1px solid #000;
  padding: 40px 0;
  margin: 40px 20px 20px 20px;
  /* newsletter */
}

.footer .partners img {
  max-width: 150px;
  display: inline-block;
}

.footer input {
  background: #000;
  border: 0;
  color: #FFF;
  padding: 15px;
  width: 280px;
  text-align: left;
}

.footer input.subscribe {
  background: #000;
  border: 0;
  color: #FFF;
  margin-left: 2px;
  width: 120px;
  cursor: pointer;
  text-align: center;
}

.footer input.button:hover {
  background: #c3767c;
}

.footer .col-desk-8.first {
  padding-left: 0;
}

.header-socials .social-icon {
  display: inline-block;
  text-indent: -9999px;
  width: 28px;
  height: 36px;
  background-image: url("../images/icons-social/instagram.svg");
  background-size: 36px 36px;
  background-repeat: no-repeat;
  margin-left: 2px;
  padding: 0;
}

.header-socials .social-icon.instagram {
  background-image: url("../images/icons-social/instagram.svg");
}

.header-socials .social-icon.bandcamp {
  background-image: url("../images/icons-social/bandcamp.svg");
}

.header-socials .social-icon.discogs {
  background-image: url("../images/icons-social/discogs.svg");
}

.header-socials .social-icon.facebook {
  background-image: url("../images/icons-social/facebook.svg");
}

.header-socials .social-icon.soundcloud {
  background-image: url("../images/icons-social/soundcloud.svg");
}

.header-socials .social-icon.youtube {
  background-image: url("../images/icons-social/youtube.svg");
}

/*-------------------- HOMEPAGE ----------- */
a.record {
  text-decoration: none;
}

a.record .status {
  margin-bottom: 20px;
}

.homepage-krut-releases {
  background-color: #000;
  margin-left: -20px;
  margin-right: -20px;
  padding: 20px;
  color: #FFF;
}

.homepage-krut-releases h4, .homepage-krut-releases status, .homepage-krut-releases a {
  color: #FFF;
}

.image-modal {
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center center fixed;
  background-size: cover;
}

/*-------------------- NEWS ----------- */
.news-content {
  margin-top: 40px;
}

.news-content .figure {
  overflow: visible;
  height: auto;
  padding-top: 15px;
  padding-bottom: 15px;
}

.news-content img {
  width: 100%;
  text-align: center;
}

.news-overview .date {
  margin: 10px 0;
}

.col-50-centered-on-desktop {
  width: 50%;
  margin: 0 auto;
}

.col-50-centered-on-desktop img {
  margin-bottom: 20px;
}

.col-70-centered-on-desktop {
  width: 70%;
  margin: 50px auto 20px auto;
}

/*-------------------- RADIO ----------- */
.radio-overview .date {
  margin-top: 10px;
}

.radio-detail {
  margin: 20px 0 40px 0;
}

.radio-detail .radio-background {
  background-color: #aaa;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  border: 1px solid #FFF;
}

.radio-detail .radio-content {
  background-color: #FFF;
  padding: 40px;
  margin: 40px 0 100px 0;
  width: 50%;
}

.radio-detail .embed {
  margin: 20px 0 10px 0;
}

.radio-category-overview {
  margin: 10px 20px 20px 20px;
  text-align: center;
  font-family: JunicodeBoldItalicCondensed;
  position: relative;
  top: -20px;
}

.radio-category-overview a {
  font-size: 14px;
  margin-right: 20px;
  margin-left: 20px;
  display: inline-block;
  -webkit-transform: scale(1, 1.8);
  transform: scale(1, 1.8);
  text-transform: uppercase;
  text-decoration: none;
}

.radio-tags {
  margin-top: 2px;
  margin-bottom: 2px;
}

.radio-tags .radio-tag {
  display: inline-block;
  border: 1px solid #000;
  padding: 2px 15px;
  font-size: 12px;
  margin-right: 10px;
  text-decoration: none;
  color: #000;
}

/*-------------------- CONCERTS ----------- */
.concerts .row {
  padding: 20px 0;
  margin-left: 20px;
  margin-right: 20px;
  border-top: 1px solid #ccc;
  text-decoration: none;
}

.concerts .row:first-child, .concerts .row.first {
  border-top: 0;
}

.concerts .title-col {
  padding-left: 2px;
}

.concerts .date-col {
  padding-right: 2px;
}

.line-up .location {
  font-size: 18px;
}

.band-listing {
  margin: 60px 20px 40px 20px;
  padding-bottom: 20px;
}

.tickets {
  margin-top: 5px;
}

.hour, .band {
  font-size: 18px;
  line-height: 24px;
  font-family: Helvetica;
}

/*-------------------- RELEASES ----------- */
.release-overview {
  position: relative;
  margin-bottom: 40px;
  text-decoration: none !important;
}

.release-overview .text-info {
  margin-top: 10px;
}

.release-overview .author {
  display: inline-block;
}

.release-overview .format-listing {
  display: inline-block;
  text-align: right;
  float: right;
}

.release-overview .status {
  margin-top: 5px;
}

.release-overview .status-block {
  display: none;
  position: absolute;
  color: #FFF;
  color: #c3767c;
  top: 42%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  min-width: 100px;
  text-align: center;
  padding: 3px 4px;
  font-size: 32px;
  line-height: 30px;
  text-transform: uppercase;
  font-family: JunicodeBoldCondensed;
  cursor: pointer;
}

.release-overview:hover .status-block {
  display: block;
}

.record-detail .tracklisting p {
  margin: 0;
}

.record-detail .our-stores {
  /* display: inline-block;
		margin-left: 15px; */
  margin-top: 20px;
}

.krut-letter {
  width: 250px;
  margin: 20px 0 40px 0;
}

/*-------------------- ARCHIVE ----------- */
.archive-category-overview a {
  text-decoration: none;
}

.archive-category-overview h2 {
  margin-bottom: 5px;
}

.archive-category-overview .archive-intro {
  width: 50%;
  margin-bottom: 10px;
  margin-top: 20px;
}

.archive-category-overview img {
  width: 100%;
}

.archive-overview-item {
  position: relative;
}

.archive-overview-item .status-block {
  display: none;
  position: absolute;
  color: #FFF;
  top: 42%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  min-width: 100px;
  text-align: center;
  padding: 3px 4px;
  font-size: 32px;
  line-height: 30px;
  text-transform: uppercase;
  font-family: JunicodeBoldCondensed;
  cursor: pointer;
}

.archive-overview-item .status-block a {
  text-decoration: none;
}

.archive-overview-item:hover .status-block {
  display: block;
}

/*================================================================*/
/*-------------------- IPAD ----------- */
/*================================================================*/
@media only screen and (max-width: 1000px) {
  .header a {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }
  /*-------------------- HOMEPAGE ----------- */
  /*-------------------- NEWS ----------- */
  .col-50-centered-on-desktop,
  .col-60-centered-on-desktop {
    width: 100%;
  }
  /*-------------------- ARCHIVE ----------- */
  .archive-category-overview .archive-intro {
    width: 100%;
  }
}

/*================================================================*/
/*-------------------- MOBILE ----------- */
/*================================================================*/
@media only screen and (max-width: 750px) {
  #container {
    margin-top: 0px;
  }
  .col-desk-4, .col-desk-6 {
    margin-top: 20px;
  }
  .show-on-mobile-only {
    display: block !important;
  }
  .hide-on-mobile-only {
    display: none !important;
  }
  .show-for-desktop-only,
  .show-on-desktop-only {
    display: none !important;
  }
  .col-70-centered-on-desktop {
    width: 100%;
  }
  .header {
    margin-left: 0;
    margin-right: 0;
  }
  .footer {
    margin-left: 0;
    margin-right: 0;
    /* newsletter */
  }
  .footer input {
    background: #000;
    border: 0;
    color: #FFF;
    padding: 15px;
    width: 100px;
    text-align: left;
  }
  .footer input.button {
    background: #000;
    border: 0;
    color: #FFF;
    margin-left: 2px;
    width: 120px;
    cursor: pointer;
    text-align: center;
  }
  figure {
    margin: 0;
    -webkit-margin-before: 0;
            margin-block-start: 0;
    -webkit-margin-after: 0;
            margin-block-end: 0;
    -webkit-margin-start: 0;
            margin-inline-start: 0;
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
  .extra-space-right {
    padding-right: 0;
  }
  h1, h1 a, a h1 {
    font-size: 45px;
    line-height: 48px;
  }
  /*-------------------- HOMEPAGE ----------- */
  /*-------------------- RECORDS ----------- */
  /*-------------------- CONCERTS ----------- */
  .concerts .row {
    padding: 10px 0;
    margin-left: 0px;
    margin-right: 0px;
  }
  .concerts .title-col {
    padding-left: 1.3888888889%;
  }
  .concerts .text-right {
    text-align: left;
  }
  .band-listing {
    margin: 40px 0px 40px 0px;
    padding: 0;
  }
}

.main-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.m-menu {
  position: absolute;
  top: 50px;
  right: 5px;
  display: none;
}

.m-menu .mm {
  border: none;
  background: none;
  cursor: pointer;
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  outline: none;
  padding: 0;
}

.m-menu .mm:before, .m-menu .mm:after {
  position: absolute;
  display: block;
  content: '';
  width: 14px;
  height: 2px;
  left: 18px;
  top: 19px;
  background-color: #000;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.m-menu .mm:after {
  top: 27px;
}

.header {
  font-family: JunicodeBoldItalicCondensed;
}

.header .logo {
  display: inline-block;
  text-indent: -9999px;
  width: 175px;
  height: 175px;
  background-size: 175px 175px;
  background-repeat: no-repeat;
  margin-left: 2px;
  padding: 0;
  background-image: url("../images/common/logo-color-transparent.svg");
}

.header .upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.header .upper div {
  display: inline-block;
}

.header .upper .transform {
  display: inline-block;
  -webkit-transform: scale(1, 1.8);
          transform: scale(1, 1.8);
}

.header .upper .header-language, .header .upper .header-socials {
  display: block;
  text-align: right;
}

.header .upper a {
  display: inline-block;
  text-decoration: none;
  padding-left: 10px;
}

.header .upper .en {
  padding-right: 2px;
}

.header .upper .left {
  padding-left: 20px;
}

.header .upper .right {
  padding-right: 20px;
}

.header a {
  display: block;
  padding: 24px 20px 22px 20px;
  text-align: center;
  text-decoration: none;
}

.header a span.transform {
  display: inline-block;
  -webkit-transform: scale(1, 1.8);
          transform: scale(1, 1.8);
}

.header .lower {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 29px;
  line-height: 29px;
  margin: 20px 20px 48px 20px;
  padding: 8px 0;
}

.header .lower a {
  font-size: 39px;
  line-height: 39px;
}

.m-menu-open .m-menu .mm:before {
  top: 24px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.m-menu-open .m-menu .mm:after {
  top: 24px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media only screen and (max-width: 750px) {
  .m-menu {
    display: block;
  }
  html.noscroll {
    overflow: hidden;
  }
  body.noscroll {
    overflow: visible;
    height: 100%;
  }
  .m-menu-open .main-nav .lower {
    display: block;
    width: 100%;
    margin: 0;
  }
  .m-menu-open .main-nav .lower a {
    font-size: 22px;
    line-height: 22px;
  }
  .m-menu-open .main-nav .lower ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .m-menu-open .main-nav .lower ul a {
    display: block;
    text-align: center;
  }
  /* make the header look on mobile a bit different */
  .header .upper {
    display: block;
  }
  .header .lower {
    margin-bottom: 20px !important;
  }
  .header .lower a {
    font-size: 28px;
    line-height: 28px;
    padding: 14px 0;
  }
  .main-nav .upper-mobile-bar {
    position: absolute;
    background: #000;
    color: #FFF;
    display: block;
    font-size: 14px;
    padding: 0 10px 0 10px;
    right: 0;
    left: 0;
  }
  .main-nav .upper-mobile-bar a {
    padding: 2px;
    color: #FFF;
  }
  .main-nav .upper-mobile-bar .about, .main-nav .upper-mobile-bar .header-socials {
    width: 50%;
    display: inline-block;
  }
  .main-nav .upper-mobile-bar .header-socials {
    position: relative;
    top: 5px;
    text-align: right;
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon {
    display: inline-block;
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon.instagram {
    background-image: url("../images/icons-social/instagram-white.svg");
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon.bandcamp {
    background-image: url("../images/icons-social/bandcamp-white.svg");
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon.discogs {
    background-image: url("../images/icons-social/discogs-white.svg");
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon.facebook {
    background-image: url("../images/icons-social/facebook-white.svg");
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon.soundcloud {
    background-image: url("../images/icons-social/soundcloud-white.svg");
  }
  .main-nav .upper-mobile-bar .header-socials .social-icon.youtube {
    background-image: url("../images/icons-social/youtube-white.svg");
  }
  .center {
    margin-top: 20px;
    width: 100%;
    display: block;
    text-align: center;
  }
  .center img {
    height: 100px;
  }
  .main-nav .lower {
    display: none;
  }
}

.grid {
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1600px;
}

@media screen and (max-width: 750px) {
  .grid {
    width: 100%;
  }
  .grid.stackable [class^='col-'] {
    width: 100%;
  }
}

.grid-0 {
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: auto;
  margin-right: auto;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1600px;
}

.col-desk-0 {
  box-sizing: border-box;
  width: 0%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-0 {
  margin-left: 0%;
}

.col-desk-1 {
  box-sizing: border-box;
  width: 6.25%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-1 {
  margin-left: 6.25%;
}

.col-desk-2 {
  box-sizing: border-box;
  width: 12.5%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-2 {
  margin-left: 12.5%;
}

.col-desk-3 {
  box-sizing: border-box;
  width: 18.75%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-3 {
  margin-left: 18.75%;
}

.col-desk-4 {
  box-sizing: border-box;
  width: 25%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-4 {
  margin-left: 25%;
}

.col-desk-5 {
  box-sizing: border-box;
  width: 31.25%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-5 {
  margin-left: 31.25%;
}

.col-desk-6 {
  box-sizing: border-box;
  width: 37.5%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-6 {
  margin-left: 37.5%;
}

.col-desk-7 {
  box-sizing: border-box;
  width: 43.75%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-7 {
  margin-left: 43.75%;
}

.col-desk-8 {
  box-sizing: border-box;
  width: 50%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-8 {
  margin-left: 50%;
}

.col-desk-9 {
  box-sizing: border-box;
  width: 56.25%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-9 {
  margin-left: 56.25%;
}

.col-desk-10 {
  box-sizing: border-box;
  width: 62.5%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-10 {
  margin-left: 62.5%;
}

.col-desk-11 {
  box-sizing: border-box;
  width: 68.75%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-11 {
  margin-left: 68.75%;
}

.col-desk-12 {
  box-sizing: border-box;
  width: 75%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-12 {
  margin-left: 75%;
}

.col-desk-13 {
  box-sizing: border-box;
  width: 81.25%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-13 {
  margin-left: 81.25%;
}

.col-desk-14 {
  box-sizing: border-box;
  width: 87.5%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-14 {
  margin-left: 87.5%;
}

.col-desk-15 {
  box-sizing: border-box;
  width: 93.75%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-15 {
  margin-left: 93.75%;
}

.col-desk-16 {
  box-sizing: border-box;
  width: 100%;
  padding-left: 1.3888888889%;
  padding-right: 1.3888888889%;
}

.col-desk-shift-16 {
  margin-left: 100%;
}

@media screen and (max-width: 1000px) {
  .col-tab-0 {
    box-sizing: border-box;
    width: 0%;
    padding-left: 1.7045454545%;
    padding-right: 1.7045454545%;
  }
  .col-tab-shift-0 {
    margin-left: 0%;
  }
  .col-tab-1 {
    box-sizing: border-box;
    width: 25%;
    padding-left: 1.7045454545%;
    padding-right: 1.7045454545%;
  }
  .col-tab-shift-1 {
    margin-left: 25%;
  }
  .col-tab-2 {
    box-sizing: border-box;
    width: 50%;
    padding-left: 1.7045454545%;
    padding-right: 1.7045454545%;
  }
  .col-tab-shift-2 {
    margin-left: 50%;
  }
  .col-tab-3 {
    box-sizing: border-box;
    width: 75%;
    padding-left: 1.7045454545%;
    padding-right: 1.7045454545%;
  }
  .col-tab-shift-3 {
    margin-left: 75%;
  }
  .col-tab-4 {
    box-sizing: border-box;
    width: 100%;
    padding-left: 1.7045454545%;
    padding-right: 1.7045454545%;
  }
  .col-tab-shift-4 {
    margin-left: 100%;
  }
}

@media screen and (max-width: 750px) {
  .col-mob-0 {
    box-sizing: border-box;
    width: 0%;
    padding-left: 1.3333333333%;
    padding-right: 1.3333333333%;
  }
  .col-mob-shift-0 {
    margin-left: 0%;
  }
  .col-mob-1 {
    box-sizing: border-box;
    width: 25%;
    padding-left: 1.3333333333%;
    padding-right: 1.3333333333%;
  }
  .col-mob-shift-1 {
    margin-left: 25%;
  }
  .col-mob-2 {
    box-sizing: border-box;
    width: 50%;
    padding-left: 1.3333333333%;
    padding-right: 1.3333333333%;
  }
  .col-mob-shift-2 {
    margin-left: 50%;
  }
  .col-mob-3 {
    box-sizing: border-box;
    width: 75%;
    padding-left: 1.3333333333%;
    padding-right: 1.3333333333%;
  }
  .col-mob-shift-3 {
    margin-left: 75%;
  }
  .col-mob-4 {
    box-sizing: border-box;
    width: 100%;
    padding-left: 1.3333333333%;
    padding-right: 1.3333333333%;
  }
  .col-mob-shift-4 {
    margin-left: 100%;
  }
}

.extra-space-right {
  padding-right: 7%;
}

body.krut {
  background: #000;
  color: #fff;
}

body.krut a {
  color: #FFF;
}

body.krut a:hover {
  color: #c3767c;
}

body.krut .footer,
body.krut .header .lower {
  border-color: #FFF;
}

body.krut .logo {
  background-image: url("../images/common/logo-color-black-bg.svg");
}

body.krut .footer input {
  background: #FFF;
  color: #000;
}

body.krut .header-socials .social-icon.instagram {
  background-image: url("../images/icons-social/instagram-white.svg");
}

body.krut .header-socials .social-icon.bandcamp {
  background-image: url("../images/icons-social/bandcamp-white.svg");
}

body.krut .header-socials .social-icon.discogs {
  background-image: url("../images/icons-social/discogs-white.svg");
}

body.krut .header-socials .social-icon.facebook {
  background-image: url("../images/icons-social/facebook-white.svg");
}

body.krut .header-socials .social-icon.soundcloud {
  background-image: url("../images/icons-social/soundcloud-white.svg");
}

body.krut .header-socials .social-icon.youtube {
  background-image: url("../images/icons-social/youtube-white.svg");
}

body.krut .button {
  background-color: #FFF;
  color: #000;
}

body.krut .button:hover {
  background-color: #c3767c;
  color: #000;
}

body {
  background-color: #fff;
  color: #000;
}

a {
  color: #000;
}

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

nav li {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.active, a:hover {
  color: #c3767c;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1haW4uY3NzIiwibm9ybWFsaXplLnNjc3MiLCJfYm9pbGVycGxhdGUuc2NzcyIsIl90eXBvLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfbmF2LnNjc3MiLCJfZ3JpZC5zY3NzIiwiX2tydXQtYnctc3dpdGNoLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDRSxxQ0FBcUM7RUFDckMsNExBRXFEO0VBQ3JELG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsbUJBQW1CO0NDRnBCOztBREtEO0VBQ0UsMkNBQTJDO0VBQzNDLCtNQUUyRDtFQUMzRCxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLG1CQUFtQjtDQ0pwQjs7QURNRDtFQUNFLHdCQUF3QjtFQUN4QixtSkFFdUM7RUFDdkMsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQixtQkFBbUI7Q0NMcEI7O0FEUUQsaUNBQWlDO0FFOUJqQyw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0Usa0JBQWtCO0VBQUUsT0FBTztFQUMzQiwrQkFBK0I7RUFBRSxPQUFPO0NBQ3pDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsVUFBVTtDQUNYOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFlO0NBQ2hCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtDQUNsQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLFVBQVU7RUFBRSxPQUFPO0VBQ25CLGtCQUFrQjtFQUFFLE9BQU87Q0FDNUI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxrQ0FBa0M7RUFBRSxPQUFPO0VBQzNDLGVBQWU7RUFBRSxPQUFPO0NBQ3pCOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsOEJBQThCO0NBQy9COztBQUVEOzs7R0FHRztBQUVIO0VB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QUFxQjtDQUN0Qjs7QUFmSDtFQWlCSSxpQkFBaUI7RUFDakIsWUFBWTtDQUNiOztBQW5CSDtFQXVCUSxvRUFBcUI7Q0FDdEI7O0FBeEJQO0VBMEJRLG1FQUFxQjtDQUN0Qjs7QUEzQlA7RUE2QlEsa0VBQXFCO0NBQ3RCOztBQTlCUDtFQWdDUSxtRUFBcUI7Q0FDdEI7O0FBakNQO0VBbUNRLHFFQUFxQjtDQUN0Qjs7QUFwQ1A7RUFzQ1Esa0VBQXFCO0NBQ3RCOztBQXZDUDtFQTJDSyx1QkFBdUI7RUFDdkIsWUFBWTtDQUNkOztBQTdDSDtFQStDSywwQkozQzhCO0VJNEM5QixZQUFZO0NBQ2Q7O0FUUEg7RUFDRSx1QkszQ1k7RUw0Q1osWUszQ2M7Q0w0Q2Y7O0FBRUQ7RUFDRSxZSy9DYztDTGdEZjs7QUFFRDs7RUFFRSxVQUFTO0VBQ1QsV0FBVTtDQUNYOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixlQUFlO0NBQ2hCOztBQUVEO0VBQ0UsZUtsRWlCO0NMbUVsQiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEZPTlRTIFxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSnVuaWNvZGVCb2xkQ29uZGVuc2VkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0p1bmljb2RlLUJvbGRDb25kZW5zZWQud29mZicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIHVybCgnLi4vZm9udHMvSnVuaWNvZGUtQm9sZENvbmRlbnNlZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICB1cmwoJy4uL2ZvbnRzL0p1bmljb2RlLUJvbGRDb25kZW5zZWQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSnVuaWNvZGVCb2xkSXRhbGljQ29uZGVuc2VkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0p1bmljb2RlLUJvbGRJdGFsaWNDb25kZW5zZWQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICB1cmwoJy4uL2ZvbnRzL0p1bmljb2RlLUJvbGRJdGFsaWNDb25kZW5zZWQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcuLi9mb250cy9KdW5pY29kZS1Cb2xkSXRhbGljQ29uZGVuc2VkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdKdW5pY29kZSc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9KdW5pY29kZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgIHVybCgnLi4vZm9udHMvSnVuaWNvZGUud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgdXJsKCcuLi9mb250cy9KdW5pY29kZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vKiBQdXQgeW91ciBnbG9iYWwgc3R5bGVzIGhlcmUgKi9cbkBpbXBvcnQgJ25vcm1hbGl6ZSc7XG5AaW1wb3J0ICdib2lsZXJwbGF0ZSc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAndHlwbyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuQGltcG9ydCAnbmF2JztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAna3J1dC1idy1zd2l0Y2gnO1xuXG5cblxuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZ2NvbG9yO1xuICBjb2xvcjogJG1haW5jb2xvcjtcbn1cblxuYSB7XG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG51bCxcbmxpIHtcbiAgbWFyZ2luOjA7XG4gIHBhZGRpbmc6MDtcbn1cblxubmF2IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWN0aXZlLCBhOmhvdmVye1xuICBjb2xvcjogJGhpZ2hsaWdodDtcbn1cblxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSnVuaWNvZGVCb2xkQ29uZGVuc2VkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9KdW5pY29kZS1Cb2xkQ29uZGVuc2VkLndvZmZcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0p1bmljb2RlLUJvbGRDb25kZW5zZWQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9KdW5pY29kZS1Cb2xkQ29uZGVuc2VkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0p1bmljb2RlQm9sZEl0YWxpY0NvbmRlbnNlZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSnVuaWNvZGUtQm9sZEl0YWxpY0NvbmRlbnNlZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvSnVuaWNvZGUtQm9sZEl0YWxpY0NvbmRlbnNlZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0p1bmljb2RlLUJvbGRJdGFsaWNDb25kZW5zZWQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnSnVuaWNvZGUnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0p1bmljb2RlLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9KdW5pY29kZS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0p1bmljb2RlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8qIFB1dCB5b3VyIGdsb2JhbCBzdHlsZXMgaGVyZSAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiEgSFRNTDUgQm9pbGVycGxhdGUgdjYuMC4xIHwgTUlUIExpY2Vuc2UgfCBodHRwczovL2h0bWw1Ym9pbGVycGxhdGUuY29tLyAqL1xuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlIHN0eWxlczogb3BpbmlvbmF0ZWQgZGVmYXVsdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIHRleHQtc2hhZG93IGluIHNlbGVjdGlvbiBoaWdobGlnaHQ6XG4gKiBodHRwczovL3R3aXR0ZXIuY29tL21pa2V0YXlsci9zdGF0dXMvMTIyMjg4MDUzMDFcbiAqXG4gKiBWZW5kb3ItcHJlZml4ZWQgYW5kIHJlZ3VsYXIgOjpzZWxlY3Rpb24gc2VsZWN0b3JzIGNhbm5vdCBiZSBjb21iaW5lZDpcbiAqIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xNjk4MjUxMC83MTMzNDcxXG4gKlxuICogQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hdGNoIHlvdXIgZGVzaWduLlxuICovXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qXG4gKiBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG4gKi9cbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBhdWRpbywgY2FudmFzLCBpZnJhbWVzLFxuICogaW1hZ2VzLCB2aWRlb3MgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVyczpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy80NDBcbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuXG4gKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBBbGxvdyBvbmx5IHZlcnRpY2FsIHJlc2l6aW5nIG9mIHRleHRhcmVhcy5cbiAqL1xudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnJvd3NlciBVcGdyYWRlIFByb21wdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5icm93c2VydXBncmFkZSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDAuMmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgdmlzdWFsbHkgYW5kIGZyb20gc2NyZWVuIHJlYWRlcnNcbiAqL1xuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEhpZGUgb25seSB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyczpcbiAqIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKlxuICogMS4gRm9yIGxvbmcgY29udGVudCwgbGluZSBmZWVkcyBhcmUgbm90IGludGVycHJldGVkIGFzIHNwYWNlcyBhbmQgc21hbGwgd2lkdGhcbiAqICAgIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICogICAgaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICovXG4udmlzdWFsbHloaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLyogMSAqL1xufVxuXG4vKlxuICogRXh0ZW5kcyB0aGUgLnZpc3VhbGx5aGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50XG4gKiB0byBiZSBmb2N1c2FibGUgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDpcbiAqIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiAqL1xuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTphY3RpdmUsXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XG59XG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gKi9cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBDbGVhcmZpeDogY29udGFpbiBmbG9hdHNcbiAqXG4gKiBGb3IgbW9kZXJuIGJyb3dzZXJzXG4gKiAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuICogICAgYGNvbnRlbnRlZGl0YWJsZWAgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuICogICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4gKiAgICB0aGF0IHJlY2VpdmUgdGhlIGBjbGVhcmZpeGAgY2xhc3MuXG4gKiAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuICogICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuICovXG4uY2xlYXJmaXg6YmVmb3JlLFxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDIgKi9cbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzICovXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIC8qXG4gICAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgICovXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgcHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXAgIWltcG9ydGFudDtcbiAgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG4gIC8qXG4gICAgICogUHJpbnRpbmcgVGFibGVzOlxuICAgICAqIGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgICAqL1xuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cblxuLypcbiRtYWluLWZvbnQtc2Fucy1zZXJpZjogSGVsdmV0aWNhO1xuJG1haW4tZm9udC1zZXJpZjogSnVuaWNvZGU7XG4kc3BlY2lhbC1mb250OiBKdW5pY29kZUJvbGRDb25kZW5zZWQ7XG4kc3BlY2lhbC1mb250LWl0YWxpYzogSnVuaWNvZGVCb2xkSXRhbGNDb25kZW5zZWQ7O1xuLS0+IHNldCBpbiBtYWluIGNzc1xuKi9cbmh0bWwge1xuICBmb250LXNtb290aDogYXV0bztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7XG59XG5cbi5zZXJpZi1mb250IHtcbiAgZm9udC1mYW1pbHk6IEp1bmljb2RlO1xufVxuXG4uc2VyaWYtaXRhbGljLWZvbnQge1xuICBmb250LWZhbWlseTogSnVuaWNvZGVCb2xkSXRhbGljQ29uZGVuc2VkO1xufVxuXG4uYm9keS1zZXJpZi1mb250IHtcbiAgZm9udC1mYW1pbHk6IEp1bmljb2RlO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4uYm9keS1zZXJpZi1ib2xkLWNvbmRlbnNlZC1mb250IHtcbiAgZm9udC1mYW1pbHk6IEp1bmljb2RlQm9sZENvbmRlbnNlZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmJvZHktc2VyaWYtaXRhbGljLWZvbnQge1xuICBmb250LWZhbWlseTogSnVuaWNvZGVCb2xkSXRhbGljQ29uZGVuc2VkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4udGlueSB7XG4gIGZvbnQtZmFtaWx5OiBKdW5pY29kZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMTlweDtcbn1cblxuLnRpbnkuaGVsdmV0aWNhIHtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYTtcbn1cblxuLnNhbnMtc2VyaWYge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhO1xufVxuXG4uc2Fucy1zZXJpZi1pdGFsaWMge1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5hbGwtY2FwcyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5oZWx2ZXRpY2Ege1xuICBmb250LWZhbWlseTogSGVsdmV0aWNhO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5tYWluLm1haW4ge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuaDEsIGgxIGEsIGEgaDEge1xuICBmb250LXNpemU6IDY1cHg7XG4gIGxpbmUtaGVpZ2h0OiA1OHB4O1xuICBmb250LWZhbWlseTogSnVuaWNvZGVCb2xkSXRhbGljQ29uZGVuc2VkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDYwcHggMCA2MHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxLjgpO1xufVxuXG5oMiwgaDIgYSwgYSBoMiB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBKdW5pY29kZUJvbGRJdGFsaWNDb25kZW5zZWQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMS44KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAxMHB4IDAgNDBweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmgyLnNhbnMtc2VyaWYsIGgzLnNhbnMtc2VyaWYge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMi5zYW5zLXNlcmlmLWl0YWxpYywgaDMuc2Fucy1zZXJpZi1pdGFsaWMge1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuaDIubm8taXRhbGljLCBoMi5uby1pdGFsaWMgYSwgYSBoLm5vLWl0YWxpYyB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBKdW5pY29kZUJvbGRDb25kZW5zZWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMTBweCAwIDIwcHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5oMywgaDMgYSwgYSBoMyB7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gIGZvbnQtZmFtaWx5OiBKdW5pY29kZUJvbGRDb25kZW5zZWQ7XG4gIG1hcmdpbjogOHB4IDAgNXB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDQsIGg0IGEsIGEgaDQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LWZhbWlseTogSnVuaWNvZGVCb2xkQ29uZGVuc2VkO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDZweCAwIDZweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFB1dCB5b3VyIGxheW91dCBoZXJlICovXG5ib2R5LCBodG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ubWFpbiB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbiNjb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW46IDIwcHggYXV0bztcbn1cblxuLmV4dHJhLW1hcmdpbi10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uZXh0cmEtZXh0cmEtbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG59XG5cbi5leHRyYS1leHRyYS1wYWRkaW5nLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tb2JpbGUtb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5kZXNrdG9wLW9ubHkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuZmlndXJlLFxuLmlmcmFtZS1jb250YWluZXIsXG4udmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uc2hvdy1vbi1tb2JpbGUtb25seSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnNob3ctb24tZGVza3RvcC1vbmx5IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuZmlndXJlIGlmcmFtZSxcbmZpZ3VyZSBvYmplY3QsXG5maWd1cmUgZW1iZWQsXG4udmlkZW8tY29udGFpbmVyIGlmcmFtZSxcbi52aWRlby1jb250YWluZXIgb2JqZWN0LFxuLnZpZGVvLWNvbnRhaW5lciBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuaW5wdXQge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xufVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjRkZGO1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBmb250LWZhbWlseTogSnVuaWNvZGVCb2xkSXRhbGljQ29uZGVuc2VkO1xufVxuXG4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2MzNzY3YztcbiAgY29sb3I6ICNGRkY7XG59XG5cbi5uby1saW5rIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tIEhFQURFUiAmIEZPT1RFUiAtLS0tLS0tLS0tLSAqL1xuLmZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIG1hcmdpbjogNDBweCAyMHB4IDIwcHggMjBweDtcbiAgLyogbmV3c2xldHRlciAqL1xufVxuXG4uZm9vdGVyIC5wYXJ0bmVycyBpbWcge1xuICBtYXgtd2lkdGg6IDE1MHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5mb290ZXIgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiAxNXB4O1xuICB3aWR0aDogMjgwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5mb290ZXIgaW5wdXQuc3Vic2NyaWJlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogI0ZGRjtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgd2lkdGg6IDEyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvb3RlciBpbnB1dC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjYzM3NjdjO1xufVxuXG4uZm9vdGVyIC5jb2wtZGVzay04LmZpcnN0IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uaGVhZGVyLXNvY2lhbHMgLnNvY2lhbC1pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9pbnN0YWdyYW0uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDM2cHggMzZweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5pbnN0YWdyYW0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2luc3RhZ3JhbS5zdmdcIik7XG59XG5cbi5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24uYmFuZGNhbXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2JhbmRjYW1wLnN2Z1wiKTtcbn1cblxuLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5kaXNjb2dzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9kaXNjb2dzLnN2Z1wiKTtcbn1cblxuLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5mYWNlYm9vayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy1zb2NpYWwvZmFjZWJvb2suc3ZnXCIpO1xufVxuXG4uaGVhZGVyLXNvY2lhbHMgLnNvY2lhbC1pY29uLnNvdW5kY2xvdWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL3NvdW5kY2xvdWQuc3ZnXCIpO1xufVxuXG4uaGVhZGVyLXNvY2lhbHMgLnNvY2lhbC1pY29uLnlvdXR1YmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL3lvdXR1YmUuc3ZnXCIpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tIEhPTUVQQUdFIC0tLS0tLS0tLS0tICovXG5hLnJlY29yZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYS5yZWNvcmQgLnN0YXR1cyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5ob21lcGFnZS1rcnV0LXJlbGVhc2VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBjb2xvcjogI0ZGRjtcbn1cblxuLmhvbWVwYWdlLWtydXQtcmVsZWFzZXMgaDQsIC5ob21lcGFnZS1rcnV0LXJlbGVhc2VzIHN0YXR1cywgLmhvbWVwYWdlLWtydXQtcmVsZWFzZXMgYSB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG4uaW1hZ2UtbW9kYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciBmaXhlZDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBORVdTIC0tLS0tLS0tLS0tICovXG4ubmV3cy1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLm5ld3MtY29udGVudCAuZmlndXJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xufVxuXG4ubmV3cy1jb250ZW50IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uZXdzLW92ZXJ2aWV3IC5kYXRlIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5jb2wtNTAtY2VudGVyZWQtb24tZGVza3RvcCB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY29sLTUwLWNlbnRlcmVkLW9uLWRlc2t0b3AgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmNvbC03MC1jZW50ZXJlZC1vbi1kZXNrdG9wIHtcbiAgd2lkdGg6IDcwJTtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMjBweCBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tIFJBRElPIC0tLS0tLS0tLS0tICovXG4ucmFkaW8tb3ZlcnZpZXcgLmRhdGUge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucmFkaW8tZGV0YWlsIHtcbiAgbWFyZ2luOiAyMHB4IDAgNDBweCAwO1xufVxuXG4ucmFkaW8tZGV0YWlsIC5yYWRpby1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNGRkY7XG59XG5cbi5yYWRpby1kZXRhaWwgLnJhZGlvLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiA0MHB4O1xuICBtYXJnaW46IDQwcHggMCAxMDBweCAwO1xuICB3aWR0aDogNTAlO1xufVxuXG4ucmFkaW8tZGV0YWlsIC5lbWJlZCB7XG4gIG1hcmdpbjogMjBweCAwIDEwcHggMDtcbn1cblxuLnJhZGlvLWNhdGVnb3J5LW92ZXJ2aWV3IHtcbiAgbWFyZ2luOiAxMHB4IDIwcHggMjBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBKdW5pY29kZUJvbGRJdGFsaWNDb25kZW5zZWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMjBweDtcbn1cblxuLnJhZGlvLWNhdGVnb3J5LW92ZXJ2aWV3IGEge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEuOCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMS44KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucmFkaW8tdGFncyB7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xufVxuXG4ucmFkaW8tdGFncyAucmFkaW8tdGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICBwYWRkaW5nOiAycHggMTVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09OQ0VSVFMgLS0tLS0tLS0tLS0gKi9cbi5jb25jZXJ0cyAucm93IHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29uY2VydHMgLnJvdzpmaXJzdC1jaGlsZCwgLmNvbmNlcnRzIC5yb3cuZmlyc3Qge1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4uY29uY2VydHMgLnRpdGxlLWNvbCB7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xufVxuXG4uY29uY2VydHMgLmRhdGUtY29sIHtcbiAgcGFkZGluZy1yaWdodDogMnB4O1xufVxuXG4ubGluZS11cCAubG9jYXRpb24ge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5iYW5kLWxpc3Rpbmcge1xuICBtYXJnaW46IDYwcHggMjBweCA0MHB4IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4udGlja2V0cyB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLmhvdXIsIC5iYW5kIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBSRUxFQVNFUyAtLS0tLS0tLS0tLSAqL1xuLnJlbGVhc2Utb3ZlcnZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucmVsZWFzZS1vdmVydmlldyAudGV4dC1pbmZvIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnJlbGVhc2Utb3ZlcnZpZXcgLmF1dGhvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnJlbGVhc2Utb3ZlcnZpZXcgLmZvcm1hdC1saXN0aW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ucmVsZWFzZS1vdmVydmlldyAuc3RhdHVzIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ucmVsZWFzZS1vdmVydmlldyAuc3RhdHVzLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI0ZGRjtcbiAgY29sb3I6ICNjMzc2N2M7XG4gIHRvcDogNDIlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBKdW5pY29kZUJvbGRDb25kZW5zZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJlbGVhc2Utb3ZlcnZpZXc6aG92ZXIgLnN0YXR1cy1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVjb3JkLWRldGFpbCAudHJhY2tsaXN0aW5nIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi5yZWNvcmQtZGV0YWlsIC5vdXItc3RvcmVzIHtcbiAgLyogZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4OyAqL1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ua3J1dC1sZXR0ZXIge1xuICB3aWR0aDogMjUwcHg7XG4gIG1hcmdpbjogMjBweCAwIDQwcHggMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBBUkNISVZFIC0tLS0tLS0tLS0tICovXG4uYXJjaGl2ZS1jYXRlZ29yeS1vdmVydmlldyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYXJjaGl2ZS1jYXRlZ29yeS1vdmVydmlldyBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmFyY2hpdmUtY2F0ZWdvcnktb3ZlcnZpZXcgLmFyY2hpdmUtaW50cm8ge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uYXJjaGl2ZS1jYXRlZ29yeS1vdmVydmlldyBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFyY2hpdmUtb3ZlcnZpZXctaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFyY2hpdmUtb3ZlcnZpZXctaXRlbSAuc3RhdHVzLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI0ZGRjtcbiAgdG9wOiA0MiU7XG4gIGxlZnQ6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIG1pbi13aWR0aDogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogM3B4IDRweDtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IEp1bmljb2RlQm9sZENvbmRlbnNlZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYXJjaGl2ZS1vdmVydmlldy1pdGVtIC5zdGF0dXMtYmxvY2sgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmFyY2hpdmUtb3ZlcnZpZXctaXRlbTpob3ZlciAuc3RhdHVzLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tIElQQUQgLS0tLS0tLS0tLS0gKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAuaGVhZGVyIGEge1xuICAgIHBhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBIT01FUEFHRSAtLS0tLS0tLS0tLSAqL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tIE5FV1MgLS0tLS0tLS0tLS0gKi9cbiAgLmNvbC01MC1jZW50ZXJlZC1vbi1kZXNrdG9wLFxuICAuY29sLTYwLWNlbnRlcmVkLW9uLWRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gQVJDSElWRSAtLS0tLS0tLS0tLSAqL1xuICAuYXJjaGl2ZS1jYXRlZ29yeS1vdmVydmlldyAuYXJjaGl2ZS1pbnRybyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gTU9CSUxFIC0tLS0tLS0tLS0tICovXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAjY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gIH1cbiAgLmNvbC1kZXNrLTQsIC5jb2wtZGVzay02IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5zaG93LW9uLW1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC5oaWRlLW9uLW1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNob3ctZm9yLWRlc2t0b3Atb25seSxcbiAgLnNob3ctb24tZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbC03MC1jZW50ZXJlZC1vbi1kZXNrdG9wIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuaGVhZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgLmZvb3RlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIC8qIG5ld3NsZXR0ZXIgKi9cbiAgfVxuICAuZm9vdGVyIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5mb290ZXIgaW5wdXQuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogMDtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gIH1cbiAgLmV4dHJhLXNwYWNlLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIGgxLCBoMSBhLCBhIGgxIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIH1cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBIT01FUEFHRSAtLS0tLS0tLS0tLSAqL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tIFJFQ09SRFMgLS0tLS0tLS0tLS0gKi9cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBDT05DRVJUUyAtLS0tLS0tLS0tLSAqL1xuICAuY29uY2VydHMgLnJvdyB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIH1cbiAgLmNvbmNlcnRzIC50aXRsZS1jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgfVxuICAuY29uY2VydHMgLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmJhbmQtbGlzdGluZyB7XG4gICAgbWFyZ2luOiA0MHB4IDBweCA0MHB4IDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi5tYWluLW5hdiB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5tLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTBweDtcbiAgcmlnaHQ6IDVweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm0tbWVudSAubW0ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLm0tbWVudSAubW06YmVmb3JlLCAubS1tZW51IC5tbTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGxlZnQ6IDE4cHg7XG4gIHRvcDogMTlweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG59XG5cbi5tLW1lbnUgLm1tOmFmdGVyIHtcbiAgdG9wOiAyN3B4O1xufVxuXG4uaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IEp1bmljb2RlQm9sZEl0YWxpY0NvbmRlbnNlZDtcbn1cblxuLmhlYWRlciAubG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIHdpZHRoOiAxNzVweDtcbiAgaGVpZ2h0OiAxNzVweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNzVweCAxNzVweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbW1vbi9sb2dvLWNvbG9yLXRyYW5zcGFyZW50LnN2Z1wiKTtcbn1cblxuLmhlYWRlciAudXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5oZWFkZXIgLnVwcGVyIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmhlYWRlciAudXBwZXIgLnRyYW5zZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxLjgpO1xufVxuXG4uaGVhZGVyIC51cHBlciAuaGVhZGVyLWxhbmd1YWdlLCAuaGVhZGVyIC51cHBlciAuaGVhZGVyLXNvY2lhbHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5oZWFkZXIgLnVwcGVyIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uaGVhZGVyIC51cHBlciAuZW4ge1xuICBwYWRkaW5nLXJpZ2h0OiAycHg7XG59XG5cbi5oZWFkZXIgLnVwcGVyIC5sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xufVxuXG4uaGVhZGVyIC51cHBlciAucmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4uaGVhZGVyIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjRweCAyMHB4IDIycHggMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5oZWFkZXIgYSBzcGFuLnRyYW5zZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxLjgpO1xufVxuXG4uaGVhZGVyIC5sb3dlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGZvbnQtc2l6ZTogMjlweDtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIG1hcmdpbjogMjBweCAyMHB4IDQ4cHggMjBweDtcbiAgcGFkZGluZzogOHB4IDA7XG59XG5cbi5oZWFkZXIgLmxvd2VyIGEge1xuICBmb250LXNpemU6IDM5cHg7XG4gIGxpbmUtaGVpZ2h0OiAzOXB4O1xufVxuXG4ubS1tZW51LW9wZW4gLm0tbWVudSAubW06YmVmb3JlIHtcbiAgdG9wOiAyNHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4ubS1tZW51LW9wZW4gLm0tbWVudSAubW06YWZ0ZXIge1xuICB0b3A6IDI0cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAubS1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBodG1sLm5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIGJvZHkubm9zY3JvbGwge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAubS1tZW51LW9wZW4gLm1haW4tbmF2IC5sb3dlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5tLW1lbnUtb3BlbiAubWFpbi1uYXYgLmxvd2VyIGEge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgfVxuICAubS1tZW51LW9wZW4gLm1haW4tbmF2IC5sb3dlciB1bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAubS1tZW51LW9wZW4gLm1haW4tbmF2IC5sb3dlciB1bCBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLyogbWFrZSB0aGUgaGVhZGVyIGxvb2sgb24gbW9iaWxlIGEgYml0IGRpZmZlcmVudCAqL1xuICAuaGVhZGVyIC51cHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmhlYWRlciAubG93ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAuaGVhZGVyIC5sb3dlciBhIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgcGFkZGluZzogMTRweCAwO1xuICB9XG4gIC5tYWluLW5hdiAudXBwZXItbW9iaWxlLWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIgYSB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG4gIC5tYWluLW5hdiAudXBwZXItbW9iaWxlLWJhciAuYWJvdXQsIC5tYWluLW5hdiAudXBwZXItbW9iaWxlLWJhciAuaGVhZGVyLXNvY2lhbHMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5tYWluLW5hdiAudXBwZXItbW9iaWxlLWJhciAuaGVhZGVyLXNvY2lhbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggMThweDtcbiAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5pbnN0YWdyYW0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy1zb2NpYWwvaW5zdGFncmFtLXdoaXRlLnN2Z1wiKTtcbiAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5iYW5kY2FtcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9iYW5kY2FtcC13aGl0ZS5zdmdcIik7XG4gIH1cbiAgLm1haW4tbmF2IC51cHBlci1tb2JpbGUtYmFyIC5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24uZGlzY29ncyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9kaXNjb2dzLXdoaXRlLnN2Z1wiKTtcbiAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9mYWNlYm9vay13aGl0ZS5zdmdcIik7XG4gIH1cbiAgLm1haW4tbmF2IC51cHBlci1tb2JpbGUtYmFyIC5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24uc291bmRjbG91ZCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9zb3VuZGNsb3VkLXdoaXRlLnN2Z1wiKTtcbiAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi55b3V0dWJlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL3lvdXR1YmUtd2hpdGUuc3ZnXCIpO1xuICB9XG4gIC5jZW50ZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jZW50ZXIgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICB9XG4gIC5tYWluLW5hdiAubG93ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmdyaWQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1heC13aWR0aDogMTYwMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NTBweCkge1xuICAuZ3JpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmdyaWQuc3RhY2thYmxlIFtjbGFzc149J2NvbC0nXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmdyaWQtMCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG59XG5cbi5jb2wtZGVzay0wIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDAlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODg4ODg4OSU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODg4ODg4OSU7XG59XG5cbi5jb2wtZGVzay1zaGlmdC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uY29sLWRlc2stMSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA2LjI1JTtcbiAgcGFkZGluZy1sZWZ0OiAxLjM4ODg4ODg4ODklO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg4ODg4ODklO1xufVxuXG4uY29sLWRlc2stc2hpZnQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA2LjI1JTtcbn1cblxuLmNvbC1kZXNrLTIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTIuNSU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTIge1xuICBtYXJnaW4tbGVmdDogMTIuNSU7XG59XG5cbi5jb2wtZGVzay0zIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDE4Ljc1JTtcbiAgcGFkZGluZy1sZWZ0OiAxLjM4ODg4ODg4ODklO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg4ODg4ODklO1xufVxuXG4uY29sLWRlc2stc2hpZnQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAxOC43NSU7XG59XG5cbi5jb2wtZGVzay00IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZy1sZWZ0OiAxLjM4ODg4ODg4ODklO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg4ODg4ODklO1xufVxuXG4uY29sLWRlc2stc2hpZnQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7XG59XG5cbi5jb2wtZGVzay01IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDMxLjI1JTtcbiAgcGFkZGluZy1sZWZ0OiAxLjM4ODg4ODg4ODklO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg4ODg4ODklO1xufVxuXG4uY29sLWRlc2stc2hpZnQtNSB7XG4gIG1hcmdpbi1sZWZ0OiAzMS4yNSU7XG59XG5cbi5jb2wtZGVzay02IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM3LjUlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODg4ODg4OSU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODg4ODg4OSU7XG59XG5cbi5jb2wtZGVzay1zaGlmdC02IHtcbiAgbWFyZ2luLWxlZnQ6IDM3LjUlO1xufVxuXG4uY29sLWRlc2stNyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0My43NSU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTcge1xuICBtYXJnaW4tbGVmdDogNDMuNzUlO1xufVxuXG4uY29sLWRlc2stOCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTgge1xuICBtYXJnaW4tbGVmdDogNTAlO1xufVxuXG4uY29sLWRlc2stOSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA1Ni4yNSU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTkge1xuICBtYXJnaW4tbGVmdDogNTYuMjUlO1xufVxuXG4uY29sLWRlc2stMTAge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNjIuNSU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDYyLjUlO1xufVxuXG4uY29sLWRlc2stMTEge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNjguNzUlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODg4ODg4OSU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODg4ODg4OSU7XG59XG5cbi5jb2wtZGVzay1zaGlmdC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA2OC43NSU7XG59XG5cbi5jb2wtZGVzay0xMiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTEyIHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTtcbn1cblxuLmNvbC1kZXNrLTEzIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDgxLjI1JTtcbiAgcGFkZGluZy1sZWZ0OiAxLjM4ODg4ODg4ODklO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjM4ODg4ODg4ODklO1xufVxuXG4uY29sLWRlc2stc2hpZnQtMTMge1xuICBtYXJnaW4tbGVmdDogODEuMjUlO1xufVxuXG4uY29sLWRlc2stMTQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogODcuNSU7XG4gIHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMS4zODg4ODg4ODg5JTtcbn1cblxuLmNvbC1kZXNrLXNoaWZ0LTE0IHtcbiAgbWFyZ2luLWxlZnQ6IDg3LjUlO1xufVxuXG4uY29sLWRlc2stMTUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogOTMuNzUlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODg4ODg4OSU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODg4ODg4OSU7XG59XG5cbi5jb2wtZGVzay1zaGlmdC0xNSB7XG4gIG1hcmdpbi1sZWZ0OiA5My43NSU7XG59XG5cbi5jb2wtZGVzay0xNiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDEuMzg4ODg4ODg4OSU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMzg4ODg4ODg4OSU7XG59XG5cbi5jb2wtZGVzay1zaGlmdC0xNiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcbiAgLmNvbC10YWItMCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjcwNDU0NTQ1NDUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNzA0NTQ1NDU0NSU7XG4gIH1cbiAgLmNvbC10YWItc2hpZnQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5jb2wtdGFiLTEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNzA0NTQ1NDU0NSU7XG4gICAgcGFkZGluZy1yaWdodDogMS43MDQ1NDU0NTQ1JTtcbiAgfVxuICAuY29sLXRhYi1zaGlmdC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtdGFiLTIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNzA0NTQ1NDU0NSU7XG4gICAgcGFkZGluZy1yaWdodDogMS43MDQ1NDU0NTQ1JTtcbiAgfVxuICAuY29sLXRhYi1zaGlmdC0yIHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5jb2wtdGFiLTMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNzA0NTQ1NDU0NSU7XG4gICAgcGFkZGluZy1yaWdodDogMS43MDQ1NDU0NTQ1JTtcbiAgfVxuICAuY29sLXRhYi1zaGlmdC0zIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtdGFiLTQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjcwNDU0NTQ1NDUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNzA0NTQ1NDU0NSU7XG4gIH1cbiAgLmNvbC10YWItc2hpZnQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgLmNvbC1tb2ItMCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tb2Itc2hpZnQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5jb2wtbW9iLTEge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1vYi1zaGlmdC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtbW9iLTIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1vYi1zaGlmdC0yIHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5jb2wtbW9iLTMge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogMS4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1vYi1zaGlmdC0zIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbW9iLTQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tb2Itc2hpZnQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMCU7XG4gIH1cbn1cblxuLmV4dHJhLXNwYWNlLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNyU7XG59XG5cbmJvZHkua3J1dCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5ib2R5LmtydXQgYSB7XG4gIGNvbG9yOiAjRkZGO1xufVxuXG5ib2R5LmtydXQgYTpob3ZlciB7XG4gIGNvbG9yOiAjYzM3NjdjO1xufVxuXG5ib2R5LmtydXQgLmZvb3RlcixcbmJvZHkua3J1dCAuaGVhZGVyIC5sb3dlciB7XG4gIGJvcmRlci1jb2xvcjogI0ZGRjtcbn1cblxuYm9keS5rcnV0IC5sb2dvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NvbW1vbi9sb2dvLWNvbG9yLWJsYWNrLWJnLnN2Z1wiKTtcbn1cblxuYm9keS5rcnV0IC5mb290ZXIgaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keS5rcnV0IC5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24uaW5zdGFncmFtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9pbnN0YWdyYW0td2hpdGUuc3ZnXCIpO1xufVxuXG5ib2R5LmtydXQgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5iYW5kY2FtcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy1zb2NpYWwvYmFuZGNhbXAtd2hpdGUuc3ZnXCIpO1xufVxuXG5ib2R5LmtydXQgLmhlYWRlci1zb2NpYWxzIC5zb2NpYWwtaWNvbi5kaXNjb2dzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9kaXNjb2dzLXdoaXRlLnN2Z1wiKTtcbn1cblxuYm9keS5rcnV0IC5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24uZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2ZhY2Vib29rLXdoaXRlLnN2Z1wiKTtcbn1cblxuYm9keS5rcnV0IC5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24uc291bmRjbG91ZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy1zb2NpYWwvc291bmRjbG91ZC13aGl0ZS5zdmdcIik7XG59XG5cbmJvZHkua3J1dCAuaGVhZGVyLXNvY2lhbHMgLnNvY2lhbC1pY29uLnlvdXR1YmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMtc29jaWFsL3lvdXR1YmUtd2hpdGUuc3ZnXCIpO1xufVxuXG5ib2R5LmtydXQgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5ib2R5LmtydXQgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMzc2N2M7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG59XG5cbmEge1xuICBjb2xvcjogIzAwMDtcbn1cblxudWwsXG5saSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubmF2IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYWN0aXZlLCBhOmhvdmVyIHtcbiAgY29sb3I6ICNjMzc2N2M7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIEhUTUw1IEJvaWxlcnBsYXRlIHY2LjAuMSB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbS8gKi9cblxuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVmVuZG9yLXByZWZpeGVkIGFuZCByZWd1bGFyIDo6c2VsZWN0aW9uIHNlbGVjdG9ycyBjYW5ub3QgYmUgY29tYmluZWQ6XG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY5ODI1MTAvNzEzMzQ3MVxuICpcbiAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbiAqL1xuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLypcbiAqIEEgYmV0dGVyIGxvb2tpbmcgZGVmYXVsdCBob3Jpem9udGFsIHJ1bGVcbiAqL1xuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHN0eWxlcy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCcm93c2VyIFVwZ3JhZGUgUHJvbXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnJvd3NlcnVwZ3JhZGUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gKi9cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKi9cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiAxICovXG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiAqIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuICogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuICovXG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTMgKi9cbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgICovXG5cbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFByaW50aW5nIFRhYmxlczpcbiAgICAgKiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxufVxuIiwiXG4vKlxuJG1haW4tZm9udC1zYW5zLXNlcmlmOiBIZWx2ZXRpY2E7XG4kbWFpbi1mb250LXNlcmlmOiBKdW5pY29kZTtcbiRzcGVjaWFsLWZvbnQ6IEp1bmljb2RlQm9sZENvbmRlbnNlZDtcbiRzcGVjaWFsLWZvbnQtaXRhbGljOiBKdW5pY29kZUJvbGRJdGFsY0NvbmRlbnNlZDs7XG4tLT4gc2V0IGluIG1haW4gY3NzXG4qL1xuXG5odG1sIHtcbiAgZm9udC1zbW9vdGg6IGF1dG87XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LXNpemU6ICRib2R5LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodDtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQtc2Fucy1zZXJpZjtcbn1cbi5zZXJpZi1mb250IHtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQtc2VyaWY7XG59XG4uc2VyaWYtaXRhbGljLWZvbnQge1xuICBmb250LWZhbWlseTogJHNwZWNpYWwtZm9udC1pdGFsaWM7XG59XG4uYm9keS1zZXJpZi1mb250IHtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogJGJvZHktc2l6ZSArIDI7XG4gIGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodCArIDI7XG59XG4uYm9keS1zZXJpZi1ib2xkLWNvbmRlbnNlZC1mb250IHtcbiAgZm9udC1mYW1pbHk6ICRzcGVjaWFsLWZvbnQ7XG4gIGZvbnQtc2l6ZTogJGJvZHktc2l6ZSArIDI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodCArIDI7XG59XG4uYm9keS1zZXJpZi1pdGFsaWMtZm9udCB7XG4gIGZvbnQtZmFtaWx5OiAkc3BlY2lhbC1mb250LWl0YWxpYztcbiAgZm9udC1zaXplOiAkYm9keS1zaXplICsgMjtcbiAgbGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0ICsgMjtcbn1cbi50aW55IHtcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQtc2VyaWY7XG4gIGZvbnQtc2l6ZTogJGJvZHktc2l6ZSAtIDM7XG4gIGxpbmUtaGVpZ2h0OiAkYm9keS1saW5lLWhlaWdodCAtIDM7XG59XG4udGlueS5oZWx2ZXRpY2Ege1xuICBmb250LWZhbWlseTogJG1haW4tZm9udC1zYW5zLXNlcmlmO1xufVxuLnNhbnMtc2VyaWYge1xuICBmb250LWZhbWlseTogJG1haW4tZm9udC1zYW5zLXNlcmlmO1x0XG59XG4uc2Fucy1zZXJpZi1pdGFsaWMgeyBcbiAgZm9udC1mYW1pbHk6ICRtYWluLWZvbnQtc2Fucy1zZXJpZjtcdFxuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4uYWxsLWNhcHMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmhlbHZldGljYSB7XG4gIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250LXNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbm1haW4ubWFpbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuaDEsIGgxIGEsIGEgaDEge1xuICBmb250LXNpemU6ICRoMS1zaXplO1xuICBsaW5lLWhlaWdodDogJGgxLWxpbmUtaGVpZ2h0O1xuICBmb250LWZhbWlseTogJHNwZWNpYWwtZm9udC1pdGFsaWM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogNjBweCAwIDYwcHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEuOCk7XG4gIFxufVxuaDIsIGgyIGEsIGEgaDIge1xuICBmb250LXNpemU6ICRoMi1zaXplO1xuICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xuICBmb250LWZhbWlseTogJHNwZWNpYWwtZm9udC1pdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEuOCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbjogMTBweCAwIDQwcHggMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuaDIuc2Fucy1zZXJpZiwgaDMuc2Fucy1zZXJpZiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5oMi5zYW5zLXNlcmlmLWl0YWxpYywgaDMuc2Fucy1zZXJpZi1pdGFsaWMge1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbmgyLm5vLWl0YWxpYywgaDIubm8taXRhbGljIGEsIGEgaC5uby1pdGFsaWMge1xuICBmb250LXNpemU6ICRoMi1zaXplO1xuICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xuIGZvbnQtZmFtaWx5OiAkc3BlY2lhbC1mb250O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmgzLCBoMyBhLCBhIGgzIHtcbiAgZm9udC1zaXplOiAkaDMtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoMy1saW5lLWhlaWdodDtcbiAgZm9udC1mYW1pbHk6ICRzcGVjaWFsLWZvbnQ7XG4gIG1hcmdpbjogOHB4IDAgNXB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbmg0LCBoNCBhLCBhIGg0IHtcbiAgZm9udC1zaXplOiAkaDQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRoNC1saW5lLWhlaWdodDtcbiAgZm9udC1mYW1pbHk6ICRzcGVjaWFsLWZvbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogNnB4IDAgNnB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuIiwiJGJnY29sb3I6ICNmZmY7XG4kbWFpbmNvbG9yOiAjMDAwO1xuJGhpZ2hsaWdodDogI2MzNzY3YztcbiRsaW5lLWNvbG9yOiAjZWFlYmVjO1xuJGhpZ2hsaWdodC1kYXJrLWJhY2tncm91bmQ6ICNjMzc2N2M7XG4kbWF4LXdpZHRoOiAxNjAwcHg7XG5cbi8vIHNpemVzXG4kaDEtc2l6ZTogNjVweDtcbiRoMS1saW5lLWhlaWdodDogNThweDtcblxuJGgyLXNpemU6IDMwcHg7XG4kaDItbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiRoMy1zaXplOiAzNXB4O1xuJGgzLWxpbmUtaGVpZ2h0OiAzOHB4O1xuXG4kaDMtc2l6ZTogMzVweDtcbiRoMy1saW5lLWhlaWdodDogMzVweDtcblxuJGg0LXNpemU6IDI0cHg7XG4kaDQtbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiRib2R5LXNpemU6IDE4cHg7XG4kYm9keS1saW5lLWhlaWdodDogMjJweDtcblxuLy8gRk9OVFNcbiRtYWluLWZvbnQtc2Fucy1zZXJpZjogSGVsdmV0aWNhO1xuJG1haW4tZm9udC1zZXJpZjogSnVuaWNvZGU7XG4kc3BlY2lhbC1mb250OiBKdW5pY29kZUJvbGRDb25kZW5zZWQ7XG4kc3BlY2lhbC1mb250LWl0YWxpYzogSnVuaWNvZGVCb2xkSXRhbGljQ29uZGVuc2VkO1xuXG4vLyBHUklEXG4vLyBkZXNrdG9wIGdyaWRcbiRncmlkLWRlc2t0b3AtY29sdW1uczogMTY7XG4kZ3JpZC1kZXNrdG9wLXNpZGVNYXJnaW46IDgwcHg7XG4kZ3JpZC1kZXNrdG9wLWd1dHRlcjogNDBweDtcbiRncmlkLWRlc2t0b3AtYnJlYWtwb2ludDogJG1heC13aWR0aDtcblxuLy8gdGFibGV0IGdyaWRcbiRncmlkLXRhYmxldC1jb2x1bW5zOiA0O1xuJGdyaWQtdGFibGV0LXNpZGVNYXJnaW46IDYwcHg7IFxuJGdyaWQtdGFibGV0LWd1dHRlcjogMzBweDtcbiRncmlkLXRhYmxldC1icmVha3BvaW50OiAxMDAwcHg7XG5cbi8vIG1vYmlsZSBncmlkXG4kZ3JpZC1tb2JpbGUtY29sdW1uczogNDtcbiRncmlkLW1vYmlsZS1zaWRlTWFyZ2luOiAwcHg7XG4kZ3JpZC1tb2JpbGUtZ3V0dGVyOjIwcHg7XG4kZ3JpZC1tb2JpbGUtYnJlYWtwb2ludDogNzUwcHg7XG4iLCIvKiBQdXQgeW91ciBsYXlvdXQgaGVyZSAqL1xuXG5ib2R5LCBodG1sIHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuLm1haW4ge1xuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuI2NvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdC8vIGhlaWdodDogMTAwJTsgIC8vIHJlbW92ZWQgdGhpcyB0byBmaXggc2FmYXJpIGhlaWdodCBidWdcblx0bWluLWhlaWdodDogMTAwJTsgLy8gc29sdmVzIHNhZmFyaSBidWdcblx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuXHRwYWRkaW5nOiAwIDIwcHg7XG5cdG1hcmdpbjogMjBweCBhdXRvOyBcbn1cblxuLmV4dHJhLW1hcmdpbi10b3Age1xuXHRtYXJnaW4tdG9wOiA0MHB4O1xufVxuLmV4dHJhLWV4dHJhLW1hcmdpbi10b3Age1xuXHRtYXJnaW4tdG9wOiA4MHB4O1xufVxuLmV4dHJhLWV4dHJhLXBhZGRpbmctYm90dG9tIHtcblx0bWFyZ2luLWJvdHRvbTogODBweDtcbn1cbi50ZXh0LWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRleHQtcmlnaHQge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5tb2JpbGUtb25seSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4uZGVza3RvcC1vbmx5IHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5maWd1cmUsXG4uaWZyYW1lLWNvbnRhaW5lciwgXG4udmlkZW8tY29udGFpbmVyIHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOjU2LjI1JTtcblx0cGFkZGluZy10b3A6MzBweDtcblx0aGVpZ2h0OjA7XG5cdG92ZXJmbG93OmhpZGRlbjtcbn1cbi5zaG93LW9uLW1vYmlsZS1vbmx5IHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3ctb24tZGVza3RvcC1vbmx5IHtcblx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuZmlndXJlIGlmcmFtZSwgXG5maWd1cmUgb2JqZWN0LCBcbmZpZ3VyZSBlbWJlZCxcbi52aWRlby1jb250YWluZXIgaWZyYW1lLCBcbi52aWRlby1jb250YWluZXIgb2JqZWN0LCBcbi52aWRlby1jb250YWluZXIgZW1iZWQge1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjA7XG5cdGxlZnQ6MDtcblx0d2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6MTAwJSAhaW1wb3J0YW50O1xufVxuXG5pbnB1dCB7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcblx0cGFkZGluZzogOHB4IDE1cHg7XG59XG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6ICMwMDA7XG5cdGNvbG9yOiAjRkZGO1xuXHRtaW4td2lkdGg6IDEyMHB4O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRwYWRkaW5nOiA4cHggMTVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXNpemU6IDI0cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRmb250LWZhbWlseTogJHNwZWNpYWwtZm9udC1pdGFsaWM7XG59XG4uYnV0dG9uOmhvdmVyIHtcblx0YmFja2dyb3VuZDogJGhpZ2hsaWdodDtcblx0Y29sb3I6ICNGRkY7XG59XG5cbi5uby1saW5rIHtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tIEhFQURFUiAmIEZPT1RFUiAtLS0tLS0tLS0tLSAqL1xuXG4uZm9vdGVyIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDA7XG5cdHBhZGRpbmc6IDQwcHggMDtcblx0bWFyZ2luOiA0MHB4IDIwcHggMjBweCAyMHB4O1xuXHQucGFydG5lcnMgaW1nIHtcblx0XHRtYXgtd2lkdGg6IDE1MHB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXHQvKiBuZXdzbGV0dGVyICovXG5cdGlucHV0IHtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdHdpZHRoOiAyODBweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cdGlucHV0LnN1YnNjcmliZSB7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRib3JkZXI6IDA7XG5cdFx0Y29sb3I6ICNGRkY7XG5cdFx0bWFyZ2luLWxlZnQ6IDJweDtcblx0XHR3aWR0aDogMTIwcHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXHRpbnB1dC5idXR0b246aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRoaWdobGlnaHQ7XG5cdH1cblx0LmNvbC1kZXNrLTguZmlyc3Qge1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHR9XG59XG5cbi5oZWFkZXItc29jaWFscyB7XG5cdC5zb2NpYWwtaWNvbiB7XG5cdCAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG5cdCAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG5cdCAgd2lkdGg6IDI4cHg7XG5cdCAgaGVpZ2h0OiAzNnB4O1xuXHQgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9pbnN0YWdyYW0uc3ZnJyk7XG5cdCAgYmFja2dyb3VuZC1zaXplOiAzNnB4IDM2cHg7XG5cdCAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0ICBtYXJnaW4tbGVmdDogMnB4O1xuXHQgIHBhZGRpbmc6IDA7XG5cdCAgJi5pbnN0YWdyYW0ge1xuXHRcdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2luc3RhZ3JhbS5zdmcnKTtcblx0ICB9XG5cdCAgJi5iYW5kY2FtcCB7XG5cdFx0ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvYmFuZGNhbXAuc3ZnJyk7XHRcblx0ICB9XG5cdCAgJi5kaXNjb2dzIHtcblx0XHQgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9kaXNjb2dzLnN2ZycpO1x0XG5cdCAgfVxuXHQgICYuZmFjZWJvb2sge1xuXHRcdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2ZhY2Vib29rLnN2ZycpO1xuXHQgIH1cblx0ICAmLnNvdW5kY2xvdWQge1xuXHRcdCAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMtc29jaWFsL3NvdW5kY2xvdWQuc3ZnJyk7XG5cdCAgfVxuXHQgICYueW91dHViZSB7XG5cdFx0ICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwveW91dHViZS5zdmcnKTtcblx0ICB9XG5cdH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBIT01FUEFHRSAtLS0tLS0tLS0tLSAqL1xuXG5hLnJlY29yZCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XG5cdC5zdGF0dXMge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cbn1cbi5ob21lcGFnZS1rcnV0LXJlbGVhc2VzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xuXHRtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRjb2xvcjogI0ZGRjtcblx0aDQsIHN0YXR1cywgYXtcblx0XHRjb2xvcjogI0ZGRjtcblx0fVxufVxuXG4uaW1hZ2UtbW9kYWwge1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0ei1pbmRleDo5OTk7XG5cdHRvcDogMDtcblx0bGVmdDowO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgZml4ZWQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBORVdTIC0tLS0tLS0tLS0tICovXG5cbi5uZXdzLWNvbnRlbnQge1xuXHRtYXJnaW4tdG9wOiA0MHB4O1xuXHQuZmlndXJlIHtcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cGFkZGluZy10b3A6IDE1cHg7XG5cdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdH1cblx0aW1nIHtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxufVxuLm5ld3Mtb3ZlcnZpZXcge1xuXHQuZGF0ZSB7XG5cdFx0bWFyZ2luOiAxMHB4IDA7IFxuXHR9XG59XG5cbi5jb2wtNTAtY2VudGVyZWQtb24tZGVza3RvcCB7XG5cdHdpZHRoOiA1MCU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRpbWcge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cbn1cbi5jb2wtNzAtY2VudGVyZWQtb24tZGVza3RvcCB7XG5cdHdpZHRoOiA3MCU7XG5cdG1hcmdpbjogNTBweCBhdXRvIDIwcHggYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBSQURJTyAtLS0tLS0tLS0tLSAqL1xuXG4ucmFkaW8tb3ZlcnZpZXcge1xuXHQuZGF0ZSB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0fVxufVxuLnJhZGlvLWRldGFpbCB7XG5cdG1hcmdpbjogMjBweCAwIDQwcHggMDtcbiAgXG5cdC5yYWRpby1iYWNrZ3JvdW5kIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNGRkY7XG5cdH1cblx0LnJhZGlvLWNvbnRlbnQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cdFx0cGFkZGluZzogNDBweDtcblx0XHRtYXJnaW46IDQwcHggMCAxMDBweCAwO1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblx0LmVtYmVkIHtcblx0XHRtYXJnaW46IDIwcHggMCAxMHB4IDA7XG5cdH1cbn1cblxuLnJhZGlvLWNhdGVnb3J5LW92ZXJ2aWV3IHtcblx0bWFyZ2luOiAxMHB4IDIwcHggMjBweCAyMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtZmFtaWx5OiBKdW5pY29kZUJvbGRJdGFsaWNDb25kZW5zZWQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAtMjBweDtcblx0YSB7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEuOCk7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLCAxLjgpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG4gfVxuXG4ucmFkaW8tdGFncyB7XG5cdG1hcmdpbi10b3A6IDJweDtcblx0bWFyZ2luLWJvdHRvbTogMnB4O1xuXHQucmFkaW8tdGFnIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Ym9yZGVyOjFweCBzb2xpZCAjMDAwO1xuXHRcdHBhZGRpbmc6IDJweCAxNXB4O1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdFxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRjb2xvcjogIzAwMDtcblx0fVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBDT05DRVJUUyAtLS0tLS0tLS0tLSAqL1xuXG4uY29uY2VydHMge1xuXHQucm93IHtcblx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDIwcHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXHQucm93OmZpcnN0LWNoaWxkLCAucm93LmZpcnN0IHtcblx0XHQgYm9yZGVyLXRvcDowO1xuXHR9XG5cdFxuXHQucm93OmhvdmVyICB7XG5cdCAvL1x0YmFja2dyb3VuZC1jb2xvcjogI2NjYztcblx0fVxuXHQudGl0bGUtY29sIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDJweDtcblx0fVxuXHQuZGF0ZS1jb2wge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDJweDtcdFxuXHR9XG5cdC50aXRsZSB7XG5cdFx0Ly8gZm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG5cdC5ldmVudC1kYXRlLCAubG9jYXRpb24ge1xuXHRcdC8vIGZvbnQtZmFtaWx5OiAkbWFpbi1mb250LXNhbnMtc2VyaWY7XG5cdH1cbn1cbi5saW5lLXVwIC5sb2NhdGlvbiB7XG5cdGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmJhbmQtbGlzdGluZyB7XG5cdC8vYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0Ly8gY29sb3I6ICNGRkY7XG5cdG1hcmdpbjogNjBweCAyMHB4IDQwcHggMjBweDtcblx0cGFkZGluZy1ib3R0b206IDIwcHg7XG59XG4udGlja2V0cyB7XG5cdG1hcmdpbi10b3A6IDVweDtcbn1cbi5ob3VyLCAuYmFuZCB7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0bGluZS1oZWlnaHQ6IDI0cHg7XG5cdGZvbnQtZmFtaWx5OiAkbWFpbi1mb250LXNhbnMtc2VyaWY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gUkVMRUFTRVMgLS0tLS0tLS0tLS0gKi9cblxuLnJlbGVhc2Utb3ZlcnZpZXcge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXHQudGV4dC1pbmZvIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdC5hdXRob3Ige1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXHQuZm9ybWF0LWxpc3Rpbmcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XG5cdH1cblx0LnN0YXR1cyB7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHR9XG5cdFxuXHQuc3RhdHVzLWJsb2NrIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHRjb2xvcjogJGhpZ2hsaWdodDtcblx0XHR0b3A6IDQyJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAzcHggNHB4O1xuXHRcdC8vIGJvcmRlcjogNHB4IHNvbGlkICNGRkY7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1mYW1pbHk6ICRzcGVjaWFsLWZvbnQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG5cdCY6aG92ZXIgLnN0YXR1cy1ibG9jayB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0fVxufVxuLnJlY29yZC1kZXRhaWwge1xuXHQudHJhY2tsaXN0aW5nIHtcblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblx0Lm91ci1zdG9yZXMge1xuXHRcdC8qIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRtYXJnaW4tbGVmdDogMTVweDsgKi9cblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG59XG5cbi5rcnV0LWxldHRlciB7XG5cdHdpZHRoOjI1MHB4O1xuXHRtYXJnaW46IDIwcHggMCA0MHB4IDA7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBBUkNISVZFIC0tLS0tLS0tLS0tICovXG5cbi5hcmNoaXZlLWNhdGVnb3J5LW92ZXJ2aWV3ICB7XG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXHRoMiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHR9XG5cdC5hcmNoaXZlLWludHJvIHtcblx0XHR3aWR0aDo1MCU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR9XG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cbi5hcmNoaXZlLW92ZXJ2aWV3LWl0ZW0gIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHQuc3RhdHVzLWJsb2NrIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRjb2xvcjogI0ZGRjtcblx0XHR0b3A6IDQyJTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAzcHggNHB4O1xuXHRcdC8vIGJvcmRlcjogNHB4IHNvbGlkICNGRkY7XG5cdFx0Zm9udC1zaXplOiAzMnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMHB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC1mYW1pbHk6ICRzcGVjaWFsLWZvbnQ7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcdFxuXHRcdH1cblx0XHRcblx0fVxuXHQmOmhvdmVyIC5zdGF0dXMtYmxvY2sge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cbn1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gSVBBRCAtLS0tLS0tLS0tLSAqL1xuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGdyaWQtdGFibGV0LWJyZWFrcG9pbnQpIHtcblx0XG5cdGJvZHkge1xuXHQgLy9cdGJvcmRlcjogMnB4IHNvbGlkIGJsdWU7XG5cdH1cblx0LmhlYWRlciBhIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xuXHR9XG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gSE9NRVBBR0UgLS0tLS0tLS0tLS0gKi9cblxuXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gTkVXUyAtLS0tLS0tLS0tLSAqL1xuXG5cdC5jb2wtNTAtY2VudGVyZWQtb24tZGVza3RvcCxcblx0LmNvbC02MC1jZW50ZXJlZC1vbi1kZXNrdG9wIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXHQvKi0tLS0tLS0tLS0tLS0tLS0tLS0tIEFSQ0hJVkUgLS0tLS0tLS0tLS0gKi9cblxuXHQuYXJjaGl2ZS1jYXRlZ29yeS1vdmVydmlldyAge1xuXHRcdC5hcmNoaXZlLWludHJvIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXG59XG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLSBNT0JJTEUgLS0tLS0tLS0tLS0gKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGdyaWQtbW9iaWxlLWJyZWFrcG9pbnQpIHtcblx0XG5cdCNjb250YWluZXIge1xuXHRcdG1hcmdpbi10b3A6IDBweDtcblx0fVxuXHQuY29sLWRlc2stNCwgLmNvbC1kZXNrLTYge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cblx0LnNob3ctb24tbW9iaWxlLW9ubHkge1xuXHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdH1cblx0LmhpZGUtb24tbW9iaWxlLW9ubHkge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQuc2hvdy1mb3ItZGVza3RvcC1vbmx5LFxuXHQuc2hvdy1vbi1kZXNrdG9wLW9ubHkge1xuXHRcdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXHQuY29sLTcwLWNlbnRlcmVkLW9uLWRlc2t0b3Age1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC5oZWFkZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXHQuZm9vdGVyIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0LyogbmV3c2xldHRlciAqL1xuXHRcdGlucHV0IHtcblx0XHRcdGJhY2tncm91bmQ6ICMwMDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdH1cblx0XHRpbnB1dC5idXR0b24ge1xuXHRcdFx0YmFja2dyb3VuZDogIzAwMDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDJweDtcblx0XHRcdHdpZHRoOiAxMjBweDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblx0ZmlndXJlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuXHRcdG1hcmdpbi1ibG9jay1lbmQ6IDA7XG5cdFx0bWFyZ2luLWlubGluZS1zdGFydDogMDtcblx0XHRtYXJnaW4taW5saW5lLWVuZDogMDtcblxuXHR9XG5cdC5leHRyYS1zcGFjZS1yaWdodCB7XG5cdFx0cGFkZGluZy1yaWdodDowO1xuXHR9XG5cdGgxLCBoMSBhLCBhIGgxIHtcblx0XHRmb250LXNpemU6IDQ1cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDQ4cHg7XG5cdH1cblx0XG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gSE9NRVBBR0UgLS0tLS0tLS0tLS0gKi9cblxuXG5cdC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0gUkVDT1JEUyAtLS0tLS0tLS0tLSAqL1xuXG5cblx0LyotLS0tLS0tLS0tLS0tLS0tLS0tLSBDT05DRVJUUyAtLS0tLS0tLS0tLSAqL1xuXHQuY29uY2VydHMge1xuXHRcdC5yb3cge1xuXHRcdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdG1hcmdpbi1yaWdodDogMHB4O1xuXHRcdH1cblx0XHQudGl0bGUtY29sIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMS4zODg4ODg4ODg5JTtcblx0XHR9XG5cdFx0LnRleHQtcmlnaHQge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cblx0LmJhbmQtbGlzdGluZyB7XG5cdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuXHRcdC8vY29sb3I6ICNGRkY7XG5cdFx0bWFyZ2luOiA0MHB4IDBweCA0MHB4IDBweDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdFxuXG59IiwiLm1haW4tbmF2IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLm0tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOjUwcHg7XG4gIHJpZ2h0OjVweDtcbiAgZGlzcGxheTogbm9uZTtcblxuICAubW0ge1xuICAgIGJvcmRlcjpub25lO1xuICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOjUwcHg7XG4gICAgaGVpZ2h0OjUwcHg7XG4gICAgb3V0bGluZTpub25lO1xuICAgIHBhZGRpbmc6IDA7IC8vIGlvcyBoYXMgYSBidWcgb3RoZXJ3aXNlXG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICB3aWR0aDoxNHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBsZWZ0OiAxOHB4O1xuICAgICAgdG9wOiAxOXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjokbWFpbmNvbG9yO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIHRvcDogMjdweDtcbiAgICB9XG4gIH1cbn1cblxuXG4uaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6ICRzcGVjaWFsLWZvbnQtaXRhbGljO1xuIFxuICAubG9nbyB7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgd2lkdGg6IDE3NXB4O1xuICAgIGhlaWdodDogMTc1cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNzVweCAxNzVweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jb21tb24vbG9nby1jb2xvci10cmFuc3BhcmVudC5zdmcnKTtcbiAgfVxuICAudXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyBcbiAgICBkaXYge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAudHJhbnNmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zZm9ybTpzY2FsZSgxLDEuOCk7IFxuICAgIH1cbiAgICAuaGVhZGVyLWxhbmd1YWdlLCAuaGVhZGVyLXNvY2lhbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgICAgICBcbiAgICB9XG4gICAgYSAge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAuZW4ge1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgIH1cbiAgICAubGVmdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuICAgIC5yaWdodCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuICBcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjRweCAyMHB4IDIycHggMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGEgc3Bhbi50cmFuc2Zvcm0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOnNjYWxlKDEsMS44KTsgXG4gIH1cbiBcbiAgLmxvd2VyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDI5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggNDhweCAyMHB4O1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOjM5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICB9XG4gIH1cbiAgXG59XG5cbi5tLW1lbnUtb3BlbiB7XG4gIC5tLW1lbnUgLm1tIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6MjRweDtcbiAgICAgIHRyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6MjRweDtcbiAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRncmlkLW1vYmlsZS1icmVha3BvaW50KSB7XG5cbiAgLm0tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBodG1sLm5vc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgYm9keS5ub3Njcm9sbCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLm0tbWVudS1vcGVuIHtcbiAgICAubWFpbi1uYXYgLmxvd2VyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAvKiBtYWtlIHRoZSBoZWFkZXIgbG9vayBvbiBtb2JpbGUgYSBiaXQgZGlmZmVyZW50ICovXG4gIC5oZWFkZXIgLnVwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuaGVhZGVyIC5sb3dlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIGEge1xuICAgICAgIGZvbnQtc2l6ZToyOHB4O1xuICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgIHBhZGRpbmc6IDE0cHggMDtcbiAgICAgfVxuICAgfVxuICAubWFpbi1uYXYgLnVwcGVyLW1vYmlsZS1iYXIge1xuICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgIGNvbG9yOiAjRkZGO1xuICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgcGFkZGluZzogMCAxMHB4IDAgMTBweDtcbiAgICAgcmlnaHQ6IDA7XG4gICAgIGxlZnQ6IDA7XG4gICAgIGEge1xuICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgfVxuICAgICAuYWJvdXQsICAuaGVhZGVyLXNvY2lhbHMge1xuICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICB9XG4gICAgIC5oZWFkZXItc29jaWFscyAge1xuICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICB0b3A6IDVweDtcbiAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgfVxuICAgIC5oZWFkZXItc29jaWFscyAuc29jaWFsLWljb24ge1xuICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICB3aWR0aDogMThweDtcbiAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IDE4cHg7XG4gICAgIH1cbiAgICBcbiAgICAgLmhlYWRlci1zb2NpYWxzIHtcbiAgICAgICAuc29jaWFsLWljb24ge1xuICAgICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvaW5zdGFncmFtLXdoaXRlLnN2ZycpO1xuICAgICAgICAgfVxuICAgICAgICAgJi5iYW5kY2FtcCB7XG4gICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9iYW5kY2FtcC13aGl0ZS5zdmcnKTtcdFxuICAgICAgICAgfVxuICAgICAgICAgJi5kaXNjb2dzIHtcbiAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2Rpc2NvZ3Mtd2hpdGUuc3ZnJyk7XHRcbiAgICAgICAgIH1cbiAgICAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvZmFjZWJvb2std2hpdGUuc3ZnJyk7XG4gICAgICAgICB9XG4gICAgICAgICAmLnNvdW5kY2xvdWQge1xuICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvc291bmRjbG91ZC13aGl0ZS5zdmcnKTtcbiAgICAgICAgIH1cbiAgICAgICAgICYueW91dHViZSB7XG4gICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC95b3V0dWJlLXdoaXRlLnN2ZycpO1xuICAgICAgICAgfVxuICAgICAgIH1cbiAgICAgfVxuICB9XG4gIC8vIGxvZ28gXG4gIC5jZW50ZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIH1cbiAgfVxuICAubWFpbi1uYXYgLmxvd2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn0iLCIvLyBGTEVYQk9YIENTUyBHUklEXG5cblxuLy8gcGl4ZWxzIHRvICUgdmFyaWFibGVzXG4kZGVzay1ncmlkLXdpZHRoOiAxMDAlIC1cbiAgKCgkZ3JpZC1kZXNrdG9wLXNpZGVNYXJnaW4gKiAyIC8gJGdyaWQtZGVza3RvcC1icmVha3BvaW50KSAqIDEwMCUpO1xuJHRhYi1ncmlkLXdpZHRoOiAxMDAlIC1cbiAgKCgkZ3JpZC10YWJsZXQtc2lkZU1hcmdpbiAqIDIgLyAkZ3JpZC10YWJsZXQtYnJlYWtwb2ludCkgKiAxMDAlKTtcbiRtb2ItZ3JpZC13aWR0aDogMTAwJSAtXG4gICgoJGdyaWQtbW9iaWxlLXNpZGVNYXJnaW4gKiAyIC8gJGdyaWQtbW9iaWxlLWJyZWFrcG9pbnQpICogMTAwJSk7XG5cbiRkZXNrLWd1dHRlcjogKFxuICAoXG4gICAgICAkZ3JpZC1kZXNrdG9wLWd1dHRlciAvXG4gICAgICAgICgkZ3JpZC1kZXNrdG9wLWJyZWFrcG9pbnQgLSAoJGdyaWQtZGVza3RvcC1zaWRlTWFyZ2luICogMikpXG4gICAgKSAqIDEwMCVcbik7XG4kdGFiLWd1dHRlcjogKFxuICAoXG4gICAgICAkZ3JpZC10YWJsZXQtZ3V0dGVyIC9cbiAgICAgICAgKCRncmlkLXRhYmxldC1icmVha3BvaW50IC0gKCRncmlkLXRhYmxldC1zaWRlTWFyZ2luICogMikpXG4gICAgKSAqIDEwMCVcbik7XG4kbW9iLWd1dHRlcjogKFxuICAoXG4gICAgICAkZ3JpZC1tb2JpbGUtZ3V0dGVyIC9cbiAgICAgICAgKCRncmlkLW1vYmlsZS1icmVha3BvaW50IC0gKCRncmlkLW1vYmlsZS1zaWRlTWFyZ2luICogMikpXG4gICAgKSAqIDEwMCVcbik7XG5cbi8vIEEgc3RhY2thYmxlIGdyaWQgd2lsbCBhdXRvbWF0aWNhbGx5IHN0YWNrIHJvd3MgdG8gYSBzaW5nbGUgY29sdW1ucyBvbiBtb2JpbGUgZGV2aWNlc1xuXG5cbi8vIEZVTkNUSU9OUyBBTkQgTWlYSU5TXG5AZnVuY3Rpb24gY29sLXdpZHRoKCRpLCAkY29sdW1ucykge1xuICBAcmV0dXJuIDEwMCUgLyAkY29sdW1ucyAqICRpO1xufVxuXG5AbWl4aW4gY29sLXByb3BzKCRpLCAkY29sdW1ucywgJGd1dHRlcikge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogY29sLXdpZHRoKCRpLCAkY29sdW1ucyk7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlci8yO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLzI7XG59XG5cbkBtaXhpbiBjb2x1bW5zLWxvb3AoJG5hbWUsICRjb2x1bW5zLCAkZ3V0dGVyKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICYtI3skbmFtZX0tI3skaX0ge1xuICAgICAgQGluY2x1ZGUgY29sLXByb3BzKCRpLCAkY29sdW1ucywgJGd1dHRlcik7XG4gICAgfVxuICAgICYtI3skbmFtZX0tc2hpZnQtI3skaX0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNvbC13aWR0aCgkaSwgJGNvbHVtbnMpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1iYXNlKCR3aWR0aCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1heC13aWR0aDogJGdyaWQtZGVza3RvcC1icmVha3BvaW50O1xuIC8vIHdpZHRoOiAkd2lkdGg7ICAvLyBuaWV0IHpla2VyIHdhYXJvbSBkaXQgd2VlciBub2RpZyBpcz8/XG59XG5cbi8vIENMQVNTRVNcbi5ncmlkIHtcbiAgQGluY2x1ZGUgZ3JpZC1iYXNlKCRkZXNrLWdyaWQtd2lkdGgpO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZ3JpZC10YWJsZXQtYnJlYWtwb2ludCkge1xuICAgLy8gd2lkdGg6ICR0YWItZ3JpZC13aWR0aDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZ3JpZC1tb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiAkbW9iLWdyaWQtd2lkdGg7XG4gICAgJi5zdGFja2FibGUge1xuICAgICAgW2NsYXNzXj0nY29sLSddIHsgXG4gICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0wIHtcbiAgICBAaW5jbHVkZSBncmlkLWJhc2UoMTAwJSk7XG4gIH1cbn1cblxuLmNvbCB7XG4gIEBpbmNsdWRlIGNvbHVtbnMtbG9vcChkZXNrLCAkZ3JpZC1kZXNrdG9wLWNvbHVtbnMsICRkZXNrLWd1dHRlcik7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRncmlkLXRhYmxldC1icmVha3BvaW50KSB7XG4gICAgQGluY2x1ZGUgY29sdW1ucy1sb29wKHRhYiwgJGdyaWQtdGFibGV0LWNvbHVtbnMsICR0YWItZ3V0dGVyKTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZ3JpZC1tb2JpbGUtYnJlYWtwb2ludCkge1xuICAgIEBpbmNsdWRlIGNvbHVtbnMtbG9vcChtb2IsICRncmlkLW1vYmlsZS1jb2x1bW5zLCAkbW9iLWd1dHRlcik7XG4gIH1cbn1cblxuLmV4dHJhLXNwYWNlLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogNyU7XG59XG4iLCJib2R5LmtydXQge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYSB7XG4gICAgY29sb3I6ICNGRkY7XG4gIH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICRoaWdobGlnaHQtZGFyay1iYWNrZ3JvdW5kO1xuICB9XG4gIC5mb290ZXIsXG4gIC5oZWFkZXIgLmxvd2VyIHtcbiAgICBib3JkZXItY29sb3I6ICNGRkY7XG4gIH1cbiAgLmxvZ28ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2NvbW1vbi9sb2dvLWNvbG9yLWJsYWNrLWJnLnN2ZycpO1xuICB9XG4gIC5mb290ZXIgaW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cbiAgLmhlYWRlci1zb2NpYWxzIHtcbiAgICAuc29jaWFsLWljb24ge1xuICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvaW5zdGFncmFtLXdoaXRlLnN2ZycpO1xuICAgICAgfVxuICAgICAgJi5iYW5kY2FtcCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC9iYW5kY2FtcC13aGl0ZS5zdmcnKTtcdFxuICAgICAgfVxuICAgICAgJi5kaXNjb2dzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaWNvbnMtc29jaWFsL2Rpc2NvZ3Mtd2hpdGUuc3ZnJyk7XHRcbiAgICAgIH1cbiAgICAgICYuZmFjZWJvb2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvZmFjZWJvb2std2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgICAmLnNvdW5kY2xvdWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9pY29ucy1zb2NpYWwvc291bmRjbG91ZC13aGl0ZS5zdmcnKTtcbiAgICAgIH1cbiAgICAgICYueW91dHViZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb25zLXNvY2lhbC95b3V0dWJlLXdoaXRlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHtcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgICAgY29sb3I6ICMwMDA7XG4gIH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdobGlnaHQtZGFyay1iYWNrZ3JvdW5kO1xuICAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG5cbiJdfQ== */
