/* ============================================================================
 * WARNING - DO NOT EDIT THIS FILE MANUALLY
 * ============================================================================
 * This file is auto-generated from the build source files. Any manual changes
 * to this file WILL be overwritten. Application source files are located
 * within apps/<appKey>/build/src
 *
 * When making changes, you will need to run certain Gulp scripts from within
 * the project's build directory located at apps/<appKey>/build.
 *
 * When developing, run:
 *    $ npm start
 * This will lint and re-compile static assets (JS/CSS) and start the watch
 * script, which will re-lint and re-compile things as needed when you make
 * changes to the source code.
 *
 * Once your changes are ready to be committed, run the release script to
 * ensure everything is linted and built properly as well as to compile the
 * minified production versions:
 *    $ npm run build
 *
 * There is no need to manually bump version numbers as these scripts write a
 * hash manifest to apps/<appKey>/etc/resourceHash-manifest.json which gets
 * parsed by WebFramework / WebFramework::Ext to trigger asset cache expiry.
 */

/* Calculate the square root of given number.
 * @param $n
 * @return $sqrt
 */
/* Calculate the rem value of a px value.
 * @param $value
 * @param $base
 * @return rem value
 */
/* Calculate the px value of a rem value.
 * @param $value
 * @param $base
 * @return px value
 */
/* Calculate the hypotenuse of a square with a given height.
 * @param $height
 * @return $hypotenuse
 */
/* Darken a color by adjusting lightness and saturation.
 * @param $originalColor, $adjustment
 * @return $darkerColor
 */
/* Builds the svg tag.
 * @param $shape // path
 * @param $viewbox // viewbox
 * @return $shape
 */
/* Builds the svg image path.
 * @param $type // "path", "polygon", etc
 * @param $paths // array of paths
 * @param $parameters // 'color', stroke-color', 'stroke-width', 'css'
 * @return $shape
 */
/* Add an SVG image.
 * @param
     $shape-name ["heart", "star", "arrow"],
     $color,
     $stroke-color: transparent, // (optional)
     $stroke-width: 0, // (optional)
     $css: '' // arbitrary css (optional)
 * @return svg image
 * Example -> background-image: shape(star, blue);
 */
/* Replace `$search` with `$replace` in `$string`
  * @param {String} $string - Initial string
  * @param {String} $search - Substring to replace
  * @param {String} $replace ('') - New value
  * @return {String} - Updated string
*/
/* Apply a natural box layout model to all elements, but allow components to change */
html,
body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

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

/* Reset base margins/padding */
body,
blockquote,
dd,
div,
dl,
dt,
form,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
pre,
td,
th,
ul {
  margin: 0;
  padding: 0; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  background-color: #f0f0f0; }

body {
  position: relative;
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

/* Global print styles */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster: h5bp.com/s */
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]::after {
    content: " (" attr(href) ")"; }
  abbr[title]::after {
    content: " (" attr(title) ")"; }
  .ir a::after,
  a[href^='javascript:']::after,
  a[href^='#']::after {
    content: ''; }
  pre,
  blockquote {
    border: 1px solid #121212;
    page-break-inside: avoid; }
  thead {
    /* h5bp.com/t */
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/* Wrapper class for content area on a text-based page */
.textContent {
  max-width: 47rem;
  margin: 0 auto;
  padding: 1em; }

/* Single card page */
.contentCard {
  width: 25em;
  max-width: 100%;
  margin: 5em auto;
  padding: 2em;
  background-color: #fff;
  border: 1px solid #e4e4e4; }
  .contentCard > h3:first-child {
    margin-top: 0; }

.pageContent {
  padding: 2rem 0; }
  @media screen and (min-width: 45rem) {
    .pageContent {
      padding: 3rem 0; } }

html {
  font-size: 0.8em;
  font-family: 'Titillium Web', sans-serif;
  color: #9e9e9e; }

@media screen and (min-width: 560px) {
  html {
    font-size: 0.9em; } }

@media screen and (min-width: 1200px) {
  html {
    font-size: 1em; } }

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: 'Titillium Web', sans-serif;
  font-weight: normal;
  text-transform: none;
  margin: 0.8em 0 0.5em; }

h1,
h2,
h3,
h4,
h5,
h6 {
  color: #00c900; }

/* Major Third Ratio: https://type-scale.com/ */
h1,
.h1 {
  font-size: 2.441em; }

h2,
.h2 {
  font-size: 1.953em; }

h3,
.h3 {
  font-size: 1.563em; }

h4,
.h4 {
  font-size: 1.25em; }

h5,
.h5 {
  font-size: 1em; }

h6,
.h6 {
  font-size: 0.8em; }

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  -ms-interpolation-mode: bicubic;
  border: 0; }

b,
strong {
  font-weight: 700; }

a {
  color: #246ba1; }
  a:hover {
    text-decoration: none; }
  a:focus {
    outline: thin dotted;
    text-decoration: none; }

p {
  margin-bottom: 1em; }

/* ul & ol */
.textList {
  margin: 0.5em 0; }
  .textList li {
    margin-left: 2em; }

/* Using "i" element for FontAwesome icons. */
i {
  position: relative; }
  i::before {
    content: '';
    font-family: 'FontAwesome';
    font-weight: normal;
    font-style: normal;
    position: relative;
    top: 0;
    left: 0;
    text-decoration: inherit;
    color: currentColor; }

/* Text Leader/Heading */
.leader {
  display: block;
  font-size: 0.8em;
  line-height: 1em;
  font-weight: bold; }

/* Text ellipsis truncation
 *
 * Usage Example:
 *  <span class="ellipsis">
 *    <span>Long text which needs to be truncated</span>
 *  </span>
 */
.ellipsis {
  max-width: calc(100% - 100px);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  white-space: nowrap; }
  .ellipsis > span {
    overflow: hidden;
    text-overflow: ellipsis; }

/* HTML templates for JS list painting. */
.js-template {
  display: none !important; }

/* Last item in a container visually, but not in the markup */
.u-visuallyLast {
  margin-bottom: 0; }

/* Used by WebFramework during field validations / AJAX alerts */
.alertSizeCalc {
  display: none; }

/* Disable scrolling (such as when a modal is open). */
.js-locked {
  overflow: hidden; }

/* "no results" placeholder */
.js-noResults {
  margin-bottom: 0; }

/* Loading placeholders */
.js-loadingPlaceholder {
  -webkit-filter: blur(0.25em);
          filter: blur(0.25em);
  line-height: 1em;
  vertical-align: middle; }
  .js-loadingPlaceholder::before {
    content: '********'; }

.js-loadingContent {
  display: none; }
  .js-loadingContent.js-loaded {
    display: block; }

/* Feature Flags */
a.development {
  border-left: 0.25em solid #d66944; }

a.external::after {
  content: '\f08e';
  font-family: 'FontAwesome';
  margin-left: 0.5em;
  font-size: 0.8em; }

.developmentFeature {
  background-color: #f9edbe; }

.environmentWarning {
  background-color: #f9edbe;
  padding: 0.25em;
  text-align: center; }

.js-crumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 50%;
  overflow: hidden;
  border-radius: 0.25em;
  margin-bottom: 3em;
  position: relative;
  z-index: 0; }
  @media only screen and (min-width: 40rem) {
    .js-crumbs {
      display: block;
      height: auto;
      width: auto;
      clear: left; } }

.js-crumbs li {
  text-decoration: none;
  outline: none;
  display: block;
  float: left;
  color: #000;
  background: #e4e4e4;
  line-height: 2.5em;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  padding: 0 0.5em 0 3em; }
  .js-crumbs li:first-of-type {
    padding-left: 1em; }
  .js-crumbs li:last-of-type {
    padding-right: 1em;
    border-top-right-radius: 0.25em;
    border-bottom-right-radius: 0.25em; }
  .js-crumbs li span {
    position: relative;
    z-index: 2;
    line-height: 1em; }
  .js-crumbs li::after {
    content: '';
    position: absolute;
    top: 0;
    right: -1em;
    width: 2.5em;
    height: 2.5em;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    z-index: 1;
    background-color: inherit;
    -webkit-box-shadow: 0.25em -0.25em 0 0.125em #f0f0f0;
            box-shadow: 0.25em -0.25em 0 0.125em #f0f0f0; }
  @media only screen and (max-width: 40rem) {
    .js-crumbs li {
      text-decoration: none;
      width: 100%;
      padding: 1.4em 0 0.4em;
      position: relative;
      z-index: 1;
      line-height: inherit; }
      .js-crumbs li::after {
        content: '';
        position: absolute;
        top: unset;
        bottom: -1em;
        left: 0;
        width: 100%;
        height: 1.5em;
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
        background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox=%220 0 640 35%22%3E%20%3Cpolygon%20fill%3D%22%23e4e4e4%22%20stroke%3D%22transparent%22%20stroke-width%3D%220%22%20style%3D%22%22%20points%3D%22640,0 320,20 -4,0%22%20%2F%3E%3Cpolygon%20fill%3D%22%23f0f0f0%22%20stroke%3D%22%23f0f0f0%22%20stroke-width%3D%224%22%20style%3D%22%22%20points%3D%22640,0 640,15 320,35 -4,15 -4,0 320,20%22%20%2F%3E%3C%2Fsvg%3E");
        background-color: transparent;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        -webkit-box-shadow: none;
                box-shadow: none; }
      .js-crumbs li:first-child {
        z-index: 2;
        padding: 0.4em 0; }
      .js-crumbs li.js-active::after {
        background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox=%220 0 640 35%22%3E%20%3Cpolygon%20fill%3D%22%23246ba1%22%20stroke%3D%22transparent%22%20stroke-width%3D%220%22%20style%3D%22%22%20points%3D%22640,0 320,20 -4,0%22%20%2F%3E%3Cpolygon%20fill%3D%22%23f0f0f0%22%20stroke%3D%22%23f0f0f0%22%20stroke-width%3D%224%22%20style%3D%22%22%20points%3D%22640,0 640,15 320,35 -4,15 -4,0 320,20%22%20%2F%3E%3C%2Fsvg%3E"); }
      .js-crumbs li.js-active:last-child .js-crumbs li.js-active::after {
        background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox=%220 0 640 35%22%3E%20%3Cpolygon%20fill%3D%22%2300c900%22%20stroke%3D%22transparent%22%20stroke-width%3D%220%22%20style%3D%22%22%20points%3D%22640,0 320,20 -4,0%22%20%2F%3E%3Cpolygon%20fill%3D%22%23f0f0f0%22%20stroke%3D%22%23f0f0f0%22%20stroke-width%3D%224%22%20style%3D%22%22%20points%3D%22640,0 640,15 320,35 -4,15 -4,0 320,20%22%20%2F%3E%3C%2Fsvg%3E"); }
      .js-crumbs li:last-child {
        z-index: 0; } }
  .js-crumbs li:last-child::after, .js-crumbs li:last-child::before {
    content: none; }
  .js-crumbs li.js-active {
    color: #fff;
    background-color: #246ba1;
    border-top-color: #246ba1; }
    .js-crumbs li.js-active:last-child {
      color: #fff;
      background-color: #00c900; }
  .js-crumbs li.js-pending {
    color: #aaa;
    background-color: #e4e4e4; }
  .js-crumbs li.js-done {
    background-color: #d7d7d7; }

body.pageLoaded .js-crumbs li::after {
  -webkit-transition: all 0.5s;
  transition: all 0.5s; }

.button {
  display: block;
  min-width: 10em;
  margin: 0 0.5rem;
  padding: 1em;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  font-size: 1.2em;
  line-height: 1em;
  cursor: pointer;
  color: #fff;
  background-color: #00c900;
  border: none;
  border-radius: 0.25rem;
  outline: 1px solid rgba(255, 255, 255, 0);
  outline-offset: -0.25rem;
  -webkit-transition: 200ms all;
  transition: 200ms all; }
  .button:hover, .button:active, .button:focus {
    outline-color: white; }

.errorDebugInfo {
  font-size: 0.8em;
  font-weight: bold;
  text-align: center; }
  .errorDebugInfo .transactionId {
    font-size: 1.5em;
    font-family: monospace;
    font-weight: bold;
    word-break: break-all; }

/* Link to jump to content */
.jumpLink {
  padding: 0.75em;
  position: absolute;
  top: -99999px;
  left: 0;
  z-index: 3;
  color: #fff; }
  .jumpLink:focus {
    position: absolute;
    top: 0;
    background: #246ba1;
    color: #fff; }

.js-searchWidget {
  display: block;
  position: relative;
  margin-top: 0.25em; }
  .js-searchWidget::before {
    position: absolute;
    left: 0.75em;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-family: 'FontAwesome';
    content: '\f002';
    color: #e4e4e4; }
  .js-searchWidget .js-search {
    margin-top: 0;
    width: 100%;
    height: 3.5em;
    padding: 1em 1em 1em 2em;
    border: 1px solid #e4e4e4;
    border-radius: 0.3em;
    font-size: 1em; }
  .js-searchWidget .js-clearButton {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 1rem;
    color: #888;
    opacity: 0.8;
    cursor: pointer; }
    .js-searchWidget .js-clearButton:hover {
      opacity: 1; }

/* Tooltips */
[data-tooltip] {
  position: relative;
  cursor: help;
  display: inline-block; }

[data-tooltip]::before,
[data-tooltip]::after {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out, transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24), -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  pointer-events: none; }

[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip]:focus::before,
[data-tooltip]:focus::after {
  visibility: visible;
  opacity: 1; }

/* Base styles for the tooltip's directional arrow */
[data-tooltip]::before {
  border: 6px solid transparent;
  background: transparent;
  content: ''; }

/* Base styles for the tooltip's content area */
[data-tooltip]::after {
  padding: 15px;
  width: 200px;
  background-color: rgba(51, 51, 51, 0.9);
  color: #fff;
  content: attr(data-tooltip);
  font-size: 15px;
  line-height: 1.4; }

[data-tooltip].tipCentered::after {
  text-align: center; }

[data-tooltip]::before,
[data-tooltip]::after {
  bottom: 100%;
  left: 50%; }

[data-tooltip]::before {
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: rgba(51, 51, 51, 0.9); }

[data-tooltip]::after {
  margin-left: -100px; }

[data-tooltip]:hover::before,
[data-tooltip]:hover::after,
[data-tooltip]:focus::before,
[data-tooltip]:focus::after {
  -webkit-transform: translateY(-12px);
          transform: translateY(-12px); }

/* AJAX response alert bar */
.alert {
  position: fixed;
  z-index: 5;
  top: 0;
  left: 50% !important;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: none;
  max-width: 75%;
  margin: 0 auto;
  padding: 0.5em 2em;
  border: 1px solid #e4e4e4;
  border-top: 0 none;
  background: #f9edbe; }
  .alert p:last-child {
    margin-bottom: 0; }

.js-browserWarning {
  display: none;
  background-color: #f9edbe;
  padding: 0.5em;
  text-align: center; }

.cardLayout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  padding: 0.5rem; }
  .cardLayout > .card,
  .cardLayout > .cardGroup {
    margin: 0.5rem;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }

@media screen and (min-width: 45rem) {
  .cardLayout {
    padding: 1rem; }
    .cardLayout > .card {
      margin: 1rem;
      -ms-flex-preferred-size: calc(50% - 2em);
          flex-basis: calc(50% - 2em); } }

.card {
  position: relative;
  background-color: #fff;
  padding: 1rem;
  border: 1px solid #e4e4e4; }
  .card > p {
    margin-bottom: 0.5em; }
    .card > p:last-child {
      margin-bottom: 0; }

.cardHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background-color: #9e9e9e;
  padding: 1rem;
  margin: -1rem -1rem 1rem;
  -webkit-box-shadow: inset 0 0 0.25em rgba(255, 255, 255, 0.1);
          box-shadow: inset 0 0 0.25em rgba(255, 255, 255, 0.1); }
  .cardHeader h4 {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1em; }
  .cardHeader.blue {
    background-color: #246ba1; }
    .cardHeader.blue h4 {
      color: #fff; }

.cardActions a {
  text-decoration: none;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1em;
  padding: 0 0.25em;
  outline: 1px solid transparent;
  color: #fff;
  opacity: 0.9;
  -webkit-transition: 300ms;
  transition: 300ms; }
  .cardActions a:hover {
    opacity: 0.6; }
  .cardActions a:focus {
    outline: 1px dotted #fff; }
  .cardActions a i {
    opacity: 0.8; }
    .cardActions a i::before {
      font-size: 1em; }

.cardMeta {
  padding: 1rem;
  margin: 1rem -1rem -1rem;
  background-color: rgba(0, 0, 0, 0.1); }
  .cardMeta h5 {
    margin-top: 0; }

.js-datepickerWidget {
  display: block;
  position: relative;
  margin-top: 0.25em; }
  .js-datepickerWidget .js-datepicker {
    margin-top: 0;
    height: 3.75em;
    padding: 1em;
    border: 0;
    border-radius: 0.3em;
    cursor: pointer; }
  .js-datepickerWidget .js-clearButton {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    right: 1rem;
    color: #888;
    opacity: 0.8;
    cursor: pointer; }
    .js-datepickerWidget .js-clearButton:hover {
      opacity: 1; }

body .pika-single {
  border: 0 none;
  z-index: 4; }
  body .pika-single .pika-lendar {
    margin: 0;
    border: 1px solid #727272; }
    body .pika-single .pika-lendar .pika-title {
      padding: 0.2em 0.1em; }
  body .pika-single .pika-table {
    width: calc(100% - 2px); }
  body .pika-single th {
    text-transform: uppercase;
    font-weight: 300; }
  body .pika-single td .pika-button {
    color: #121212;
    background-color: #f0f0f0;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: all 300ms;
    transition: all 300ms; }
    body .pika-single td .pika-button:hover {
      background-color: #bbb; }
  body .pika-single td.is-today .pika-button {
    color: #fff;
    background-color: #246ba1; }
    body .pika-single td.is-today .pika-button:hover {
      opacity: 0.7; }
  body .pika-single td.is-selected .pika-button {
    color: #fff;
    background-color: #00c900; }
    body .pika-single td.is-selected .pika-button:hover {
      opacity: 0.7; }

.environmentWarning {
  background-color: #f9edbe;
  padding: 0.25em;
  text-align: center; }

.emergencyNotice {
  background-color: #f9edbe;
  padding: 0.25em;
  text-align: center; }

/* Base Styles  */
.js-flyoutPanel {
  display: none;
  opacity: 0;
  pointer-events: none;
  visibility: hidden; }
  .js-flyoutPanel.js-show {
    visibility: visible;
    opacity: 1;
    pointer-events: all; }
  .js-flyoutPanel ul {
    list-style-type: none; }
  .js-flyoutPanel li {
    list-style-type: none; }
  .js-flyoutPanel i::before {
    opacity: 0.8;
    font-size: 15px;
    margin-right: 2px;
    -webkit-transition: all 0s ease;
    transition: all 0s ease; }
  .js-flyoutPanel a {
    font-size: 0.9rem;
    display: block;
    padding: 0.25rem 0.25rem 0.25rem 0.5rem;
    text-decoration: none;
    -webkit-transition: 300ms all;
    transition: 300ms all;
    color: #3c3c3c; }
    .js-flyoutPanel a:hover {
      -webkit-transition: all 0s ease;
      transition: all 0s ease;
      color: #fff;
      background-color: #246ba1; }
    .js-flyoutPanel a:focus {
      outline: 2px dotted #00c900;
      outline-offset: -2px; }

html.pageLoaded .js-flyoutPanel {
  display: block; }

/* Flyout panels in topBar */
.topBar .js-flyoutPanel {
  position: absolute;
  top: 2rem;
  right: 0;
  width: 10rem;
  background-color: #fff;
  -webkit-filter: drop-shadow(0 0.125em 0.1875em rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 0.125em 0.1875em rgba(0, 0, 0, 0.3));
  border-top: 0.3125em solid #00c900;
  /* Animated State */
  -webkit-transition: 200ms all;
  transition: 200ms all;
  -webkit-transform: translateY(-1rem);
          transform: translateY(-1rem);
  opacity: 0;
  pointer-events: none; }
  .topBar .js-flyoutPanel.js-show {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
    pointer-events: all; }
  .topBar .js-flyoutPanel::after {
    position: absolute;
    right: 0.5rem;
    top: calc(-0.8125rem + 1px);
    display: block;
    width: 0;
    height: 0;
    content: '';
    -webkit-transition: all 0s ease;
    transition: all 0s ease;
    pointer-events: none;
    border-right: 0.5em solid transparent;
    border-bottom: 0.5em solid #00c900;
    border-left: 0.5em solid transparent; }
  .topBar .js-flyoutPanel.right {
    right: auto;
    left: 0; }
    .topBar .js-flyoutPanel.right::after {
      right: auto;
      left: 0.5rem; }
  .topBar .js-flyoutPanel li {
    border-bottom: 1px solid #e4e4e4; }
    .topBar .js-flyoutPanel li:last-child {
      border-bottom: 0 none; }

/* Flyout panels in overlayMenu  */
.overlayMenu .js-flyoutPanel {
  background-color: rgba(255, 255, 255, 0.4);
  height: 0; }
  .overlayMenu .js-flyoutPanel.js-show {
    height: auto; }
  .overlayMenu .js-flyoutPanel li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.2); }
  .overlayMenu .js-flyoutPanel a {
    color: #fff; }
    .overlayMenu .js-flyoutPanel a:hover {
      color: #fff;
      background-color: #00fc00; }
    .overlayMenu .js-flyoutPanel a:focus {
      outline-color: #00c900; }

.overlayMenu [data-clickable]:hover {
  background-color: #00b000; }

.overlayMenu [data-clickable].js-open {
  background-color: #009600; }

/* Base form input wrapper */
.formInput {
  position: relative;
  display: block;
  margin: 1em 0; }

/* Group of form input wrappers */
.formInputGroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0.5em -0.5em; }
  .formInputGroup .formInput {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
    margin: 0.5em; }

/* Placeholder for disabled input */
.formInputDisabled {
  font-weight: normal;
  margin: 0.5em 0 0; }

/* Input helper text */
.formInputMeta {
  font-size: 0.8em;
  margin: 0.25em 0 1.5em;
  text-align: right;
  font-weight: normal; }
  .formInputMeta a {
    text-decoration: underline;
    color: #3c3c3c; }

/* Form actions (submit/cancel) */
.formActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 1.5rem -0.5rem 0; }
  .formActions a {
    margin-left: 0.5rem; }

label {
  position: relative;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1.2;
  display: block;
  margin: 0 0 0.2em;
  color: #000;
  /* When the label is the error wrapper (like for checkboxes) */
  /* Optional fields */ }
  label.error {
    padding: 0.5em; }
  label.optional::after {
    content: ' (optional)';
    font-weight: normal;
    color: #929292; }

/* Hide placeholder text on input focus (Webkit) */
input:focus::-webkit-input-placeholder {
  color: transparent; }

/* Hide placeholder text on input focus (Mozilla) */
input:focus:-moz-placeholder {
  color: transparent; }

/* Default text color for inputs */
input,
input:valid {
  color: #121212; }

/* Error color for inputs with invalid values as determined by the user's browser */
input:invalid {
  color: #ac3931; }

/* Read-only inputs */
input[readonly],
input[readonly='readonly'] {
  color: #929292; }

/* Base form input styles */
form input[type='text'],
form input[type='email'],
form input[type='select'],
form input[type='password'],
form select,
form textarea {
  width: 100%;
  margin-top: 0.25em;
  padding: 1em;
  border: 1px solid #e4e4e4;
  border-radius: 0.3em;
  font-size: 1em; }

form input[type='text'],
form input[type='email'],
form input[type='select'],
form input[type='password'],
form select {
  height: 3.75em; }

form textarea {
  min-height: 5em;
  resize: vertical; }

/* Validation errors */
form .error {
  border: 1px solid #ac3931 !important;
  border-radius: 0.3em; }
  form .error.has-error-help {
    border-radius: 0.3em 0.3em 0 0; }
    form .error.has-error-help.radioGroup, form .error.has-error-help.formRadio, form .error.has-error-help.checkboxGroup, form .error.has-error-help.formCheckbox {
      border-radius: 0.3em; }
    form .error.has-error-help label {
      padding: 0.5em; }
    form .error.has-error-help .groupLabel {
      margin-left: 0.5em; }

form .error-help {
  display: inline-block;
  padding: 0.2em 0.5em;
  width: 100%;
  font-size: 0.9em;
  color: #fff;
  background: #ac3931;
  border-radius: 0 0 0.3em 0.3em; }

/* Custom Select widgets */
.selectWidget {
  vertical-align: middle;
  position: relative;
  display: block; }
  .selectWidget::after {
    content: '';
    position: absolute;
    right: 0.75em;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    height: 0;
    width: 0;
    border-top: 0.75em solid #aaa;
    border-left: 0.5em solid transparent;
    border-right: 0.5em solid transparent;
    pointer-events: none;
    margin-top: 0.25em; }
  .selectWidget select {
    font-size: 1rem;
    line-height: initial;
    padding-right: 2.3em !important;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    .selectWidget select::-ms-expand {
      display: none; }
  .selectWidget option {
    cursor: pointer; }
    .selectWidget option:disabled {
      font-size: 0.9em;
      font-weight: bold;
      text-decoration: line-through; }
    .selectWidget option:disabled:first-of-type {
      text-decoration: none; }

/* Custom Checkboxes and Radios */
.formCheckbox label,
.formRadio label {
  position: relative;
  cursor: pointer;
  font-size: 1.2em;
  display: inline-block;
  margin: 0; }

.formCheckbox input,
.formRadio input {
  width: 0;
  height: 0;
  font-size: 0;
  position: absolute;
  opacity: 0; }

.formCheckbox input ~ *,
.formRadio input ~ * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1em; }
  .formCheckbox input ~ *::before,
  .formRadio input ~ *::before {
    content: '';
    float: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 1.25rem;
    width: 1.25rem;
    line-height: 1.25rem;
    color: transparent;
    background-color: #fff;
    border: 1px solid #00c900;
    -webkit-transition: all 200ms cubic-bezier(0.25, 0.25, 0.22, 1.3);
    transition: all 200ms cubic-bezier(0.25, 0.25, 0.22, 1.3);
    font-family: 'FontAwesome';
    -webkit-transform: scale(1.0001);
            transform: scale(1.0001); }

.formCheckbox input:checked ~ *::before,
.formRadio input:checked ~ *::before {
  color: #00c900; }

.formCheckbox:focus, .formCheckbox:focus-within,
.formRadio:focus,
.formRadio:focus-within {
  outline: 1px dashed #246ba1;
  outline-offset: 0.25em; }

.formRadio input ~ *::before {
  margin-right: 0.25rem;
  border-radius: 100%;
  font-size: 0.8em;
  content: '\f111'; }

.formCheckbox input ~ *::before {
  margin-right: 0.5rem;
  font-size: 1.8em;
  content: '\2714'; }

.checkboxGroup .groupLabel,
.radioGroup .groupLabel {
  display: inline-block;
  font-weight: bold; }

.checkboxGroup .formCheckbox,
.checkboxGroup .formRadio,
.radioGroup .formCheckbox,
.radioGroup .formRadio {
  display: inline-block;
  margin-left: 0.5em; }

/* Inline links to form help popups */
.js-helpLink,
.js-helpLinkModal {
  display: block;
  position: absolute;
  top: 0;
  right: 0.25em;
  font-size: 0.9em;
  font-weight: normal;
  text-decoration: none;
  color: #246ba1;
  border-bottom: 1px dotted;
  z-index: 1; }
  .js-helpLink:hover,
  .js-helpLinkModal:hover {
    border-bottom: 1px solid; }
  .js-helpLink i::before,
  .js-helpLinkModal i::before {
    display: block;
    font-size: 1em; }

/* Form help popups */
.js-helpMenu {
  position: absolute;
  z-index: 2;
  top: -1em;
  right: 2em;
  width: 20em;
  padding: 1em 1.5em;
  font-size: 0.9em;
  color: #3c3c3c;
  border: 0.25em solid #fff;
  border-radius: 0.3em;
  background: #bbb;
  -webkit-box-shadow: 0 0.25em 0.25em rgba(0, 0, 0, 0.1);
          box-shadow: 0 0.25em 0.25em rgba(0, 0, 0, 0.1);
  -webkit-backface-visibility: hidden;
  visibility: hidden;
  /* Animated State */
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  -webkit-transform: translate(0, 1.5em) scale(0.9);
          transform: translate(0, 1.5em) scale(0.9);
  opacity: 0; }
  .js-helpMenu.js-open {
    visibility: visible;
    -webkit-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    opacity: 1; }
  .js-helpMenu h4 {
    color: #9e9e9e;
    margin-top: 0; }
  .js-helpMenu .uiList {
    font-size: 0.8em; }
  .js-helpMenu li {
    margin-left: 1em; }

.js-helpClose {
  font-size: 3em;
  line-height: 1em;
  position: absolute;
  top: -0.15em;
  right: 0.15em;
  text-decoration: none; }
  .js-helpClose:hover {
    color: #ac3931; }

.listLayout {
  background-color: #fff;
  max-width: 50em;
  margin: 0 auto;
  border-top: 1px solid #e4e4e4;
  border-bottom: 1px solid #e4e4e4; }
  .listLayout .listItem {
    border-bottom: 1px solid #e4e4e4; }
    .listLayout .listItem a {
      display: block;
      padding: 1em;
      text-decoration: none;
      -webkit-transition: 300ms all;
      transition: 300ms all; }
      .listLayout .listItem a:hover {
        opacity: 0.8; }
    .listLayout .listItem:last-child {
      border: 0 none; }

@media screen and (min-width: 45rem) {
  .listLayout {
    padding: 0 1em;
    margin-bottom: 3em;
    border-radius: 0.25em;
    border: 1px solid #e4e4e4; } }

/* MetroNet Logo Loading Animation */
#loadingOverlay {
  z-index: 4;
  display: block;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6); }

#loader {
  -webkit-animation: spinIt 3s ease infinite;
          animation: spinIt 3s ease infinite;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 62px;
  height: 80px;
  padding: 4px;
  position: fixed;
  left: 50%;
  top: 50%;
  margin-left: -31px;
  margin-top: -40px;
  color: transparent;
  background-repeat: no-repeat;
  background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9Ijk4IiB3aWR0aD0iNzYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+ICAgICAgCiAgICA8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiM3QUMxNDMiIHN0cm9rZS13aWR0aD0iOCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBkPSJNIDE3IDIwIGEgMzAsMzAgMCAxIDAgMzYsMCIgLz4KICAgIDxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzdBQzE0MyIgc3Ryb2tlLXdpZHRoPSI4IiBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik0gMzUsNSBsIDAsMzgiIC8+Cjwvc3ZnPg=="); }

@-webkit-keyframes spinIt {
  40% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  70% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinIt {
  40% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); }
  70% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.js-modalWrap {
  position: fixed;
  z-index: 4;
  top: 0;
  bottom: 0;
  left: 0;
  display: none;
  overflow-x: hidden;
  overflow-y: auto;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6); }

.js-modal {
  position: absolute;
  top: 5vh;
  left: 50%;
  width: 45em;
  max-width: calc(100% - 2em);
  padding: 2em;
  border-radius: 0.25em;
  background: #f0f0f0;
  -webkit-box-shadow: 0.125em 0.125em 0.75em rgba(0, 0, 0, 0.1);
          box-shadow: 0.125em 0.125em 0.75em rgba(0, 0, 0, 0.1);
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  visibility: hidden; }
  .js-modal.js-transformIn, .js-modal.js-transformOut {
    -webkit-transition: -webkit-transform ease 0.5s;
    transition: -webkit-transform ease 0.5s;
    transition: transform ease 0.5s;
    transition: transform ease 0.5s, -webkit-transform ease 0.5s; }
  .js-modal.js-transformIn {
    visibility: visible;
    -webkit-transform: translate(-50%, 0) scale(1);
            transform: translate(-50%, 0) scale(1); }
  .js-modal.js-transformOut {
    -webkit-transform: translate(-50%, -50%) scale(0);
            transform: translate(-50%, -50%) scale(0); }
  .js-modal:focus {
    outline: none; }
  .js-modal h2 {
    margin-top: 0;
    line-height: 1em; }

.closeX {
  line-height: 2em;
  position: relative;
  top: -1em;
  right: -1em;
  display: block;
  float: right;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 2em;
  height: 2em;
  border: 1px solid transparent;
  border-radius: 50%; }
  .closeX::before, .closeX::after {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    content: '';
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
    background-color: #3c3c3c; }
  .closeX::after {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  .closeX:hover::before, .closeX:hover::after {
    background-color: #ac3931; }

.navLink {
  line-height: 1em;
  text-decoration: none;
  -webkit-transition: 300ms;
  transition: 300ms; }
  .navLink:hover {
    opacity: 0.8; }
  .navLink i {
    opacity: 0.8;
    font-size: 0.8em;
    vertical-align: middle; }
  .navLink .label {
    font-size: 0.9em;
    vertical-align: middle; }

/* Nav links in topBar */
.topBar .navLinks {
  display: inline-block;
  vertical-align: middle;
  line-height: 1em; }

.topBar .navLink {
  display: inline-block;
  color: #fff;
  margin-left: 1em; }

/* Nav links in overlayMenu */
.overlayMenu .navLink {
  display: block;
  padding: 0.5rem;
  color: #3c3c3c; }

.burgerWrap {
  position: relative;
  right: 0;
  -webkit-transition: all 0.4s ease-out 0.1s;
  transition: all 0.4s ease-out 0.1s;
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0; }
  .burgerWrap:focus {
    outline: 1px dotted #fff; }
  .burgerWrap.active {
    right: 16.25rem;
    opacity: 0; }
    .open.overlay .burgerWrap.active {
      opacity: 1; }

.navBurger {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 1.875rem;
  height: 1.875rem;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  border-top: 0.875rem solid transparent;
  border-bottom: 0.875rem solid transparent;
  background: #fff;
  background-clip: content-box; }
  .navBurger::before, .navBurger::after {
    position: absolute;
    right: 0;
    width: 100%;
    height: 0.125rem;
    content: '';
    -webkit-transition: all 0.5s ease;
    transition: all 0.5s ease;
    -webkit-transform: rotate(0deg) scale(1.0001);
            transform: rotate(0deg) scale(1.0001);
    background: #fff;
    will-change: rotate; }
  .navBurger::before {
    top: -0.625rem; }
  .navBurger::after {
    bottom: -0.625rem; }
  .navBurger.active {
    background: transparent; }
    .navBurger.active::before {
      top: 0;
      width: 110%;
      -webkit-transform: rotate(135deg) scale(1.0001);
              transform: rotate(135deg) scale(1.0001); }
    .navBurger.active::after {
      top: 0;
      width: 110%;
      -webkit-transform: rotate(-135deg) scale(1.0001);
              transform: rotate(-135deg) scale(1.0001); }

.overlay {
  position: fixed;
  z-index: 3;
  top: 0;
  right: 0;
  visibility: hidden;
  overflow: hidden;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.4s ease-in-out;
  transition: all 0.4s ease-in-out;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.6); }
  .overlay.open {
    visibility: visible;
    opacity: 1; }

.overlayMenu {
  display: none;
  /* Hide until DOM content ready is called */
  visibility: hidden;
  position: fixed;
  z-index: 3;
  top: 0;
  right: 0;
  overflow-y: auto;
  height: 100%;
  width: 16.25rem;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease, -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  color: #fff;
  background-color: #246ba1; }
  .overlayMenu > * {
    visibility: none;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.32);
    -webkit-transition: 1s all;
    transition: 1s all;
    /* Animated state change */
    opacity: 0; }
  .overlayMenu.open {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  .overlayMenu.open > * {
    opacity: 1; }

/* We need to hide the off-canvas menu during page load to avoid flashing before it's hidden. */
html.pageLoaded .overlayMenu {
  display: block; }

/* Multi-screen pages */
.js-screens .js-screen {
  display: none; }
  .js-screens .js-screen > h2:first-child,
  .js-screens .js-screen > h3:first-child {
    margin-top: 0; }

.statusMessages {
  max-width: 40em;
  margin: 0 auto; }
  .statusMessages .message {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row;
            flex-flow: row;
    position: relative;
    margin: 1em 1em 0;
    border: 1px solid #e4e4e4;
    color: #727272;
    background-color: #fff; }
    .statusMessages .message.template {
      display: none; }

.statusMessages .message {
  /* Success Messages */
  /* Urgent Messages */
  /* Warning Messages */
  /* Info Messages */ }
  .statusMessages .message .label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1em 0.7em;
    text-align: center;
    vertical-align: middle;
    background-color: #121212; }
    .statusMessages .message .label::before {
      content: '';
      display: inline-block;
      width: 1em;
      font-family: 'FontAwesome';
      font-size: 1.5em;
      color: #fff;
      opacity: 0.8; }
  .statusMessages .message .details {
    padding: 1em 1.5em 1em 1em; }
    .statusMessages .message .details p {
      font-size: 0.95em;
      margin-bottom: 0; }
      .statusMessages .message .details p.h4 {
        margin-top: -0.3em;
        font-size: 1.1em;
        font-weight: bold; }
  .statusMessages .message .js-close {
    display: inline-block;
    margin: 0;
    padding: 0;
    position: absolute;
    top: 0.25em;
    right: 0.25em;
    font-size: 1.7em;
    line-height: 0.6;
    color: #929292;
    text-decoration: none;
    -webkit-transition: 200ms;
    transition: 200ms; }
    .statusMessages .message .js-close:hover {
      -webkit-transform: scale(1.2);
              transform: scale(1.2);
      color: #9e9e9e;
      font-weight: bold; }
  .statusMessages .message.success .label {
    background-color: #00c900; }
    .statusMessages .message.success .label::before {
      content: '\f00c'; }
  .statusMessages .message.urgent .label {
    background-color: #ac3931; }
    .statusMessages .message.urgent .label::before {
      content: '\f071'; }
  .statusMessages .message.warning .label {
    background-color: #d66944; }
    .statusMessages .message.warning .label::before {
      content: '\f12a'; }
  .statusMessages .message.info .label {
    background-color: #246ba1; }
    .statusMessages .message.info .label::before {
      content: '\f05a'; }

.js-responsiveTable {
  padding: 1em;
  background-color: #fff; }
  .js-responsiveTable table {
    width: 100%;
    border-collapse: collapse; }
  .js-responsiveTable th {
    padding: 1em;
    text-align: left;
    font-weight: bold; }
  .js-responsiveTable td {
    padding: 1em;
    text-align: left; }
  .js-responsiveTable tbody tr:nth-of-type(odd) {
    background: #f0f0f0; }

@media screen and (max-width: 39.9375em) {
  .js-responsiveTable thead {
    display: none; }
  .js-responsiveTable tr {
    padding: 0.625em; }
  .js-responsiveTable td {
    padding: 0.125em; }
  .js-responsiveTable td::before {
    font-weight: bold; } }

.pageContent {
  position: relative;
  margin-top: 3rem; }

.topBar {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0.5rem;
  height: 3rem;
  color: #fff;
  background-color: #124266;
  -webkit-box-shadow: inset 0 0 0.625em rgba(255, 255, 255, 0.1);
          box-shadow: inset 0 0 0.625em rgba(255, 255, 255, 0.1); }
  .overlay .topBar {
    background-color: transparent !important; }
  .topBar .branding {
    margin: 0;
    padding: 0.25em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    -webkit-transition: 300ms;
    transition: 300ms; }
    .topBar .branding:hover {
      opacity: 0.8; }
    .topBar .branding img {
      width: auto;
      height: 100%;
      max-height: 1.25rem;
      display: inline-block; }
    .topBar .branding .applicationName {
      display: inline-block;
      color: #fff;
      font-size: 1em;
      line-height: 1em;
      vertical-align: middle;
      margin-left: 0.5em;
      text-transform: uppercase;
      font-weight: 400;
      white-space: nowrap; }
  .topBar .nav {
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0.25em 1em; }
  .topBar .menu {
    display: none;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0.25em 1em; }
    .topBar .menu li {
      display: inline-block; }
    .topBar .menu a {
      color: rgba(255, 255, 255, 0.8);
      text-decoration: none; }
      .topBar .menu a:hover {
        opacity: 0.8; }
  .topBar .userInfo {
    display: none;
    margin-left: auto; }
  .topBar .navToggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

/* Switch to normal nav on larger screens */
@media screen and (min-width: 50rem) {
  .topBar .navToggle {
    display: none; }
  .topBar .nav,
  .topBar .menu,
  .topBar .userInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

/* User Menu */
.userInfo .user {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: 300ms;
  transition: 300ms; }
  .userInfo .user:hover {
    cursor: pointer;
    opacity: 0.8; }
  .userInfo .user .name {
    font-size: 0.9rem; }
  .userInfo .user .icon {
    margin-left: 0.5em;
    margin-right: -0.15rem; }
  .userInfo .user::after {
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    content: '';
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    border-top: 0.25em solid rgba(255, 255, 255, 0.8);
    border-right: 0.25em solid transparent;
    border-left: 0.25em solid transparent; }

.userIcon {
  width: 2rem;
  height: 2rem;
  position: relative; }
  .userIcon::after {
    border-radius: 100%;
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -webkit-box-shadow: inset 0 0 0.25em rgba(0, 0, 0, 0.3);
            box-shadow: inset 0 0 0.25em rgba(0, 0, 0, 0.3); }
  .userIcon img {
    display: block;
    border-radius: 100%; }

/* Flyout panels in topBar */
.topBar .userInfo {
  position: relative; }
  .topBar .userInfo .js-flyoutPanel {
    top: 2.7rem;
    right: 1em; }
  .topBar .userInfo .user {
    padding-right: 1em; }
    .topBar .userInfo .user::after {
      right: 0; }

/* Flyout panels in overlayMenu */
.overlayMenu .userInfo .user {
  padding: 0.5em;
  color: #fff; }
  .overlayMenu .userInfo .user::after {
    right: 0.5em; }

.errorContent {
  max-width: 55rem;
  font-size: 1.2rem;
  line-height: 1.2;
  margin: 3rem auto;
  padding: 3rem;
  background: #fff; }
  .errorContent h3 {
    color: #ac3931;
    font-size: 4em;
    line-height: 1em;
    margin: 0 0 0.25em; }
  .errorContent h4 {
    color: #3c3c3c; }
  .errorContent a {
    word-break: break-all; }
  .errorContent p {
    margin: 0.5em 0; }
  .errorContent .errorHelp {
    margin: 2rem 0;
    border: 1px solid #246ba1;
    padding: 1.25rem 1rem 1.25rem 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .errorContent .errorHelp i {
      margin: 0 1rem 0 0; }
    .errorContent .errorHelp p:first-of-type {
      margin-top: 0; }
    .errorContent .errorHelp p:last-child {
      margin-bottom: 0; }
  .errorContent .errorDebugInfo {
    padding: 1rem;
    background: #f0f0f0; }

.exampleColors {
  padding: 1em;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .exampleColors .swatch {
    color: #fff;
    padding: 0.25em 0.5em;
    margin: 0.25em; }
    .exampleColors .swatch.darkText {
      color: #000; }
    .exampleColors .swatch.brandBlue {
      background-color: #246ba1; }
    .exampleColors .swatch.brandGreen {
      background-color: #00c900; }
    .exampleColors .swatch.alertYellow {
      background-color: #f9edbe; }
    .exampleColors .swatch.warningOrange {
      background-color: #d66944; }
    .exampleColors .swatch.errorRed {
      background-color: #ac3931; }
    .exampleColors .swatch.darkUIGray1 {
      background-color: #191919; }
    .exampleColors .swatch.darkUIGray2 {
      background-color: #2d2d2d; }
    .exampleColors .swatch.borderGray {
      background-color: #e4e4e4; }
    .exampleColors .swatch.gray1 {
      background-color: #121212; }
    .exampleColors .swatch.gray2 {
      background-color: #242424; }
    .exampleColors .swatch.gray3 {
      background-color: #3c3c3c; }
    .exampleColors .swatch.gray4 {
      background-color: #9e9e9e; }
    .exampleColors .swatch.gray5 {
      background-color: #525252; }
    .exampleColors .swatch.gray6 {
      background-color: #727272; }
    .exampleColors .swatch.gray7 {
      background-color: #dedede; }
    .exampleColors .swatch.gray8 {
      background-color: #888; }
    .exampleColors .swatch.gray9 {
      background-color: #929292; }
    .exampleColors .swatch.gray10 {
      background-color: #aaa; }
    .exampleColors .swatch.gray11 {
      background-color: #bbb; }
    .exampleColors .swatch.gray12 {
      background-color: #f0f0f0; }

.smartDarkenExample {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 -0.5em; }
  .smartDarkenExample .swatch {
    display: block;
    height: 4em;
    width: 4em;
    margin: 0.5em;
    text-align: center;
    line-height: 4em; }
  .smartDarkenExample .original {
    background-color: #00c900; }
  .smartDarkenExample .plusTen {
    background-color: #00fc00; }
  .smartDarkenExample .plusTwenty {
    background-color: #30ff30; }
  .smartDarkenExample .minusTen {
    background-color: #009600; }
  .smartDarkenExample .minusTwenty {
    background-color: #006300; }

.cognitoLogin button {
  margin: 0 auto; }

.cognitoLogin a {
  text-decoration: none; }

.loginBox {
  width: 25em;
  max-width: 100%;
  margin: 2em auto 5em; }
  .loginBox .js-screens {
    width: 100%; }
  .loginBox .js-screen {
    width: 100%;
    padding: 2em;
    background: #fff;
    border: 1px solid #e4e4e4; }
  .loginBox .boxTitle {
    text-align: center; }
    .loginBox .boxTitle h2 {
      margin-top: 0;
      font-weight: 300; }
    .loginBox .boxTitle .logo {
      display: inline-block;
      margin-bottom: 1em; }
    .loginBox .boxTitle p {
      line-height: 1.25em;
      margin-bottom: 1.25em; }
  .loginBox .switchAccount {
    font-size: 0.8em;
    text-align: right;
    font-weight: normal; }
    .loginBox .switchAccount a {
      text-decoration: underline;
      color: #3c3c3c; }
  .loginBox .loginForm .formActions button {
    width: 100%; }

.js-screen[data-name='loginSuccess'] {
  text-align: center; }
  .js-screen[data-name='loginSuccess'] h2 {
    margin-top: 0;
    line-height: 1em; }
  .js-screen[data-name='loginSuccess'] p {
    color: #525252;
    margin: 0;
    line-height: 1em; }

/* Loading animation */
.loaderBar {
  position: relative;
  margin: 1.5em auto;
  width: 100%;
  height: 1em;
  padding: 1px;
  background-image: linear-gradient(135deg, #6187f2 0%, #6187f2 25%, #5679da 25%, #5679da 50%, #6187f2 50%, #6187f2 75%, #5679da 75%, #5679da 100%);
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 1em 1em;
  background-clip: content-box;
  -webkit-animation: loading 1s linear infinite;
          animation: loading 1s linear infinite; }
  .loaderBar::after {
    content: '';
    position: absolute;
    right: 0;
    height: 1em;
    background: #f7f7f7;
    -webkit-animation: progress 5s ease forwards;
            animation: progress 5s ease forwards; }

@-webkit-keyframes loading {
  from {
    background-position: 0 0; }
  to {
    background-position: -1em 0; } }

@keyframes loading {
  from {
    background-position: 0 0; }
  to {
    background-position: -1em 0; } }

@-webkit-keyframes progress {
  0% {
    width: 100%; }
  100% {
    width: 30%; } }

@keyframes progress {
  0% {
    width: 100%; }
  100% {
    width: 30%; } }

.noticeLayout .pageContent {
  max-width: 25rem;
  margin: 3rem auto;
  background-color: #f0f0f0;
  font-family: Helvetica, Arial, sans-serif; }

.noticeLayout .branding {
  text-align: center;
  margin-bottom: 3rem; }

.noticeLayout .message {
  color: #000;
  background-color: #fff;
  padding: 1rem; }
  .noticeLayout .message h3:first-child {
    margin-top: 0; }
  .noticeLayout .message h3.error {
    color: #ac3931; }
  .noticeLayout .message p:last-child {
    margin-bottom: 0; }
  .noticeLayout .message a {
    white-space: nowrap; }

.noticeLayout .errorDebugInfo {
  padding: 1rem; }

.noticeLayout .back {
  text-decoration: none; }
  .noticeLayout .back:hover {
    opacity: 0.8; }
  .noticeLayout .back::before {
    font-family: 'FontAwesome';
    content: '\f060';
    margin-right: 0.5em; }

.errorBox {
  width: 25em;
  max-width: 100%;
  margin: 2em auto 5em; }
  .errorBox .js-screens {
    width: 100%; }
  .errorBox .js-screen {
    width: 100%;
    padding: 2em;
    background: #000;
    border: 1px solid 1px solid #9e9e9e;
    color: #fff; }
  .errorBox .boxTitle {
    text-align: center; }
    .errorBox .boxTitle h2 {
      margin-top: 0;
      font-weight: 300; }
    .errorBox .boxTitle .logo {
      display: inline-block;
      margin-bottom: 1em; }
    .errorBox .boxTitle p {
      line-height: 1.25em;
      margin-bottom: 1.25em; }

.continueButton {
  font-family: 'Titillium Web', sans-serif;
  margin: 0.5em auto;
  border: none; }

.continueButtonDiv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.continueButton.inactive {
  background-color: #b0ffb0;
  color: #4aff4a;
  outline: none; }

.continueButton.inactive:hover,
.continueButton.inactive:focus,
.continueButton.inactive:active {
  cursor: default;
  outline: none;
  border: none; }

body {
  background: linear-gradient(102.25deg, #572AA8 0%, #008379 100%); }

.errorBox {
  width: 25em;
  max-width: 100%;
  margin: 2em auto 5em; }
  .errorBox .js-screens {
    width: 100%; }
  .errorBox .js-screen {
    width: 100%;
    padding: 2em;
    background: #000;
    border: 1px solid 1px solid #9e9e9e;
    color: #fff; }
  .errorBox .boxTitle {
    text-align: center; }
    .errorBox .boxTitle h2 {
      margin-top: 0;
      font-weight: 300; }
    .errorBox .boxTitle .logo {
      display: inline-block;
      margin-bottom: 1em; }
    .errorBox .boxTitle p {
      line-height: 1.25em;
      margin-bottom: 1.25em; }

.continueButton {
  font-family: 'Titillium Web', sans-serif;
  margin: 0.5em auto;
  border: none; }

.continueButtonDiv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.continueButton.inactive {
  background-color: #b0ffb0;
  color: #4aff4a;
  outline: none; }

.continueButton.inactive:hover,
.continueButton.inactive:focus,
.continueButton.inactive:active {
  cursor: default;
  outline: none;
  border: none; }

@font-face {
  font-family: 'Lexend';
  src: url("/includes/assets/themes/metronetLYI/Lexend-VariableFont_wght.ttf"); }

html {
  /* font-size: 0.8em; */
  font-family: Lexend, sans-serif;
  color: #fff;
  min-width: 320px; }

a {
  color: #fff; }

h1 {
  color: #fff; }

h2 {
  color: #fff; }

.terms-note {
  font-size: 1rem;
  color: #fff; }

.errorContent {
  background: #000; }
  .errorContent h4 {
    color: #fff; }
  .errorContent .errorHelp {
    border: 1px solid #9e9e9e;
    background: #121212; }
  .errorContent .errorDebugInfo {
    background: #000; }

.loginBox .js-screen {
  background: #000;
  border: 1px solid #9e9e9e;
  border-radius: 12px; }

.firstTimeUser {
  margin: 1em 0;
  text-align: center; }
  .firstTimeUser a {
    font-size: 0.8em;
    text-decoration: underline;
    color: #fff; }
  .firstTimeUser h4 {
    font-size: 1.1em;
    font-weight: 400 !important;
    margin: 0;
    text-align: center;
    color: #fff; }

.quickpay {
  margin: auto;
  text-align: center;
  width: 100%; }
  .quickpay a {
    text-decoration: none;
    color: #000; }

body.loginHelp div.securityQuestionsList {
  margin-top: 20px; }

body.loginHelp div.securityQuestions div.fieldWrap {
  margin-bottom: 25px; }

body.loginHelp div.fieldWrap {
  margin-left: 0;
  margin-right: 0; }

body.loginHelp p.helpPhone {
  margin-top: 1em;
  text-align: center;
  font-size: 1.4em; }

body.loginHelp h3.subheading {
  font-size: 1.3em;
  margin-bottom: 0.5rem;
  color: #00a600;
  word-wrap: break-word; }

.modalReauthForm .currentUsername {
  font-weight: normal; }

.button {
  font-size: 1em;
  color: #000;
  background: #f0f022;
  border-radius: 32px !important;
  outline: none;
  outline-offset: initial;
  font-weight: bold; }
  .button:hover, .button:active, .button:focus {
    background: #d9d91d; }

.alert {
  background: #3c3c3c;
  border: 1px solid #9e9e9e;
  color: #fff; }

#loader {
  background-image: url(/includes/assets/themes/metronetLYI/metronet-monogram.svg);
  -webkit-transform: scale(8);
          transform: scale(8);
  height: auto;
  width: auto;
  background-position: center; }

@keyframes spinIt {
  70% {
    -webkit-transform: scale(12);
            transform: scale(12); } }

/* Custom status message layout */
/* NOTE: overrides styles from framework_ext */
.statusMessages {
  position: fixed;
  bottom: 1em;
  right: 1em;
  z-index: 1; }
  .statusMessages .message {
    -webkit-box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.3);
    border: 0 none; }
    .statusMessages .message:hover {
      -webkit-box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.6);
              box-shadow: 0 0 0.75rem rgba(0, 0, 0, 0.6); }

.topBar {
  height: 4rem;
  color: #fff;
  background-color: #000; }
  .topBar .branding img {
    width: auto;
    height: auto;
    max-height: none;
    position: relative;
    left: -65px; }
  .topBar .branding .applicationName {
    color: #fff;
    font-size: 1.5em;
    margin-left: 1.5em;
    text-transform: none;
    position: relative;
    left: -150px; }

#calendar {
  background-color: #000;
  color: #fff;
  padding: 2em;
  position: relative;
  border-style: solid;
  border: 1px solid #9e9e9e;
  border-width: 1px;
  max-width: 750px;
  max-height: 950px;
  margin-left: auto;
  margin-right: auto;
  border-radius: 12px; }
  #calendar .inactiveCalendar {
    opacity: 0.3; }
  #calendar .calendarMain .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 5em;
    margin-bottom: 1em; }
    #calendar .calendarMain .header .arrow {
      width: 5em;
      height: 5em;
      text-align: center;
      margin-right: 2em;
      margin-left: 2em;
      padding: 1em;
      -webkit-transition: 300ms all;
      transition: 300ms all;
      border-radius: 50%; }
      #calendar .calendarMain .header .arrow i {
        font-size: 2em; }
    #calendar .calendarMain .header .hoveredArrow {
      background-color: #3c3c3c;
      cursor: pointer; }
    #calendar .calendarMain .header .currentMonth {
      color: #fff;
      font-size: 1.5em;
      padding-top: 1em;
      text-align: center; }
  #calendar .calendarMain .daysOfWeek {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    #calendar .calendarMain .daysOfWeek .dayOfWeek {
      -ms-flex-preferred-size: 14.28%;
          flex-basis: 14.28%;
      text-align: center; }
  #calendar .calendarMain .break {
    border-top: 1px solid #9e9e9e;
    margin: 1em; }
  #calendar .calendarMain .calendar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: space-evenly;
        -ms-flex-pack: space-evenly;
            justify-content: space-evenly; }
    #calendar .calendarMain .calendar .week {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin-bottom: 1em; }
      #calendar .calendarMain .calendar .week .day {
        width: 5em;
        height: 5em;
        -ms-flex-preferred-size: 14.28%;
            flex-basis: 14.28%;
        cursor: default;
        text-align: center; }
        #calendar .calendarMain .calendar .week .day div {
          width: 95%;
          margin-left: auto;
          margin-right: auto;
          -webkit-transition: 300ms background;
          transition: 300ms background;
          cursor: pointer;
          padding: 35% 0;
          border-radius: 50%; }
      #calendar .calendarMain .calendar .week .day.inactive div {
        cursor: default; }
      #calendar .calendarMain .calendar .week .disabled {
        cursor: default; }
        #calendar .calendarMain .calendar .week .disabled div {
          cursor: default;
          border: none; }
      #calendar .calendarMain .calendar .week .unselectable div {
        cursor: default;
        color: #525252;
        padding-bottom: 40%;
        width: 100%;
        border-radius: 0;
        background-color: #000; }
      #calendar .calendarMain .calendar .week .day.selected div {
        -webkit-transition: 0ms all;
        transition: 0ms all;
        background-color: #525252; }
      #calendar .calendarMain .calendar .week .day.selectable.hover div {
        background: #3c3c3c;
        -webkit-transition: 300ms all;
        transition: 300ms all; }
      #calendar .calendarMain .calendar .week .day.selected.hover div {
        background: #9e9e9e; }
      #calendar .calendarMain .calendar .week .day.selected.bookedPM div {
        background: #525252;
        border: none; }
      #calendar .calendarMain .calendar .week .day.selected.bookedPM.hover div {
        background: #525252; }
      #calendar .calendarMain .calendar .week .day.selected.bookedAM div {
        background: #525252;
        border: none; }
      #calendar .calendarMain .calendar .week .day.selected.bookedAM.hover div {
        background: #3c3c3c; }
      #calendar .calendarMain .calendar .week .day.bookedPM div {
        background: #525252; }
      #calendar .calendarMain .calendar .week .day.bookedPM.hover div {
        background: #3c3c3c;
        border: none; }
      #calendar .calendarMain .calendar .week .day.bookedAM div {
        background: #525252; }
      #calendar .calendarMain .calendar .week .day.bookedAM.hover div {
        background: #3c3c3c;
        border: none; }
  #calendar .calendarMain .legend {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 1em; }
    #calendar .calendarMain .legend .key {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #calendar .calendarMain .legend .key span {
        line-height: 2em;
        padding-left: 0.5em;
        padding-right: 0.65em; }
    #calendar .calendarMain .legend .pmSlot {
      background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, #f5f5f5), color-stop(50%, #ffffff));
      background: linear-gradient(to right bottom, #f5f5f5 50%, #ffffff 50%);
      width: 2em;
      height: 2em; }
    #calendar .calendarMain .legend .amSlot {
      background: -webkit-gradient(linear, right bottom, left top, color-stop(50%, #f5f5f5), color-stop(50%, #ffffff));
      background: linear-gradient(to left top, #f5f5f5 50%, #ffffff 50%);
      width: 2em;
      height: 2em; }
    #calendar .calendarMain .legend .unavailable {
      background-color: #3c3c3c;
      border-style: solid;
      border-width: 1px;
      border: 1px solid #9e9e9e;
      width: 2em;
      height: 2em;
      border-radius: 4px; }
  #calendar .prompt {
    position: absolute;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    left: 50%;
    top: 50%;
    background: #000;
    -webkit-box-shadow: 0 0 12px 0 #525252;
            box-shadow: 0 0 12px 0 #525252;
    width: 25em;
    overflow: hidden;
    -webkit-transition: max-height 600ms cubic-bezier(0, 1, 0, 1);
    transition: max-height 600ms cubic-bezier(0, 1, 0, 1);
    border-radius: 12px; }
    #calendar .prompt .header {
      background-color: #000;
      text-align: right; }
      #calendar .prompt .header .closeButton {
        text-align: center;
        margin-right: 1em;
        margin-top: 1em;
        background-color: Transparent;
        background-repeat: no-repeat;
        border: none;
        border-style: solid;
        cursor: pointer;
        border-color: transparent;
        outline: none; }
      #calendar .prompt .header .closeButton:hover {
        border-radius: 4px; }
      #calendar .prompt .header i {
        font-size: 2.5em;
        color: white; }
      #calendar .prompt .header .dayName {
        color: #fff;
        font-size: 1.5em;
        text-align: center;
        background-color: #000;
        padding-bottom: 0.5em; }
    #calendar .prompt .button {
      font-family: 'Titillium Web', sans-serif;
      margin: 0.5em auto;
      border: none; }
    #calendar .prompt .buttonDiv {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #calendar .prompt .button.inactive {
      background-color: #f0f022;
      opacity: 0.5;
      color: #000;
      outline: none; }
    #calendar .prompt .button.inactive:hover,
    #calendar .prompt .button.inactive:focus,
    #calendar .prompt .button.inactive:active {
      cursor: default;
      outline: none;
      border: none; }
    #calendar .prompt .back {
      cursor: pointer;
      padding: 1em;
      width: 5em;
      text-align: center;
      margin: 0.5em;
      -webkit-transition: 300ms all;
      transition: 300ms all;
      border-radius: 4px; }
    #calendar .prompt p {
      text-align: center;
      font-size: 1.5em;
      background-color: #000;
      color: white;
      padding: 0.2em;
      margin: 0; }
    #calendar .prompt .timeSlots .timeSlot {
      text-align: center;
      padding-top: 1em;
      padding-bottom: 1em;
      font-size: 1.2em;
      -webkit-transition: 300ms all;
      transition: 300ms all;
      border-bottom: 1px solid #9e9e9e;
      cursor: pointer; }
    #calendar .prompt .timeSlots .timeSlot.unavailable {
      cursor: default;
      background-color: #242424; }
    #calendar .prompt .timeSlots .timeSlot.unavailable:hover {
      cursor: default;
      background-color: #242424; }
    #calendar .prompt .timeSlots .timeSlot:hover {
      color: #fff;
      background-color: #3c3c3c; }
    #calendar .prompt .timeSlots .timeSlot.selected {
      background-color: #3c3c3c; }
  #calendar .prompt.active {
    max-height: 100em;
    -webkit-transition: max-height 600ms linear;
    transition: max-height 600ms linear; }
  #calendar .prompt.inactive {
    max-height: 0; }

div.orderSummary {
  margin-top: 0;
  margin-left: auto;
  margin-right: auto; }

.pageContent {
  margin-left: auto;
  margin-right: auto; }

.disableNavigation {
  display: none; }

.welcomeHeader {
  text-transform: uppercase;
  text-align: left;
  font-size: 1.4em;
  max-width: 19.5em;
  font-weight: bold;
  margin-top: 1em;
  padding: 0.3em 0; }

.welcomeContent {
  padding: 0.3em 0.25em;
  margin: 0.25em 0;
  font-weight: bold; }

.flexRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0.25em; }
  .flexRow .label {
    display: block;
    -ms-flex-preferred-size: 30%;
        flex-basis: 30%;
    font-weight: bold;
    margin-right: 1em; }
    .flexRow .label::after {
      content: ':'; }
  .flexRow .value {
    display: block;
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%; }

div.welcomeContainer div.option {
  width: 100%;
  max-width: 52em;
  float: left;
  margin: 0 auto;
  padding: 1em;
  background: #000;
  border-radius: 12px; }

div.welcomeContainer div.stickyNote {
  background: #000;
  height: initial;
  width: initial;
  position: relative;
  right: initial;
  top: initial;
  -webkit-transform: none;
  transform: none; }

div.welcomeContainer div.stickyNote blockquote {
  font-size: 1.25em;
  padding: 1.5em 2em 2em;
  margin-bottom: 2em; }

div.welcomeContainer div.stickyNote blockquote footer {
  display: block;
  margin: 20px 0 0; }

div.welcomeContainer div.stickyNote blockquote footer i {
  display: block;
  margin: 5px 0 0;
  font-weight: bold;
  font-size: 1.2em; }

div.welcomeContainer img#welcomeImgHeader {
  width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto; }

div#downloadPDFs {
  width: 100%;
  max-width: 100vw !important;
  height: 100vh !important;
  padding: 2em 0;
  border-radius: 0;
  background: #fff; }

div#downloadPDFs iframe {
  border: 0; }

div#downloadPDFs .body {
  height: 95%; }

.downloadPDFsDialog {
  max-width: 90%;
  margin: 4em 0;
  border-radius: 0; }

button.button {
  margin-top: 0;
  margin-bottom: 1px;
  width: 12em;
  height: 4em;
  font-size: 1em;
  white-space: normal; }

/*
a {
    color: #165694;
}
*/
td.disclaimer {
  border-radius: 0 !important;
  background: #bbee8a;
  padding: 0.5em;
  padding: 1em 2em;
  color: #000 !important; }

div.downloads {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin-top: 2em; }

div.downloads > span {
  text-transform: uppercase;
  font-weight: bold; }

div.downloads button {
  border-radius: 0 !important;
  margin-bottom: 4px;
  margin-right: 4px; }

div.downloads button:hover {
  outline: 1px solid #246ba3; }

div.downloads button.button {
  padding: 0; }

.downloads .ui-button-text {
  line-height: 1.1 !important; }

.welcomeLongLine {
  padding: 10px 0; }

.welcomeLongLine span {
  font-size: 1.2em;
  font-weight: normal !important;
  display: block;
  padding: 5px 5px 0 10px; }

.customerEmail span {
  display: inline-block;
  font-weight: bold !important;
  padding: 0 10px; }

/* -----------------------------------------------------------------------------
/* Media Queries
/* --------------------------------------------------------------------------- */
/* Small only <640 */
@media screen and (max-width: 39.9375em) {
  table.information {
    width: 100%;
    max-width: initial; }
  .welcomeLongLine span {
    display: inherit; } }

/* Medium and up >640 */
/* @media screen and (min-width: 40em) {}


/* Up to Large <1024 */
@media screen and (max-width: 64em) {
  div.welcomeContainer div.option {
    margin: 0 auto 3em;
    float: none; } }

/* PRINT STYLES */
@media print {
  div.header,
  div#progressbar,
  tr.downloads,
  div.downloads,
  a#startOver,
  div.stickyNote,
  span#repoName {
    display: none; } }

.errorContent {
  background: #000; }
  .errorContent h4 {
    color: #fff; }
  .errorContent .errorHelp {
    border: 1px solid #9e9e9e;
    background: #121212; }
  .errorContent .errorDebugInfo {
    background: #000; }

.loginBox .js-screen {
  background: #000;
  border: 1px solid #9e9e9e;
  border-radius: 12px; }

.firstTimeUser {
  margin: 1em 0;
  text-align: center; }
  .firstTimeUser a {
    font-size: 0.8em;
    text-decoration: underline;
    color: #fff; }
  .firstTimeUser h4 {
    font-size: 1.1em;
    font-weight: 400 !important;
    margin: 0;
    text-align: center;
    color: #fff; }

.quickpay {
  margin: auto;
  text-align: center;
  width: 100%; }
  .quickpay a {
    text-decoration: none;
    color: #000; }

body.loginHelp div.securityQuestionsList {
  margin-top: 20px; }

body.loginHelp div.securityQuestions div.fieldWrap {
  margin-bottom: 25px; }

body.loginHelp div.fieldWrap {
  margin-left: 0;
  margin-right: 0; }

body.loginHelp p.helpPhone {
  margin-top: 1em;
  text-align: center;
  font-size: 1.4em; }

body.loginHelp h3.subheading {
  font-size: 1.3em;
  margin-bottom: 0.5rem;
  color: #00a600;
  word-wrap: break-word; }

.modalReauthForm .currentUsername {
  font-weight: normal; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndhcm5pbmctbWVzc2FnZS50eHQiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy90b29scy9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb3JlL19iYXNlLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9fZGVmYXVsdF9zZXR0aW5ncy5zY3NzIiwiY3NzL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vLi4vYnVpbGQvV2ViRnJhbWV3b3JrRXh0L3NyYy9jc3MvY29yZS9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb3JlL191dGlsaXR5LnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9lbGVtZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2VsZW1lbnRzL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9lbGVtZW50cy9fZXJyb3JEZWJ1Z0luZm8uc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2VsZW1lbnRzL19qdW1wTGluay5zY3NzIiwiLi4vLi4vLi4vLi4vYnVpbGQvV2ViRnJhbWV3b3JrRXh0L3NyYy9jc3MvZWxlbWVudHMvX3NlYXJjaC5zY3NzIiwiLi4vLi4vLi4vLi4vYnVpbGQvV2ViRnJhbWV3b3JrRXh0L3NyYy9jc3MvZWxlbWVudHMvX3Rvb2x0aXBzLnNjc3MiLCJhcHBsaWNhdGlvbi5jc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19hbGVydEJhci5zY3NzIiwiLi4vLi4vLi4vLi4vYnVpbGQvV2ViRnJhbWV3b3JrRXh0L3NyYy9jc3MvY29tcG9uZW50cy9fYnJvd3Nlcldhcm5pbmcuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2NvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19kYXRlcGlja2VyLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19lbnZpcm9ubWVudFdhcm5pbmcuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2NvbXBvbmVudHMvX2VtZXJnZW5jeU5vdGljZS5zY3NzIiwiLi4vLi4vLi4vLi4vYnVpbGQvV2ViRnJhbWV3b3JrRXh0L3NyYy9jc3MvY29tcG9uZW50cy9fZmx5b3V0UGFuZWwuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19saXN0TGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19sb2FkaW5nQW5pbWF0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19tb2RhbHMuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2NvbXBvbmVudHMvX25hdkxpbmtzLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19vdmVybGF5TmF2LnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19zY3JlZW5zLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL19zdGF0dXNNZXNzYWdlcy5zY3NzIiwiLi4vLi4vLi4vLi4vYnVpbGQvV2ViRnJhbWV3b3JrRXh0L3NyYy9jc3MvY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9jb21wb25lbnRzL190b3BCYXIuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL2NvbXBvbmVudHMvX3VzZXJNZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9wYWdlcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL3BhZ2VzL19leGFtcGxlLnNjc3MiLCIuLi8uLi8uLi8uLi9idWlsZC9XZWJGcmFtZXdvcmtFeHQvc3JjL2Nzcy9wYWdlcy9fbG9naW4uc2NzcyIsIi4uLy4uLy4uLy4uL2J1aWxkL1dlYkZyYW1ld29ya0V4dC9zcmMvY3NzL3BhZ2VzL19ub3RpY2Uuc2NzcyIsImNzcy9jb3JlL19sYXlvdXQuc2NzcyIsImNzcy9jb3JlL19iYXNlLnNjc3MiLCJjc3MvY29yZS9fdHlwb2dyYXBoeS5zY3NzIiwiY3NzL3BhZ2VzL19lcnJvci5zY3NzIiwiY3NzL3BhZ2VzL19sb2dpbi5zY3NzIiwiY3NzL2VsZW1lbnRzL19idXR0b25zLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fYWxlcnRCYXIuc2NzcyIsImNzcy9jb21wb25lbnRzL19sb2FkaW5nQW5pbWF0aW9uLnNjc3MiLCJjc3MvY29tcG9uZW50cy9fc3RhdHVzTWVzc2FnZXMuc2NzcyIsImNzcy9jb21wb25lbnRzL190b3BCYXIuc2NzcyIsImNvbXBvbmVudHMvY2FsZW5kYXIvX2NhbGVuZGFyLnNjc3MiLCJjb21wb25lbnRzL3dlbGNvbWUvd2VsY29tZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Qkc7O0FDeEJIOzs7R0FHRztBQWFIOzs7O0dBSUc7QUFRSDs7OztHQUlHO0FBUUg7OztHQUdHO0FBS0g7OztHQUdHO0FBYUg7Ozs7R0FJRztBQU9IOzs7OztHQUtHO0FBaUJIOzs7Ozs7Ozs7R0FTRztBQWlESDs7Ozs7RUFLRTtBQ2hLRixzRkFBc0Y7QUFDdEY7O0VBRUksK0JBQXNCO1VBQXRCLHVCQUFzQixFQUN6Qjs7QUFFRDs7O0VBR0ksNEJBQW1CO1VBQW5CLG9CQUFtQixFQUN0Qjs7QUFFRCxnQ0FBZ0M7QUFDaEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBb0JJLFVBQVM7RUFDVCxXQUFVLEVBQ2I7O0FBRUQ7RUFDSSxnQkFBZTtFQUNmLCtCQUE4QjtFQUM5QiwyQkFBMEI7RUFDMUIsb0NBQW1DO0VBQ25DLDBCQ2hCWSxFRGlCZjs7QUFFRDtFQUNJLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixvQkFBTztNQUFQLFlBQU87VUFBUCxRQUFPO0VBQ1AsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLHdCQUEyQjtNQUEzQixxQkFBMkI7VUFBM0IsNEJBQTJCLEVBQzlCOztBQUVELHlCQUF5QjtBQUN6QjtFQUNJO0lBQ0ksbUNBQWtDO0lBQ2xDLHVCQUF3QjtJQUV4QixxQ0FBcUM7SUFDckMsb0NBQTJCO1lBQTNCLDRCQUEyQjtJQUMzQiw2QkFBNEIsRUFDL0I7RUFFRDs7SUFFSSwyQkFBMEIsRUFDN0I7RUFFRDtJQUNJLDZCQUE0QixFQUMvQjtFQUVEO0lBQ0ksOEJBQTZCLEVBQ2hDO0VBRUQ7OztJQUdJLFlBQVcsRUFDZDtFQUVEOztJQUVJ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QWE7RUFDYixtQkFBa0IsRUFlckI7RUFqQkQ7SUFLUSxpQkFBZ0I7SUFDaEIsMkJBQTBCO0lBQzFCLFlyQ0VJLEVxQ0RQO0VBUkw7SUFXUSxpQkFBZ0I7SUFDaEIsNEJBQTJCO0lBQzNCLFVBQVM7SUFDVCxtQkFBa0I7SUFDbEIsWXJDTkksRXFDT1A7O0FBR0w7RUFDSSxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLFlBQVcsRUFNZDtFQVREO0lBTVEsc0JBQXFCO0lBQ3JCLFlyQ2xCSSxFcUNtQlA7O0FBR0w7RUFDSSxpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxvQkFBbUIsRUFDdEI7O0FBRUQ7RUFDSSxlQUFjO0VBQ2QsZ0JBQWUsRUFDbEI7O0FBRUQ7RUFDSSxnQkFBZTtFQUNmLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsc0JBQXFCO0VBQ3JCLGVyQzNCWTtFcUM0Qlosc0JBQXFCLEVBQ3hCOztBQUVEO0VBQ0ksb0JBQW1CLEVBQ3RCIiwiZmlsZSI6ImFwcGxpY2F0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFdBUk5JTkcgLSBETyBOT1QgRURJVCBUSElTIEZJTEUgTUFOVUFMTFlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRoaXMgZmlsZSBpcyBhdXRvLWdlbmVyYXRlZCBmcm9tIHRoZSBidWlsZCBzb3VyY2UgZmlsZXMuIEFueSBtYW51YWwgY2hhbmdlc1xuICogdG8gdGhpcyBmaWxlIFdJTEwgYmUgb3ZlcndyaXR0ZW4uIEFwcGxpY2F0aW9uIHNvdXJjZSBmaWxlcyBhcmUgbG9jYXRlZFxuICogd2l0aGluIGFwcHMvPGFwcEtleT4vYnVpbGQvc3JjXG4gKlxuICogV2hlbiBtYWtpbmcgY2hhbmdlcywgeW91IHdpbGwgbmVlZCB0byBydW4gY2VydGFpbiBHdWxwIHNjcmlwdHMgZnJvbSB3aXRoaW5cbiAqIHRoZSBwcm9qZWN0J3MgYnVpbGQgZGlyZWN0b3J5IGxvY2F0ZWQgYXQgYXBwcy88YXBwS2V5Pi9idWlsZC5cbiAqXG4gKiBXaGVuIGRldmVsb3BpbmcsIHJ1bjpcbiAqICAgICQgbnBtIHN0YXJ0XG4gKiBUaGlzIHdpbGwgbGludCBhbmQgcmUtY29tcGlsZSBzdGF0aWMgYXNzZXRzIChKUy9DU1MpIGFuZCBzdGFydCB0aGUgd2F0Y2hcbiAqIHNjcmlwdCwgd2hpY2ggd2lsbCByZS1saW50IGFuZCByZS1jb21waWxlIHRoaW5ncyBhcyBuZWVkZWQgd2hlbiB5b3UgbWFrZVxuICogY2hhbmdlcyB0byB0aGUgc291cmNlIGNvZGUuXG4gKlxuICogT25jZSB5b3VyIGNoYW5nZXMgYXJlIHJlYWR5IHRvIGJlIGNvbW1pdHRlZCwgcnVuIHRoZSByZWxlYXNlIHNjcmlwdCB0b1xuICogZW5zdXJlIGV2ZXJ5dGhpbmcgaXMgbGludGVkIGFuZCBidWlsdCBwcm9wZXJseSBhcyB3ZWxsIGFzIHRvIGNvbXBpbGUgdGhlXG4gKiBtaW5pZmllZCBwcm9kdWN0aW9uIHZlcnNpb25zOlxuICogICAgJCBucG0gcnVuIGJ1aWxkXG4gKlxuICogVGhlcmUgaXMgbm8gbmVlZCB0byBtYW51YWxseSBidW1wIHZlcnNpb24gbnVtYmVycyBhcyB0aGVzZSBzY3JpcHRzIHdyaXRlIGFcbiAqIGhhc2ggbWFuaWZlc3QgdG8gYXBwcy88YXBwS2V5Pi9ldGMvcmVzb3VyY2VIYXNoLW1hbmlmZXN0Lmpzb24gd2hpY2ggZ2V0c1xuICogcGFyc2VkIGJ5IFdlYkZyYW1ld29yayAvIFdlYkZyYW1ld29yazo6RXh0IHRvIHRyaWdnZXIgYXNzZXQgY2FjaGUgZXhwaXJ5LlxuICovXG4iLCIvKiBDYWxjdWxhdGUgdGhlIHNxdWFyZSByb290IG9mIGdpdmVuIG51bWJlci5cbiAqIEBwYXJhbSAkblxuICogQHJldHVybiAkc3FydFxuICovXG5AZnVuY3Rpb24gc3FydCgkbikge1xuICAgICR4MDogMTtcbiAgICAkeDE6ICR4MDtcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAgICAgICAkeDE6ICR4MCAtICgkeDAgKiAkeDAgLSBhYnMoJG4pKSAvICgyICogJHgwKTtcbiAgICAgICAgJHgwOiAkeDE7XG4gICAgfVxuXG4gICAgQHJldHVybiAkeDE7XG59XG5cbi8qIENhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIG9mIGEgcHggdmFsdWUuXG4gKiBAcGFyYW0gJHZhbHVlXG4gKiBAcGFyYW0gJGJhc2VcbiAqIEByZXR1cm4gcmVtIHZhbHVlXG4gKi9cbkBmdW5jdGlvbiBweFRvUmVtKCR2YWx1ZSwgJGJhc2U6IDE2cHgpIHtcbiAgICAkYmFzZVNpemU6ICRiYXNlIC8gMXB4OyAvLyBzdHJpcCB1bml0XG4gICAgJHZhbHVlU2l6ZTogJHZhbHVlIC8gMXB4OyAvLyBzdHJpcCB1bml0XG5cbiAgICBAcmV0dXJuICgkdmFsdWVTaXplIC8gJGJhc2VTaXplKSAqIDFyZW07XG59XG5cbi8qIENhbGN1bGF0ZSB0aGUgcHggdmFsdWUgb2YgYSByZW0gdmFsdWUuXG4gKiBAcGFyYW0gJHZhbHVlXG4gKiBAcGFyYW0gJGJhc2VcbiAqIEByZXR1cm4gcHggdmFsdWVcbiAqL1xuQGZ1bmN0aW9uIHJlbVRvUHgoJHZhbHVlLCAkYmFzZTogMTZweCkge1xuICAgICRiYXNlU2l6ZTogJGJhc2UgLyAxcHg7IC8vIHN0cmlwIHVuaXRcbiAgICAkdmFsdWVTaXplOiAkdmFsdWUgLyAxcmVtOyAvLyBzdHJpcCB1bml0XG5cbiAgICBAcmV0dXJuICgkdmFsdWVTaXplICogJGJhc2VTaXplKSAqIDFweDtcbn1cblxuLyogQ2FsY3VsYXRlIHRoZSBoeXBvdGVudXNlIG9mIGEgc3F1YXJlIHdpdGggYSBnaXZlbiBoZWlnaHQuXG4gKiBAcGFyYW0gJGhlaWdodFxuICogQHJldHVybiAkaHlwb3RlbnVzZVxuICovXG5AZnVuY3Rpb24gaHlwKCRoZWlnaHQpIHtcbiAgICBAcmV0dXJuIHNxcnQoMikgKiAkaGVpZ2h0O1xufVxuXG4vKiBEYXJrZW4gYSBjb2xvciBieSBhZGp1c3RpbmcgbGlnaHRuZXNzIGFuZCBzYXR1cmF0aW9uLlxuICogQHBhcmFtICRvcmlnaW5hbENvbG9yLCAkYWRqdXN0bWVudFxuICogQHJldHVybiAkZGFya2VyQ29sb3JcbiAqL1xuQGZ1bmN0aW9uIHNtYXJ0LWRhcmtlbigkb3JpZ2luYWxDb2xvciwgJGFkanVzdG1lbnQpIHtcbiAgICBAaWYgKHNhdHVyYXRpb24oJG9yaWdpbmFsQ29sb3IpIDw9IDUwKSB7XG4gICAgICAgIEByZXR1cm4gYWRqdXN0LWNvbG9yKFxuICAgICAgICAgICAgJG9yaWdpbmFsQ29sb3IsXG4gICAgICAgICAgICAkbGlnaHRuZXNzOiAkYWRqdXN0bWVudCAqIC0xLFxuICAgICAgICAgICAgJHNhdHVyYXRpb246ICRhZGp1c3RtZW50ICogMC42XG4gICAgICAgICk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gZGFya2VuKHNhdHVyYXRlKCRvcmlnaW5hbENvbG9yLCAkYWRqdXN0bWVudCAqIDAuNCksICRhZGp1c3RtZW50KTtcbiAgICB9XG59XG5cbi8qIEJ1aWxkcyB0aGUgc3ZnIHRhZy5cbiAqIEBwYXJhbSAkc2hhcGUgLy8gcGF0aFxuICogQHBhcmFtICR2aWV3Ym94IC8vIHZpZXdib3hcbiAqIEByZXR1cm4gJHNoYXBlXG4gKi9cbkBmdW5jdGlvbiBfYnVpbGRzaGFwZSgkc2hhcGUsICR2aWV3Ym94OiAnJykge1xuICAgICRzaGFwZTogJyUzQ3N2ZyUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTIwdmlld0JveD0lMjIjeyR2aWV3Ym94fSUyMiUzRSUyMCN7JHNoYXBlfSUzQyUyRnN2ZyUzRSc7XG5cbiAgICBAcmV0dXJuICRzaGFwZTtcbn1cblxuLyogQnVpbGRzIHRoZSBzdmcgaW1hZ2UgcGF0aC5cbiAqIEBwYXJhbSAkdHlwZSAvLyBcInBhdGhcIiwgXCJwb2x5Z29uXCIsIGV0Y1xuICogQHBhcmFtICRwYXRocyAvLyBhcnJheSBvZiBwYXRoc1xuICogQHBhcmFtICRwYXJhbWV0ZXJzIC8vICdjb2xvcicsIHN0cm9rZS1jb2xvcicsICdzdHJva2Utd2lkdGgnLCAnY3NzJ1xuICogQHJldHVybiAkc2hhcGVcbiAqL1xuQGZ1bmN0aW9uIF9idWlsZHBhdGgoJHR5cGUsICRwYXRocywgJHBhcmFtZXRlcnMpIHtcbiAgICAkdW5pdDogaWYoJHR5cGUgPT0gJ3BhdGgnLCAnZCcsICdwb2ludHMnKTtcbiAgICAkc2hhcGU6ICcnO1xuICAgICRiYWNrQ29sb3I6ICRncmF5MTI7XG5cbiAgICBAZm9yICRpIGZyb20gMSB0byBsZW5ndGgoJHBhdGhzKSArIDEge1xuICAgICAgICAkY29sb3I6IGlmKCRpID09IDEsIG1hcC1nZXQoJHBhcmFtZXRlcnMsIGNvbG9yKSwgJGJhY2tDb2xvcik7XG4gICAgICAgICRzdHJva2VXaWR0aDogaWYoJGkgPT0gMSwgbWFwLWdldCgkcGFyYW1ldGVycywgc3Ryb2tlLXdpZHRoKSwgNCk7XG4gICAgICAgICRzdHJva2VDb2xvcjogaWYoJGkgPT0gMSwgbWFwLWdldCgkcGFyYW1ldGVycywgc3Ryb2tlLWNvbG9yKSwgJGJhY2tDb2xvcik7XG4gICAgICAgICRzaGFwZTogJHNoYXBlICtcbiAgICAgICAgICAgICclM0MjeyR0eXBlfSUyMGZpbGwlM0QlMjIjeyRjb2xvcil9JTIyJTIwc3Ryb2tlJTNEJTIyI3skc3Ryb2tlQ29sb3J9JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyI3skc3Ryb2tlV2lkdGgpfSUyMiUyMHN0eWxlJTNEJTIyI3ttYXAtZ2V0KCRwYXJhbWV0ZXJzLCBjc3MpfSUyMiUyMCN7JHVuaXR9JTNEJTIyI3tudGgoJHBhdGhzLCAkaSl9JTIyJTIwJTJGJTNFJztcbiAgICB9XG5cbiAgICBAcmV0dXJuIHN0ci1yZXBsYWNlKCRzaGFwZSwgJyMnLCAnJTIzJyk7XG59XG5cbi8qIEFkZCBhbiBTVkcgaW1hZ2UuXG4gKiBAcGFyYW1cbiAgICAgJHNoYXBlLW5hbWUgW1wiaGVhcnRcIiwgXCJzdGFyXCIsIFwiYXJyb3dcIl0sXG4gICAgICRjb2xvcixcbiAgICAgJHN0cm9rZS1jb2xvcjogdHJhbnNwYXJlbnQsIC8vIChvcHRpb25hbClcbiAgICAgJHN0cm9rZS13aWR0aDogMCwgLy8gKG9wdGlvbmFsKVxuICAgICAkY3NzOiAnJyAvLyBhcmJpdHJhcnkgY3NzIChvcHRpb25hbClcbiAqIEByZXR1cm4gc3ZnIGltYWdlXG4gKiBFeGFtcGxlIC0+IGJhY2tncm91bmQtaW1hZ2U6IHNoYXBlKHN0YXIsIGJsdWUpO1xuICovXG5AZnVuY3Rpb24gc2hhcGUoJHNoYXBlLW5hbWUsICRjb2xvciwgJHN0cm9rZS1jb2xvcjogdHJhbnNwYXJlbnQsICRzdHJva2Utd2lkdGg6IDAsICRjc3M6ICcnKSB7XG4gICAgJHBhcmFtZXRlcnM6IChcbiAgICAgICAgJ2NvbG9yJzogJGNvbG9yLFxuICAgICAgICAnc3Ryb2tlLWNvbG9yJzogJHN0cm9rZS1jb2xvcixcbiAgICAgICAgJ3N0cm9rZS13aWR0aCc6ICRzdHJva2Utd2lkdGgsXG4gICAgICAgICdjc3MnOiAkY3NzLFxuICAgICk7XG5cbiAgICAkc2hhcGVzOiAoXG4gICAgICAgIGhlYXJ0OiAoXG4gICAgICAgICAgICBwYXRoOlxuICAgICAgICAgICAgICAgIF9idWlsZHBhdGgoXG4gICAgICAgICAgICAgICAgICAgICdwYXRoJyxcbiAgICAgICAgICAgICAgICAgICAgKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ00xMiAyMS4zNWwtMS40NS0xLjMyYy01LjE1LTQuNjctOC41NS03Ljc1LTguNTUtMTEuNTMgMC0zLjA4IDIuNDItNS41IDUuNS01LjUgMS43NCAwIDMuNDEuODEgNC41IDIuMDkgMS4wOS0xLjI4IDIuNzYtMi4wOSA0LjUtMi4wOSAzLjA4IDAgNS41IDIuNDIgNS41IDUuNSAwIDMuNzgtMy40IDYuODYtOC41NSAxMS41NGwtMS40NSAxLjMxeidcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgJHBhcmFtZXRlcnNcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgdmlld2JveDogJycsXG4gICAgICAgICksXG4gICAgICAgIHN0YXI6IChcbiAgICAgICAgICAgIHBhdGg6XG4gICAgICAgICAgICAgICAgX2J1aWxkcGF0aChcbiAgICAgICAgICAgICAgICAgICAgJ3BhdGgnLFxuICAgICAgICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgICAgICAgICAgICAnTTEyIDE3LjI3TDE4LjE4IDIxbC0xLjY0LTcuMDNMMjIgOS4yNGwtNy4xOS0uNjFMMTIgMiA5LjE5IDguNjMgMiA5LjI0bDUuNDYgNC43M0w1LjgyIDIxeidcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgJHBhcmFtZXRlcnNcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgdmlld2JveDogJycsXG4gICAgICAgICksXG4gICAgICAgIGFycm93OiAoXG4gICAgICAgICAgICBwYXRoOlxuICAgICAgICAgICAgICAgIF9idWlsZHBhdGgoXG4gICAgICAgICAgICAgICAgICAgICdwb2x5Z29uJyxcbiAgICAgICAgICAgICAgICAgICAgKCc2NDAsMCAzMjAsMjAgLTQsMCcsICc2NDAsMCA2NDAsMTUgMzIwLDM1IC00LDE1IC00LDAgMzIwLDIwJyksXG4gICAgICAgICAgICAgICAgICAgICRwYXJhbWV0ZXJzXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHZpZXdib3g6ICcwIDAgNjQwIDM1JyxcbiAgICAgICAgKSxcbiAgICApO1xuXG4gICAgJHNoYXBlLW1hcDogbWFwLWdldCgkc2hhcGVzLCAkc2hhcGUtbmFtZSk7XG4gICAgJHNoYXBlOiBfYnVpbGRzaGFwZShtYXAtZ2V0KCRzaGFwZS1tYXAsICdwYXRoJyksIG1hcC1nZXQoJHNoYXBlLW1hcCwgJ3ZpZXdib3gnKSk7XG5cbiAgICBAcmV0dXJuIHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCN7JHNoYXBlfScpO1xufVxuXG4vKiBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4gICogQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuICAqIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2VcbiAgKiBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuICAqIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuKi9cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICAgIEBpZiAkaW5kZXgge1xuICAgICAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICtcbiAgICAgICAgICAgIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHN0cmluZztcbn1cbiIsIi8qIEFwcGx5IGEgbmF0dXJhbCBib3ggbGF5b3V0IG1vZGVsIHRvIGFsbCBlbGVtZW50cywgYnV0IGFsbG93IGNvbXBvbmVudHMgdG8gY2hhbmdlICovXG5odG1sLFxuYm9keSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKiBSZXNldCBiYXNlIG1hcmdpbnMvcGFkZGluZyAqL1xuYm9keSxcbmJsb2NrcXVvdGUsXG5kZCxcbmRpdixcbmRsLFxuZHQsXG5mb3JtLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxubGksXG5vbCxcbnAsXG5wcmUsXG50ZCxcbnRoLFxudWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5odG1sIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MTI7XG59XG5cbmJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi8qIEdsb2JhbCBwcmludCBzdHlsZXMgKi9cbkBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcblxuICAgICAgICAvKiBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zICovXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJztcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJztcbiAgICB9XG5cbiAgICAuaXIgYTo6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTo6YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXkxO1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgICAvKiBoNWJwLmNvbS90ICovXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICB9XG5cbiAgICB0cixcbiAgICBpbWcge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICBoMixcbiAgICBoMyB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbn1cbiIsIi8vIEJyYW5kIENvbG9yc1xuJGJyYW5kQmx1ZTogIzI0NmJhMSAhZGVmYXVsdDtcbiRicmFuZEdyZWVuOiAjN2VjMDNkICFkZWZhdWx0O1xuXG4vLyBBZGRpdGlvbmFsIENvbG9yc1xuJGFsZXJ0WWVsbG93OiAjZjllZGJlICFkZWZhdWx0O1xuJHdhcm5pbmdPcmFuZ2U6ICNkNjY5NDQgIWRlZmF1bHQ7XG4kZXJyb3JSZWQ6ICNhYzM5MzEgIWRlZmF1bHQ7XG4kZGFya1VJR3JheTE6ICMxOTE5MTkgIWRlZmF1bHQ7XG4kZGFya1VJR3JheTI6ICMyZDJkMmQgIWRlZmF1bHQ7XG4kYm9yZGVyR3JheTogI2U0ZTRlNCAhZGVmYXVsdDtcblxuLy8gQmFzZSBDb2xvcnNcbiRibGFjazogIzAwMCAhZGVmYXVsdDtcbiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcbiRncmF5MTogIzExMSAhZGVmYXVsdDtcbiRncmF5MjogIzIyMiAhZGVmYXVsdDtcbiRncmF5MzogIzMzMyAhZGVmYXVsdDtcbiRncmF5NDogIzQ4NDg0OCAhZGVmYXVsdDtcbiRncmF5NTogIzU1NSAhZGVmYXVsdDtcbiRncmF5NjogIzc2NzY3NiAhZGVmYXVsdDtcbiRncmF5NzogIzc3NyAhZGVmYXVsdDtcbiRncmF5ODogIzg4OCAhZGVmYXVsdDtcbiRncmF5OTogIzkyOTI5MiAhZGVmYXVsdDtcbiRncmF5MTA6ICNhYWEgIWRlZmF1bHQ7XG4kZ3JheTExOiAjYmJiICFkZWZhdWx0O1xuJGdyYXkxMjogI2YwZjBmMCAhZGVmYXVsdDtcblxuLy8gTGF5b3V0XG4kb3ZlcmxheU1lbnVXaWR0aDogMTYuMjU7XG4iLCIvLyBBcHAtc3BlY2lmaWMgc2V0dGluZ3MgYW5kIG92ZXJyaWRlc1xuJGJyYW5kR3JlZW46ICMwMGM5MDA7XG4kYnJhbmRCbHVlOiAjMjQ2YmExO1xuJGFsdEJsdWU6IGRlc2F0dXJhdGUobGlnaHRlbigkYnJhbmRCbHVlLCAxNSUpLCA0NSUpO1xuXG4vLyBUT0RPOiBjbGVhbiB1cFxuJGJsdWUxOiAjMjQ2YmExO1xuJGJsdWUyOiAjNjdhM2QyO1xuJGJsdWUzOiAjZDVlYWZiO1xuJGdyZWVuMTogIzQxYTczMztcbiRncmVlbjI6ICM3ZWMwM2Q7XG4kZ3JlZW4zOiAjZGNmYWM1O1xuJHJlZDE6ICNmZjAwMDA7XG4kcmVkMjogI2IxMTAxNjtcbiRncmF5MTogIzYxNjQ3MDtcblxuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJGhvdmVyV2hpdGU6IGRhcmtlbigkd2hpdGUsIDM4LjA0JSk7XG4kZ3JheTE6ICMxMjEyMTI7XG4kZ3JheTI6ICMyNDI0MjQ7XG4kZ3JheTM6ICMzYzNjM2M7XG4kZ3JheTQ6ICM5ZTllOWU7XG4kZ3JheTU6ICM1MjUyNTI7XG4kZ3JheTY6ICM3MjcyNzI7XG4kZ3JheTc6ICNkZWRlZGU7XG4kZ3JheUJvcmRlcjogMXB4IHNvbGlkICRncmF5NDtcbiRncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMmIxNTU1IDAlLCAjMDMzYTQyIDEwMCUpO1xuJGdyYWRpZW50Qm9yZGVyOiAxcHggc29saWQgIzhjODBhNDtcbiRncmFkaWVudEJvcmRlclJhZGl1czogMTJweDtcbiR5ZWxsb3cxOiAjZjBmMDIyO1xuJHllbGxvdzI6ICNkOWQ5MWQ7XG4kZ3JlZW4xOiAjMDBjOTAwO1xuJGdyZWVuMjogIzAwYTYwMDtcbiRwdXJwbGUxOiAjMjIyMTQ2O1xuJGJ1dHRvblRleHQ6ICMyNDI0MjQ7XG4kYnV0dG9uUmFkaXVzOiAzMnB4O1xuIiwiLyogV3JhcHBlciBjbGFzcyBmb3IgY29udGVudCBhcmVhIG9uIGEgdGV4dC1iYXNlZCBwYWdlICovXG4udGV4dENvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDdyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMWVtO1xufVxuXG4vKiBTaW5nbGUgY2FyZCBwYWdlICovXG4uY29udGVudENhcmQge1xuICAgIHdpZHRoOiAyNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDVlbSBhdXRvO1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckdyYXk7XG5cbiAgICA+IGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbi5wYWdlQ29udGVudCB7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVyZW0pIHtcbiAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgIH1cbn1cbiIsImh0bWwge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJywgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogJGdyYXk0O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiByZW1Ub1B4KDM1cmVtKSkge1xuICAgIGh0bWwge1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogcmVtVG9QeCg3NXJlbSkpIHtcbiAgICBodG1sIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYge1xuICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBtYXJnaW46IDAuOGVtIDAgMC41ZW07XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgY29sb3I6ICRicmFuZEdyZWVuO1xufVxuXG4vKiBNYWpvciBUaGlyZCBSYXRpbzogaHR0cHM6Ly90eXBlLXNjYWxlLmNvbS8gKi9cbmgxLFxuLmgxIHtcbiAgICBmb250LXNpemU6IDIuNDQxZW07XG59XG5oMixcbi5oMiB7XG4gICAgZm9udC1zaXplOiAxLjk1M2VtO1xufVxuaDMsXG4uaDMge1xuICAgIGZvbnQtc2l6ZTogMS41NjNlbTtcbn1cbmg0LFxuLmg0IHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbn1cbmg1LFxuLmg1IHtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cbmg2LFxuLmg2IHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xufVxuXG5pbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgICBib3JkZXI6IDA7XG59XG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkYnJhbmRCbHVlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbnAge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLyogdWwgJiBvbCAqL1xuLnRleHRMaXN0IHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgfVxufVxuXG4vKiBVc2luZyBcImlcIiBlbGVtZW50IGZvciBGb250QXdlc29tZSBpY29ucy4gKi9cbmkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yOyAvLyBVc2UgdGhlIGNvbG9yIGZyb20gdGhlIHBhcmVudCBcImlcIiBlbGVtZW50LlxuICAgIH1cbn1cblxuLyogVGV4dCBMZWFkZXIvSGVhZGluZyAqL1xuLmxlYWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUZXh0IGVsbGlwc2lzIHRydW5jYXRpb25cbiAqXG4gKiBVc2FnZSBFeGFtcGxlOlxuICogIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj5cbiAqICAgIDxzcGFuPkxvbmcgdGV4dCB3aGljaCBuZWVkcyB0byBiZSB0cnVuY2F0ZWQ8L3NwYW4+XG4gKiAgPC9zcGFuPlxuICovXG4uZWxsaXBzaXMge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmID4gc3BhbiB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbn1cbiIsIi8qIEhUTUwgdGVtcGxhdGVzIGZvciBKUyBsaXN0IHBhaW50aW5nLiAqL1xuLmpzLXRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIExhc3QgaXRlbSBpbiBhIGNvbnRhaW5lciB2aXN1YWxseSwgYnV0IG5vdCBpbiB0aGUgbWFya3VwICovXG4udS12aXN1YWxseUxhc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFVzZWQgYnkgV2ViRnJhbWV3b3JrIGR1cmluZyBmaWVsZCB2YWxpZGF0aW9ucyAvIEFKQVggYWxlcnRzICovXG4uYWxlcnRTaXplQ2FsYyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRGlzYWJsZSBzY3JvbGxpbmcgKHN1Y2ggYXMgd2hlbiBhIG1vZGFsIGlzIG9wZW4pLiAqL1xuLmpzLWxvY2tlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogXCJubyByZXN1bHRzXCIgcGxhY2Vob2xkZXIgKi9cbi5qcy1ub1Jlc3VsdHMge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIExvYWRpbmcgcGxhY2Vob2xkZXJzICovXG4uanMtbG9hZGluZ1BsYWNlaG9sZGVyIHtcbiAgICBmaWx0ZXI6IGJsdXIoMC4yNWVtKTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKioqKioqKionO1xuICAgIH1cbn1cblxuLmpzLWxvYWRpbmdDb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5qcy1sb2FkZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi8qIEZlYXR1cmUgRmxhZ3MgKi9cbmEuZGV2ZWxvcG1lbnQge1xuICAgIGJvcmRlci1sZWZ0OiAwLjI1ZW0gc29saWQgJHdhcm5pbmdPcmFuZ2U7XG59XG5cbmEuZXh0ZXJuYWwge1xuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA4ZSc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxufVxuXG4uZGV2ZWxvcG1lbnRGZWF0dXJlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnRZZWxsb3c7XG59XG5cbi5lbnZpcm9ubWVudFdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydFllbGxvdztcbiAgICBwYWRkaW5nOiAwLjI1ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiJGJyZWFkY3J1bWJCcmVha3BvaW50OiA0MHJlbTtcblxuLmpzLWNydW1icyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogNTAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFkY3J1bWJCcmVha3BvaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICB9XG59XG5cbi5qcy1jcnVtYnMgbGkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgYmFja2dyb3VuZDogJGJvcmRlckdyYXk7XG4gICAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDAuNWVtIDAgM2VtO1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI1ZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1ZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0xZW07XG4gICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjVlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyAvLyBVc2UgdGhlIGNvbG9yIGZyb20gdGhlIHBhcmVudCBcImxpXCIgZWxlbWVudC5cbiAgICAgICAgYm94LXNoYWRvdzogMC4yNWVtIC0wLjI1ZW0gMCAwLjEyNWVtICRncmF5MTI7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWRjcnVtYkJyZWFrcG9pbnQpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS40ZW0gMCAwLjRlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgICAgICBib3R0b206IC0xZW07IC8vIE9mZnNldCBwcm92aWRlZCBieSBleHRyYSB0b3AgcGFkZGluZyBmb3IgdmVydGljYWwgbGlzdCBpdGVtcy5cbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHNoYXBlKGFycm93LCAkYm9yZGVyR3JheSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjRlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5qcy1hY3RpdmUge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHNoYXBlKGFycm93LCAkYnJhbmRCbHVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBzaGFwZShhcnJvdywgJGJyYW5kR3JlZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlcixcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEJsdWU7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRicmFuZEJsdWU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRHcmVlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuanMtcGVuZGluZyB7XG4gICAgICAgIGNvbG9yOiAkZ3JheTEwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyR3JheTtcbiAgICB9XG5cbiAgICAmLmpzLWRvbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJvcmRlckdyYXksIDUlKTtcbiAgICB9XG59XG5cbi8vIERvbid0IGFuaW1hdGUgb24gcGFnZSBsb2FkIHNpbmNlIHRoYXQgY2F1c2VzIHdlaXJkIGFuaW1hdGlvbnMgZHVyaW5nIGluaXRpYWwgcmVuZGVyaW5nLlxuYm9keS5wYWdlTG9hZGVkIC5qcy1jcnVtYnMgbGk6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41czsgLy8gQW5pbWF0ZSBzdGF0ZSBjaGFuZ2VzLlxufVxuIiwiLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMGVtO1xuICAgIG1hcmdpbjogMCAwLjVyZW07XG4gICAgcGFkZGluZzogMWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kR3JlZW47XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0wLjI1cmVtO1xuICAgIHRyYW5zaXRpb246IDIwMG1zIGFsbDsgLy8gQW5pbWF0ZSBzdGF0ZSBjaGFuZ2VzLlxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcbiAgICB9XG59XG4iLCIuZXJyb3JEZWJ1Z0luZm8ge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLnRyYW5zYWN0aW9uSWQge1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIH1cbn1cbiIsIi8qIExpbmsgdG8ganVtcCB0byBjb250ZW50ICovXG4uanVtcExpbmsge1xuICAgIHBhZGRpbmc6IDAuNzVlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OTlweDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kQmx1ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG4iLCIuanMtc2VhcmNoV2lkZ2V0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMC4yNWVtO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwLjc1ZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgICAgY29sb3I6ICRib3JkZXJHcmF5O1xuICAgIH1cblxuICAgIC5qcy1zZWFyY2gge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgZGVmYXVsdCB0b3AgbWFyZ2luIHNvIHdlIGNhbiBwdXQgaXQgb24gdGhlIHdyYXBwZXIgaW5zdGVhZFxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAzLjVlbTtcbiAgICAgICAgcGFkZGluZzogMWVtIDFlbSAxZW0gMmVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyR3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgIC5qcy1jbGVhckJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkZ3JheTg7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qIFRvb2x0aXBzICovXG5bZGF0YS10b29sdGlwXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbltkYXRhLXRvb2x0aXBdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LFxuICAgICAgICB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC43MSwgMS43LCAwLjc3LCAxLjI0KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dCxcbiAgICAgICAgdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNzEsIDEuNywgMC43NywgMS4yNCksXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNzEsIDEuNywgMC43NywgMS4yNCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbltkYXRhLXRvb2x0aXBdOmhvdmVyOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTpob3Zlcjo6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXTpmb2N1czo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06Zm9jdXM6OmFmdGVyIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8qIEJhc2Ugc3R5bGVzIGZvciB0aGUgdG9vbHRpcCdzIGRpcmVjdGlvbmFsIGFycm93ICovXG5cbltkYXRhLXRvb2x0aXBdOjpiZWZvcmUge1xuICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuXG4vKiBCYXNlIHN0eWxlcyBmb3IgdGhlIHRvb2x0aXAncyBjb250ZW50IGFyZWEgKi9cblxuW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDAsIDAlLCAyMCUsIDAuOSk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbltkYXRhLXRvb2x0aXBdLnRpcENlbnRlcmVkOjphZnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5bZGF0YS10b29sdGlwXTo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xufVxuXG5bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogLTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTJweDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBoc2xhKDAsIDAlLCAyMCUsIDAuOSk7XG59XG5cbltkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMDBweDtcbn1cblxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdOmZvY3VzOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTpmb2N1czo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7XG59XG4iLCIvKiBDYWxjdWxhdGUgdGhlIHNxdWFyZSByb290IG9mIGdpdmVuIG51bWJlci5cbiAqIEBwYXJhbSAkblxuICogQHJldHVybiAkc3FydFxuICovXG4vKiBDYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBvZiBhIHB4IHZhbHVlLlxuICogQHBhcmFtICR2YWx1ZVxuICogQHBhcmFtICRiYXNlXG4gKiBAcmV0dXJuIHJlbSB2YWx1ZVxuICovXG4vKiBDYWxjdWxhdGUgdGhlIHB4IHZhbHVlIG9mIGEgcmVtIHZhbHVlLlxuICogQHBhcmFtICR2YWx1ZVxuICogQHBhcmFtICRiYXNlXG4gKiBAcmV0dXJuIHB4IHZhbHVlXG4gKi9cbi8qIENhbGN1bGF0ZSB0aGUgaHlwb3RlbnVzZSBvZiBhIHNxdWFyZSB3aXRoIGEgZ2l2ZW4gaGVpZ2h0LlxuICogQHBhcmFtICRoZWlnaHRcbiAqIEByZXR1cm4gJGh5cG90ZW51c2VcbiAqL1xuLyogRGFya2VuIGEgY29sb3IgYnkgYWRqdXN0aW5nIGxpZ2h0bmVzcyBhbmQgc2F0dXJhdGlvbi5cbiAqIEBwYXJhbSAkb3JpZ2luYWxDb2xvciwgJGFkanVzdG1lbnRcbiAqIEByZXR1cm4gJGRhcmtlckNvbG9yXG4gKi9cbi8qIEJ1aWxkcyB0aGUgc3ZnIHRhZy5cbiAqIEBwYXJhbSAkc2hhcGUgLy8gcGF0aFxuICogQHBhcmFtICR2aWV3Ym94IC8vIHZpZXdib3hcbiAqIEByZXR1cm4gJHNoYXBlXG4gKi9cbi8qIEJ1aWxkcyB0aGUgc3ZnIGltYWdlIHBhdGguXG4gKiBAcGFyYW0gJHR5cGUgLy8gXCJwYXRoXCIsIFwicG9seWdvblwiLCBldGNcbiAqIEBwYXJhbSAkcGF0aHMgLy8gYXJyYXkgb2YgcGF0aHNcbiAqIEBwYXJhbSAkcGFyYW1ldGVycyAvLyAnY29sb3InLCBzdHJva2UtY29sb3InLCAnc3Ryb2tlLXdpZHRoJywgJ2NzcydcbiAqIEByZXR1cm4gJHNoYXBlXG4gKi9cbi8qIEFkZCBhbiBTVkcgaW1hZ2UuXG4gKiBAcGFyYW1cbiAgICAgJHNoYXBlLW5hbWUgW1wiaGVhcnRcIiwgXCJzdGFyXCIsIFwiYXJyb3dcIl0sXG4gICAgICRjb2xvcixcbiAgICAgJHN0cm9rZS1jb2xvcjogdHJhbnNwYXJlbnQsIC8vIChvcHRpb25hbClcbiAgICAgJHN0cm9rZS13aWR0aDogMCwgLy8gKG9wdGlvbmFsKVxuICAgICAkY3NzOiAnJyAvLyBhcmJpdHJhcnkgY3NzIChvcHRpb25hbClcbiAqIEByZXR1cm4gc3ZnIGltYWdlXG4gKiBFeGFtcGxlIC0+IGJhY2tncm91bmQtaW1hZ2U6IHNoYXBlKHN0YXIsIGJsdWUpO1xuICovXG4vKiBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4gICogQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuICAqIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2VcbiAgKiBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuICAqIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuKi9cbi8qIEFwcGx5IGEgbmF0dXJhbCBib3ggbGF5b3V0IG1vZGVsIHRvIGFsbCBlbGVtZW50cywgYnV0IGFsbG93IGNvbXBvbmVudHMgdG8gY2hhbmdlICovXG5odG1sLFxuYm9keSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG4vKiBSZXNldCBiYXNlIG1hcmdpbnMvcGFkZGluZyAqL1xuYm9keSxcbmJsb2NrcXVvdGUsXG5kZCxcbmRpdixcbmRsLFxuZHQsXG5mb3JtLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxubGksXG5vbCxcbnAsXG5wcmUsXG50ZCxcbnRoLFxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7IH1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4vKiBHbG9iYWwgcHJpbnQgc3R5bGVzICovXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIC5pciBhOjphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTo6YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzEyMTIxMjtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIC8qIGg1YnAuY29tL3QgKi9cbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi8qIFdyYXBwZXIgY2xhc3MgZm9yIGNvbnRlbnQgYXJlYSBvbiBhIHRleHQtYmFzZWQgcGFnZSAqL1xuLnRleHRDb250ZW50IHtcbiAgbWF4LXdpZHRoOiA0N3JlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDFlbTsgfVxuXG4vKiBTaW5nbGUgY2FyZCBwYWdlICovXG4uY29udGVudENhcmQge1xuICB3aWR0aDogMjVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDVlbSBhdXRvO1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNGU0ZTQ7IH1cbiAgLmNvbnRlbnRDYXJkID4gaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLnBhZ2VDb250ZW50IHtcbiAgcGFkZGluZzogMnJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1cmVtKSB7XG4gICAgLnBhZ2VDb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDNyZW0gMDsgfSB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDAuOGVtO1xuICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzllOWU5ZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NjBweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDAuOWVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuLmgxLFxuLmgyLFxuLmgzLFxuLmg0LFxuLmg1LFxuLmg2IHtcbiAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMC44ZW0gMCAwLjVlbTsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBjb2xvcjogIzAwYzkwMDsgfVxuXG4vKiBNYWpvciBUaGlyZCBSYXRpbzogaHR0cHM6Ly90eXBlLXNjYWxlLmNvbS8gKi9cbmgxLFxuLmgxIHtcbiAgZm9udC1zaXplOiAyLjQ0MWVtOyB9XG5cbmgyLFxuLmgyIHtcbiAgZm9udC1zaXplOiAxLjk1M2VtOyB9XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiAxLjU2M2VtOyB9XG5cbmg0LFxuLmg0IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07IH1cblxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5oNixcbi5oNiB7XG4gIGZvbnQtc2l6ZTogMC44ZW07IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgYm9yZGVyOiAwOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbmEge1xuICBjb2xvcjogIzI0NmJhMTsgfVxuICBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLyogdWwgJiBvbCAqL1xuLnRleHRMaXN0IHtcbiAgbWFyZ2luOiAwLjVlbSAwOyB9XG4gIC50ZXh0TGlzdCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJlbTsgfVxuXG4vKiBVc2luZyBcImlcIiBlbGVtZW50IGZvciBGb250QXdlc29tZSBpY29ucy4gKi9cbmkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cblxuLyogVGV4dCBMZWFkZXIvSGVhZGluZyAqL1xuLmxlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUZXh0IGVsbGlwc2lzIHRydW5jYXRpb25cbiAqXG4gKiBVc2FnZSBFeGFtcGxlOlxuICogIDxzcGFuIGNsYXNzPVwiZWxsaXBzaXNcIj5cbiAqICAgIDxzcGFuPkxvbmcgdGV4dCB3aGljaCBuZWVkcyB0byBiZSB0cnVuY2F0ZWQ8L3NwYW4+XG4gKiAgPC9zcGFuPlxuICovXG4uZWxsaXBzaXMge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmVsbGlwc2lzID4gc3BhbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgfVxuXG4vKiBIVE1MIHRlbXBsYXRlcyBmb3IgSlMgbGlzdCBwYWludGluZy4gKi9cbi5qcy10ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBMYXN0IGl0ZW0gaW4gYSBjb250YWluZXIgdmlzdWFsbHksIGJ1dCBub3QgaW4gdGhlIG1hcmt1cCAqL1xuLnUtdmlzdWFsbHlMYXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBVc2VkIGJ5IFdlYkZyYW1ld29yayBkdXJpbmcgZmllbGQgdmFsaWRhdGlvbnMgLyBBSkFYIGFsZXJ0cyAqL1xuLmFsZXJ0U2l6ZUNhbGMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIERpc2FibGUgc2Nyb2xsaW5nIChzdWNoIGFzIHdoZW4gYSBtb2RhbCBpcyBvcGVuKS4gKi9cbi5qcy1sb2NrZWQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIFwibm8gcmVzdWx0c1wiIHBsYWNlaG9sZGVyICovXG4uanMtbm9SZXN1bHRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBMb2FkaW5nIHBsYWNlaG9sZGVycyAqL1xuLmpzLWxvYWRpbmdQbGFjZWhvbGRlciB7XG4gIGZpbHRlcjogYmx1cigwLjI1ZW0pO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5qcy1sb2FkaW5nUGxhY2Vob2xkZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyoqKioqKioqJzsgfVxuXG4uanMtbG9hZGluZ0NvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5qcy1sb2FkaW5nQ29udGVudC5qcy1sb2FkZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIEZlYXR1cmUgRmxhZ3MgKi9cbmEuZGV2ZWxvcG1lbnQge1xuICBib3JkZXItbGVmdDogMC4yNWVtIHNvbGlkICNkNjY5NDQ7IH1cblxuYS5leHRlcm5hbDo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxmMDhlJztcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgZm9udC1zaXplOiAwLjhlbTsgfVxuXG4uZGV2ZWxvcG1lbnRGZWF0dXJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWRiZTsgfVxuXG4uZW52aXJvbm1lbnRXYXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWRiZTtcbiAgcGFkZGluZzogMC4yNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmpzLWNydW1icyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDUwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwcmVtKSB7XG4gICAgLmpzLWNydW1icyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuXG4uanMtY3J1bWJzIGxpIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBsaW5lLWhlaWdodDogMi41ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwIDAuNWVtIDAgM2VtOyB9XG4gIC5qcy1jcnVtYnMgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07IH1cbiAgLmpzLWNydW1icyBsaTpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC4yNWVtO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI1ZW07IH1cbiAgLmpzLWNydW1icyBsaSBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5qcy1jcnVtYnMgbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMWVtO1xuICAgIHdpZHRoOiAyLjVlbTtcbiAgICBoZWlnaHQ6IDIuNWVtO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgYm94LXNoYWRvdzogMC4yNWVtIC0wLjI1ZW0gMCAwLjEyNWVtICNmMGYwZjA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MHJlbSkge1xuICAgIC5qcy1jcnVtYnMgbGkge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxLjRlbSAwIDAuNGVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG4gICAgICAuanMtY3J1bWJzIGxpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgIGJvdHRvbTogLTFlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMS41ZW07XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94PSUyMjAgMCA2NDAgMzUlMjIlM0UlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2U0ZTRlNCUyMiUyMHN0cm9rZSUzRCUyMnRyYW5zcGFyZW50JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMCUyMiUyMHN0eWxlJTNEJTIyJTIyJTIwcG9pbnRzJTNEJTIyNjQwLDAgMzIwLDIwIC00LDAlMjIlMjAlMkYlM0UlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2YwZjBmMCUyMiUyMHN0cm9rZSUzRCUyMiUyM2YwZjBmMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjQlMjIlMjBzdHlsZSUzRCUyMiUyMiUyMHBvaW50cyUzRCUyMjY0MCwwIDY0MCwxNSAzMjAsMzUgLTQsMTUgLTQsMCAzMjAsMjAlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLmpzLWNydW1icyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBhZGRpbmc6IDAuNGVtIDA7IH1cbiAgICAgIC5qcy1jcnVtYnMgbGkuanMtYWN0aXZlOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmclMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUyMHZpZXdCb3g9JTIyMCAwIDY0MCAzNSUyMiUzRSUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzMjQ2YmExJTIyJTIwc3Ryb2tlJTNEJTIydHJhbnNwYXJlbnQlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIwJTIyJTIwc3R5bGUlM0QlMjIlMjIlMjBwb2ludHMlM0QlMjI2NDAsMCAzMjAsMjAgLTQsMCUyMiUyMCUyRiUzRSUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzZjBmMGYwJTIyJTIwc3Ryb2tlJTNEJTIyJTIzZjBmMGYwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyNCUyMiUyMHN0eWxlJTNEJTIyJTIyJTIwcG9pbnRzJTNEJTIyNjQwLDAgNjQwLDE1IDMyMCwzNSAtNCwxNSAtNCwwIDMyMCwyMCUyMiUyMCUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuICAgICAgLmpzLWNydW1icyBsaS5qcy1hY3RpdmU6bGFzdC1jaGlsZCAuanMtY3J1bWJzIGxpLmpzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB2aWV3Qm94PSUyMjAgMCA2NDAgMzUlMjIlM0UlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzAwYzkwMCUyMiUyMHN0cm9rZSUzRCUyMnRyYW5zcGFyZW50JTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMCUyMiUyMHN0eWxlJTNEJTIyJTIyJTIwcG9pbnRzJTNEJTIyNjQwLDAgMzIwLDIwIC00LDAlMjIlMjAlMkYlM0UlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2YwZjBmMCUyMiUyMHN0cm9rZSUzRCUyMiUyM2YwZjBmMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjQlMjIlMjBzdHlsZSUzRCUyMiUyMiUyMHBvaW50cyUzRCUyMjY0MCwwIDY0MCwxNSAzMjAsMzUgLTQsMTUgLTQsMCAzMjAsMjAlMjIlMjAlMkYlM0UlM0MlMkZzdmclM0VcIik7IH1cbiAgICAgIC5qcy1jcnVtYnMgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIHotaW5kZXg6IDA7IH0gfVxuICAuanMtY3J1bWJzIGxpOmxhc3QtY2hpbGQ6OmFmdGVyLCAuanMtY3J1bWJzIGxpOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAuanMtY3J1bWJzIGxpLmpzLWFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmJhMTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjQ2YmExOyB9XG4gICAgLmpzLWNydW1icyBsaS5qcy1hY3RpdmU6bGFzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGM5MDA7IH1cbiAgLmpzLWNydW1icyBsaS5qcy1wZW5kaW5nIHtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gIC5qcy1jcnVtYnMgbGkuanMtZG9uZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZDdkNzsgfVxuXG5ib2R5LnBhZ2VMb2FkZWQgLmpzLWNydW1icyBsaTo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMTBlbTtcbiAgbWFyZ2luOiAwIDAuNXJlbTtcbiAgcGFkZGluZzogMWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYzkwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0wLjI1cmVtO1xuICB0cmFuc2l0aW9uOiAyMDBtcyBhbGw7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjphY3RpdmUsIC5idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmUtY29sb3I6IHdoaXRlOyB9XG5cbi5lcnJvckRlYnVnSW5mbyB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmVycm9yRGVidWdJbmZvIC50cmFuc2FjdGlvbklkIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cbi8qIExpbmsgdG8ganVtcCB0byBjb250ZW50ICovXG4uanVtcExpbmsge1xuICBwYWRkaW5nOiAwLjc1ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OTlweDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmp1bXBMaW5rOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICMyNDZiYTE7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLmpzLXNlYXJjaFdpZGdldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTsgfVxuICAuanMtc2VhcmNoV2lkZ2V0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwLjc1ZW07XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6ICdcXGYwMDInO1xuICAgIGNvbG9yOiAjZTRlNGU0OyB9XG4gIC5qcy1zZWFyY2hXaWRnZXQgLmpzLXNlYXJjaCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMuNWVtO1xuICAgIHBhZGRpbmc6IDFlbSAxZW0gMWVtIDJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNGU0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5qcy1zZWFyY2hXaWRnZXQgLmpzLWNsZWFyQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiAjODg4O1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuanMtc2VhcmNoV2lkZ2V0IC5qcy1jbGVhckJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi8qIFRvb2x0aXBzICovXG5bZGF0YS10b29sdGlwXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBoZWxwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuW2RhdGEtdG9vbHRpcF06OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dCwgLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC43MSwgMS43LCAwLjc3LCAxLjI0KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0LCB2aXNpYmlsaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjcxLCAxLjcsIDAuNzcsIDEuMjQpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4ycyBlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNzEsIDEuNywgMC43NywgMS4yNCksIC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNzEsIDEuNywgMC43NywgMS4yNCk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmhvdmVyOjphZnRlcixcbltkYXRhLXRvb2x0aXBdOmZvY3VzOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTpmb2N1czo6YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIEJhc2Ugc3R5bGVzIGZvciB0aGUgdG9vbHRpcCdzIGRpcmVjdGlvbmFsIGFycm93ICovXG5bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgYm9yZGVyOiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb250ZW50OiAnJzsgfVxuXG4vKiBCYXNlIHN0eWxlcyBmb3IgdGhlIHRvb2x0aXAncyBjb250ZW50IGFyZWEgKi9cbltkYXRhLXRvb2x0aXBdOjphZnRlciB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjkpO1xuICBjb2xvcjogI2ZmZjtcbiAgY29udGVudDogYXR0cihkYXRhLXRvb2x0aXApO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuW2RhdGEtdG9vbHRpcF0udGlwQ2VudGVyZWQ6OmFmdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbltkYXRhLXRvb2x0aXBdOjpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTo6YWZ0ZXIge1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTsgfVxuXG5bZGF0YS10b29sdGlwXTo6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IC02cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMnB4O1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDAuOSk7IH1cblxuW2RhdGEtdG9vbHRpcF06OmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMDBweDsgfVxuXG5bZGF0YS10b29sdGlwXTpob3Zlcjo6YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06aG92ZXI6OmFmdGVyLFxuW2RhdGEtdG9vbHRpcF06Zm9jdXM6OmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmZvY3VzOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTJweCk7IH1cblxuLyogQUpBWCByZXNwb25zZSBhbGVydCBiYXIgKi9cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBkaXNwbGF5OiBub25lO1xuICBtYXgtd2lkdGg6IDc1JTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAuNWVtIDJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgYm9yZGVyLXRvcDogMCBub25lO1xuICBiYWNrZ3JvdW5kOiAjZjllZGJlOyB9XG4gIC5hbGVydCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmpzLWJyb3dzZXJXYXJuaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWRiZTtcbiAgcGFkZGluZzogMC41ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FyZExheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLmNhcmRMYXlvdXQgPiAuY2FyZCxcbiAgLmNhcmRMYXlvdXQgPiAuY2FyZEdyb3VwIHtcbiAgICBtYXJnaW46IDAuNXJlbTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1cmVtKSB7XG4gIC5jYXJkTGF5b3V0IHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLmNhcmRMYXlvdXQgPiAuY2FyZCB7XG4gICAgICBtYXJnaW46IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDJlbSk7IH0gfVxuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDsgfVxuICAuY2FyZCA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOyB9XG4gICAgLmNhcmQgPiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZEhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZTllOWU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbjogLTFyZW0gLTFyZW0gMXJlbTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAuMjVlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLmNhcmRIZWFkZXIgaDQge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5jYXJkSGVhZGVyLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDZiYTE7IH1cbiAgICAuY2FyZEhlYWRlci5ibHVlIGg0IHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jYXJkQWN0aW9ucyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBwYWRkaW5nOiAwIDAuMjVlbTtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC45O1xuICB0cmFuc2l0aW9uOiAzMDBtczsgfVxuICAuY2FyZEFjdGlvbnMgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIC5jYXJkQWN0aW9ucyBhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkICNmZmY7IH1cbiAgLmNhcmRBY3Rpb25zIGEgaSB7XG4gICAgb3BhY2l0eTogMC44OyB9XG4gICAgLmNhcmRBY3Rpb25zIGEgaTo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5jYXJkTWV0YSB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbjogMXJlbSAtMXJlbSAtMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gIC5jYXJkTWV0YSBoNSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uanMtZGF0ZXBpY2tlcldpZGdldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTsgfVxuICAuanMtZGF0ZXBpY2tlcldpZGdldCAuanMtZGF0ZXBpY2tlciB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBoZWlnaHQ6IDMuNzVlbTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuanMtZGF0ZXBpY2tlcldpZGdldCAuanMtY2xlYXJCdXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgY29sb3I6ICM4ODg7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5qcy1kYXRlcGlja2VyV2lkZ2V0IC5qcy1jbGVhckJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbmJvZHkgLnBpa2Etc2luZ2xlIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIHotaW5kZXg6IDQ7IH1cbiAgYm9keSAucGlrYS1zaW5nbGUgLnBpa2EtbGVuZGFyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzcyNzI3MjsgfVxuICAgIGJvZHkgLnBpa2Etc2luZ2xlIC5waWthLWxlbmRhciAucGlrYS10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwLjFlbTsgfVxuICBib2R5IC5waWthLXNpbmdsZSAucGlrYS10YWJsZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7IH1cbiAgYm9keSAucGlrYS1zaW5nbGUgdGgge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICBib2R5IC5waWthLXNpbmdsZSB0ZCAucGlrYS1idXR0b24ge1xuICAgIGNvbG9yOiAjMTIxMjEyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtczsgfVxuICAgIGJvZHkgLnBpa2Etc2luZ2xlIHRkIC5waWthLWJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiOyB9XG4gIGJvZHkgLnBpa2Etc2luZ2xlIHRkLmlzLXRvZGF5IC5waWthLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmJhMTsgfVxuICAgIGJvZHkgLnBpa2Etc2luZ2xlIHRkLmlzLXRvZGF5IC5waWthLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc7IH1cbiAgYm9keSAucGlrYS1zaW5nbGUgdGQuaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjOTAwOyB9XG4gICAgYm9keSAucGlrYS1zaW5nbGUgdGQuaXMtc2VsZWN0ZWQgLnBpa2EtYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4uZW52aXJvbm1lbnRXYXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWRiZTtcbiAgcGFkZGluZzogMC4yNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmVtZXJnZW5jeU5vdGljZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVkYmU7XG4gIHBhZGRpbmc6IDAuMjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qIEJhc2UgU3R5bGVzICAqL1xuLmpzLWZseW91dFBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuanMtZmx5b3V0UGFuZWwuanMtc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgLmpzLWZseW91dFBhbmVsIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmpzLWZseW91dFBhbmVsIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLmpzLWZseW91dFBhbmVsIGk6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZTsgfVxuICAuanMtZmx5b3V0UGFuZWwgYSB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjI1cmVtIDAuMjVyZW0gMC41cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAzMDBtcyBhbGw7XG4gICAgY29sb3I6ICMzYzNjM2M7IH1cbiAgICAuanMtZmx5b3V0UGFuZWwgYTpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0NmJhMTsgfVxuICAgIC5qcy1mbHlvdXRQYW5lbCBhOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgIzAwYzkwMDtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbmh0bWwucGFnZUxvYWRlZCAuanMtZmx5b3V0UGFuZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBGbHlvdXQgcGFuZWxzIGluIHRvcEJhciAqL1xuLnRvcEJhciAuanMtZmx5b3V0UGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMnJlbTtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAuMTI1ZW0gMC4xODc1ZW0gcmdiYSgwLCAwLCAwLCAwLjMpKTtcbiAgYm9yZGVyLXRvcDogMC4zMTI1ZW0gc29saWQgIzAwYzkwMDtcbiAgLyogQW5pbWF0ZWQgU3RhdGUgKi9cbiAgdHJhbnNpdGlvbjogMjAwbXMgYWxsO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFyZW0pO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAudG9wQmFyIC5qcy1mbHlvdXRQYW5lbC5qcy1zaG93IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIC50b3BCYXIgLmpzLWZseW91dFBhbmVsOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgdG9wOiBjYWxjKC0wLjgxMjVyZW0gKyAxcHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IDAuNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDAuNWVtIHNvbGlkICMwMGM5MDA7XG4gICAgYm9yZGVyLWxlZnQ6IDAuNWVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC50b3BCYXIgLmpzLWZseW91dFBhbmVsLnJpZ2h0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gICAgLnRvcEJhciAuanMtZmx5b3V0UGFuZWwucmlnaHQ6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMC41cmVtOyB9XG4gIC50b3BCYXIgLmpzLWZseW91dFBhbmVsIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTRlNDsgfVxuICAgIC50b3BCYXIgLmpzLWZseW91dFBhbmVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lOyB9XG5cbi8qIEZseW91dCBwYW5lbHMgaW4gb3ZlcmxheU1lbnUgICovXG4ub3ZlcmxheU1lbnUgLmpzLWZseW91dFBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBoZWlnaHQ6IDA7IH1cbiAgLm92ZXJsYXlNZW51IC5qcy1mbHlvdXRQYW5lbC5qcy1zaG93IHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLm92ZXJsYXlNZW51IC5qcy1mbHlvdXRQYW5lbCBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAub3ZlcmxheU1lbnUgLmpzLWZseW91dFBhbmVsIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm92ZXJsYXlNZW51IC5qcy1mbHlvdXRQYW5lbCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZmMwMDsgfVxuICAgIC5vdmVybGF5TWVudSAuanMtZmx5b3V0UGFuZWwgYTpmb2N1cyB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiAjMDBjOTAwOyB9XG5cbi5vdmVybGF5TWVudSBbZGF0YS1jbGlja2FibGVdOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYjAwMDsgfVxuXG4ub3ZlcmxheU1lbnUgW2RhdGEtY2xpY2thYmxlXS5qcy1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTYwMDsgfVxuXG4vKiBCYXNlIGZvcm0gaW5wdXQgd3JhcHBlciAqL1xuLmZvcm1JbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMWVtIDA7IH1cblxuLyogR3JvdXAgb2YgZm9ybSBpbnB1dCB3cmFwcGVycyAqL1xuLmZvcm1JbnB1dEdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwLjVlbSAtMC41ZW07IH1cbiAgLmZvcm1JbnB1dEdyb3VwIC5mb3JtSW5wdXQge1xuICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgbWFyZ2luOiAwLjVlbTsgfVxuXG4vKiBQbGFjZWhvbGRlciBmb3IgZGlzYWJsZWQgaW5wdXQgKi9cbi5mb3JtSW5wdXREaXNhYmxlZCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMC41ZW0gMCAwOyB9XG5cbi8qIElucHV0IGhlbHBlciB0ZXh0ICovXG4uZm9ybUlucHV0TWV0YSB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG1hcmdpbjogMC4yNWVtIDAgMS41ZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5mb3JtSW5wdXRNZXRhIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjM2MzYzNjOyB9XG5cbi8qIEZvcm0gYWN0aW9ucyAoc3VibWl0L2NhbmNlbCkgKi9cbi5mb3JtQWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAxLjVyZW0gLTAuNXJlbSAwOyB9XG4gIC5mb3JtQWN0aW9ucyBhIHtcbiAgICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbmxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDAuMmVtO1xuICBjb2xvcjogIzAwMDtcbiAgLyogV2hlbiB0aGUgbGFiZWwgaXMgdGhlIGVycm9yIHdyYXBwZXIgKGxpa2UgZm9yIGNoZWNrYm94ZXMpICovXG4gIC8qIE9wdGlvbmFsIGZpZWxkcyAqLyB9XG4gIGxhYmVsLmVycm9yIHtcbiAgICBwYWRkaW5nOiAwLjVlbTsgfVxuICBsYWJlbC5vcHRpb25hbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgKG9wdGlvbmFsKSc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzkyOTI5MjsgfVxuXG4vKiBIaWRlIHBsYWNlaG9sZGVyIHRleHQgb24gaW5wdXQgZm9jdXMgKFdlYmtpdCkgKi9cbmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIEhpZGUgcGxhY2Vob2xkZXIgdGV4dCBvbiBpbnB1dCBmb2N1cyAoTW96aWxsYSkgKi9cbmlucHV0OmZvY3VzOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyogRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpbnB1dHMgKi9cbmlucHV0LFxuaW5wdXQ6dmFsaWQge1xuICBjb2xvcjogIzEyMTIxMjsgfVxuXG4vKiBFcnJvciBjb2xvciBmb3IgaW5wdXRzIHdpdGggaW52YWxpZCB2YWx1ZXMgYXMgZGV0ZXJtaW5lZCBieSB0aGUgdXNlcidzIGJyb3dzZXIgKi9cbmlucHV0OmludmFsaWQge1xuICBjb2xvcjogI2FjMzkzMTsgfVxuXG4vKiBSZWFkLW9ubHkgaW5wdXRzICovXG5pbnB1dFtyZWFkb25seV0sXG5pbnB1dFtyZWFkb25seT0ncmVhZG9ubHknXSB7XG4gIGNvbG9yOiAjOTI5MjkyOyB9XG5cbi8qIEJhc2UgZm9ybSBpbnB1dCBzdHlsZXMgKi9cbmZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddLFxuZm9ybSBpbnB1dFt0eXBlPSdzZWxlY3QnXSxcbmZvcm0gaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbmZvcm0gc2VsZWN0LFxuZm9ybSB0ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gIHBhZGRpbmc6IDFlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmZvcm0gaW5wdXRbdHlwZT0ndGV4dCddLFxuZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddLFxuZm9ybSBpbnB1dFt0eXBlPSdzZWxlY3QnXSxcbmZvcm0gaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbmZvcm0gc2VsZWN0IHtcbiAgaGVpZ2h0OiAzLjc1ZW07IH1cblxuZm9ybSB0ZXh0YXJlYSB7XG4gIG1pbi1oZWlnaHQ6IDVlbTtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4vKiBWYWxpZGF0aW9uIGVycm9ycyAqL1xuZm9ybSAuZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWMzOTMxICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtOyB9XG4gIGZvcm0gLmVycm9yLmhhcy1lcnJvci1oZWxwIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjNlbSAwLjNlbSAwIDA7IH1cbiAgICBmb3JtIC5lcnJvci5oYXMtZXJyb3ItaGVscC5yYWRpb0dyb3VwLCBmb3JtIC5lcnJvci5oYXMtZXJyb3ItaGVscC5mb3JtUmFkaW8sIGZvcm0gLmVycm9yLmhhcy1lcnJvci1oZWxwLmNoZWNrYm94R3JvdXAsIGZvcm0gLmVycm9yLmhhcy1lcnJvci1oZWxwLmZvcm1DaGVja2JveCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjNlbTsgfVxuICAgIGZvcm0gLmVycm9yLmhhcy1lcnJvci1oZWxwIGxhYmVsIHtcbiAgICAgIHBhZGRpbmc6IDAuNWVtOyB9XG4gICAgZm9ybSAuZXJyb3IuaGFzLWVycm9yLWhlbHAgLmdyb3VwTGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtOyB9XG5cbmZvcm0gLmVycm9yLWhlbHAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICNhYzM5MzE7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwLjNlbSAwLjNlbTsgfVxuXG4vKiBDdXN0b20gU2VsZWN0IHdpZGdldHMgKi9cbi5zZWxlY3RXaWRnZXQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zZWxlY3RXaWRnZXQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDAuNzVlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGJvcmRlci10b3A6IDAuNzVlbSBzb2xpZCAjYWFhO1xuICAgIGJvcmRlci1sZWZ0OiAwLjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDAuNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG1hcmdpbi10b3A6IDAuMjVlbTsgfVxuICAuc2VsZWN0V2lkZ2V0IHNlbGVjdCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtICFpbXBvcnRhbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICAgIC5zZWxlY3RXaWRnZXQgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnNlbGVjdFdpZGdldCBvcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zZWxlY3RXaWRnZXQgb3B0aW9uOmRpc2FibGVkIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgLnNlbGVjdFdpZGdldCBvcHRpb246ZGlzYWJsZWQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogQ3VzdG9tIENoZWNrYm94ZXMgYW5kIFJhZGlvcyAqL1xuLmZvcm1DaGVja2JveCBsYWJlbCxcbi5mb3JtUmFkaW8gbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7IH1cblxuLmZvcm1DaGVja2JveCBpbnB1dCxcbi5mb3JtUmFkaW8gaW5wdXQge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBmb250LXNpemU6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZm9ybUNoZWNrYm94IGlucHV0IH4gKixcbi5mb3JtUmFkaW8gaW5wdXQgfiAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAuZm9ybUNoZWNrYm94IGlucHV0IH4gKjo6YmVmb3JlLFxuICAuZm9ybVJhZGlvIGlucHV0IH4gKjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMGM5MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjIyLCAxLjMpO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMDAxKTsgfVxuXG4uZm9ybUNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAqOjpiZWZvcmUsXG4uZm9ybVJhZGlvIGlucHV0OmNoZWNrZWQgfiAqOjpiZWZvcmUge1xuICBjb2xvcjogIzAwYzkwMDsgfVxuXG4uZm9ybUNoZWNrYm94OmZvY3VzLCAuZm9ybUNoZWNrYm94OmZvY3VzLXdpdGhpbixcbi5mb3JtUmFkaW86Zm9jdXMsXG4uZm9ybVJhZGlvOmZvY3VzLXdpdGhpbiB7XG4gIG91dGxpbmU6IDFweCBkYXNoZWQgIzI0NmJhMTtcbiAgb3V0bGluZS1vZmZzZXQ6IDAuMjVlbTsgfVxuXG4uZm9ybVJhZGlvIGlucHV0IH4gKjo6YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBjb250ZW50OiAnXFxmMTExJzsgfVxuXG4uZm9ybUNoZWNrYm94IGlucHV0IH4gKjo6YmVmb3JlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIGNvbnRlbnQ6ICdcXDI3MTQnOyB9XG5cbi5jaGVja2JveEdyb3VwIC5ncm91cExhYmVsLFxuLnJhZGlvR3JvdXAgLmdyb3VwTGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jaGVja2JveEdyb3VwIC5mb3JtQ2hlY2tib3gsXG4uY2hlY2tib3hHcm91cCAuZm9ybVJhZGlvLFxuLnJhZGlvR3JvdXAgLmZvcm1DaGVja2JveCxcbi5yYWRpb0dyb3VwIC5mb3JtUmFkaW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTsgfVxuXG4vKiBJbmxpbmUgbGlua3MgdG8gZm9ybSBoZWxwIHBvcHVwcyAqL1xuLmpzLWhlbHBMaW5rLFxuLmpzLWhlbHBMaW5rTW9kYWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwLjI1ZW07XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyNDZiYTE7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmpzLWhlbHBMaW5rOmhvdmVyLFxuICAuanMtaGVscExpbmtNb2RhbDpob3ZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkOyB9XG4gIC5qcy1oZWxwTGluayBpOjpiZWZvcmUsXG4gIC5qcy1oZWxwTGlua01vZGFsIGk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxZW07IH1cblxuLyogRm9ybSBoZWxwIHBvcHVwcyAqL1xuLmpzLWhlbHBNZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xZW07XG4gIHJpZ2h0OiAyZW07XG4gIHdpZHRoOiAyMGVtO1xuICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGNvbG9yOiAjM2MzYzNjO1xuICBib3JkZXI6IDAuMjVlbSBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwLjNlbTtcbiAgYmFja2dyb3VuZDogI2JiYjtcbiAgYm94LXNoYWRvdzogMCAwLjI1ZW0gMC4yNWVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLyogQW5pbWF0ZWQgU3RhdGUgKi9cbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMS41ZW0pIHNjYWxlKDAuOSk7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLmpzLWhlbHBNZW51LmpzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuanMtaGVscE1lbnUgaDQge1xuICAgIGNvbG9yOiAjOWU5ZTllO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmpzLWhlbHBNZW51IC51aUxpc3Qge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07IH1cbiAgLmpzLWhlbHBNZW51IGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi5qcy1oZWxwQ2xvc2Uge1xuICBmb250LXNpemU6IDNlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0wLjE1ZW07XG4gIHJpZ2h0OiAwLjE1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuanMtaGVscENsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogI2FjMzkzMTsgfVxuXG4ubGlzdExheW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1heC13aWR0aDogNTBlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTRlNGU0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTRlNDsgfVxuICAubGlzdExheW91dCAubGlzdEl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTRlNGU0OyB9XG4gICAgLmxpc3RMYXlvdXQgLmxpc3RJdGVtIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiAzMDBtcyBhbGw7IH1cbiAgICAgIC5saXN0TGF5b3V0IC5saXN0SXRlbSBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44OyB9XG4gICAgLmxpc3RMYXlvdXQgLmxpc3RJdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyOiAwIG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDVyZW0pIHtcbiAgLmxpc3RMYXlvdXQge1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDsgfSB9XG5cbi8qIE1ldHJvTmV0IExvZ28gTG9hZGluZyBBbmltYXRpb24gKi9cbiNsb2FkaW5nT3ZlcmxheSB7XG4gIHotaW5kZXg6IDQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbiNsb2FkZXIge1xuICBhbmltYXRpb246IHNwaW5JdCAzcyBlYXNlIGluZmluaXRlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgd2lkdGg6IDYycHg7XG4gIGhlaWdodDogODBweDtcbiAgcGFkZGluZzogNHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzFweDtcbiAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCb1pXbG5hSFE5SWprNElpQjNhV1IwYUQwaU56WWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStJQ0FnSUNBZ0NpQWdJQ0E4Y0dGMGFDQm1hV3hzUFNKdWIyNWxJaUJ6ZEhKdmEyVTlJaU0zUVVNeE5ETWlJSE4wY205clpTMTNhV1IwYUQwaU9DSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWlCa1BTSk5JREUzSURJd0lHRWdNekFzTXpBZ01DQXhJREFnTXpZc01DSWdMejRLSUNBZ0lEeHdZWFJvSUdacGJHdzlJbTV2Ym1VaUlITjBjbTlyWlQwaUl6ZEJRekUwTXlJZ2MzUnliMnRsTFhkcFpIUm9QU0k0SWlCemRISnZhMlV0YkdsdVpXTmhjRDBpY205MWJtUWlJR1E5SWswZ016VXNOU0JzSURBc016Z2lJQzgrQ2p3dmMzWm5QZz09XCIpOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbkl0IHtcbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uanMtbW9kYWxXcmFwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA0O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7IH1cblxuLmpzLW1vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDV2aDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDVlbTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyZW0pO1xuICBwYWRkaW5nOiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgYm94LXNoYWRvdzogMC4xMjVlbSAwLjEyNWVtIDAuNzVlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLmpzLW1vZGFsLmpzLXRyYW5zZm9ybUluLCAuanMtbW9kYWwuanMtdHJhbnNmb3JtT3V0IHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZSAwLjVzOyB9XG4gIC5qcy1tb2RhbC5qcy10cmFuc2Zvcm1JbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTsgfVxuICAuanMtbW9kYWwuanMtdHJhbnNmb3JtT3V0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTsgfVxuICAuanMtbW9kYWw6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmpzLW1vZGFsIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuLmNsb3NlWCB7XG4gIGxpbmUtaGVpZ2h0OiAyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMWVtO1xuICByaWdodDogLTFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLmNsb3NlWDo6YmVmb3JlLCAuY2xvc2VYOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgY29udGVudDogJyc7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2MzYzNjOyB9XG4gIC5jbG9zZVg6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmNsb3NlWDpob3Zlcjo6YmVmb3JlLCAuY2xvc2VYOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FjMzkzMTsgfVxuXG4ubmF2TGluayB7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogMzAwbXM7IH1cbiAgLm5hdkxpbms6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAubmF2TGluayBpIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5uYXZMaW5rIC5sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qIE5hdiBsaW5rcyBpbiB0b3BCYXIgKi9cbi50b3BCYXIgLm5hdkxpbmtzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50b3BCYXIgLm5hdkxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tbGVmdDogMWVtOyB9XG5cbi8qIE5hdiBsaW5rcyBpbiBvdmVybGF5TWVudSAqL1xuLm92ZXJsYXlNZW51IC5uYXZMaW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgY29sb3I6ICMzYzNjM2M7IH1cblxuLmJ1cmdlcldyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLW91dCAwLjFzO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmJ1cmdlcldyYXA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgI2ZmZjsgfVxuICAuYnVyZ2VyV3JhcC5hY3RpdmUge1xuICAgIHJpZ2h0OiAxNi4yNXJlbTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLm9wZW4ub3ZlcmxheSAuYnVyZ2VyV3JhcC5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4ubmF2QnVyZ2VyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgYm9yZGVyLXRvcDogMC44NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuODc1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94OyB9XG4gIC5uYXZCdXJnZXI6OmJlZm9yZSwgLm5hdkJ1cmdlcjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2NhbGUoMS4wMDAxKTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpbGwtY2hhbmdlOiByb3RhdGU7IH1cbiAgLm5hdkJ1cmdlcjo6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjYyNXJlbTsgfVxuICAubmF2QnVyZ2VyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMC42MjVyZW07IH1cbiAgLm5hdkJ1cmdlci5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5hdkJ1cmdlci5hY3RpdmU6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTEwJTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZykgc2NhbGUoMS4wMDAxKTsgfVxuICAgIC5uYXZCdXJnZXIuYWN0aXZlOjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTEwJTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpIHNjYWxlKDEuMDAwMSk7IH1cblxuLm92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDM7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAub3ZlcmxheS5vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLm92ZXJsYXlNZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLyogSGlkZSB1bnRpbCBET00gY29udGVudCByZWFkeSBpcyBjYWxsZWQgKi9cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDM7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDE2LjI1cmVtO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC43NywgMC4yLCAwLjA1LCAxKSwgYmFja2dyb3VuZCAwLjVzIGN1YmljLWJlemllcigwLjc3LCAwLjIsIDAuMDUsIDEpLCBvcGFjaXR5IDAuNTVzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAuMiwgMC4wNSwgMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNDZiYTE7IH1cbiAgLm92ZXJsYXlNZW51ID4gKiB7XG4gICAgdmlzaWJpbGl0eTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMik7XG4gICAgdHJhbnNpdGlvbjogMXMgYWxsO1xuICAgIC8qIEFuaW1hdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm92ZXJsYXlNZW51Lm9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAub3ZlcmxheU1lbnUub3BlbiA+ICoge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLyogV2UgbmVlZCB0byBoaWRlIHRoZSBvZmYtY2FudmFzIG1lbnUgZHVyaW5nIHBhZ2UgbG9hZCB0byBhdm9pZCBmbGFzaGluZyBiZWZvcmUgaXQncyBoaWRkZW4uICovXG5odG1sLnBhZ2VMb2FkZWQgLm92ZXJsYXlNZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogTXVsdGktc2NyZWVuIHBhZ2VzICovXG4uanMtc2NyZWVucyAuanMtc2NyZWVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuanMtc2NyZWVucyAuanMtc2NyZWVuID4gaDI6Zmlyc3QtY2hpbGQsXG4gIC5qcy1zY3JlZW5zIC5qcy1zY3JlZW4gPiBoMzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc3RhdHVzTWVzc2FnZXMge1xuICBtYXgtd2lkdGg6IDQwZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5zdGF0dXNNZXNzYWdlcyAubWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAxZW0gMWVtIDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTRlNDtcbiAgICBjb2xvcjogIzcyNzI3MjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlLnRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlIHtcbiAgLyogU3VjY2VzcyBNZXNzYWdlcyAqL1xuICAvKiBVcmdlbnQgTWVzc2FnZXMgKi9cbiAgLyogV2FybmluZyBNZXNzYWdlcyAqL1xuICAvKiBJbmZvIE1lc3NhZ2VzICovIH1cbiAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlIC5sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAwLjdlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIxMjEyOyB9XG4gICAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlIC5sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgb3BhY2l0eTogMC44OyB9XG4gIC5zdGF0dXNNZXNzYWdlcyAubWVzc2FnZSAuZGV0YWlscyB7XG4gICAgcGFkZGluZzogMWVtIDEuNWVtIDFlbSAxZW07IH1cbiAgICAuc3RhdHVzTWVzc2FnZXMgLm1lc3NhZ2UgLmRldGFpbHMgcCB7XG4gICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdGF0dXNNZXNzYWdlcyAubWVzc2FnZSAuZGV0YWlscyBwLmg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuM2VtO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc3RhdHVzTWVzc2FnZXMgLm1lc3NhZ2UgLmpzLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC4yNWVtO1xuICAgIHJpZ2h0OiAwLjI1ZW07XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBsaW5lLWhlaWdodDogMC42O1xuICAgIGNvbG9yOiAjOTI5MjkyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAyMDBtczsgfVxuICAgIC5zdGF0dXNNZXNzYWdlcyAubWVzc2FnZSAuanMtY2xvc2U6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgY29sb3I6ICM5ZTllOWU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc3RhdHVzTWVzc2FnZXMgLm1lc3NhZ2Uuc3VjY2VzcyAubGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGM5MDA7IH1cbiAgICAuc3RhdHVzTWVzc2FnZXMgLm1lc3NhZ2Uuc3VjY2VzcyAubGFiZWw6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMDBjJzsgfVxuICAuc3RhdHVzTWVzc2FnZXMgLm1lc3NhZ2UudXJnZW50IC5sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FjMzkzMTsgfVxuICAgIC5zdGF0dXNNZXNzYWdlcyAubWVzc2FnZS51cmdlbnQgLmxhYmVsOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjA3MSc7IH1cbiAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlLndhcm5pbmcgLmxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDY2OTQ0OyB9XG4gICAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlLndhcm5pbmcgLmxhYmVsOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjEyYSc7IH1cbiAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlLmluZm8gLmxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ2YmExOyB9XG4gICAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlLmluZm8gLmxhYmVsOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcZjA1YSc7IH1cblxuLmpzLXJlc3BvbnNpdmVUYWJsZSB7XG4gIHBhZGRpbmc6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAuanMtcmVzcG9uc2l2ZVRhYmxlIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gIC5qcy1yZXNwb25zaXZlVGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5qcy1yZXNwb25zaXZlVGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5qcy1yZXNwb25zaXZlVGFibGUgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmpzLXJlc3BvbnNpdmVUYWJsZSB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuanMtcmVzcG9uc2l2ZVRhYmxlIHRyIHtcbiAgICBwYWRkaW5nOiAwLjYyNWVtOyB9XG4gIC5qcy1yZXNwb25zaXZlVGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAuMTI1ZW07IH1cbiAgLmpzLXJlc3BvbnNpdmVUYWJsZSB0ZDo6YmVmb3JlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfSB9XG5cbi5wYWdlQ29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogM3JlbTsgfVxuXG4udG9wQmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjQyNjY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwLjYyNWVtIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuICAub3ZlcmxheSAudG9wQmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC50b3BCYXIgLmJyYW5kaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC4yNWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMzAwbXM7IH1cbiAgICAudG9wQmFyIC5icmFuZGluZzpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgICAudG9wQmFyIC5icmFuZGluZyBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnRvcEJhciAuYnJhbmRpbmcgLmFwcGxpY2F0aW9uTmFtZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLnRvcEJhciAubmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwLjI1ZW0gMWVtOyB9XG4gIC50b3BCYXIgLm1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAuMjVlbSAxZW07IH1cbiAgICAudG9wQmFyIC5tZW51IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC50b3BCYXIgLm1lbnUgYSB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAudG9wQmFyIC5tZW51IGE6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjg7IH1cbiAgLnRvcEJhciAudXNlckluZm8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnRvcEJhciAubmF2VG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyogU3dpdGNoIHRvIG5vcm1hbCBuYXYgb24gbGFyZ2VyIHNjcmVlbnMgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC50b3BCYXIgLm5hdlRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudG9wQmFyIC5uYXYsXG4gIC50b3BCYXIgLm1lbnUsXG4gIC50b3BCYXIgLnVzZXJJbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLyogVXNlciBNZW51ICovXG4udXNlckluZm8gLnVzZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IDMwMG1zOyB9XG4gIC51c2VySW5mbyAudXNlcjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAudXNlckluZm8gLnVzZXIgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gIC51c2VySW5mbyAudXNlciAuaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuMTVyZW07IH1cbiAgLnVzZXJJbmZvIC51c2VyOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgYm9yZGVyLXRvcDogMC4yNWVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICBib3JkZXItcmlnaHQ6IDAuMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMC4yNWVtIHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi51c2VySWNvbiB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudXNlckljb246OmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAuMjVlbSByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLnVzZXJJY29uIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuXG4vKiBGbHlvdXQgcGFuZWxzIGluIHRvcEJhciAqL1xuLnRvcEJhciAudXNlckluZm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRvcEJhciAudXNlckluZm8gLmpzLWZseW91dFBhbmVsIHtcbiAgICB0b3A6IDIuN3JlbTtcbiAgICByaWdodDogMWVtOyB9XG4gIC50b3BCYXIgLnVzZXJJbmZvIC51c2VyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgICAudG9wQmFyIC51c2VySW5mbyAudXNlcjo6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7IH1cblxuLyogRmx5b3V0IHBhbmVscyBpbiBvdmVybGF5TWVudSAqL1xuLm92ZXJsYXlNZW51IC51c2VySW5mbyAudXNlciB7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICAub3ZlcmxheU1lbnUgLnVzZXJJbmZvIC51c2VyOjphZnRlciB7XG4gICAgcmlnaHQ6IDAuNWVtOyB9XG5cbi5lcnJvckNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDU1cmVtO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAzcmVtIGF1dG87XG4gIHBhZGRpbmc6IDNyZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmVycm9yQ29udGVudCBoMyB7XG4gICAgY29sb3I6ICNhYzM5MzE7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAgMCAwLjI1ZW07IH1cbiAgLmVycm9yQ29udGVudCBoNCB7XG4gICAgY29sb3I6ICMzYzNjM2M7IH1cbiAgLmVycm9yQ29udGVudCBhIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cbiAgLmVycm9yQ29udGVudCBwIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7IH1cbiAgLmVycm9yQ29udGVudCAuZXJyb3JIZWxwIHtcbiAgICBtYXJnaW46IDJyZW0gMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjQ2YmExO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAxLjI1cmVtIDEuNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZXJyb3JDb250ZW50IC5lcnJvckhlbHAgaSB7XG4gICAgICBtYXJnaW46IDAgMXJlbSAwIDA7IH1cbiAgICAuZXJyb3JDb250ZW50IC5lcnJvckhlbHAgcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuZXJyb3JDb250ZW50IC5lcnJvckhlbHAgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmVycm9yQ29udGVudCAuZXJyb3JEZWJ1Z0luZm8ge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDsgfVxuXG4uZXhhbXBsZUNvbG9ycyB7XG4gIHBhZGRpbmc6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2gge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuMjVlbSAwLjVlbTtcbiAgICBtYXJnaW46IDAuMjVlbTsgfVxuICAgIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2guZGFya1RleHQge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuZXhhbXBsZUNvbG9ycyAuc3dhdGNoLmJyYW5kQmx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQ2YmExOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5icmFuZEdyZWVuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGM5MDA7IH1cbiAgICAuZXhhbXBsZUNvbG9ycyAuc3dhdGNoLmFsZXJ0WWVsbG93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWVkYmU7IH1cbiAgICAuZXhhbXBsZUNvbG9ycyAuc3dhdGNoLndhcm5pbmdPcmFuZ2Uge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q2Njk0NDsgfVxuICAgIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2guZXJyb3JSZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FjMzkzMTsgfVxuICAgIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2guZGFya1VJR3JheTEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE5MTkxOTsgfVxuICAgIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2guZGFya1VJR3JheTIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJkMmQyZDsgfVxuICAgIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2guYm9yZGVyR3JheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5MSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTIxMjEyOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5MiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjQyNDI0OyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5MyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2MzYzNjOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5NCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWU5ZTllOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5NSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1MjUyOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5NiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzI3MjcyOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5NyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5OCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5OSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTI5MjkyOyB9XG4gICAgLmV4YW1wbGVDb2xvcnMgLnN3YXRjaC5ncmF5MTAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTsgfVxuICAgIC5leGFtcGxlQ29sb3JzIC5zd2F0Y2guZ3JheTExIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7IH1cbiAgICAuZXhhbXBsZUNvbG9ycyAuc3dhdGNoLmdyYXkxMiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG5cbi5zbWFydERhcmtlbkV4YW1wbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgLTAuNWVtOyB9XG4gIC5zbWFydERhcmtlbkV4YW1wbGUgLnN3YXRjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA0ZW07XG4gICAgd2lkdGg6IDRlbTtcbiAgICBtYXJnaW46IDAuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogNGVtOyB9XG4gIC5zbWFydERhcmtlbkV4YW1wbGUgLm9yaWdpbmFsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBjOTAwOyB9XG4gIC5zbWFydERhcmtlbkV4YW1wbGUgLnBsdXNUZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGZjMDA7IH1cbiAgLnNtYXJ0RGFya2VuRXhhbXBsZSAucGx1c1R3ZW50eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMwZmYzMDsgfVxuICAuc21hcnREYXJrZW5FeGFtcGxlIC5taW51c1RlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTYwMDsgfVxuICAuc21hcnREYXJrZW5FeGFtcGxlIC5taW51c1R3ZW50eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjMwMDsgfVxuXG4uY29nbml0b0xvZ2luIGJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5jb2duaXRvTG9naW4gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubG9naW5Cb3gge1xuICB3aWR0aDogMjVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDJlbSBhdXRvIDVlbTsgfVxuICAubG9naW5Cb3ggLmpzLXNjcmVlbnMge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sb2dpbkJveCAuanMtc2NyZWVuIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTRlNGU0OyB9XG4gIC5sb2dpbkJveCAuYm94VGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5sb2dpbkJveCAuYm94VGl0bGUgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgICAubG9naW5Cb3ggLmJveFRpdGxlIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5sb2dpbkJveCAuYm94VGl0bGUgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyB9XG4gIC5sb2dpbkJveCAuc3dpdGNoQWNjb3VudCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgLmxvZ2luQm94IC5zd2l0Y2hBY2NvdW50IGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICAubG9naW5Cb3ggLmxvZ2luRm9ybSAuZm9ybUFjdGlvbnMgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uanMtc2NyZWVuW2RhdGEtbmFtZT0nbG9naW5TdWNjZXNzJ10ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmpzLXNjcmVlbltkYXRhLW5hbWU9J2xvZ2luU3VjY2VzcyddIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLmpzLXNjcmVlbltkYXRhLW5hbWU9J2xvZ2luU3VjY2VzcyddIHAge1xuICAgIGNvbG9yOiAjNTI1MjUyO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi8qIExvYWRpbmcgYW5pbWF0aW9uICovXG4ubG9hZGVyQmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEuNWVtIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFlbTtcbiAgcGFkZGluZzogMXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjE4N2YyIDAlLCAjNjE4N2YyIDI1JSwgIzU2NzlkYSAyNSUsICM1Njc5ZGEgNTAlLCAjNjE4N2YyIDUwJSwgIzYxODdmMiA3NSUsICM1Njc5ZGEgNzUlLCAjNTY3OWRhIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtc2l6ZTogMWVtIDFlbTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgYW5pbWF0aW9uOiBsb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZTsgfVxuICAubG9hZGVyQmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMWVtO1xuICAgIGJhY2tncm91bmQ6ICNmN2Y3Zjc7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzcyA1cyBlYXNlIGZvcndhcmRzOyB9XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gIGZyb20ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTFlbSAwOyB9IH1cblxuQGtleWZyYW1lcyBwcm9ncmVzcyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMzAlOyB9IH1cblxuLm5vdGljZUxheW91dCAucGFnZUNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDI1cmVtO1xuICBtYXJnaW46IDNyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuLm5vdGljZUxheW91dCAuYnJhbmRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07IH1cblxuLm5vdGljZUxheW91dCAubWVzc2FnZSB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5ub3RpY2VMYXlvdXQgLm1lc3NhZ2UgaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLm5vdGljZUxheW91dCAubWVzc2FnZSBoMy5lcnJvciB7XG4gICAgY29sb3I6ICNhYzM5MzE7IH1cbiAgLm5vdGljZUxheW91dCAubWVzc2FnZSBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm5vdGljZUxheW91dCAubWVzc2FnZSBhIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5ub3RpY2VMYXlvdXQgLmVycm9yRGVidWdJbmZvIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4ubm90aWNlTGF5b3V0IC5iYWNrIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5ub3RpY2VMYXlvdXQgLmJhY2s6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICAubm90aWNlTGF5b3V0IC5iYWNrOjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgIGNvbnRlbnQ6ICdcXGYwNjAnO1xuICAgIG1hcmdpbi1yaWdodDogMC41ZW07IH1cblxuLmVycm9yQm94IHtcbiAgd2lkdGg6IDI1ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyZW0gYXV0byA1ZW07IH1cbiAgLmVycm9yQm94IC5qcy1zY3JlZW5zIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZXJyb3JCb3ggLmpzLXNjcmVlbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMmVtO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgMXB4IHNvbGlkICM5ZTllOWU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmVycm9yQm94IC5ib3hUaXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmVycm9yQm94IC5ib3hUaXRsZSBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5lcnJvckJveCAuYm94VGl0bGUgLmxvZ28ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgLmVycm9yQm94IC5ib3hUaXRsZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IH1cblxuLmNvbnRpbnVlQnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJywgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwLjVlbSBhdXRvO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNvbnRpbnVlQnV0dG9uRGl2IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY29udGludWVCdXR0b24uaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBmZmIwO1xuICBjb2xvcjogIzRhZmY0YTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uY29udGludWVCdXR0b24uaW5hY3RpdmU6aG92ZXIsXG4uY29udGludWVCdXR0b24uaW5hY3RpdmU6Zm9jdXMsXG4uY29udGludWVCdXR0b24uaW5hY3RpdmU6YWN0aXZlIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMDIuMjVkZWcsICM1NzJBQTggMCUsICMwMDgzNzkgMTAwJSk7IH1cblxuLmVycm9yQm94IHtcbiAgd2lkdGg6IDI1ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyZW0gYXV0byA1ZW07IH1cbiAgLmVycm9yQm94IC5qcy1zY3JlZW5zIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZXJyb3JCb3ggLmpzLXNjcmVlbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMmVtO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgMXB4IHNvbGlkICM5ZTllOWU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmVycm9yQm94IC5ib3hUaXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmVycm9yQm94IC5ib3hUaXRsZSBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAgIC5lcnJvckJveCAuYm94VGl0bGUgLmxvZ28ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgLmVycm9yQm94IC5ib3hUaXRsZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IH1cblxuLmNvbnRpbnVlQnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6ICdUaXRpbGxpdW0gV2ViJywgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwLjVlbSBhdXRvO1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmNvbnRpbnVlQnV0dG9uRGl2IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uY29udGludWVCdXR0b24uaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjBmZmIwO1xuICBjb2xvcjogIzRhZmY0YTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uY29udGludWVCdXR0b24uaW5hY3RpdmU6aG92ZXIsXG4uY29udGludWVCdXR0b24uaW5hY3RpdmU6Zm9jdXMsXG4uY29udGludWVCdXR0b24uaW5hY3RpdmU6YWN0aXZlIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGV4ZW5kJztcbiAgc3JjOiB1cmwoXCIvaW5jbHVkZXMvYXNzZXRzL3RoZW1lcy9tZXRyb25ldExZSS9MZXhlbmQtVmFyaWFibGVGb250X3dnaHQudHRmXCIpOyB9XG5cbmh0bWwge1xuICAvKiBmb250LXNpemU6IDAuOGVtOyAqL1xuICBmb250LWZhbWlseTogTGV4ZW5kLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2ZmZjtcbiAgbWluLXdpZHRoOiAzMjBweDsgfVxuXG5hIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuaDEge1xuICBjb2xvcjogI2ZmZjsgfVxuXG5oMiB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi50ZXJtcy1ub3RlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZXJyb3JDb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuICAuZXJyb3JDb250ZW50IGg0IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZXJyb3JDb250ZW50IC5lcnJvckhlbHAge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5ZTllOWU7XG4gICAgYmFja2dyb3VuZDogIzEyMTIxMjsgfVxuICAuZXJyb3JDb250ZW50IC5lcnJvckRlYnVnSW5mbyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ubG9naW5Cb3ggLmpzLXNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM5ZTllOWU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7IH1cblxuLmZpcnN0VGltZVVzZXIge1xuICBtYXJnaW46IDFlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZpcnN0VGltZVVzZXIgYSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZmlyc3RUaW1lVXNlciBoNCB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucXVpY2twYXkge1xuICBtYXJnaW46IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnF1aWNrcGF5IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG5ib2R5LmxvZ2luSGVscCBkaXYuc2VjdXJpdHlRdWVzdGlvbnNMaXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5ib2R5LmxvZ2luSGVscCBkaXYuc2VjdXJpdHlRdWVzdGlvbnMgZGl2LmZpZWxkV3JhcCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuYm9keS5sb2dpbkhlbHAgZGl2LmZpZWxkV3JhcCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuYm9keS5sb2dpbkhlbHAgcC5oZWxwUGhvbmUge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjRlbTsgfVxuXG5ib2R5LmxvZ2luSGVscCBoMy5zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogIzAwYTYwMDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG5cbi5tb2RhbFJlYXV0aEZvcm0gLmN1cnJlbnRVc2VybmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogI2YwZjAyMjtcbiAgYm9yZGVyLXJhZGl1czogMzJweCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICBvdXRsaW5lLW9mZnNldDogaW5pdGlhbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjphY3RpdmUsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICNkOWQ5MWQ7IH1cblxuLmFsZXJ0IHtcbiAgYmFja2dyb3VuZDogIzNjM2MzYztcbiAgYm9yZGVyOiAxcHggc29saWQgIzllOWU5ZTtcbiAgY29sb3I6ICNmZmY7IH1cblxuI2xvYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW5jbHVkZXMvYXNzZXRzL3RoZW1lcy9tZXRyb25ldExZSS9tZXRyb25ldC1tb25vZ3JhbS5zdmcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDgpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cblxuQGtleWZyYW1lcyBzcGluSXQge1xuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMTIpOyB9IH1cblxuLyogQ3VzdG9tIHN0YXR1cyBtZXNzYWdlIGxheW91dCAqL1xuLyogTk9URTogb3ZlcnJpZGVzIHN0eWxlcyBmcm9tIGZyYW1ld29ya19leHQgKi9cbi5zdGF0dXNNZXNzYWdlcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAxZW07XG4gIHJpZ2h0OiAxZW07XG4gIHotaW5kZXg6IDE7IH1cbiAgLnN0YXR1c01lc3NhZ2VzIC5tZXNzYWdlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMC43NXJlbSByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYm9yZGVyOiAwIG5vbmU7IH1cbiAgICAuc3RhdHVzTWVzc2FnZXMgLm1lc3NhZ2U6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjYpOyB9XG5cbi50b3BCYXIge1xuICBoZWlnaHQ6IDRyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC50b3BCYXIgLmJyYW5kaW5nIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02NXB4OyB9XG4gIC50b3BCYXIgLmJyYW5kaW5nIC5hcHBsaWNhdGlvbk5hbWUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTUwcHg7IH1cblxuI2NhbGVuZGFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOWU5ZTllO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgbWF4LXdpZHRoOiA3NTBweDtcbiAgbWF4LWhlaWdodDogOTUwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7IH1cbiAgI2NhbGVuZGFyIC5pbmFjdGl2ZUNhbGVuZGFyIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiA1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmhlYWRlciAuYXJyb3cge1xuICAgICAgd2lkdGg6IDVlbTtcbiAgICAgIGhlaWdodDogNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMmVtO1xuICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgdHJhbnNpdGlvbjogMzAwbXMgYWxsO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuaGVhZGVyIC5hcnJvdyBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyZW07IH1cbiAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuaGVhZGVyIC5ob3ZlcmVkQXJyb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNjM2MzYztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5oZWFkZXIgLmN1cnJlbnRNb250aCB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5kYXlzT2ZXZWVrIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmRheXNPZldlZWsgLmRheU9mV2VlayB7XG4gICAgICBmbGV4LWJhc2lzOiAxNC4yOCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmJyZWFrIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzllOWU5ZTtcbiAgICBtYXJnaW46IDFlbTsgfVxuICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG4gICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmNhbGVuZGFyIC53ZWVrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIgLndlZWsgLmRheSB7XG4gICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgIGhlaWdodDogNWVtO1xuICAgICAgICBmbGV4LWJhc2lzOiAxNC4yOCU7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5jYWxlbmRhciAud2VlayAuZGF5IGRpdiB7XG4gICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgdHJhbnNpdGlvbjogMzAwbXMgYmFja2dyb3VuZDtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMzUlIDA7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIgLndlZWsgLmRheS5pbmFjdGl2ZSBkaXYge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5jYWxlbmRhciAud2VlayAuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmNhbGVuZGFyIC53ZWVrIC5kaXNhYmxlZCBkaXYge1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5jYWxlbmRhciAud2VlayAudW5zZWxlY3RhYmxlIGRpdiB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgY29sb3I6ICM1MjUyNTI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIgLndlZWsgLmRheS5zZWxlY3RlZCBkaXYge1xuICAgICAgICB0cmFuc2l0aW9uOiAwbXMgYWxsO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI1MjUyOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIgLndlZWsgLmRheS5zZWxlY3RhYmxlLmhvdmVyIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzYzNjM2M7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zIGFsbDsgfVxuICAgICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmNhbGVuZGFyIC53ZWVrIC5kYXkuc2VsZWN0ZWQuaG92ZXIgZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzllOWU5ZTsgfVxuICAgICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmNhbGVuZGFyIC53ZWVrIC5kYXkuc2VsZWN0ZWQuYm9va2VkUE0gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzUyNTI1MjtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIgLndlZWsgLmRheS5zZWxlY3RlZC5ib29rZWRQTS5ob3ZlciBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTI1MjUyOyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAuY2FsZW5kYXIgLndlZWsgLmRheS5zZWxlY3RlZC5ib29rZWRBTSBkaXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTI1MjUyO1xuICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5jYWxlbmRhciAud2VlayAuZGF5LnNlbGVjdGVkLmJvb2tlZEFNLmhvdmVyIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzYzNjM2M7IH1cbiAgICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5jYWxlbmRhciAud2VlayAuZGF5LmJvb2tlZFBNIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1MjUyNTI7IH1cbiAgICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5jYWxlbmRhciAud2VlayAuZGF5LmJvb2tlZFBNLmhvdmVyIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzYzNjM2M7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmNhbGVuZGFyIC53ZWVrIC5kYXkuYm9va2VkQU0gZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzUyNTI1MjsgfVxuICAgICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmNhbGVuZGFyIC53ZWVrIC5kYXkuYm9va2VkQU0uaG92ZXIgZGl2IHtcbiAgICAgICAgYmFja2dyb3VuZDogIzNjM2MzYztcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5sZWdlbmQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDFlbTsgfVxuICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5sZWdlbmQgLmtleSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAjY2FsZW5kYXIgLmNhbGVuZGFyTWFpbiAubGVnZW5kIC5rZXkgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjVlbTsgfVxuICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5sZWdlbmQgLnBtU2xvdCB7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgYm90dG9tLCAjZjVmNWY1IDUwJSwgI2ZmZmZmZiA1MCUpO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtOyB9XG4gICAgI2NhbGVuZGFyIC5jYWxlbmRhck1haW4gLmxlZ2VuZCAuYW1TbG90IHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0IHRvcCwgI2Y1ZjVmNSA1MCUsICNmZmZmZmYgNTAlKTtcbiAgICAgIHdpZHRoOiAyZW07XG4gICAgICBoZWlnaHQ6IDJlbTsgfVxuICAgICNjYWxlbmRhciAuY2FsZW5kYXJNYWluIC5sZWdlbmQgLnVuYXZhaWxhYmxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzNjM2M7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOWU5ZTllO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gICNjYWxlbmRhciAucHJvbXB0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm94LXNoYWRvdzogMCAwIDEycHggMCAjNTI1MjUyO1xuICAgIHdpZHRoOiAyNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA2MDBtcyBjdWJpYy1iZXppZXIoMCwgMSwgMCwgMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDsgfVxuICAgICNjYWxlbmRhciAucHJvbXB0IC5oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAjY2FsZW5kYXIgLnByb21wdCAuaGVhZGVyIC5jbG9zZUJ1dHRvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogVHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAjY2FsZW5kYXIgLnByb21wdCAuaGVhZGVyIC5jbG9zZUJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgICAgI2NhbGVuZGFyIC5wcm9tcHQgLmhlYWRlciBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAjY2FsZW5kYXIgLnByb21wdCAuaGVhZGVyIC5kYXlOYW1lIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNWVtOyB9XG4gICAgI2NhbGVuZGFyIC5wcm9tcHQgLmJ1dHRvbiB7XG4gICAgICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luOiAwLjVlbSBhdXRvO1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgI2NhbGVuZGFyIC5wcm9tcHQgLmJ1dHRvbkRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI2NhbGVuZGFyIC5wcm9tcHQgLmJ1dHRvbi5pbmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMDIyO1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgI2NhbGVuZGFyIC5wcm9tcHQgLmJ1dHRvbi5pbmFjdGl2ZTpob3ZlcixcbiAgICAjY2FsZW5kYXIgLnByb21wdCAuYnV0dG9uLmluYWN0aXZlOmZvY3VzLFxuICAgICNjYWxlbmRhciAucHJvbXB0IC5idXR0b24uaW5hY3RpdmU6YWN0aXZlIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAjY2FsZW5kYXIgLnByb21wdCAuYmFjayB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICB3aWR0aDogNWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwLjVlbTtcbiAgICAgIHRyYW5zaXRpb246IDMwMG1zIGFsbDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAgICNjYWxlbmRhciAucHJvbXB0IHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBwYWRkaW5nOiAwLjJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNjYWxlbmRhciAucHJvbXB0IC50aW1lU2xvdHMgLnRpbWVTbG90IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctdG9wOiAxZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIHRyYW5zaXRpb246IDMwMG1zIGFsbDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOWU5ZTllO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgI2NhbGVuZGFyIC5wcm9tcHQgLnRpbWVTbG90cyAudGltZVNsb3QudW5hdmFpbGFibGUge1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI0MjQyNDsgfVxuICAgICNjYWxlbmRhciAucHJvbXB0IC50aW1lU2xvdHMgLnRpbWVTbG90LnVuYXZhaWxhYmxlOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNDI0MjQ7IH1cbiAgICAjY2FsZW5kYXIgLnByb21wdCAudGltZVNsb3RzIC50aW1lU2xvdDpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYzNjM2M7IH1cbiAgICAjY2FsZW5kYXIgLnByb21wdCAudGltZVNsb3RzIC50aW1lU2xvdC5zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2MzYzNjOyB9XG4gICNjYWxlbmRhciAucHJvbXB0LmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogMTAwZW07XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA2MDBtcyBsaW5lYXI7IH1cbiAgI2NhbGVuZGFyIC5wcm9tcHQuaW5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDA7IH1cblxuZGl2Lm9yZGVyU3VtbWFyeSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnBhZ2VDb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uZGlzYWJsZU5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53ZWxjb21lSGVhZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgbWF4LXdpZHRoOiAxOS41ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIHBhZGRpbmc6IDAuM2VtIDA7IH1cblxuLndlbGNvbWVDb250ZW50IHtcbiAgcGFkZGluZzogMC4zZW0gMC4yNWVtO1xuICBtYXJnaW46IDAuMjVlbSAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZmxleFJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMC4yNWVtOyB9XG4gIC5mbGV4Um93IC5sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1iYXNpczogMzAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1yaWdodDogMWVtOyB9XG4gICAgLmZsZXhSb3cgLmxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7IH1cbiAgLmZsZXhSb3cgLnZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWJhc2lzOiA1MCU7IH1cblxuZGl2LndlbGNvbWVDb250YWluZXIgZGl2Lm9wdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDUyZW07XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMWVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAxMnB4OyB9XG5cbmRpdi53ZWxjb21lQ29udGFpbmVyIGRpdi5zdGlja3lOb3RlIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgaGVpZ2h0OiBpbml0aWFsO1xuICB3aWR0aDogaW5pdGlhbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogaW5pdGlhbDtcbiAgdG9wOiBpbml0aWFsO1xuICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNmb3JtOiBub25lOyB9XG5cbmRpdi53ZWxjb21lQ29udGFpbmVyIGRpdi5zdGlja3lOb3RlIGJsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgcGFkZGluZzogMS41ZW0gMmVtIDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbmRpdi53ZWxjb21lQ29udGFpbmVyIGRpdi5zdGlja3lOb3RlIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cblxuZGl2LndlbGNvbWVDb250YWluZXIgZGl2LnN0aWNreU5vdGUgYmxvY2txdW90ZSBmb290ZXIgaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDVweCAwIDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMmVtOyB9XG5cbmRpdi53ZWxjb21lQ29udGFpbmVyIGltZyN3ZWxjb21lSW1nSGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5kaXYjZG93bmxvYWRQREZzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAyZW0gMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG5kaXYjZG93bmxvYWRQREZzIGlmcmFtZSB7XG4gIGJvcmRlcjogMDsgfVxuXG5kaXYjZG93bmxvYWRQREZzIC5ib2R5IHtcbiAgaGVpZ2h0OiA5NSU7IH1cblxuLmRvd25sb2FkUERGc0RpYWxvZyB7XG4gIG1heC13aWR0aDogOTAlO1xuICBtYXJnaW46IDRlbSAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmJ1dHRvbi5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIHdpZHRoOiAxMmVtO1xuICBoZWlnaHQ6IDRlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cblxuLypcbmEge1xuICAgIGNvbG9yOiAjMTY1Njk0O1xufVxuKi9cbnRkLmRpc2NsYWltZXIge1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNiYmVlOGE7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBwYWRkaW5nOiAxZW0gMmVtO1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG5cbmRpdi5kb3dubG9hZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAyZW07IH1cblxuZGl2LmRvd25sb2FkcyA+IHNwYW4ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5kaXYuZG93bmxvYWRzIGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDRweDsgfVxuXG5kaXYuZG93bmxvYWRzIGJ1dHRvbjpob3ZlciB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCAjMjQ2YmEzOyB9XG5cbmRpdi5kb3dubG9hZHMgYnV0dG9uLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmRvd25sb2FkcyAudWktYnV0dG9uLXRleHQge1xuICBsaW5lLWhlaWdodDogMS4xICFpbXBvcnRhbnQ7IH1cblxuLndlbGNvbWVMb25nTGluZSB7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuXG4ud2VsY29tZUxvbmdMaW5lIHNwYW4ge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggNXB4IDAgMTBweDsgfVxuXG4uY3VzdG9tZXJFbWFpbCBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8qIE1lZGlhIFF1ZXJpZXNcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU21hbGwgb25seSA8NjQwICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgdGFibGUuaW5mb3JtYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogaW5pdGlhbDsgfVxuICAud2VsY29tZUxvbmdMaW5lIHNwYW4ge1xuICAgIGRpc3BsYXk6IGluaGVyaXQ7IH0gfVxuXG4vKiBNZWRpdW0gYW5kIHVwID42NDAgKi9cbi8qIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHt9XG5cblxuLyogVXAgdG8gTGFyZ2UgPDEwMjQgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgZGl2LndlbGNvbWVDb250YWluZXIgZGl2Lm9wdGlvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG8gM2VtO1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuLyogUFJJTlQgU1RZTEVTICovXG5AbWVkaWEgcHJpbnQge1xuICBkaXYuaGVhZGVyLFxuICBkaXYjcHJvZ3Jlc3NiYXIsXG4gIHRyLmRvd25sb2FkcyxcbiAgZGl2LmRvd25sb2FkcyxcbiAgYSNzdGFydE92ZXIsXG4gIGRpdi5zdGlja3lOb3RlLFxuICBzcGFuI3JlcG9OYW1lIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmVycm9yQ29udGVudCB7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLmVycm9yQ29udGVudCBoNCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmVycm9yQ29udGVudCAuZXJyb3JIZWxwIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWU5ZTllO1xuICAgIGJhY2tncm91bmQ6ICMxMjEyMTI7IH1cbiAgLmVycm9yQ29udGVudCAuZXJyb3JEZWJ1Z0luZm8ge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmxvZ2luQm94IC5qcy1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOWU5ZTllO1xuICBib3JkZXItcmFkaXVzOiAxMnB4OyB9XG5cbi5maXJzdFRpbWVVc2VyIHtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5maXJzdFRpbWVVc2VyIGEge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmZpcnN0VGltZVVzZXIgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnF1aWNrcGF5IHtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5xdWlja3BheSBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuYm9keS5sb2dpbkhlbHAgZGl2LnNlY3VyaXR5UXVlc3Rpb25zTGlzdCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuYm9keS5sb2dpbkhlbHAgZGl2LnNlY3VyaXR5UXVlc3Rpb25zIGRpdi5maWVsZFdyYXAge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbmJvZHkubG9naW5IZWxwIGRpdi5maWVsZFdyYXAge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbmJvZHkubG9naW5IZWxwIHAuaGVscFBob25lIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40ZW07IH1cblxuYm9keS5sb2dpbkhlbHAgaDMuc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgY29sb3I6ICMwMGE2MDA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4ubW9kYWxSZWF1dGhGb3JtIC5jdXJyZW50VXNlcm5hbWUge1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4iLCIvKiBBSkFYIHJlc3BvbnNlIGFsZXJ0IGJhciAqL1xuLmFsZXJ0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMC41ZW0gMmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJHcmF5O1xuICAgIGJvcmRlci10b3A6IDAgbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnRZZWxsb3c7XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5qcy1icm93c2VyV2FybmluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnRZZWxsb3c7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLmNhcmRMYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgcGFkZGluZzogMC41cmVtO1xuXG4gICAgPiAuY2FyZCxcbiAgICA+IC5jYXJkR3JvdXAge1xuICAgICAgICBtYXJnaW46IDAuNXJlbTtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1cmVtKSB7XG4gICAgLmNhcmRMYXlvdXQge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgID4gLmNhcmQge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtO1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXJHcmF5O1xuXG4gICAgPiBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJkSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk0O1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWFyZ2luOiAtMXJlbSAtMXJlbSAxcmVtO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwLjI1ZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuXG4gICAgaDQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cblxuICAgICYuYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEJsdWU7XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmRBY3Rpb25zIHtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuMjVlbTtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2FyZE1ldGEge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWFyZ2luOiAxcmVtIC0xcmVtIC0xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG4iLCIuanMtZGF0ZXBpY2tlcldpZGdldCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDAuMjVlbTtcblxuICAgIC5qcy1kYXRlcGlja2VyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgLy8gUmVtb3ZlIGRlZmF1bHQgdG9wIG1hcmdpbiBzbyB3ZSBjYW4gcHV0IGl0IG9uIHRoZSB3cmFwcGVyIGluc3RlYWRcbiAgICAgICAgaGVpZ2h0OiAzLjc1ZW07XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjNlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5qcy1jbGVhckJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkZ3JheTg7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuYm9keSAucGlrYS1zaW5nbGUge1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIHotaW5kZXg6IDQ7XG5cbiAgICAucGlrYS1sZW5kYXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5NjtcblxuICAgICAgICAucGlrYS10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjJlbSAwLjFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5waWthLXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7IC8vIENvbXBlbnNhdGUgZm9yIDFweCBib3JkZXIuXG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICAgLnBpa2EtYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheTE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTEyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLXRvZGF5IC5waWthLWJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQmx1ZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1zZWxlY3RlZCAucGlrYS1idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEdyZWVuO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZW52aXJvbm1lbnRXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnRZZWxsb3c7XG4gICAgcGFkZGluZzogMC4yNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi5lbWVyZ2VuY3lOb3RpY2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbGVydFllbGxvdztcbiAgICBwYWRkaW5nOiAwLjI1ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLyogQmFzZSBTdHlsZXMgICovXG4uanMtZmx5b3V0UGFuZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8vIENsb3NlIG9uIHBhZ2UgbG9hZFxuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJi5qcy1zaG93IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICB9XG5cbiAgICBpOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBlYXNlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC4yNXJlbSAwLjI1cmVtIDAuNXJlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAzMDBtcyBhbGw7XG4gICAgICAgIGNvbG9yOiAkZ3JheTM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMHMgZWFzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRCbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggZG90dGVkICRicmFuZEdyZWVuO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmh0bWwucGFnZUxvYWRlZCAuanMtZmx5b3V0UGFuZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBGbHlvdXQgcGFuZWxzIGluIHRvcEJhciAqL1xuLnRvcEJhciAuanMtZmx5b3V0UGFuZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMC4xMjVlbSAwLjE4NzVlbSByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICAgIGJvcmRlci10b3A6IDAuMzEyNWVtIHNvbGlkICRicmFuZEdyZWVuO1xuXG4gICAgLyogQW5pbWF0ZWQgU3RhdGUgKi9cbiAgICB0cmFuc2l0aW9uOiAyMDBtcyBhbGw7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcmVtKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJi5qcy1zaG93IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMC41cmVtO1xuICAgICAgICB0b3A6IGNhbGMoLTAuODEyNXJlbSArIDFweCk7IC8vIHRyaWFuZ2xlICsgdG9wIGJvcmRlciwgYWRqdXN0IGJ5IDFweCBmb3IgRmlyZWZveFxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwcyBlYXNlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwLjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC41ZW0gc29saWQgJGJyYW5kR3JlZW47XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwLjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyR3JheTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMCBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBGbHlvdXQgcGFuZWxzIGluIG92ZXJsYXlNZW51ICAqL1xuLm92ZXJsYXlNZW51IC5qcy1mbHlvdXRQYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIGhlaWdodDogMDtcblxuICAgICYuanMtc2hvdyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmRHcmVlbiwgMTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJGJyYW5kR3JlZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vdmVybGF5TWVudSBbZGF0YS1jbGlja2FibGVdIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtZGFya2VuKCRicmFuZEdyZWVuLCA1JSk7XG4gICAgfVxuXG4gICAgJi5qcy1vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtZGFya2VuKCRicmFuZEdyZWVuLCAxMCUpO1xuICAgIH1cbn1cbiIsIi8qIEJhc2UgZm9ybSBpbnB1dCB3cmFwcGVyICovXG4uZm9ybUlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIENvbnRhaW4gaGVscCBtZW51cyB0aGF0IGFyZSBhYnNvbHV0ZSBwb3NpdGlvbmVkLlxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMWVtIDA7XG59XG5cbi8qIEdyb3VwIG9mIGZvcm0gaW5wdXQgd3JhcHBlcnMgKi9cbi5mb3JtSW5wdXRHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAuNWVtIC0wLjVlbTtcblxuICAgIC5mb3JtSW5wdXQge1xuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICBtYXJnaW46IDAuNWVtO1xuICAgIH1cbn1cblxuLyogUGxhY2Vob2xkZXIgZm9yIGRpc2FibGVkIGlucHV0ICovXG4uZm9ybUlucHV0RGlzYWJsZWQge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwLjVlbSAwIDA7XG59XG5cbi8qIElucHV0IGhlbHBlciB0ZXh0ICovXG4uZm9ybUlucHV0TWV0YSB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBtYXJnaW46IDAuMjVlbSAwIDEuNWVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAkZ3JheTM7XG4gICAgfVxufVxuXG4vKiBGb3JtIGFjdGlvbnMgKHN1Ym1pdC9jYW5jZWwpICovXG4uZm9ybUFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxLjVyZW0gLTAuNXJlbSAwO1xuXG4gICAgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgfVxufVxuXG5sYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBDb250YWluIGNoaWxkIGhlbHAgbWVudXMgdGhhdCBhcmUgYWJzb2x1dGUgcG9zaXRpb25lZC5cbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG4gICAgY29sb3I6ICRibGFjaztcblxuICAgIC8qIFdoZW4gdGhlIGxhYmVsIGlzIHRoZSBlcnJvciB3cmFwcGVyIChsaWtlIGZvciBjaGVja2JveGVzKSAqL1xuICAgICYuZXJyb3Ige1xuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICB9XG5cbiAgICAvKiBPcHRpb25hbCBmaWVsZHMgKi9cbiAgICAmLm9wdGlvbmFsOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKG9wdGlvbmFsKSc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAkZ3JheTk7XG4gICAgfVxufVxuXG4vKiBIaWRlIHBsYWNlaG9sZGVyIHRleHQgb24gaW5wdXQgZm9jdXMgKFdlYmtpdCkgKi9cbmlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEhpZGUgcGxhY2Vob2xkZXIgdGV4dCBvbiBpbnB1dCBmb2N1cyAoTW96aWxsYSkgKi9cbmlucHV0OmZvY3VzOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpbnB1dHMgKi9cbmlucHV0LFxuaW5wdXQ6dmFsaWQge1xuICAgIGNvbG9yOiAkZ3JheTE7XG59XG5cbi8qIEVycm9yIGNvbG9yIGZvciBpbnB1dHMgd2l0aCBpbnZhbGlkIHZhbHVlcyBhcyBkZXRlcm1pbmVkIGJ5IHRoZSB1c2VyJ3MgYnJvd3NlciAqL1xuaW5wdXQ6aW52YWxpZCB7XG4gICAgY29sb3I6ICRlcnJvclJlZDtcbn1cblxuLyogUmVhZC1vbmx5IGlucHV0cyAqL1xuaW5wdXRbcmVhZG9ubHldLFxuaW5wdXRbcmVhZG9ubHk9J3JlYWRvbmx5J10ge1xuICAgIGNvbG9yOiAkZ3JheTk7XG59XG5cbi8qIEJhc2UgZm9ybSBpbnB1dCBzdHlsZXMgKi9cbmZvcm0ge1xuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgIGlucHV0W3R5cGU9J3NlbGVjdCddLFxuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyR3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgIGlucHV0W3R5cGU9J3NlbGVjdCddLFxuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgc2VsZWN0IHtcbiAgICAgICAgaGVpZ2h0OiAzLjc1ZW07XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBtaW4taGVpZ2h0OiA1ZW07XG4gICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgfVxufVxuXG4vKiBWYWxpZGF0aW9uIGVycm9ycyAqL1xuZm9ybSB7XG4gICAgLmVycm9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGVycm9yUmVkICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuXG4gICAgICAgICYuaGFzLWVycm9yLWhlbHAge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zZW0gMC4zZW0gMCAwO1xuXG4gICAgICAgICAgICAmLnJhZGlvR3JvdXAsXG4gICAgICAgICAgICAmLmZvcm1SYWRpbyxcbiAgICAgICAgICAgICYuY2hlY2tib3hHcm91cCxcbiAgICAgICAgICAgICYuZm9ybUNoZWNrYm94IHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjNlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3JvdXBMYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yLWhlbHAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNWVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGVycm9yUmVkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMC4zZW0gMC4zZW07XG4gICAgfVxufVxuXG4vKiBDdXN0b20gU2VsZWN0IHdpZGdldHMgKi9cbi5zZWxlY3RXaWRnZXQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMC43NWVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBib3JkZXItdG9wOiAwLjc1ZW0gc29saWQgJGdyYXkxMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDAuNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNWVtOyAvLyBDb21wZW5zYXRlIGZvciB0b3AgbWFyZ2luIG9uIGlucHV0IGZpZWxkLlxuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuM2VtICFpbXBvcnRhbnQ7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3B0aW9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBDdXN0b20gQ2hlY2tib3hlcyBhbmQgUmFkaW9zICovXG4uZm9ybUNoZWNrYm94LFxuLmZvcm1SYWRpbyB7XG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLy8gSGlkZSBidXQgYWxsb3cgdGFiIHN0b3BzXG4gICAgaW5wdXQge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBpbnB1dCB+ICoge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEhpZGUgYWN0aXZlIHN0YXRlIHVudGlsIGNoZWNrZWRcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZEdyZWVuO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjIyLCAxLjMpOyAvLyBBbmltYXRlIHN0YXRlIGNoYW5nZXNcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAwMDEpOyAvLyBGb3JjZSBzdWJwaXhlbCByZW5kZXJpbmcuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dDpjaGVja2VkIH4gKjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRicmFuZEdyZWVuO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkICRicmFuZEJsdWU7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAwLjI1ZW07XG4gICAgfVxufVxuXG4uZm9ybVJhZGlvIHtcbiAgICBpbnB1dCB+ICo6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgY29udGVudDogJ1xcZjExMSc7XG4gICAgfVxufVxuXG4uZm9ybUNoZWNrYm94IHtcbiAgICBpbnB1dCB+ICo6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICBjb250ZW50OiAnXFwyNzE0JztcbiAgICB9XG59XG5cbi5jaGVja2JveEdyb3VwLFxuLnJhZGlvR3JvdXAge1xuICAgIC5ncm91cExhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuZm9ybUNoZWNrYm94LFxuICAgIC5mb3JtUmFkaW8ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICB9XG59XG5cbi8qIElubGluZSBsaW5rcyB0byBmb3JtIGhlbHAgcG9wdXBzICovXG4uanMtaGVscExpbmssXG4uanMtaGVscExpbmtNb2RhbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMC4yNWVtO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRicmFuZEJsdWU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICB9XG5cbiAgICBpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxufVxuXG4vKiBGb3JtIGhlbHAgcG9wdXBzICovXG4uanMtaGVscE1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogLTFlbTtcbiAgICByaWdodDogMmVtO1xuICAgIHdpZHRoOiAyMGVtO1xuICAgIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGNvbG9yOiAkZ3JheTM7XG4gICAgYm9yZGVyOiAwLjI1ZW0gc29saWQgJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICAgIGJhY2tncm91bmQ6ICRncmF5MTE7XG4gICAgYm94LXNoYWRvdzogMCAwLjI1ZW0gMC4yNWVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLy8gIEZvcmNlIEhhcmR3YXJlIEFjY2VsZXJhdGlvbiBpbiBXZWJLaXRcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IC8vIERlZmF1bHQgc3RhdGUgKGNsb3NlZClcblxuICAgIC8qIEFuaW1hdGVkIFN0YXRlICovXG4gICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxLjVlbSkgc2NhbGUoMC45KTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5qcy1vcGVuIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBjb2xvcjogJGdyYXk0O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC51aUxpc3Qge1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG59XG5cbi5qcy1oZWxwQ2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTAuMTVlbTtcbiAgICByaWdodDogMC4xNWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGVycm9yUmVkO1xuICAgIH1cbn1cbiIsIi5saXN0TGF5b3V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgbWF4LXdpZHRoOiA1MGVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyR3JheTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlckdyYXk7XG5cbiAgICAubGlzdEl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlckdyYXk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDMwMG1zIGFsbDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMCBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0NXJlbSkge1xuICAgIC5saXN0TGF5b3V0IHtcbiAgICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyR3JheTtcbiAgICB9XG59XG4iLCIvKiBNZXRyb05ldCBMb2dvIExvYWRpbmcgQW5pbWF0aW9uICovXG4jbG9hZGluZ092ZXJsYXkge1xuICAgIHotaW5kZXg6IDQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuXG4jbG9hZGVyIHtcbiAgICBhbmltYXRpb246IHNwaW5JdCAzcyBlYXNlIGluZmluaXRlO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHdpZHRoOiA2MnB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTMxcHg7IC8vIEhhbGYgb2Ygd2lkdGhcbiAgICBtYXJnaW4tdG9wOiAtNDBweDsgLy8gSGFsZiBvZiBoZWlnaHRcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIEhpZGUgdGhlIFwiTG9hZGluZ1wiIHBsYWNlaG9sZGVyIHRleHQuXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm9aV2xuYUhROUlqazRJaUIzYVdSMGFEMGlOellpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrSUNBZ0lDQWdDaUFnSUNBOGNHRjBhQ0JtYVd4c1BTSnViMjVsSWlCemRISnZhMlU5SWlNM1FVTXhORE1pSUhOMGNtOXJaUzEzYVdSMGFEMGlPQ0lnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lpQmtQU0pOSURFM0lESXdJR0VnTXpBc016QWdNQ0F4SURBZ016WXNNQ0lnTHo0S0lDQWdJRHh3WVhSb0lHWnBiR3c5SW01dmJtVWlJSE4wY205clpUMGlJemRCUXpFME15SWdjM1J5YjJ0bExYZHBaSFJvUFNJNElpQnpkSEp2YTJVdGJHbHVaV05oY0QwaWNtOTFibVFpSUdROUlrMGdNelVzTlNCc0lEQXNNemdpSUM4K0Nqd3ZjM1puUGc9PScpO1xufVxuXG5Aa2V5ZnJhbWVzIHNwaW5JdCB7XG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG5cbiAgICA3MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIiwiLmpzLW1vZGFsV3JhcCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLmpzLW1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1dmg7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiA0NWVtO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMmVtKTtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgIGJhY2tncm91bmQ6ICRncmF5MTI7XG4gICAgYm94LXNoYWRvdzogMC4xMjVlbSAwLjEyNWVtIDAuNzVlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgJi5qcy10cmFuc2Zvcm1JbixcbiAgICAmLmpzLXRyYW5zZm9ybU91dCB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIDAuNXM7XG4gICAgfVxuXG4gICAgJi5qcy10cmFuc2Zvcm1JbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpO1xuICAgIH1cblxuICAgICYuanMtdHJhbnNmb3JtT3V0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cbn1cblxuLmNsb3NlWCB7XG4gICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMWVtO1xuICAgIHJpZ2h0OiAtMWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAyZW07XG4gICAgaGVpZ2h0OiAyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MztcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjpiZWZvcmUsXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3JSZWQ7XG4gICAgfVxufVxuIiwiLm5hdkxpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IDMwMG1zO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG4vKiBOYXYgbGlua3MgaW4gdG9wQmFyICovXG4udG9wQmFyIC5uYXZMaW5rcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLnRvcEJhciAubmF2TGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cblxuLyogTmF2IGxpbmtzIGluIG92ZXJsYXlNZW51ICovXG4ub3ZlcmxheU1lbnUgLm5hdkxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBjb2xvcjogJGdyYXkzO1xufVxuIiwiJGJ1cmdlcldlaWdodDogMC4xMjU7XG4kYnVyZ2VyU2l6ZTogJGJ1cmdlcldlaWdodCAqIDE1O1xuXG4uYnVyZ2VyV3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2Utb3V0IDAuMXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgJHdoaXRlO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgcmlnaHQ6ICRvdmVybGF5TWVudVdpZHRoICsgcmVtO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIC5vcGVuLm92ZXJsYXkgJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmF2QnVyZ2VyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkYnVyZ2VyU2l6ZSArIHVucXVvdGUoJ3JlbScpO1xuICAgIGhlaWdodDogJGJ1cmdlclNpemUgKyB1bnF1b3RlKCdyZW0nKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICBib3JkZXItdG9wOiAoJGJ1cmdlclNpemUgLSAkYnVyZ2VyV2VpZ2h0KSAvIDIgKyB1bnF1b3RlKCdyZW0nKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAoJGJ1cmdlclNpemUgLSAkYnVyZ2VyV2VpZ2h0KSAvIDIgKyB1bnF1b3RlKCdyZW0nKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6ICRidXJnZXJXZWlnaHQgKyB1bnF1b3RlKCdyZW0nKTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEuMDAwMSk7IC8vIFNjYWxlIGZvcmNlcyBzdWJwaXhlbCByZW5kZXJpbmcuXG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgd2lsbC1jaGFuZ2U6IHJvdGF0ZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IHVucXVvdGUoJy0nKSArICgkYnVyZ2VyV2VpZ2h0ICogNSkgKyB1bnF1b3RlKCdyZW0nKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogdW5xdW90ZSgnLScpICsgKCRidXJnZXJXZWlnaHQgKiA1KSArIHVucXVvdGUoJ3JlbScpO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSBzY2FsZSgxLjAwMDEpOyAvLyBTY2FsZSBmb3JjZXMgc3VicGl4ZWwgcmVuZGVyaW5nLlxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDExMCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKSBzY2FsZSgxLjAwMDEpOyAvLyBTY2FsZSBmb3JjZXMgc3VicGl4ZWwgcmVuZGVyaW5nLlxuICAgICAgICB9XG4gICAgfVxufVxuXG4ub3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcblxuICAgICYub3BlbiB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ub3ZlcmxheU1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IC8qIEhpZGUgdW50aWwgRE9NIGNvbnRlbnQgcmVhZHkgaXMgY2FsbGVkICovXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogJG92ZXJsYXlNZW51V2lkdGggKyByZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgY3ViaWMtYmV6aWVyKDAuNzcsIDAuMiwgMC4wNSwgMSksXG4gICAgICAgIGJhY2tncm91bmQgMC41cyBjdWJpYy1iZXppZXIoMC43NywgMC4yLCAwLjA1LCAxKSwgb3BhY2l0eSAwLjU1cyBlYXNlLFxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjc3LCAwLjIsIDAuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEJsdWU7XG5cbiAgICA+ICoge1xuICAgICAgICB2aXNpYmlsaXR5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzIpO1xuICAgICAgICB0cmFuc2l0aW9uOiAxcyBhbGw7XG5cbiAgICAgICAgLyogQW5pbWF0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cblxuICAgICYub3BlbiA+ICoge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLyogV2UgbmVlZCB0byBoaWRlIHRoZSBvZmYtY2FudmFzIG1lbnUgZHVyaW5nIHBhZ2UgbG9hZCB0byBhdm9pZCBmbGFzaGluZyBiZWZvcmUgaXQncyBoaWRkZW4uICovXG5odG1sLnBhZ2VMb2FkZWQgLm92ZXJsYXlNZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qIE11bHRpLXNjcmVlbiBwYWdlcyAqL1xuLmpzLXNjcmVlbnMge1xuICAgIC5qcy1zY3JlZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBEZWZhdWx0IHN0YXRlIChhdm9pZHMgZmxhc2hpbmcgYWxsIHNjcmVlbnMgYmVmb3JlIEpTIGxvYWRzKVxuXG4gICAgICAgID4gaDI6Zmlyc3QtY2hpbGQsXG4gICAgICAgID4gaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zdGF0dXNNZXNzYWdlcyB7XG4gICAgbWF4LXdpZHRoOiA0MGVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDFlbSAxZW0gMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlckdyYXk7XG4gICAgICAgIGNvbG9yOiAkZ3JheTY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmLnRlbXBsYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGF0dXNNZXNzYWdlcyAubWVzc2FnZSB7XG4gICAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMWVtIDAuN2VtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWxzIHtcbiAgICAgICAgcGFkZGluZzogMWVtIDEuNWVtIDFlbSAxZW07XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICYuaDQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjNlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWNsb3NlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjI1ZW07XG4gICAgICAgIHJpZ2h0OiAwLjI1ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjY7XG4gICAgICAgIGNvbG9yOiAkZ3JheTk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogMjAwbXM7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXk0O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBTdWNjZXNzIE1lc3NhZ2VzICovXG4gICAgJi5zdWNjZXNzIHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEdyZWVuO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwMGMnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVXJnZW50IE1lc3NhZ2VzICovXG4gICAgJi51cmdlbnQge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVycm9yUmVkO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwNzEnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogV2FybmluZyBNZXNzYWdlcyAqL1xuICAgICYud2FybmluZyB7XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZ09yYW5nZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTJhJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIEluZm8gTWVzc2FnZXMgKi9cbiAgICAmLmluZm8ge1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQmx1ZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMDVhJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5qcy1yZXNwb25zaXZlVGFibGUge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICB0YWJsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIH1cblxuICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXkxMjtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5qcy1yZXNwb25zaXZlVGFibGUge1xuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgcGFkZGluZzogMC42MjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMTI1ZW07XG4gICAgICAgIH1cblxuICAgICAgICB0ZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vIGNvbnRlbnQgaXMgc2V0IHdpdGggZHluYW1pYyBzdHlsZXMgZ2VuZXJhdGVkIGluIEphdmFTY3JpcHRcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRvcEJhckhlaWdodDogM3JlbTtcblxuLnBhZ2VDb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogJHRvcEJhckhlaWdodDtcbn1cblxuLnRvcEJhciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0OyAvLyBFbnN1cmUgaGVpZ2h0IGRvZXNuJ3QgY2hhbmdlIHdoaWxlIHdlYiBmb250cyBsb2FkLlxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtZGFya2VuKCRicmFuZEJsdWUsIDE1JSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAuNjI1ZW0gcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuXG4gICAgLy8gV2UgZHVwbGljYXRlIC50b3BCYXIgaW5zaWRlIC5vdmVybGF5IHNvIHRoZSBoYW1idXJnZXIgaWNvbiBhbmltYXRlcyBjb3JyZWN0bHlcbiAgICAvLyBvbiBvcGVuL2Nsb3NlLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgZHVwbGljYXRlIGJhciB3aXRoaW4gLm92ZXJsYXkgaXMgaW52aXNpYmxlXG4gICAgLy8gYW5kIG9ubHkgdXNlZCB0byBtYW5hZ2UgdGhlIGxheW91dC9hbmltYXRpb24gZm9yIHRoZSBoYW1idXJnZXIgaWNvbi5cbiAgICAub3ZlcmxheSAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnJhbmRpbmcge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiAzMDBtcztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEuMjVyZW07IC8vIElFMTEgaGFzIGFuIGlzc3VlIHdpdGggdGhlIG5vcm1hbCBoZWlnaHQgcHJvcGVydHkuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwbGljYXRpb25OYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBEb24ndCB3cmFwIGxpbmVzIChFZGdlIGlzc3VlKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIEhpZGUgb24gc21hbGwgc2NyZWVuc1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDAuMjVlbSAxZW07XG4gICAgfVxuXG4gICAgLm1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBIaWRlIG9uIHNtYWxsIHNjcmVlbnNcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMWVtO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVzZXJJbmZvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZSBvbiBzbWFsbCBzY3JlZW5zXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIC5uYXZUb2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbi8qIFN3aXRjaCB0byBub3JtYWwgbmF2IG9uIGxhcmdlciBzY3JlZW5zICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MHJlbSkge1xuICAgIC50b3BCYXIge1xuICAgICAgICAubmF2VG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LFxuICAgICAgICAubWVudSxcbiAgICAgICAgLnVzZXJJbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKiBVc2VyIE1lbnUgKi9cbi51c2VySW5mbyB7XG4gICAgLnVzZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IDMwMG1zO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjE1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMC4yNWVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMC4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMjVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVzZXJJY29uIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwLjI1ZW0gcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbn1cblxuLyogRmx5b3V0IHBhbmVscyBpbiB0b3BCYXIgKi9cbi50b3BCYXIgLnVzZXJJbmZvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuanMtZmx5b3V0UGFuZWwge1xuICAgICAgICB0b3A6IDIuN3JlbTtcbiAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAudXNlciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRmx5b3V0IHBhbmVscyBpbiBvdmVybGF5TWVudSAqL1xuLm92ZXJsYXlNZW51IC51c2VySW5mbyB7XG4gICAgLnVzZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMC41ZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZXJyb3JDb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG87XG4gICAgcGFkZGluZzogM3JlbTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiAkZXJyb3JSZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjI1ZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBjb2xvcjogJGdyYXkzO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMC41ZW0gMDtcbiAgICB9XG5cbiAgICAuZXJyb3JIZWxwIHtcbiAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZEJsdWU7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3JEZWJ1Z0luZm8ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTEyO1xuICAgIH1cbn1cbiIsIi5leGFtcGxlQ29sb3JzIHtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLnN3YXRjaCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDAuMjVlbSAwLjVlbTtcbiAgICAgICAgbWFyZ2luOiAwLjI1ZW07XG5cbiAgICAgICAgJi5kYXJrVGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQnJhbmQgQ29sb3JzXG4gICAgICAgICYuYnJhbmRCbHVlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgJi5icmFuZEdyZWVuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZEdyZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkaXRpb25hbCBDb2xvcnNcbiAgICAgICAgJi5hbGVydFllbGxvdyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWxlcnRZZWxsb3c7XG4gICAgICAgIH1cbiAgICAgICAgJi53YXJuaW5nT3JhbmdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nT3JhbmdlO1xuICAgICAgICB9XG4gICAgICAgICYuZXJyb3JSZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVycm9yUmVkO1xuICAgICAgICB9XG4gICAgICAgICYuZGFya1VJR3JheTEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtVSUdyYXkxO1xuICAgICAgICB9XG4gICAgICAgICYuZGFya1VJR3JheTIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtVSUdyYXkyO1xuICAgICAgICB9XG4gICAgICAgICYuYm9yZGVyR3JheSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyR3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJhc2UgQ29sb3JzXG4gICAgICAgICYuZ3JheTEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxO1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkyO1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkzO1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk0O1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk1O1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk2O1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk3O1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk4O1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk5O1xuICAgICAgICB9XG4gICAgICAgICYuZ3JheTEwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5MTA7XG4gICAgICAgIH1cbiAgICAgICAgJi5ncmF5MTEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxMTtcbiAgICAgICAgfVxuICAgICAgICAmLmdyYXkxMiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTEyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc21hcnREYXJrZW5FeGFtcGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAtMC41ZW07XG5cbiAgICAuc3dhdGNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNGVtO1xuICAgICAgICB3aWR0aDogNGVtO1xuICAgICAgICBtYXJnaW46IDAuNWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0ZW07XG4gICAgfVxuXG4gICAgLm9yaWdpbmFsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kR3JlZW47XG4gICAgfVxuXG4gICAgLnBsdXNUZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRicmFuZEdyZWVuLCAxMCUpO1xuICAgIH1cblxuICAgIC5wbHVzVHdlbnR5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYnJhbmRHcmVlbiwgMjAlKTtcbiAgICB9XG5cbiAgICAubWludXNUZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzbWFydC1kYXJrZW4oJGJyYW5kR3JlZW4sIDEwJSk7XG4gICAgfVxuXG4gICAgLm1pbnVzVHdlbnR5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc21hcnQtZGFya2VuKCRicmFuZEdyZWVuLCAyMCUpO1xuICAgIH1cbn1cbiIsIi5jb2duaXRvTG9naW4ge1xuICBidXR0b24ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9ICAgICAgICAgICAgXG4gICAgICAgICAgICAgICBcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5sb2dpbkJveCB7XG4gICAgd2lkdGg6IDI1ZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMmVtIGF1dG8gNWVtO1xuXG4gICAgLmpzLXNjcmVlbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuanMtc2NyZWVuIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyR3JheTtcbiAgICB9XG5cbiAgICAuYm94VGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoQWNjb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXkzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ2luRm9ybSAuZm9ybUFjdGlvbnMgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uanMtc2NyZWVuW2RhdGEtbmFtZT0nbG9naW5TdWNjZXNzJ10ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6ICRncmF5NTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIH1cbn1cblxuLyogTG9hZGluZyBhbmltYXRpb24gKi9cbi5sb2FkZXJCYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEuNWVtIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgcGFkZGluZzogMXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTM1ZGVnLFxuICAgICAgICByZ2IoOTcsIDEzNSwgMjQyKSAwJSxcbiAgICAgICAgcmdiKDk3LCAxMzUsIDI0MikgMjUlLFxuICAgICAgICByZ2IoODYsIDEyMSwgMjE4KSAyNSUsXG4gICAgICAgIHJnYig4NiwgMTIxLCAyMTgpIDUwJSxcbiAgICAgICAgcmdiKDk3LCAxMzUsIDI0MikgNTAlLFxuICAgICAgICByZ2IoOTcsIDEzNSwgMjQyKSA3NSUsXG4gICAgICAgIHJnYig4NiwgMTIxLCAyMTgpIDc1JSxcbiAgICAgICAgcmdiKDg2LCAxMjEsIDIxOCkgMTAwJVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxZW0gMWVtO1xuICAgIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gICAgYW5pbWF0aW9uOiBsb2FkaW5nIDFzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjQ3LCAyNDcsIDI0Nyk7XG4gICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MgNXMgZWFzZSBmb3J3YXJkcztcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZyB7XG4gICAgZnJvbSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMWVtIDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzIHtcbiAgICAwJSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG59XG4iLCIubm90aWNlTGF5b3V0IHtcbiAgICAucGFnZUNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDI1cmVtO1xuICAgICAgICBtYXJnaW46IDNyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkxMjtcbiAgICAgICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgfVxuXG4gICAgLmJyYW5kaW5nIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgIGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMy5lcnJvciB7XG4gICAgICAgICAgICBjb2xvcjogJGVycm9yUmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3JEZWJ1Z0luZm8ge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgIH1cblxuICAgIC5iYWNrIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICAgICAgICAgICAgY29udGVudDogJ1xcZjA2MCc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmVycm9yQm94IHtcbiAgICB3aWR0aDogMjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyZW0gYXV0byA1ZW07XG5cbiAgICAuanMtc2NyZWVucyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5qcy1zY3JlZW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5Qm9yZGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIC5ib3hUaXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRpbnVlQnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogJ1RpdGlsbGl1bSBXZWInLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbjogMC41ZW0gYXV0bztcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5jb250aW51ZUJ1dHRvbkRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmNvbnRpbnVlQnV0dG9uLmluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRicmFuZEdyZWVuLCA0NSUpO1xuICAgIGNvbG9yOiBsaWdodGVuKCRicmFuZEdyZWVuLCAyNSUpO1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5jb250aW51ZUJ1dHRvbi5pbmFjdGl2ZTpob3Zlcixcbi5jb250aW51ZUJ1dHRvbi5pbmFjdGl2ZTpmb2N1cyxcbi5jb250aW51ZUJ1dHRvbi5pbmFjdGl2ZTphY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbiIsImJvZHkge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAyLjI1ZGVnLCAjNTcyQUE4IDAlLCAjMDA4Mzc5IDEwMCUpO1xufVxuXG4iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdMZXhlbmQnO1xuICBzcmM6IHVybCgnL2luY2x1ZGVzL2Fzc2V0cy90aGVtZXMvbWV0cm9uZXRMWUkvTGV4ZW5kLVZhcmlhYmxlRm9udF93Z2h0LnR0ZicpO1xufVxuXG5odG1sIHtcbiAgICAvKiBmb250LXNpemU6IDAuOGVtOyAqL1xuICAgIGZvbnQtZmFtaWx5OiBMZXhlbmQsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG5hIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuXG5oMSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuaDIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG5cbi50ZXJtcy1ub3RlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbiIsIi5lcnJvckNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgIGg0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgLmVycm9ySGVscCB7XG4gICAgICAgIGJvcmRlcjogJGdyYXlCb3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5MTtcbiAgICB9XG5cbiAgICAuZXJyb3JEZWJ1Z0luZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgfVxufVxuIiwiLmxvZ2luQm94IHtcbiAgICAuanMtc2NyZWVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICBib3JkZXI6ICRncmF5Qm9yZGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZ3JhZGllbnRCb3JkZXJSYWRpdXM7XG4gICAgfVxufVxuXG4uZmlyc3RUaW1lVXNlciB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbn1cblxuLnF1aWNrcGF5IHtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbmJvZHkubG9naW5IZWxwIGRpdi5zZWN1cml0eVF1ZXN0aW9uc0xpc3Qge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbmJvZHkubG9naW5IZWxwIGRpdi5zZWN1cml0eVF1ZXN0aW9ucyBkaXYuZmllbGRXcmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG5ib2R5LmxvZ2luSGVscCBkaXYuZmllbGRXcmFwIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbmJvZHkubG9naW5IZWxwIHAuaGVscFBob25lIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG59XG5cbmJvZHkubG9naW5IZWxwIGgzLnN1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiAkZ3JlZW4yO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1vZGFsUmVhdXRoRm9ybSAuY3VycmVudFVzZXJuYW1lIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuIiwiLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBiYWNrZ3JvdW5kOiAkeWVsbG93MTtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uUmFkaXVzICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvdXRsaW5lLW9mZnNldDogaW5pdGlhbDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR5ZWxsb3cyO1xuICAgIH1cbn1cbiIsIi5hbGVydCB7XG4gIGJhY2tncm91bmQ6ICRncmF5MztcbiAgYm9yZGVyOiAkZ3JheUJvcmRlcjtcbiAgY29sb3I6ICR3aGl0ZTtcbn1cbiIsIiNsb2FkZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW5jbHVkZXMvYXNzZXRzL3RoZW1lcy9tZXRyb25ldExZSS9tZXRyb25ldC1tb25vZ3JhbS5zdmcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoOCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuQGtleWZyYW1lcyBzcGluSXQge1xuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMTIpO1xuICB9XG59XG4iLCIvKiBDdXN0b20gc3RhdHVzIG1lc3NhZ2UgbGF5b3V0ICovXG4vKiBOT1RFOiBvdmVycmlkZXMgc3R5bGVzIGZyb20gZnJhbWV3b3JrX2V4dCAqL1xuLnN0YXR1c01lc3NhZ2VzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAxZW07XG4gICAgcmlnaHQ6IDFlbTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMC43NXJlbSByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgICAgIGJvcmRlcjogMCBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJHRvcEJhckhlaWdodDogNHJlbTtcblxuLnRvcEJhciB7XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0OyAvLyBFbnN1cmUgaGVpZ2h0IGRvZXNuJ3QgY2hhbmdlIHdoaWxlIHdlYiBmb250cyBsb2FkLlxuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuXG4gICAgLmJyYW5kaW5nIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxlZnQ6IC02NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcGxpY2F0aW9uTmFtZSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogLTE1MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiJGdyYXk6ICNmNWY1ZjU7XG5cbiNjYWxlbmRhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlcjogJGdyYXlCb3JkZXI7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICBtYXgtaGVpZ2h0OiA5NTBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogJGdyYWRpZW50Qm9yZGVyUmFkaXVzO1xuXG4gICAgLmluYWN0aXZlQ2FsZW5kYXIge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgfVxuXG4gICAgLmNhbGVuZGFyTWFpbiB7XG4gICAgICAgIC5oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGhlaWdodDogNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1ZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDMwMG1zIGFsbDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaG92ZXJlZEFycm93IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTM7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3VycmVudE1vbnRoIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZGF5c09mV2VlayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAuZGF5T2ZXZWVrIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxNC4yOCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyZWFrIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6ICRncmF5Qm9yZGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2FsZW5kYXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuXG4gICAgICAgICAgICAud2VlayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAgICAgICAgIC5kYXkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNWVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVlbTtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTQuMjglO1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMzAwbXMgYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDM1JSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRheS5pbmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC51bnNlbGVjdGFibGUge1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5NTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGF5LnNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDBtcyBhbGw7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGF5LnNlbGVjdGFibGUuaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXkzO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMzAwbXMgYWxsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRheS5zZWxlY3RlZC5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGF5LnNlbGVjdGVkLmJvb2tlZFBNIHtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5NTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5kYXkuc2VsZWN0ZWQuYm9va2VkUE0uaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXk1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRheS5zZWxlY3RlZC5ib29rZWRBTSB7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGF5LnNlbGVjdGVkLmJvb2tlZEFNLmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5MztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5kYXkuYm9va2VkUE0ge1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXk1O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmRheS5ib29rZWRQTS5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheTM7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGF5LmJvb2tlZEFNIHtcbiAgICAgICAgICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5NTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5kYXkuYm9va2VkQU0uaG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXkzO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxlZ2VuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcblxuICAgICAgICAgICAgLmtleSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjY1ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucG1TbG90IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQgYm90dG9tLCAkZ3JheSA1MCUsICNmZmZmZmYgNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1TbG90IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCB0b3AsICRncmF5IDUwJSwgI2ZmZmZmZiA1MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC51bmF2YWlsYWJsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkzO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkZ3JheUJvcmRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9tcHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAxMnB4IDAgJGdyYXk1O1xuICAgICAgICB3aWR0aDogMjVlbTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA2MDBtcyBjdWJpYy1iZXppZXIoMCwgMSwgMCwgMSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRncmFkaWVudEJvcmRlclJhZGl1cztcblxuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAuY2xvc2VCdXR0b24ge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogVHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xvc2VCdXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kYXlOYW1lIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnVGl0aWxsaXVtIFdlYicsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBtYXJnaW46IDAuNWVtIGF1dG87XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uRGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLmluYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3cxO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLmluYWN0aXZlOmhvdmVyLFxuICAgICAgICAuYnV0dG9uLmluYWN0aXZlOmZvY3VzLFxuICAgICAgICAuYnV0dG9uLmluYWN0aXZlOmFjdGl2ZSB7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhY2sge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgd2lkdGg6IDVlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMC41ZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAzMDBtcyBhbGw7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aW1lU2xvdHMge1xuICAgICAgICAgICAgLnRpbWVTbG90IHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMzAwbXMgYWxsO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRncmF5Qm9yZGVyO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpbWVTbG90LnVuYXZhaWxhYmxlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGltZVNsb3QudW5hdmFpbGFibGU6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aW1lU2xvdDpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aW1lU2xvdC5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXkzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb21wdC5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDBlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA2MDBtcyBsaW5lYXI7XG4gICAgfVxuXG4gICAgLnByb21wdC5pbmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgfVxufVxuIiwiZGl2Lm9yZGVyU3VtbWFyeSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5wYWdlQ29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uZGlzYWJsZU5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53ZWxjb21lSGVhZGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBtYXgtd2lkdGg6IDE5LjVlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgcGFkZGluZzogMC4zZW0gMDtcbn1cblxuLndlbGNvbWVDb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjI1ZW07XG4gICAgbWFyZ2luOiAwLjI1ZW0gMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmZsZXhSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwLjI1ZW07XG4gICAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnOic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgIH1cbn1cblxuZGl2LndlbGNvbWVDb250YWluZXIgZGl2Lm9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1MmVtO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgYm9yZGVyLXJhZGl1czogJGdyYWRpZW50Qm9yZGVyUmFkaXVzO1xufVxuXG5kaXYud2VsY29tZUNvbnRhaW5lciBkaXYuc3RpY2t5Tm90ZSB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuZGl2LndlbGNvbWVDb250YWluZXIgZGl2LnN0aWNreU5vdGUgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgcGFkZGluZzogMS41ZW0gMmVtIDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbmRpdi53ZWxjb21lQ29udGFpbmVyIGRpdi5zdGlja3lOb3RlIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMCAwO1xufVxuXG5kaXYud2VsY29tZUNvbnRhaW5lciBkaXYuc3RpY2t5Tm90ZSBibG9ja3F1b3RlIGZvb3RlciBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuZGl2LndlbGNvbWVDb250YWluZXIgaW1nI3dlbGNvbWVJbWdIZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbmRpdiNkb3dubG9hZFBERnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMmVtIDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5kaXYjZG93bmxvYWRQREZzIGlmcmFtZSB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG5kaXYjZG93bmxvYWRQREZzIC5ib2R5IHtcbiAgICBoZWlnaHQ6IDk1JTtcbn1cblxuLmRvd25sb2FkUERGc0RpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgbWFyZ2luOiA0ZW0gMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5idXR0b24uYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICB3aWR0aDogMTJlbTtcbiAgICBoZWlnaHQ6IDRlbTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKlxuYSB7XG4gICAgY29sb3I6ICMxNjU2OTQ7XG59XG4qL1xuXG50ZC5kaXNjbGFpbWVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2JiZWU4YTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBwYWRkaW5nOiAxZW0gMmVtO1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG59XG5cbmRpdi5kb3dubG9hZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuZGl2LmRvd25sb2FkcyA+IHNwYW4ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRpdi5kb3dubG9hZHMgYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG5kaXYuZG93bmxvYWRzIGJ1dHRvbjpob3ZlciB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkICMyNDZiYTM7XG59XG5cbmRpdi5kb3dubG9hZHMgYnV0dG9uLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmRvd25sb2FkcyAudWktYnV0dG9uLXRleHQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEgIWltcG9ydGFudDtcbn1cblxuLndlbGNvbWVMb25nTGluZSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xufVxuXG4ud2VsY29tZUxvbmdMaW5lIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCA1cHggMCAxMHB4O1xufVxuXG4uY3VzdG9tZXJFbWFpbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKiBNZWRpYSBRdWVyaWVzXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU21hbGwgb25seSA8NjQwICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIHRhYmxlLmluZm9ybWF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB9XG4gICAgLndlbGNvbWVMb25nTGluZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICB9XG59XG5cbi8qIE1lZGl1bSBhbmQgdXAgPjY0MCAqL1xuXG4vKiBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7fVxuXG5cbi8qIFVwIHRvIExhcmdlIDwxMDI0ICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICBkaXYud2VsY29tZUNvbnRhaW5lciBkaXYub3B0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gM2VtO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG59XG5cbi8qIFBSSU5UIFNUWUxFUyAqL1xuXG5AbWVkaWEgcHJpbnQge1xuICAgIGRpdi5oZWFkZXIsXG4gICAgZGl2I3Byb2dyZXNzYmFyLFxuICAgIHRyLmRvd25sb2FkcyxcbiAgICBkaXYuZG93bmxvYWRzLFxuICAgIGEjc3RhcnRPdmVyLFxuICAgIGRpdi5zdGlja3lOb3RlLFxuICAgIHNwYW4jcmVwb05hbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */
