@charset "UTF-8";
@-webkit-keyframes oscilate {
  0% {
    background: #dc5323; }
  50% {
    background: #e78765; }
  100% {
    background: #dc5323; } }

@-moz-keyframes oscilate {
  0% {
    background: #dc5323; }
  50% {
    background: #e78765; }
  100% {
    background: #dc5323; } }

@keyframes oscilate {
  0% {
    background: #dc5323; }
  50% {
    background: #e78765; }
  100% {
    background: #dc5323; } }

html {
  box-sizing: border-box; }

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

/**
 * x-background
 *
 * Sets a solid or semi-transparent background color.  Accepts an optional 
 * opacity (alpha) value.  Provides a solid color fallback.
 */
/**
 * x-clear
 *
 * Multi-use clear mixin for various contexts.  Accepts an optional context.
 * Default usage implements a Bourbon micro-clearfix.
 */
/**
 * x-container
 */
/**
 *
 * x-font-face
 *
 * Implements standardized site copy. Accepts arguments for
 * variants (inversions, etc.).
 *
 */
/**
 * x-hide-text
 *
 * Hides text of applied element.  Accepts no arguments. Based
 * off of a previous version of the H5BP image replacement 
 * method.  I've found it to be far more reliable than the clip
 * method.
 *
 */
/**
 * x-icon
 *
 * Implements a webfont glyph  Needs to be used within
 * a pseudo element (e.g. &:before, &:after).  Accepts a required, named
 * icon, an optional size, and an optional color.  
 */
/**
 * x-layer
 *
 * Sets a z-index value based on semantic naming as opposed to explicit integer
 * values.  Accepts a required, named layer.  Hierarchy can be modified by
 * adding directly to the $layers map stack.
 */
/**
 * x-max-size
 *
 */
button, input[type=submit] {
  background: none; }

article, aside, details, footer, header, menu, nav, section, audio, canvas, embed, figure, figure figcaption, iframe, object, video {
  display: block; }

address, cite, dfn, em, i, var {
  font-style: normal; }

button, input[type=submit], input[type=text], input[type=email], input[type=password], textarea, blockquote, dialog, dl, dl dd, menu, p, pre, form fieldset, h1, h2, h3, h4, h5, h6, select, ul, ol, figure, hr, body {
  margin: 0; }

button, input[type=submit], input[type=text], input[type=email], input[type=password], textarea, dialog, menu, form fieldset, form fieldset legend, ul, ol, table thead th, table tbody td, table tfoot td {
  padding: 0; }

button, input[type=submit], input[type=text], input[type=email], input[type=password], textarea, dialog, form fieldset, iframe {
  border: 0; }

ul, ul li, ol, ol li {
  list-style: none; }

q {
  quotes: none; }

button, input[type=submit], input[type=text], input[type=email], input[type=password], textarea {
  font-family: inherit; }

button, input[type=submit], input[type=text], input[type=email], input[type=password], textarea {
  font-size: inherit; }

button, input[type=submit] {
  outline: none;
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

input:focus[type=text], input:focus[type=email], input:focus[type=password], textarea:focus {
  outline: none; }

a {
  text-decoration: none; }
  a:active {
    outline: 0; }

/*
*
*  Global Border-Box Override
*
*  Unnecessary if Bourbon/Neat already being loaded.
*
*  * {
*    @include box-sizing(border-box);
*  }
*
*/
body {
  width: 100%; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@font-face {
  font-family: "glyphs";
  font-weight: normal;
  font-style: normal;
  src: url("/wp-content/themes/stockrover/fonts/glyphs/fonts/glyphs.eot");
  src: url("/wp-content/themes/stockrover/fonts/glyphs/fonts/glyphs.eot?#iefix") format("embedded-opentype"), url("/wp-content/themes/stockrover/fonts/glyphs/fonts/glyphs.woff") format("woff"), url("/wp-content/themes/stockrover/fonts/glyphs/fonts/glyphs.ttf") format("truetype"), url("/wp-content/themes/stockrover/fonts/glyphs/fonts/glyphs.svg#glyphs") format("svg"); }

@font-face {
  font-family: 'glyphs';
  src: url("fonts/glyphs.eot?48348k");
  src: url("fonts/glyphs.eot?48348k#iefix") format("embedded-opentype"), url("fonts/glyphs.ttf?48348k") format("truetype"), url("fonts/glyphs.woff?48348k") format("woff"), url("fonts/glyphs.svg?48348k#glyphs") format("svg");
  font-weight: normal;
  font-style: normal; }

.glyph {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'glyphs' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.glyph--film:before {
  content: ""; }

.glyph--folder:before {
  content: ""; }

.glyph--folder--open:before {
  content: ""; }

.glyph--phone:before {
  content: ""; }

.glyph--twitter:before {
  content: ""; }

.glyph--facebook:before {
  content: ""; }

.glyph--google-plus:before {
  content: ""; }

.glyph--caret--down:before {
  content: ""; }

.glyph--caret--up:before {
  content: ""; }

.glyph--caret--left:before {
  content: ""; }

.glyph--caret--right:before {
  content: ""; }

.glyph--mail:before {
  content: ""; }

.glyph--email:before {
  content: ""; }

.glyph--bullet:before {
  content: ""; }

.glyph--question:before {
  content: ""; }

.glyph--info:before {
  content: ""; }

.glyph--calendar:before {
  content: ""; }

.glyph--warning:before {
  content: ""; }

.glyph--new:before {
  content: ""; }

.glyph--close:before {
  content: ""; }

.glyph--currency:before {
  content: ""; }

.glyph--quote:before {
  content: ""; }

.glyph--edit:before {
  content: ""; }

.glyph--arrow--down:before {
  content: ""; }

.glyph--arrow--left:before {
  content: ""; }

.glyph--arrow--right:before {
  content: ""; }

.glyph--arrow--up:before {
  content: ""; }

.glyph--check:before {
  content: ""; }

.glyph--menu:before {
  content: ""; }

.glyph--checkbox--filled:before {
  content: ""; }

.glyph--checkbox:before {
  content: ""; }

.glyph--radio:before {
  content: ""; }

.glyph--radio--filled:before {
  content: ""; }

.glyph--document:before {
  content: ""; }

.glyph--home:before {
  content: ""; }

.glyph--lock:before {
  content: ""; }

.glyph--credit-card:before {
  content: ""; }

.glyph--location:before {
  content: ""; }

.glyph--clock:before {
  content: ""; }

.glyph--search:before {
  content: ""; }

.glyph--line-chart:before {
  content: ""; }

.glyph--play:before {
  content: ""; }

.application {
  font-family: 'Open Sans', sans-serif;
  background: #50b7ed;
  background: #50b7ed; }

.main {
  background: #fff;
  background: white; }

.header {
  position: relative;
  z-index: 10;
  height: 3.125em;
  width: 100%;
  display: table;
  background: #000; }
  @media screen and (max-width: 62.4375em) {
    .header .header__inner {
      padding-right: 2.5%;
      padding-left: 2.5%; } }
  @media screen and (min-width: 62.5em) {
    .header {
      height: 5em;
      width: 100%; }
      .header .header__inner {
        max-width: 62.5em;
        margin-left: auto;
        margin-right: auto; }
        .header .header__inner::after {
          clear: both;
          content: "";
          display: table; } }

.logo {
  float: left; }
  .logo .logo__link {
    display: table-cell;
    vertical-align: middle;
    height: 3.125em;
    width: auto; }
  .logo .logo__heading {
    display: none; }
  @media screen and (min-width: 62.5em) {
    .logo .logo__link {
      height: 5em;
      width: auto; } }

.toggle.toggle--navigation {
  float: right; }
  .toggle.toggle--navigation .toggle__inner {
    display: table-cell;
    height: 3.125em;
    width: auto;
    vertical-align: middle; }
  .toggle.toggle--navigation .toggle__button {
    font-size: 0; }
    .toggle.toggle--navigation .toggle__button:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 40px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
  @media screen and (min-width: 62.5em) {
    .toggle.toggle--navigation {
      display: none; } }

.toggle.toggle--search {
  display: none; }
  @media screen and (min-width: 62.5em) {
    .toggle.toggle--search {
      display: block;
      float: left;
      background: #000;
      background: black;
      padding-left: 0.5em; }
      .toggle.toggle--search .toggle__inner {
        display: table-cell;
        height: 5em;
        width: auto;
        vertical-align: middle; }
      .toggle.toggle--search .toggle__button {
        font-size: 0; }
        .toggle.toggle--search .toggle__button:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 32px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #fff;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          -webkit-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
          -moz-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
          transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955); } }

.aside {
  background: #414141;
  background: #414141;
  z-index: 5; }
  @media screen and (max-width: 62.4375em) {
    .aside {
      height: 100%;
      width: 17.5em;
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      padding-top: 3.125em;
      -webkit-transform: translate3d(-100%, 0, 0);
      -moz-transform: translate3d(-100%, 0, 0);
      -ms-transform: translate3d(-100%, 0, 0);
      -o-transform: translate3d(-100%, 0, 0);
      transform: translate3d(-100%, 0, 0);
      -webkit-transition: -webkit-transform, 500ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: -moz-transform, 500ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: transform, 500ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      overflow-y: auto; }
      .aside .aside__inner {
        max-height: 100%; } }
  @media screen and (min-width: 62.5em) {
    .aside {
      background: #000;
      background: black;
      position: absolute;
      top: 0;
      right: 50%;
      margin-right: -31.25em;
      height: 5em;
      width: auto;
      z-index: 10; } }

.navigation .navigation__item {
  position: relative; }

.navigation .navigation__link {
  display: inline-block;
  height: auto;
  width: 100%;
  padding: 0.5em 1em;
  color: #fff;
  font-weight: 400;
  -webkit-transition: background-color 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: background-color 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: background-color 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }

@media screen and (max-width: 62.4375em) {
  .navigation {
    margin-top: 4.5em; }
    .navigation .navigation__item:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 0px;
      background: #000;
      background: black;
      -webkit-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .navigation .navigation__item.navigation__item--active:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 4px;
      background: #50b7ed;
      background: #50b7ed; }
    .navigation .navigation__item.navigation__item--active .navigation__link {
      background: #000;
      background: black; } }

@media screen and (min-width: 62.5em) {
  .navigation {
    float: left;
    background: #000;
    background: black;
    height: 5em;
    width: auto;
    line-height: 5em; }
    .navigation .navigation__item {
      display: inline-block; }
      .navigation .navigation__item:hover .navigation__text:before {
        height: 4px;
        width: 100%; }
      .navigation .navigation__item:hover > .subnavigation .subnavigation__inner {
        opacity: 1;
        -webkit-transition: opacity 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        -moz-transition: opacity 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition: opacity 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        width: 12.5em;
        height: auto; }
      .navigation .navigation__item.navigation__item--active .navigation__text:before {
        height: 4px;
        width: 100%; }
    .navigation .navigation__link {
      padding: 0 1em; }
    .navigation .navigation__text {
      position: relative; }
      .navigation .navigation__text:before {
        content: '';
        position: absolute;
        top: initial;
        right: 0;
        bottom: -0.6em;
        left: 0;
        height: 4px;
        width: 0;
        background: #50b7ed;
        background: #50b7ed;
        -webkit-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        -moz-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955); } }

.subnavigation .subnavigation__toggle {
  position: absolute;
  top: 0.4rem;
  right: 1rem;
  font-size: 0; }
  .subnavigation .subnavigation__toggle:before {
    -webkit-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.subnavigation .subnavigation__link {
  display: inline-block;
  height: auto;
  width: 100%;
  padding: 0.5em 1em 0.5em 1.5em;
  color: #fff;
  font-size: 0.875em;
  font-weight: 400; }

.subnavigation.subnavigation--active .subnavigation__toggle:before {
  color: #50b7ed;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.subnavigation.subnavigation--active .subnavigation__inner {
  -webkit-transition: max-height 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: max-height 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: max-height 500ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  max-height: 200px; }

@media screen and (max-width: 62.4375em) {
  .subnavigation .subnavigation__inner {
    -webkit-transition: max-height 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: max-height 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: max-height 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    max-height: 0;
    overflow: hidden; } }

@media screen and (min-width: 62.5em) {
  .subnavigation {
    position: absolute; }
    .subnavigation .subnavigation__toggle {
      display: none; }
    .subnavigation .subnavigation__inner {
      height: 0;
      opacity: 0;
      overflow: hidden; }
    .subnavigation .subnavigation__list {
      background: #414141;
      background: #414141;
      line-height: 1.6; }
    .subnavigation .subnavigation__item {
      position: relative; }
      .subnavigation .subnavigation__item:before {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        content: '';
        height: 100%;
        width: 0px;
        background: #50b7ed;
        background: #50b7ed;
        -webkit-transition: all 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        -moz-transition: all 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
        transition: all 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }
      .subnavigation .subnavigation__item:hover:before {
        height: 100%;
        width: 4px; } }

.form .form__messages--error {
  color: red; }

.form .form__messages--success {
  color: green; }

.form .form__savings {
  font-size: 0.875em;
  color: green; }

.form.form--search {
  position: absolute;
  top: 3.625em;
  right: 0;
  left: 0;
  padding-top: 1em;
  padding-right: 1em;
  padding-left: 1em; }
  .form.form--search .form__field.form__field--search .form__input {
    height: 2em;
    width: 100%;
    padding: 0 2em 0 0.5em; }
    .form.form--search .form__field.form__field--search .form__input::-webkit-input-placeholder {
      padding-top: 0.1em;
      font-size: 0.875em; }
    .form.form--search .form__field.form__field--search .form__input::-moz-placeholder {
      padding-top: 0.1em;
      font-size: 0.875em; }
    .form.form--search .form__field.form__field--search .form__input:-moz-placeholder {
      padding-top: 0.1em;
      font-size: 0.875em; }
    .form.form--search .form__field.form__field--search .form__input:-ms-input-placeholder {
      padding-top: 0.1em;
      font-size: 0.875em; }
  .form.form--search .form__field.form__field--submit .form__submit {
    position: absolute;
    top: 1rem;
    right: 1rem;
    bottom: 1rem;
    height: 2rem;
    width: 2rem;
    font-size: 0; }
    .form.form--search .form__field.form__field--submit .form__submit:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 24px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #137cb4;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
  @media screen and (min-width: 62.5em) {
    .form.form--search {
      -webkit-transform: translateY(-100%);
      -moz-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      -o-transform: translateY(-100%);
      transform: translateY(-100%);
      position: absolute;
      top: 5em;
      right: 0;
      left: 0;
      /*      @include size(100% 3em);*/
      background: #50b7ed;
      background: #50b7ed;
      -webkit-transition: all 400ms cubic-bezier(0.86, 0, 0.07, 1);
      -moz-transition: all 400ms cubic-bezier(0.86, 0, 0.07, 1);
      transition: all 400ms cubic-bezier(0.86, 0, 0.07, 1);
      z-index: -1;
      padding: 0.5em; }
      .form.form--search .form__field.form__field--submit .form__submit {
        position: absolute;
        top: 0.5rem;
        right: 0.5rem;
        bottom: 0.5rem; } }

.form.form--help-search .form__field.form__field--search .form__input {
  height: 2em;
  width: 100%;
  padding: 0 2em 0 0.5em;
  margin-bottom: 0.5em; }
  .form.form--help-search .form__field.form__field--search .form__input::-webkit-input-placeholder {
    padding-top: 0.1em;
    font-size: 0.875em; }
  .form.form--help-search .form__field.form__field--search .form__input::-moz-placeholder {
    padding-top: 0.1em;
    font-size: 0.875em; }
  .form.form--help-search .form__field.form__field--search .form__input:-moz-placeholder {
    padding-top: 0.1em;
    font-size: 0.875em; }
  .form.form--help-search .form__field.form__field--search .form__input:-ms-input-placeholder {
    padding-top: 0.1em;
    font-size: 0.875em; }

.form.form--help-search .form__field.form__field--submit .form__submit {
  position: absolute;
  top: 5rem;
  right: 2rem;
  bottom: 1rem;
  height: 2rem;
  width: 2rem;
  font-size: 0; }
  .form.form--help-search .form__field.form__field--submit .form__submit:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #50b7ed;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

@media screen and (min-width: 62.5em) {
  .form.form--help-search {
    height: 3em;
    width: 110%;
    -webkit-transform: translateY(-10%);
    -moz-transform: translateY(-10%);
    -ms-transform: translateY(-10%);
    -o-transform: translateY(-10%);
    transform: translateY(-10%);
    z-index: -1; }
    .form.form--help-search .form__field.form__field--submit .form__submit {
      position: absolute;
      top: 0rem;
      right: 0rem;
      bottom: 0.5rem; } }

.form.form--sign-in {
  position: relative;
  max-width: 31.25em;
  margin-left: auto;
  margin-right: auto; }
  .form.form--sign-in::after {
    clear: both;
    content: "";
    display: table; }
  .form.form--sign-in .form__inner {
    margin-right: 1em;
    margin-left: 1em; }
  .form.form--sign-in .form__heading {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727;
    color: #fff;
    text-align: center;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    background: #2371A4;
    background: #2371a4; }
    @media screen and (min-width: 46.875em) {
      .form.form--sign-in .form__heading {
        font-size: 2.5em; } }
  .form.form--sign-in .form__form {
    padding: 1em;
    background: #f2f2f2;
    background: #f2f2f2; }
  .form.form--sign-in .form__field {
    position: relative;
    margin-top: 1.5em; }
    .form.form--sign-in .form__field:first-child {
      margin-top: 1em; }
    .form.form--sign-in .form__field.form__field--forgot-password {
      margin-top: 0.25em;
      font-size: 0.75em; }
      .form.form--sign-in .form__field.form__field--forgot-password .form__link {
        color: #2371A4; }
    .form.form--sign-in .form__field.form__field--sign-in {
      margin-top: 0.5em; }
    .form.form--sign-in .form__field.form__text--email {
      margin-top: 0.25em;
      font-size: 0.875em;
      font-style: italic; }
  .form.form--sign-in .form__input[type=text], .form.form--sign-in .form__input[type=email], .form.form--sign-in .form__input[type=password] {
    height: auto;
    width: 100%;
    padding: 1em 0.5em;
    color: #272727;
    font-size: 0.875em;
    -webkit-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    border-bottom: 3px solid #f2f2f2; }
    .form.form--sign-in .form__input[type=text]::-webkit-input-placeholder, .form.form--sign-in .form__input[type=email]::-webkit-input-placeholder, .form.form--sign-in .form__input[type=password]::-webkit-input-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--sign-in .form__input[type=text]::-moz-placeholder, .form.form--sign-in .form__input[type=email]::-moz-placeholder, .form.form--sign-in .form__input[type=password]::-moz-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--sign-in .form__input[type=text]:-moz-placeholder, .form.form--sign-in .form__input[type=email]:-moz-placeholder, .form.form--sign-in .form__input[type=password]:-moz-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--sign-in .form__input[type=text]:-ms-input-placeholder, .form.form--sign-in .form__input[type=email]:-ms-input-placeholder, .form.form--sign-in .form__input[type=password]:-ms-input-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--sign-in .form__input[type=text] ~ .form__label, .form.form--sign-in .form__input[type=email] ~ .form__label, .form.form--sign-in .form__input[type=password] ~ .form__label {
      position: absolute;
      top: -1.5em;
      right: 0;
      display: block;
      color: #2371A4;
      -webkit-transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      text-align: right;
      white-space: nowrap;
      font-size: 10px;
      opacity: 0; }
    .form.form--sign-in .form__input[type=text]:focus, .form.form--sign-in .form__input[type=email]:focus, .form.form--sign-in .form__input[type=password]:focus {
      border-bottom: 3px solid #2371A4; }
      .form.form--sign-in .form__input[type=text]:focus ~ .form__label, .form.form--sign-in .form__input[type=email]:focus ~ .form__label, .form.form--sign-in .form__input[type=password]:focus ~ .form__label {
        opacity: 1; }
      .form.form--sign-in .form__input[type=text]:focus::-webkit-input-placeholder, .form.form--sign-in .form__input[type=email]:focus::-webkit-input-placeholder, .form.form--sign-in .form__input[type=password]:focus::-webkit-input-placeholder {
        color: #ffffff; }
      .form.form--sign-in .form__input[type=text]:focus::-moz-placeholder, .form.form--sign-in .form__input[type=email]:focus::-moz-placeholder, .form.form--sign-in .form__input[type=password]:focus::-moz-placeholder {
        color: #ffffff; }
      .form.form--sign-in .form__input[type=text]:focus:-moz-placeholder, .form.form--sign-in .form__input[type=email]:focus:-moz-placeholder, .form.form--sign-in .form__input[type=password]:focus:-moz-placeholder {
        color: #ffffff; }
      .form.form--sign-in .form__input[type=text]:focus:-ms-input-placeholder, .form.form--sign-in .form__input[type=email]:focus:-ms-input-placeholder, .form.form--sign-in .form__input[type=password]:focus:-ms-input-placeholder {
        color: #ffffff; }
    .form.form--sign-in .form__input[type=text]:valid ~ .form__label, .form.form--sign-in .form__input[type=email]:valid ~ .form__label, .form.form--sign-in .form__input[type=password]:valid ~ .form__label {
      opacity: 1; }
  .form.form--sign-in .form__input[type=radio] ~ .form__label, .form.form--sign-in .form__input[type=checkbox] ~ .form__label {
    position: relative;
    top: 1px;
    font-size: 0.875em;
    color: #272727; }
  .form.form--sign-in .form__submit {
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 0;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    background: #2371A4;
    background: #2371a4;
    width: 100%; }
    .form.form--sign-in .form__submit:hover {
      background: #67c1ef;
      background: #67c1ef; }
    .form.form--sign-in .form__submit:after {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 18px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: 3px;
      left: 4px; }
    .form.form--sign-in .form__submit:hover {
      background: #277fb9;
      background: #277fb9; }

.form.form--register {
  position: relative;
  max-width: 46.875em;
  margin-left: auto;
  margin-right: auto; }
  .form.form--register::after {
    clear: both;
    content: "";
    display: table; }
  .form.form--register .form__inner {
    margin-right: 1em;
    margin-left: 1em; }
  .form.form--register .form__heading {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727;
    color: #fff;
    text-align: center;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    background: #2371A4;
    background: #2371a4; }
    @media screen and (min-width: 46.875em) {
      .form.form--register .form__heading {
        font-size: 2.5em; } }
  .form.form--register .form__copy {
    padding: 1em 1em 0;
    background: #f2f2f2;
    background: #f2f2f2; }
    .form.form--register .form__copy p {
      margin-top: 1em; }
  .form.form--register .form__form {
    padding: 1em; }
  .form.form--register .form__field {
    position: relative;
    margin-top: 1em; }
    .form.form--register .form__field:first-child {
      margin-top: 1em; }
    .form.form--register .form__field.form__field--forgot-password {
      margin-top: 0.25em;
      font-size: 0.75em; }
      .form.form--register .form__field.form__field--forgot-password .form__link {
        color: #2371A4; }
    .form.form--register .form__field.form__field--subscription-plan-desc {
      display: none;
      position: absolute;
      margin-top: 5em;
      margin-left: 24em;
      padding: 10px 6px 10px 10px;
      width: 19.8em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
      .form.form--register .form__field.form__field--subscription-plan-desc ul li {
        margin-left: 0.5em; }
        .form.form--register .form__field.form__field--subscription-plan-desc ul li:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 6px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #272727;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: -3px;
          left: -1.5em; }
    .form.form--register .form__field.form__field--subscription-plan-desc-unlimited {
      display: none;
      position: absolute;
      margin-top: 20em;
      margin-left: 30em;
      padding: 10px 6px 10px 10px;
      width: 19.8em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
      .form.form--register .form__field.form__field--subscription-plan-desc-unlimited ul li {
        margin-left: 0.5em; }
        .form.form--register .form__field.form__field--subscription-plan-desc-unlimited ul li:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 6px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #272727;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: -3px;
          left: -1.5em; }
    .form.form--register .form__field.form__field--stock-rover-desc-step3 {
      display: none;
      position: absolute;
      margin-top: 16em;
      margin-left: 12em;
      padding: 10px 6px 10px 10px;
      width: 19.8em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
      .form.form--register .form__field.form__field--stock-rover-desc-step3 ul li {
        margin-left: 0.5em; }
        .form.form--register .form__field.form__field--stock-rover-desc-step3 ul li:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 6px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #272727;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: -3px;
          left: -1.5em; }
    .form.form--register .form__field.form__field--research-reports-desc-step3 {
      display: none;
      position: absolute;
      margin-top: 16em;
      margin-left: 12em;
      padding: 10px 6px 10px 10px;
      width: 19.8em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
      .form.form--register .form__field.form__field--research-reports-desc-step3 ul li {
        margin-left: 0.5em; }
        .form.form--register .form__field.form__field--research-reports-desc-step3 ul li:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 6px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #272727;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: -3px;
          left: -1.5em; }
    .form.form--register .form__field.form__field--stock-rover-desc-step4 {
      display: none;
      position: absolute;
      margin-top: 12.5em;
      margin-left: 33em;
      padding: 10px 6px 10px 10px;
      width: 19.8em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
      .form.form--register .form__field.form__field--stock-rover-desc-step4 ul li {
        margin-left: 0.5em; }
        .form.form--register .form__field.form__field--stock-rover-desc-step4 ul li:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 6px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #272727;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: -3px;
          left: -1.5em; }
    .form.form--register .form__field.form__field--research-reports-desc-step4 {
      display: none;
      position: absolute;
      margin-top: 12.5em;
      margin-left: 33em;
      padding: 10px 6px 10px 10px;
      width: 19.8em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
      .form.form--register .form__field.form__field--research-reports-desc-step4 ul li {
        margin-left: 0.5em; }
        .form.form--register .form__field.form__field--research-reports-desc-step4 ul li:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 6px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #272727;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          position: relative;
          top: -3px;
          left: -1.5em; }
    .form.form--register .form__field.form__field--support-plan-desc {
      display: none;
      position: absolute;
      margin-top: 42em;
      margin-left: 32em;
      padding: 10px 6px 10px 10px;
      width: 15em;
      border: 2px solid #9A9A9A;
      -moz-border-radius: 8px;
      border-radius: 8px;
      font-size: 0.875em;
      background-color: white;
      z-index: 99; }
    .form.form--register .form__field.form__field--compare-plans {
      margin-top: 1em;
      margin-left: 0.4em;
      font-size: 0.875em; }
      .form.form--register .form__field.form__field--compare-plans .form__link {
        color: #2371A4; }
    .form.form--register .form__field.form__field--info-icon {
      position: relative;
      top: .2em;
      left: .3em; }
      @media screen and (max-width: 25em) {
        .form.form--register .form__field.form__field--info-icon {
          display: none; } }
    .form.form--register .form__field.form__field--sign-in {
      margin-top: 0.5em; }
    .form.form--register .form__field.form__text--email {
      margin-top: 0.25em;
      font-size: 0.875em;
      font-style: italic; }
    .form.form--register .form__field.form__field--other {
      display: none; }
    .form.form--register .form__field.form__field--pay-by-check {
      font-size: 0.875em; }
      .form.form--register .form__field.form__field--pay-by-check .form__link {
        color: #2371A4; }
  .form.form--register .form__fieldset {
    margin-top: 2em; }
    .form.form--register .form__fieldset:first-child {
      margin-top: 1em; }
  .form.form--register .form__fieldset-billing-address {
    margin-top: 2em; }
    .form.form--register .form__fieldset-billing-address:first-child {
      margin-top: 1em; }
  .form.form--register .form__legend {
    font-weight: 600; }
  .form.form--register .form__input[type=text], .form.form--register .form__input[type=email], .form.form--register .form__input[type=password] {
    height: auto;
    width: 100%;
    padding: 1em 0.5em;
    margin-top: 0.5em;
    color: #272727;
    font-size: 0.875em;
    -webkit-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    border-bottom: 3px solid #f2f2f2; }
    .form.form--register .form__input[type=text]::-webkit-input-placeholder, .form.form--register .form__input[type=email]::-webkit-input-placeholder, .form.form--register .form__input[type=password]::-webkit-input-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--register .form__input[type=text]::-moz-placeholder, .form.form--register .form__input[type=email]::-moz-placeholder, .form.form--register .form__input[type=password]::-moz-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--register .form__input[type=text]:-moz-placeholder, .form.form--register .form__input[type=email]:-moz-placeholder, .form.form--register .form__input[type=password]:-moz-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--register .form__input[type=text]:-ms-input-placeholder, .form.form--register .form__input[type=email]:-ms-input-placeholder, .form.form--register .form__input[type=password]:-ms-input-placeholder {
      -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
    .form.form--register .form__input[type=text] ~ .form__label, .form.form--register .form__input[type=email] ~ .form__label, .form.form--register .form__input[type=password] ~ .form__label {
      position: absolute;
      top: -1em;
      right: 0;
      display: block;
      color: #2371A4;
      -webkit-transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      -moz-transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
      text-align: right;
      white-space: nowrap;
      font-size: 10px;
      opacity: 0; }
    .form.form--register .form__input[type=text]:focus, .form.form--register .form__input[type=email]:focus, .form.form--register .form__input[type=password]:focus {
      border-bottom: 3px solid #2371A4; }
      .form.form--register .form__input[type=text]:focus ~ .form__label, .form.form--register .form__input[type=email]:focus ~ .form__label, .form.form--register .form__input[type=password]:focus ~ .form__label {
        opacity: 1; }
      .form.form--register .form__input[type=text]:focus::-webkit-input-placeholder, .form.form--register .form__input[type=email]:focus::-webkit-input-placeholder, .form.form--register .form__input[type=password]:focus::-webkit-input-placeholder {
        color: #ffffff; }
      .form.form--register .form__input[type=text]:focus::-moz-placeholder, .form.form--register .form__input[type=email]:focus::-moz-placeholder, .form.form--register .form__input[type=password]:focus::-moz-placeholder {
        color: #ffffff; }
      .form.form--register .form__input[type=text]:focus:-moz-placeholder, .form.form--register .form__input[type=email]:focus:-moz-placeholder, .form.form--register .form__input[type=password]:focus:-moz-placeholder {
        color: #ffffff; }
      .form.form--register .form__input[type=text]:focus:-ms-input-placeholder, .form.form--register .form__input[type=email]:focus:-ms-input-placeholder, .form.form--register .form__input[type=password]:focus:-ms-input-placeholder {
        color: #ffffff; }
    .form.form--register .form__input[type=text]:valid ~ .form__label, .form.form--register .form__input[type=email]:valid ~ .form__label, .form.form--register .form__input[type=password]:valid ~ .form__label {
      opacity: 1; }
  .form.form--register .form__input[type=radio] ~ .form__label, .form.form--register .form__input[type=checkbox] ~ .form__label {
    position: relative;
    top: 1px;
    font-size: 0.875em;
    color: #272727; }
  .form.form--register .form__input.form__input--select {
    -webkit-appearance: none;
    height: auto;
    width: 100%;
    padding: 1em 0.5em;
    margin-top: 0.5em;
    color: #272727;
    font-size: 0.875em;
    -webkit-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -moz-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
    border: none;
    border-bottom: 3px solid #f2f2f2;
    background: white;
    border-radius: 0; }
  .form.form--register .form__submit {
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 0;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    background: #2371A4;
    background: #2371a4;
    width: 100%; }
    .form.form--register .form__submit:hover {
      background: #67c1ef;
      background: #67c1ef; }
    .form.form--register .form__submit:after {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 18px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: 3px;
      left: 4px; }
    .form.form--register .form__submit:hover {
      background: #277fb9;
      background: #277fb9; }
  .form.form--register .form__submit--update {
    margin-left: -1em;
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 0;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    background: #2371A4;
    background: #2371a4;
    width: 107.5%; }
    .form.form--register .form__submit--update:hover {
      background: #67c1ef;
      background: #67c1ef; }
    .form.form--register .form__submit--update:after {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 18px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: 3px;
      left: 4px; }
    .form.form--register .form__submit--update:hover {
      background: #277fb9;
      background: #277fb9; }
  @media screen and (min-width: 62.5em) {
    .form.form--register .form__inner {
      margin-right: 0;
      margin-left: 0; } }

.form.form--split .form__form {
  padding: 0; }

@media screen and (max-width: 62.4375em) {
  .form.form--split .progress {
    margin-top: -2.5em; } }

@media screen and (max-width: 62.4375em) {
  .form.form--split.form--split .progress {
    margin-top: -2.5em; } }

@media screen and (min-width: 62.5em) {
  .form.form--split {
    max-width: none; }
    .form.form--split .form__form {
      padding: 0; }
    .form.form--split .form__fieldset {
      padding: 1em; }
    .form.form--split .form__region:nth-child(1) {
      float: left;
      display: block;
      margin-right: 1.16509%;
      width: 49.41745%; }
      .form.form--split .form__region:nth-child(1):last-child {
        margin-right: 0; }
      .form.form--split .form__region:nth-child(1) .form__fieldset {
        padding: 0; }
    .form.form--split .form__region:nth-child(2) {
      padding-top: 5em;
      padding-bottom: 5em;
      margin-left: 4.21521%;
      float: left;
      display: block;
      margin-right: 1.16509%;
      width: 45.20224%;
      margin-right: 0; }
      .form.form--split .form__region:nth-child(2):last-child {
        margin-right: 0; }
    .form.form--split .form__submit {
      margin-top: 0.5em; }
    .form.form--split .form__submit--update {
      margin-top: 0.5em; }
    .form.form--split .form__field.form__field--submit {
      margin-top: 0;
      padding-right: 1em;
      padding-left: 1em; } }

@media screen and (min-width: 62.5em) {
  .form.form--split {
    max-width: none; }
    .form.form--split .form__form {
      padding: 0; }
    .form.form--split .form__fieldset {
      padding: 1em; }
    .form.form--split .form__region:nth-child(1) {
      float: left;
      display: block;
      margin-right: 1.16509%;
      width: 49.41745%; }
      .form.form--split .form__region:nth-child(1):last-child {
        margin-right: 0; }
      .form.form--split .form__region:nth-child(1) .form__fieldset {
        padding: 0; }
    .form.form--split .form__region:nth-child(2) {
      padding-top: 5em;
      padding-bottom: 5em;
      margin-left: 4.21521%;
      float: left;
      display: block;
      margin-right: 1.16509%;
      width: 45.20224%;
      margin-right: 0; }
      .form.form--split .form__region:nth-child(2):last-child {
        margin-right: 0; }
    .form.form--split .form__field.form__field--submit {
      margin-top: 0;
      padding-right: 1em;
      padding-left: 1em; }
    .form.form--split .form__submit {
      margin-top: 0.5em; }
    .form.form--split .form__submit--update {
      margin-top: 0.5em; } }

@media screen and (max-width: 62.4375em) {
  .form.form--split--login .form.form--split--login .progress {
    margin-top: -2.5em; } }

@media screen and (min-width: 62.5em) {
  .form.form--split--login {
    max-width: none; }
    .form.form--split--login .form__form {
      padding: 0; }
    .form.form--split--login .form__fieldset {
      padding: 1em; }
    .form.form--split--login .form__region:nth-child(1) {
      float: left;
      display: block;
      margin-right: 1.16509%;
      width: 29.41745%; }
      .form.form--split--login .form__region:nth-child(1):last-child {
        margin-right: 0; }
      .form.form--split--login .form__region:nth-child(1) .form__fieldset {
        padding: 0; }
    .form.form--split--login .form__region:nth-child(2) {
      padding-top: 5em;
      padding-bottom: 5em;
      margin-left: 4.21521%;
      float: left;
      display: block;
      margin-right: 1.16509%;
      width: 65.20224%;
      margin-right: 0; }
      .form.form--split--login .form__region:nth-child(2):last-child {
        margin-right: 0; }
    .form.form--split--login .form__submit {
      margin-top: 0.5em; }
    .form.form--split--login .form__submit--update {
      margin-top: 0.5em; }
    .form.form--split--login .form__field.form__field--submit {
      margin-top: 0;
      padding-right: 1em;
      padding-left: 1em; } }

.form.form--single-line {
  padding-bottom: 10em; }
  .form.form--single-line .form__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 90%; }
    .form.form--single-line .form__inner::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (min-width: 62.5em) {
      .form.form--single-line .form__inner {
        max-width: 1000px; } }
  .form.form--single-line .form__form {
    padding: 0; }
  .form.form--single-line .form__field {
    position: relative;
    margin-top: 1.5em; }
    .form.form--single-line .form__field.form__field--single-line {
      border: 1px solid;
      height: 30px;
      width: 80%;
      padding-right: 100px; }
    .form.form--single-line .form__field.form__field--single-line-button {
      border: 1px solid;
      height: 30px;
      width: 100px;
      padding-left: -100px; }

.form [data-braintree-id="choose-a-way-to-pay"] {
  font-family: "Open Sans";
  font-weight: 600;
  font-size: 16px; }

.menu.menu--header .menu__item:nth-child(1) .menu__link {
  background: #dc5323;
  background: #dc5323;
  border: 1px solid #dc5323;
  width: 148px; }

.menu.menu--header .menu__item:nth-child(2) .menu__link {
  background: #414141;
  background: #414141;
  border: 1px solid #272727; }

.menu.menu--header .menu__link {
  display: block;
  margin: 0.5em 1em;
  padding: 0.5em 1em;
  color: #fff;
  font-weight: 400;
  text-align: center;
  -webkit-transition: all 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 100ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }

@media screen and (max-width: 62.4375em) {
  .menu.menu--header {
    margin-top: 1em; } }

@media screen and (min-width: 62.5em) {
  .menu.menu--header {
    float: left;
    background: #000;
    background: black;
    padding-left: 1em; }
    .menu.menu--header .menu__inner {
      height: 5em;
      width: auto;
      display: table-cell;
      vertical-align: middle; }
    .menu.menu--header .menu__item {
      display: inline-block;
      margin: 0 0.5em; }
      .menu.menu--header .menu__item:hover:nth-child(1) .menu__link {
        border: 1px solid #ea987b; }
      .menu.menu--header .menu__item:hover:nth-child(2) .menu__link {
        border: 1px solid #5a5a5a; }
    .menu.menu--header .menu__link {
      margin: 0; } }

.menu.menu--footer {
  position: relative;
  margin-top: 1em; }
  .menu.menu--footer .menu__list {
    text-align: center; }
  .menu.menu--footer .menu__item:last-child {
    margin-top: 1em; }
    .menu.menu--footer .menu__item:last-child .menu__link {
      font-size: 12px; }
  .menu.menu--footer .menu__link {
    font-size: 14px;
    color: #fff;
    display: inline-block; }
  @media screen and (min-width: 46.875em) {
    .menu.menu--footer .menu__item {
      display: inline-block; }
      .menu.menu--footer .menu__item:before {
        content: '|';
        padding-right: 0.5em;
        padding-left: 0.5em;
        color: #fff;
        font-size: 14px; }
      .menu.menu--footer .menu__item:first-child:before {
        display: none; }
      .menu.menu--footer .menu__item:last-child {
        display: block; }
        .menu.menu--footer .menu__item:last-child:before {
          display: none; } }

.menu.menu--social .menu__list {
  text-align: center; }

.menu.menu--social .menu__item {
  display: inline-block; }
  .menu.menu--social .menu__item.menu__item--facebook .menu__link:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .menu.menu--social .menu__item.menu__item--youtube {
    width: 28px; }
    .menu.menu--social .menu__item.menu__item--youtube .menu__link {
      width: 24px;
      transform: translateY(1px); }
  .menu.menu--social .menu__item.menu__item--twitter .menu__link:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .menu.menu--social .menu__item.menu__item--googleplus .menu__link:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
  .menu.menu--social .menu__item.menu__item--email .menu__link:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.menu.menu--social .menu__link {
  display: inline-block;
  font-size: 0; }
  .menu.menu--social .menu__link:before {
    padding-right: 0.25em;
    padding-left: 0.25em; }

.menu.menu--about-us {
  display: block;
  background: #fafafa;
  padding: 1.75em 0 1.75em 1.75em; }
  .menu.menu--about-us .menu__list {
    margin-top: 1em; }
  .menu.menu--about-us .menu__heading {
    font-weight: 700;
    font-size: 1.125em; }
  .menu.menu--about-us .menu__item.menu__item--active .menu__link {
    font-weight: 700; }
  .menu.menu--about-us .menu__link {
    display: inline-block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    color: #2371A4;
    font-size: 0.9375em; }
  @media screen and (min-width: 62.5em) {
    .menu.menu--about-us {
      margin-top: 5.65em; } }

.menu.menu--help {
  display: block;
  background: #fafafa;
  padding: 1.75em; }
  .menu.menu--help .menu__list {
    margin-top: 1em; }
  .menu.menu--help .menu__heading {
    font-weight: 700;
    font-size: 1.125em; }
  .menu.menu--help .menu__item.menu__item--active .menu__link {
    font-weight: 700; }
  .menu.menu--help .menu__link {
    display: inline-block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    color: #2371A4;
    font-size: 0.9375em; }
  @media screen and (min-width: 62.5em) {
    .menu.menu--help {
      margin-top: 5.65em; } }
  .menu.menu--help .menu__item:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #2371A4;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 2px; }
  .menu.menu--help .menu__item.menu__item--toggled:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #2371A4;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 2px; }
  .menu.menu--help .menu__item.menu__item--toggled .submenu {
    display: block; }

.submenu.submenu--help {
  display: none; }
  .submenu.submenu--help .submenu__item.submenu__item--active .submenu__link {
    font-weight: 700; }
  .submenu.submenu--help .submenu__item.submenu__item--toggled .subsubmenu, .submenu.submenu--help .submenu__item.submenu__item--active .subsubmenu {
    display: block; }
  .submenu.submenu--help .submenu__link {
    display: inline-block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    color: #2371A4;
    font-size: 0.875em; }

.subsubmenu.subsubmenu--help {
  display: none;
  padding-left: 0.5em; }
  .subsubmenu.subsubmenu--help .subsubmenu__item.subsubmenu__item--active .subsubmenu__link {
    font-weight: 700; }
  .subsubmenu.subsubmenu--help .subsubmenu__link {
    display: inline-block;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    color: #2371A4;
    font-size: 0.75em; }

.subsubmenu.subsubmenu--active {
  display: block; }

.slide .slide__inner {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto; }
  .slide .slide__inner::after {
    clear: both;
    content: "";
    display: table; }

.slide .slide__heading {
  font-weight: 700;
  font-size: 1.5em;
  line-height: 1.2;
  color: #272727; }

.slide .slide__copy {
  margin-top: 1em;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #272727; }
  .slide .slide__copy strong {
    font-weight: 600; }
  .slide .slide__copy a {
    color: #50b7ed; }
    .slide .slide__copy a:hover {
      color: #22a4e8; }

.slide .slide__cta {
  display: inline-block;
  margin-top: 1em;
  background: #50b7ed;
  background: #50b7ed;
  color: #fff;
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5em 1em;
  -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  line-height: normal;
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%); }
  .slide .slide__cta:hover {
    background: #67c1ef;
    background: #67c1ef; }
  .slide .slide__cta:after {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 3px;
    left: 4px; }

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

.slide .slide__link {
  display: inline-block; }

.slide .slide__image {
  margin-top: 1em;
  display: inline-block;
  height: auto;
  max-width: 100%; }

@media screen and (min-width: 46.875em) {
  .slide .slide__content {
    text-align: center; }
  .slide .slide__heading {
    font-size: 2em; }
  .slide .slide__cta {
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 0;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
    .slide .slide__cta:hover {
      background: #67c1ef;
      background: #67c1ef; }
    .slide .slide__cta:after {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 18px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: 3px;
      left: 4px; }
  .slide .slide__image {
    margin-top: 2em; } }

@media screen and (min-width: 62.5em) {
  .slide .slide__inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    height: 350px;
    width: 100%; }
    .slide .slide__inner::after {
      clear: both;
      content: "";
      display: table; }
  .slide .slide__content {
    text-align: left;
    position: absolute;
    top: 50%;
    left: 0;
    padding-right: 1em;
    height: auto;
    width: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  .slide .slide__figure {
    position: absolute;
    top: 50%;
    right: 0;
    height: auto;
    width: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); } }

.collection.collection--features {
  background: #195F8C;
  background: #195f8c;
  padding-top: 0.5em;
  padding-bottom: 0.5em; }
  @media screen and (max-width: 62.4375em) {
    .collection.collection--features {
      padding-top: 0.5em;
      padding-bottom: 0.5em; } }
  @media screen and (min-width: 62.5em) {
    .collection.collection--features {
      padding-top: 0.5em;
      padding-bottom: 0.5em; } }
  .collection.collection--features .collection__item.slick-current .tile {
    background: #2371A4; }

.collection.collection--feature-descriptions {
  background: #2371A4;
  background: #2371a4;
  padding: 1em 0 3em; }

.collection.collection--plans {
  background: #f2f2f2;
  background: #f2f2f2; }
  .collection.collection--plans .collection__cta {
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: transparent;
    border: 1px solid #fff;
    margin-top: 2.5em;
    display: none; }
    .collection.collection--plans .collection__cta:hover {
      background: #67c1ef;
      background: #67c1ef; }
    .collection.collection--plans .collection__cta:hover {
      background-color: #fff;
      color: #2371A4; }
      .collection.collection--plans .collection__cta:hover:after {
        color: #2371A4; }
  @media screen and (min-width: 62.5em) {
    .collection.collection--plans {
      padding-top: 0;
      padding-bottom: 0; } }

.collection.collection--plan-descriptions {
  padding-top: 1em;
  padding-bottom: 1em;
  background: #f2f2f2;
  background: #f2f2f2; }
  .collection.collection--plan-descriptions .collection__inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    .collection.collection--plan-descriptions .collection__inner::after {
      clear: both;
      content: "";
      display: table; }
  .collection.collection--plan-descriptions .collection__cta {
    display: none; }
  @media screen and (min-width: 62.5em) {
    .collection.collection--plan-descriptions {
      padding-bottom: 5em; } }

.collection.collection--testimonials {
  padding-top: 0.5em;
  padding-bottom: 0.5em; }
  .collection.collection--testimonials .collection__item {
    height: 350px;
    position: relative; }
  @media screen and (min-width: 46.875em) {
    .collection.collection--testimonials .collection__item {
      height: 250px;
      width: auto; } }

.collection.collection--recent-news {
  padding-top: 2.5em;
  padding-bottom: 5em; }
  .collection.collection--recent-news .collection__heading {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727;
    border-bottom: 1px solid #999;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 46.875em) {
      .collection.collection--recent-news .collection__heading {
        font-size: 2.5em; } }
  .collection.collection--recent-news .collection__inner {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    .collection.collection--recent-news .collection__inner::after {
      clear: both;
      content: "";
      display: table; }
  .collection.collection--recent-news .collection__item {
    margin-top: 2.5em; }
  @media screen and (min-width: 62.5em) {
    .collection.collection--recent-news {
      max-width: 1000px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 0; }
      .collection.collection--recent-news::after {
        clear: both;
        content: "";
        display: table; }
      .collection.collection--recent-news .collection__heading {
        font-size: 2em; } }

.collection.collection--focus-areas {
  padding-top: 2.5em;
  padding-bottom: 2.5em; }
  .collection.collection--focus-areas .collection__item {
    margin-top: 2.5em; }
    .collection.collection--focus-areas .collection__item::after {
      clear: both;
      content: "";
      display: table; }
  .collection.collection--focus-areas .collection__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 90%; }
    .collection.collection--focus-areas .collection__inner::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (min-width: 62.5em) {
      .collection.collection--focus-areas .collection__inner {
        max-width: 1000px; } }
  .collection.collection--focus-areas .collection__heading {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727;
    border-bottom: 1px solid #999;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 46.875em) {
      .collection.collection--focus-areas .collection__heading {
        font-size: 2.5em; } }
  .collection.collection--focus-areas:after {
    content: '';
    display: block;
    height: 1px;
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    border-bottom: 1px dashed #f2f2f2;
    position: relative;
    top: 2.5em;
    max-width: 1000px; }
  @media screen and (min-width: 46.875em) {
    .collection.collection--focus-areas .collection__item {
      margin-top: 4em; } }
  @media screen and (min-width: 62.5em) {
    .collection.collection--focus-areas {
      padding-top: 5em;
      padding-bottom: 5em; }
      .collection.collection--focus-areas:after {
        position: relative;
        top: 5em; } }

/*position on banner on homepage*/
.homepage__hero {
  background-image: url("/wp-content/themes/stockrover/media/images/new-hero-wide.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 20% 40%;
  height: 60VH;
  font-family: Arial, Verdana, sans-serif;
  text-align: center;
  color: #202020;
  /* ipad pro only */ }
  .homepage__hero a {
    color: #fff; }
	/* formerly #eee */
  @media screen and (max-width: 500px) {
    .homepage__hero a {
      color: #fff; } }
  @media screen and (max-width: 1024px) {
    .homepage__hero {
      height: 72vh; } }
  @media screen and (min-height: 450px) {
    .homepage__hero {
      background-position: 30% 40%;
      height: 66vh;
      min-height: 420px; } }
  @media screen and (max-height: 450px) {
    .homepage__hero {
      height: 72vh;
      min-height: 320px; } }

/*change color on hover for homepage links*/
#homepage_hero a:hover {
  color: #559fe1; }

/*styles for links for sales/blogs/etc on homepage */
.homepage_banner_link {
  padding-top: 36vh;
  padding-right: 62vw;
  font-size: calc(18px + .7vw);
  font-weight: 600;
  text-align: center; }
  @media screen and (max-width: 800px) {
    .homepage_banner_link {
      font-size: calc(18px + .7vw);
      padding-top: 36vh;
      padding-right: 62vw; } }
  @media screen and (max-width: 580px) {
    .homepage_banner_link {
      font-size: calc(18px + .2vw);
      padding-top: 46vh;
      padding-right: 0; } }
  @media screen and (max-height: 450px) {
    .homepage_banner_link {
      font-size: calc(16px + .2vw); } }
  @media screen and (max-height: 360px) {
    .homepage_banner_link {
      font-size: calc(14px + .2vw);
      padding-top: 40vh; } }

/*position of "for independent thinkers" (title) */
.homepage_banner_title {
  font-size: calc(8px + 2vw);
  font-weight: 600;
  padding-left: 10vw;
  padding-top: 3vh; }
  @media screen and (max-width: 800px) {
    .homepage_banner_title {
      font-size: calc(10px + 2vw);
      padding-top: 2vh;
      padding-left: 30vw; } }
  @media screen and (max-width: 500px) {
    .homepage_banner_title {
      font-size: calc(10px + 2vw);
      padding-top: .5vh;
      padding-left: 0vw; } }

/*position of "insights and tools..." (subtitle) */
.homepage_banner_subtitle {
  font-size: calc(8px + 1.2vw);
  font-weight: 600;
  padding-top: .5vh;
  padding-left: 10vw; }
  @media screen and (max-width: 800px) {
    .homepage_banner_subtitle {
      font-size: calc(10px + 1vw);
      padding-left: 10vw;
      padding-top: .5vh; } }
  @media screen and (max-width: 500px) {
    .homepage_banner_subtitle {
      font-size: calc(8px + 1vw);
      padding-left: 0vw;
      padding-top: .25vh; } }

.homepage__features {
  padding-bottom: 1em;
  width: 85%;
  max-width: 1200px;
  justify-content: center;
  margin-left: auto;
  margin-right: auto; }

.sched_maint {
  color: #fff;
  position: absolute;
  bottom: 30px;
  right: 30px;
  font-size: calc(10px + .5vw); }
  @media screen and (max-width: 600px) {
    .sched_maint {
      bottom: 120px;
      right: 58vw; } }

/**
.homepage__features_tablet{
	width: 650px;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}

.homepage__features_phone{
	width: 350px;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}
**/
.homepage__feature_button {
  /**height: 4.125em;**/
  height: 3.2em;
  padding: .2em 4em 0 4em; }

@media screen and (max-width: 100em) {
  .homepage__feature_button img {
    display: block;
    margin: auto; } }

.homepage__feature_button_search {
  width: 6.5em; }
  .homepage__feature_button_search img {
    width: 6.5em;
    padding: .5em; }

@media screen and (min-width: 62.5em) {
  .homepage__feature_button_search {
    width: 6.5em;
    padding: .2em 0 0 1em; } }

.homepage__feature_button_compare {
  width: 8.25em; }
  .homepage__feature_button_compare img {
    width: 8.25em;
    padding: .5em; }

@media screen and (min-width: 62.5em) {
  .homepage__feature_button_compare {
    width: 8.25em;
    padding: .2em 0 0 1em; } }

.homepage__feature_button_investigate {
  width: 9.5em; }
  .homepage__feature_button_investigate img {
    width: 9.5em;
    padding: .3em .5em .2em .5em; }

@media screen and (min-width: 62.5em) {
  .homepage__feature_button_investigate {
    width: 9.75em;
    padding: .4em 0 0 1em; } }

.homepage__feature_button_plan {
  width: 5.5em; }
  .homepage__feature_button_plan img {
    width: 4.5em;
    padding: .5em; }

@media screen and (min-width: 62.5em) {
  .homepage__feature_button_plan {
    width: 5.5em;
    padding: 0 0 0 1em; } }

.footer {
  position: relative;
  background: #50b7ed;
  background: #50b7ed; }
  .footer .footer__inner {
    padding-top: 7.5em;
    padding-bottom: 2.5em; }
    .footer .footer__inner:before {
      position: absolute;
      top: 2.5em;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      content: "";
      display: block;
      height: 3.125em;
      width: 3.125em;
      background-image: url("/wp-content/themes/stockrover/media/images/logo--small.png");
      background-repeat: no-repeat;
      background-size: cover; }

.modal {
  visibility: hidden;
  z-index: 50;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transition: opacity, 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: opacity, 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: opacity, 250ms cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .modal:before {
    content: '';
    display: block;
    background: #50b7ed;
    background: rgba(80, 183, 237, 0.95);
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%; }
  .modal .modal__inner {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0);
    -moz-transform: translate3d(-50%, -50%, 0);
    -ms-transform: translate3d(-50%, -50%, 0);
    -o-transform: translate3d(-50%, -50%, 0);
    transform: translate3d(-50%, -50%, 0);
    position: relative; }
  .modal .modal__close {
    position: fixed;
    top: -2px;
    right: 7px;
    font-size: 0; }
    .modal .modal__close:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 50px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
  @media screen and (min-width: 46.875em) {
    .modal .modal__close {
      position: fixed;
      top: 0px;
      right: 20px; } }
  @media screen and (min-width: 62.5em) {
    .modal {
      z-index: 5; }
      .modal .modal__close {
        position: fixed;
        top: 50%;
        left: 50%;
        margin-top: -250px;
        margin-left: 230px; }
        .modal .modal__close:before {
          display: inline-block;
          content: "";
          font-family: 'glyphs';
          font-size: 60px;
          font-variant: normal;
          text-align: center;
          text-transform: none;
          font-style: normal;
          font-weight: normal;
          color: #fff;
          speak: none;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale; } }
  .modal.modal--embed .modal__inner {
    height: 0;
    width: 100%;
    padding-top: 56%;
    overflow: hidden; }
    .modal.modal--embed .modal__inner iframe {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%; }
  @media screen and (min-width: 46.875em) {
    .modal.modal--embed .modal__inner {
      height: auto;
      width: 750px;
      padding-top: 420px; } }
  @media screen and (min-width: 62.5em) {
    .modal.modal--embed .modal__close {
      margin-top: -265px;
      margin-left: 370px; } }

.tile.tile--features {
  height: 220px;
  width: 220px;
  position: relative;
  left: 50%;
  margin-left: -110px;
  background: #fff;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.5); }
  .tile.tile--features .tile__image {
    position: relative;
    top: 15px;
    left: 50%;
    margin-left: -75px;
    height: 150px;
    width: 150px; }
  .tile.tile--features .tile__content {
    color: #fff;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50px;
    left: 100px;
    text-align: center; }
  .tile.tile--features .tile__heading {
    font-size: 1.25em;
    font-weight: 600; }
  .tile.tile--features .tile__copy {
    font-style: italic; }
  .tile.tile--features .tile__cta {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  @media screen and (min-width: 62.5em) {
    .tile.tile--features .tile__cta {
      display: block; } }

.tile.tile--plans {
  height: 220px;
  width: 220px;
  position: relative;
  left: 50%;
  margin-left: -110px;
  background: #fff;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border: 1px solid #272727;
  border: none;
  height: 135px;
  position: relative;
  left: 0;
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  max-width: 500px; }
  .tile.tile--plans .tile__image {
    position: relative;
    top: 15px;
    left: 50%;
    margin-left: -75px;
    height: 150px;
    width: 150px; }
  .tile.tile--plans .tile__content {
    color: #fff;
    height: auto;
    width: 100%;
    position: absolute;
    top: 50px;
    left: 100px;
    text-align: center; }
  .tile.tile--plans .tile__heading {
    font-size: 1.25em;
    font-weight: 600; }
  .tile.tile--plans .tile__copy {
    font-style: italic; }
  .tile.tile--plans .tile__cta {
    display: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  @media screen and (min-width: 62.5em) {
    .tile.tile--plans .tile__cta {
      display: block; } }
  .tile.tile--plans .tile__heading {
    color: #272727; }
  .tile.tile--plans .tile__copy {
    color: #272727; }
  .tile.tile--plans .tile__cta {
    display: none; }
  .tile.tile--plans .tile__image {
    position: relative;
    left: 0;
    margin-right: auto;
    margin-left: -45px; }
  .tile.tile--plans .tile__content {
    text-align: left; }

.spot.spot--focus-areas .spot__figure {
  text-align: center; }

.spot.spot--focus-areas .spot__image {
  height: auto;
  width: 100px; }

.spot.spot--focus-areas .spot__caption {
  font-size: 1em;
  font-weight: 600;
  color: #272727; }

.spot.spot--focus-areas .spot__content {
  margin-top: 1em; }

.spot.spot--focus-areas .spot__copy {
  margin-top: 1em; }
  .spot.spot--focus-areas .spot__copy a {
    color: #50b7ed; }
  .spot.spot--focus-areas .spot__copy h1 {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--focus-areas .spot__copy h1 {
        font-size: 2.5em; } }
  .spot.spot--focus-areas .spot__copy h2 {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.2;
    color: #272727; }
    .spot.spot--focus-areas .spot__copy h2:not(:first-child) {
      margin-top: 2em;
      margin-right: 1em; }
  .spot.spot--focus-areas .spot__copy h3 {
    font-size: 1.25em;
    font-weight: 600; }
    .spot.spot--focus-areas .spot__copy h3:not(:first-child) {
      margin-top: 1em; }
  .spot.spot--focus-areas .spot__copy h4 {
    font-size: 1.125em;
    font-weight: 600;
    font-weight: bold; }
    .spot.spot--focus-areas .spot__copy h4:not(:first-child) {
      margin-top: 0.5em; }
  .spot.spot--focus-areas .spot__copy h5 {
    font-size: 1em;
    font-weight: 600;
    color: #272727;
    font-style: italic; }
    .spot.spot--focus-areas .spot__copy h5:not(:first-child) {
      margin-top: 1em; }
  .spot.spot--focus-areas .spot__copy em {
    font-style: italic; }
  .spot.spot--focus-areas .spot__copy ol {
    counter-reset: item; }
    .spot.spot--focus-areas .spot__copy ol:not(:first-child) {
      margin-top: 1em; }
    .spot.spot--focus-areas .spot__copy ol li {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      line-height: 1.8;
      margin-bottom: 0.5em;
      margin-left: 1em; }
      .spot.spot--focus-areas .spot__copy ol li strong {
        font-weight: 600; }
      .spot.spot--focus-areas .spot__copy ol li a {
        color: #50b7ed; }
        .spot.spot--focus-areas .spot__copy ol li a:hover {
          color: #22a4e8; }
      .spot.spot--focus-areas .spot__copy ol li:before {
        content: counter(item) ". ";
        counter-increment: item;
        color: #50b7ed;
        position: relative;
        left: -0.5em; }
  .spot.spot--focus-areas .spot__copy ul:not(:first-child) {
    margin-top: 1em; }
  .spot.spot--focus-areas .spot__copy ul li {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727;
    line-height: 1.8;
    margin-bottom: 0.5em;
    margin-left: 2em; }
    .spot.spot--focus-areas .spot__copy ul li strong {
      font-weight: 600; }
    .spot.spot--focus-areas .spot__copy ul li a {
      color: #50b7ed; }
      .spot.spot--focus-areas .spot__copy ul li a:hover {
        color: #22a4e8; }
    .spot.spot--focus-areas .spot__copy ul li:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 6px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: -3px;
      left: -2em; }
  .spot.spot--focus-areas .spot__copy table {
    height: auto;
    width: 100%; }
    .spot.spot--focus-areas .spot__copy table.ltr td:first-child {
      font-weight: 600; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--focus-areas .spot__copy table.ltr td:first-child {
        height: auto;
        width: 25%; } }
    .spot.spot--focus-areas .spot__copy table tr {
      border-bottom: 1px dashed #d9d9d9; }
      .spot.spot--focus-areas .spot__copy table tr:first-child td:first-child {
        margin-top: 0; }
    .spot.spot--focus-areas .spot__copy table td {
      display: block;
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727; }
      .spot.spot--focus-areas .spot__copy table td strong {
        font-weight: 600; }
      .spot.spot--focus-areas .spot__copy table td a {
        color: #50b7ed; }
        .spot.spot--focus-areas .spot__copy table td a:hover {
          color: #22a4e8; }
      .spot.spot--focus-areas .spot__copy table td:nth-child(odd) {
        margin-top: 1em; }
      .spot.spot--focus-areas .spot__copy table td:nth-child(even) {
        padding-bottom: 1em; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--focus-areas .spot__copy table td {
        display: table-cell;
        vertical-align: top;
        padding-top: 1em;
        padding-bottom: 1em; } }
  .spot.spot--focus-areas .spot__copy dl {
    margin-top: 1em;
    display: block; }
    .spot.spot--focus-areas .spot__copy dl::after {
      clear: both;
      content: "";
      display: table; }
    .spot.spot--focus-areas .spot__copy dl dt {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      font-weight: 600;
      display: block; }
      .spot.spot--focus-areas .spot__copy dl dt strong {
        font-weight: 600; }
      .spot.spot--focus-areas .spot__copy dl dt a {
        color: #50b7ed; }
        .spot.spot--focus-areas .spot__copy dl dt a:hover {
          color: #22a4e8; }
      .spot.spot--focus-areas .spot__copy dl dt:not(:first-child) {
        margin-top: 1em; }
    .spot.spot--focus-areas .spot__copy dl dd {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      display: block;
      border-bottom: 1px dashed #f2f2f2;
      padding-bottom: 1em; }
      .spot.spot--focus-areas .spot__copy dl dd strong {
        font-weight: 600; }
      .spot.spot--focus-areas .spot__copy dl dd a {
        color: #50b7ed; }
        .spot.spot--focus-areas .spot__copy dl dd a:hover {
          color: #22a4e8; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--focus-areas .spot__copy dl dt {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 24.12618%;
        clear: left;
        border-bottom: 1px dashed #f2f2f2;
        padding-bottom: 1em; }
        .spot.spot--focus-areas .spot__copy dl dt:last-child {
          margin-right: 0; }
      .spot.spot--focus-areas .spot__copy dl dd {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 74.70873%;
        margin-right: 0; }
        .spot.spot--focus-areas .spot__copy dl dd:last-child {
          margin-right: 0; }
        .spot.spot--focus-areas .spot__copy dl dd:not(:nth-child(2)) {
          margin-top: 1em; } }
  .spot.spot--focus-areas .spot__copy p {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727; }
    .spot.spot--focus-areas .spot__copy p strong {
      font-weight: 600; }
    .spot.spot--focus-areas .spot__copy p a {
      color: #50b7ed; }
      .spot.spot--focus-areas .spot__copy p a:hover {
        color: #22a4e8; }
    .spot.spot--focus-areas .spot__copy p:not(:first-child) {
      margin-top: 1em; }
  .spot.spot--focus-areas .spot__copy img {
    max-width: 100%;
    height: auto;
    padding: 2px;
    border: none; }
    .spot.spot--focus-areas .spot__copy img.float {
      float: left;
      margin-top: 1.5em;
      margin-right: 1em;
      margin-bottom: 1em; }
  .spot.spot--focus-areas .spot__copy small {
    font-size: 0.875em; }
  .spot.spot--focus-areas .spot__copy .responsive-iframe {
    height: 0;
    width: 100%;
    padding-top: 56.5%;
    position: relative;
    margin-top: 1em;
    margin-bottom: 1em; }
  .spot.spot--focus-areas .spot__copy iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.spot.spot--focus-areas .spot__heading {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.2;
  color: #272727; }

@media screen and (min-width: 46.875em) {
  .spot.spot--focus-areas .spot__figure {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 24.12618%;
    margin-top: 3.125em; }
    .spot.spot--focus-areas .spot__figure:last-child {
      margin-right: 0; }
  .spot.spot--focus-areas .spot__content {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 74.70873%; }
    .spot.spot--focus-areas .spot__content:last-child {
      margin-right: 0; } }

.spot.spot--compare {
  padding-top: 2.5em; }
  .spot.spot--compare .spot__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 90%; }
    .spot.spot--compare .spot__inner::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (min-width: 62.5em) {
      .spot.spot--compare .spot__inner {
        max-width: 1000px; } }
  .spot.spot--compare .spot__content {
    position: relative;
    margin-bottom: 2.5em; }
  .spot.spot--compare .spot__heading {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727;
    border-bottom: 1px solid #999;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--compare .spot__heading {
        font-size: 2.5em; } }
  .spot.spot--compare .spot__cta {
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 0;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%); }
    .spot.spot--compare .spot__cta:hover {
      background: #67c1ef;
      background: #67c1ef; }
  @media screen and (min-width: 46.875em) {
    .spot.spot--compare {
      padding-bottom: 7.5em; }
      .spot.spot--compare .spot__cta {
        position: absolute;
        right: 0;
        left: auto;
        height: auto;
        width: 20%;
        margin-top: 0;
        text-align: center; } }
  @media screen and (min-width: 62.5em) {
    .spot.spot--compare {
      padding-top: 5em;
      padding-bottom: 5em; } }

.spot.spot--feature-descriptions .spot__inner {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto; }
  .spot.spot--feature-descriptions .spot__inner::after {
    clear: both;
    content: "";
    display: table; }

.spot.spot--feature-descriptions .spot__figure {
  text-align: center; }

.spot.spot--feature-descriptions .spot__image {
  display: inline-block;
  max-width: 100%;
  height: auto; }

.spot.spot--feature-descriptions .spot__heading {
  font-size: 1.5625em;
  font-weight: 600;
  color: #fff; }

.spot.spot--feature-descriptions .spot__copy {
  margin-top: 1em;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #272727;
  color: #fff; }
  .spot.spot--feature-descriptions .spot__copy strong {
    font-weight: 600; }
  .spot.spot--feature-descriptions .spot__copy a {
    color: #50b7ed; }
    .spot.spot--feature-descriptions .spot__copy a:hover {
      color: #22a4e8; }
  .spot.spot--feature-descriptions .spot__copy ul {
    margin-top: 1em; }
  .spot.spot--feature-descriptions .spot__copy li {
    position: relative;
    padding-left: 1em; }
    .spot.spot--feature-descriptions .spot__copy li:before {
      position: absolute;
      top: 0.6em;
      left: 0;
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 8px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale; }
    .spot.spot--feature-descriptions .spot__copy li:not(:first-child) {
      margin-top: 0.25em; }

.spot.spot--feature-descriptions .spot__cta {
  display: inline-block;
  margin-top: 1em;
  background: #50b7ed;
  background: #50b7ed;
  color: #fff;
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5em 1em;
  -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  line-height: normal;
  position: relative;
  left: 0;
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
  background-color: transparent;
  border: 1px solid #fff;
  margin-top: 2em; }
  .spot.spot--feature-descriptions .spot__cta:hover {
    background: #67c1ef;
    background: #67c1ef; }
  .spot.spot--feature-descriptions .spot__cta:after {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 3px;
    left: 4px; }
  .spot.spot--feature-descriptions .spot__cta:hover {
    background-color: #fff;
    color: #2371A4; }
    .spot.spot--feature-descriptions .spot__cta:hover:after {
      color: #2371A4; }

@media screen and (min-width: 62.5em) {
  .spot.spot--feature-descriptions .spot__inner {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    height: 350px;
    width: 100%; }
    .spot.spot--feature-descriptions .spot__inner::after {
      clear: both;
      content: "";
      display: table; }
  .spot.spot--feature-descriptions .spot__content {
    text-align: left;
    position: absolute;
    top: 50%;
    right: 0;
    padding-right: 1em;
    height: auto;
    width: 66%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  .spot.spot--feature-descriptions .spot__figure {
    position: absolute;
    top: 50%;
    left: 0;
    height: auto;
    width: 35%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); } }

.spot.spot--recent-news .spot__content {
  padding-left: 0.5em; }

.spot.spot--recent-news .spot__heading {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.2;
  color: #272727; }

.spot.spot--recent-news .spot__copy {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #272727;
  margin-top: 1em; }
  .spot.spot--recent-news .spot__copy strong {
    font-weight: 600; }
  .spot.spot--recent-news .spot__copy a {
    color: #50b7ed; }
    .spot.spot--recent-news .spot__copy a:hover {
      color: #22a4e8; }

.spot.spot--recent-news .spot__cta {
  display: inline-block;
  margin-top: 1em;
  background: #50b7ed;
  background: #50b7ed;
  color: #fff;
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5em 1em;
  -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  line-height: normal;
  position: relative;
  left: 0;
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%); }
  .spot.spot--recent-news .spot__cta:hover {
    background: #67c1ef;
    background: #67c1ef; }
  .spot.spot--recent-news .spot__cta:after {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 3px;
    left: 4px; }

@media screen and (min-width: 46.875em) {
  .spot.spot--recent-news {
    margin-left: 4.5em; } }

.spot.spot--recent-news {
  position: relative; }
  @media screen and (min-width: 46.875em) {
    .spot.spot--recent-news:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 65px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 0;
      left: -1.2em; } }

.spot.spot--other .spot__copy {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #272727;
  margin-top: 1em; }
  .spot.spot--other .spot__copy strong {
    font-weight: 600; }
  .spot.spot--other .spot__copy a {
    color: #50b7ed; }
    .spot.spot--other .spot__copy a:hover {
      color: #22a4e8; }

.spot.spot--other .spot__cta {
  display: inline-block;
  margin-top: 1em;
  background: #50b7ed;
  background: #50b7ed;
  color: #fff;
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5em 1em;
  -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  line-height: normal;
  position: relative;
  left: 0;
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
  font-size: 20px; }
  .spot.spot--other .spot__cta:hover {
    background: #67c1ef;
    background: #67c1ef; }
  .spot.spot--other .spot__cta:after {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 3px;
    left: 4px; }
  .spot.spot--other .spot__cta:after {
    position: relative;
    top: 0px; }

.spot.spot--other {
  position: relative; }

.spot.spot--weekly-market-brief {
  position: relative; }
  @media screen and (min-width: 46.875em) {
    .spot.spot--weekly-market-brief:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 65px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 0;
      left: -1.2em; } }

.spot.spot--product-news {
  position: relative; }
  @media screen and (min-width: 46.875em) {
    .spot.spot--product-news:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 65px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 0;
      left: -1.2em; } }

.spot.spot--product-features {
  position: relative; }
  @media screen and (min-width: 46.875em) {
    .spot.spot--product-features:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 65px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 0;
      left: -1.2em; } }

.spot.spot--videos {
  position: relative; }
  @media screen and (min-width: 46.875em) {
    .spot.spot--videos:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 65px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: 0;
      left: -1.2em; } }

.spot.spot--plan-descriptions .spot__inner {
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  height: auto;
  width: 90%; }
  .spot.spot--plan-descriptions .spot__inner::after {
    clear: both;
    content: "";
    display: table; }

.spot.spot--plan-descriptions .spot__heading {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.2;
  color: #272727; }

.spot.spot--plan-descriptions .spot__copy {
  margin-top: 0.5em; }
  .spot.spot--plan-descriptions .spot__copy a {
    color: #50b7ed; }
  .spot.spot--plan-descriptions .spot__copy h1 {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--plan-descriptions .spot__copy h1 {
        font-size: 2.5em; } }
  .spot.spot--plan-descriptions .spot__copy h2 {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.2;
    color: #272727; }
    .spot.spot--plan-descriptions .spot__copy h2:not(:first-child) {
      margin-top: 2em;
      margin-right: 1em; }
  .spot.spot--plan-descriptions .spot__copy h3 {
    font-size: 1.25em;
    font-weight: 600; }
    .spot.spot--plan-descriptions .spot__copy h3:not(:first-child) {
      margin-top: 1em; }
  .spot.spot--plan-descriptions .spot__copy h4 {
    font-size: 1.125em;
    font-weight: 600;
    font-weight: bold; }
    .spot.spot--plan-descriptions .spot__copy h4:not(:first-child) {
      margin-top: 0.5em; }
  .spot.spot--plan-descriptions .spot__copy h5 {
    font-size: 1em;
    font-weight: 600;
    color: #272727;
    font-style: italic; }
    .spot.spot--plan-descriptions .spot__copy h5:not(:first-child) {
      margin-top: 1em; }
  .spot.spot--plan-descriptions .spot__copy em {
    font-style: italic; }
  .spot.spot--plan-descriptions .spot__copy ol {
    counter-reset: item; }
    .spot.spot--plan-descriptions .spot__copy ol:not(:first-child) {
      margin-top: 1em; }
    .spot.spot--plan-descriptions .spot__copy ol li {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      line-height: 1.8;
      margin-bottom: 0.5em;
      margin-left: 1em; }
      .spot.spot--plan-descriptions .spot__copy ol li strong {
        font-weight: 600; }
      .spot.spot--plan-descriptions .spot__copy ol li a {
        color: #50b7ed; }
        .spot.spot--plan-descriptions .spot__copy ol li a:hover {
          color: #22a4e8; }
      .spot.spot--plan-descriptions .spot__copy ol li:before {
        content: counter(item) ". ";
        counter-increment: item;
        color: #50b7ed;
        position: relative;
        left: -0.5em; }
  .spot.spot--plan-descriptions .spot__copy ul:not(:first-child) {
    margin-top: 1em; }
  .spot.spot--plan-descriptions .spot__copy ul li {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727;
    line-height: 1.8;
    margin-bottom: 0.5em;
    margin-left: 2em; }
    .spot.spot--plan-descriptions .spot__copy ul li strong {
      font-weight: 600; }
    .spot.spot--plan-descriptions .spot__copy ul li a {
      color: #50b7ed; }
      .spot.spot--plan-descriptions .spot__copy ul li a:hover {
        color: #22a4e8; }
    .spot.spot--plan-descriptions .spot__copy ul li:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 6px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: -3px;
      left: -2em; }
  .spot.spot--plan-descriptions .spot__copy table {
    height: auto;
    width: 100%; }
    .spot.spot--plan-descriptions .spot__copy table.ltr td:first-child {
      font-weight: 600; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--plan-descriptions .spot__copy table.ltr td:first-child {
        height: auto;
        width: 25%; } }
    .spot.spot--plan-descriptions .spot__copy table tr {
      border-bottom: 1px dashed #d9d9d9; }
      .spot.spot--plan-descriptions .spot__copy table tr:first-child td:first-child {
        margin-top: 0; }
    .spot.spot--plan-descriptions .spot__copy table td {
      display: block;
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727; }
      .spot.spot--plan-descriptions .spot__copy table td strong {
        font-weight: 600; }
      .spot.spot--plan-descriptions .spot__copy table td a {
        color: #50b7ed; }
        .spot.spot--plan-descriptions .spot__copy table td a:hover {
          color: #22a4e8; }
      .spot.spot--plan-descriptions .spot__copy table td:nth-child(odd) {
        margin-top: 1em; }
      .spot.spot--plan-descriptions .spot__copy table td:nth-child(even) {
        padding-bottom: 1em; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--plan-descriptions .spot__copy table td {
        display: table-cell;
        vertical-align: top;
        padding-top: 1em;
        padding-bottom: 1em; } }
  .spot.spot--plan-descriptions .spot__copy dl {
    margin-top: 1em;
    display: block; }
    .spot.spot--plan-descriptions .spot__copy dl::after {
      clear: both;
      content: "";
      display: table; }
    .spot.spot--plan-descriptions .spot__copy dl dt {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      font-weight: 600;
      display: block; }
      .spot.spot--plan-descriptions .spot__copy dl dt strong {
        font-weight: 600; }
      .spot.spot--plan-descriptions .spot__copy dl dt a {
        color: #50b7ed; }
        .spot.spot--plan-descriptions .spot__copy dl dt a:hover {
          color: #22a4e8; }
      .spot.spot--plan-descriptions .spot__copy dl dt:not(:first-child) {
        margin-top: 1em; }
    .spot.spot--plan-descriptions .spot__copy dl dd {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      display: block;
      border-bottom: 1px dashed #f2f2f2;
      padding-bottom: 1em; }
      .spot.spot--plan-descriptions .spot__copy dl dd strong {
        font-weight: 600; }
      .spot.spot--plan-descriptions .spot__copy dl dd a {
        color: #50b7ed; }
        .spot.spot--plan-descriptions .spot__copy dl dd a:hover {
          color: #22a4e8; }
    @media screen and (min-width: 46.875em) {
      .spot.spot--plan-descriptions .spot__copy dl dt {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 24.12618%;
        clear: left;
        border-bottom: 1px dashed #f2f2f2;
        padding-bottom: 1em; }
        .spot.spot--plan-descriptions .spot__copy dl dt:last-child {
          margin-right: 0; }
      .spot.spot--plan-descriptions .spot__copy dl dd {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 74.70873%;
        margin-right: 0; }
        .spot.spot--plan-descriptions .spot__copy dl dd:last-child {
          margin-right: 0; }
        .spot.spot--plan-descriptions .spot__copy dl dd:not(:nth-child(2)) {
          margin-top: 1em; } }
  .spot.spot--plan-descriptions .spot__copy p {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727; }
    .spot.spot--plan-descriptions .spot__copy p strong {
      font-weight: 600; }
    .spot.spot--plan-descriptions .spot__copy p a {
      color: #50b7ed; }
      .spot.spot--plan-descriptions .spot__copy p a:hover {
        color: #22a4e8; }
    .spot.spot--plan-descriptions .spot__copy p:not(:first-child) {
      margin-top: 1em; }
  .spot.spot--plan-descriptions .spot__copy img {
    max-width: 100%;
    height: auto;
    padding: 2px;
    border: none; }
    .spot.spot--plan-descriptions .spot__copy img.float {
      float: left;
      margin-top: 1.5em;
      margin-right: 1em;
      margin-bottom: 1em; }
  .spot.spot--plan-descriptions .spot__copy small {
    font-size: 0.875em; }
  .spot.spot--plan-descriptions .spot__copy .responsive-iframe {
    height: 0;
    width: 100%;
    padding-top: 56.5%;
    position: relative;
    margin-top: 1em;
    margin-bottom: 1em; }
  .spot.spot--plan-descriptions .spot__copy iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.spot.spot--plan-descriptions .spot__cta {
  display: inline-block;
  margin-top: 1em;
  background: #50b7ed;
  background: #50b7ed;
  color: #fff;
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5em 1em;
  -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  line-height: normal;
  position: relative;
  left: 0;
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
  font-size: 20px; }
  .spot.spot--plan-descriptions .spot__cta:hover {
    background: #67c1ef;
    background: #67c1ef; }
  .spot.spot--plan-descriptions .spot__cta:after {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 3px;
    left: 4px; }
  .spot.spot--plan-descriptions .spot__cta:after {
    position: relative;
    top: 0px; }

.testimonial {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }
  .testimonial .testimonial__inner {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
    text-align: center; }
    .testimonial .testimonial__inner::after {
      clear: both;
      content: "";
      display: table; }
  .testimonial .testimonial__quote {
    font-size: 18px;
    position: relative; }
    .testimonial .testimonial__quote:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 75px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #999;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      -webkit-transform: rotate(180deg);
      -moz-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
      -o-transform: rotate(180deg);
      transform: rotate(180deg);
      position: absolute;
      top: -0.5em;
      left: -0.25em;
      opacity: .2; }
    .testimonial .testimonial__quote:after {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 75px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #999;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      top: -0.5em;
      right: -0.25em;
      opacity: .2; }
  .testimonial .testimonial__meta {
    margin-top: 1em; }
  .testimonial .testimonial__author {
    font-style: italic;
    font-size: 0.75em; }
    .testimonial .testimonial__author:before {
      content: "\2014";
      padding-right: 0.25em; }
  .testimonial .testimonial__image {
    display: inline-block;
    max-width: 150px;
    height: auto;
    margin-top: 1em; }
  @media screen and (min-width: 46.875em) {
    .testimonial {
      height: auto;
      width: 100%; }
      .testimonial .testimonial__inner {
        height: auto;
        width: 750px; }
      .testimonial .testimonial__quote {
        font-size: 20px; } }

.components {
  display: none; }

.table:not(:last-child), .table_new:not(:last-child) {
  margin-bottom: 2.5em; }

.table.table--active .table__heading:after, .table_new.table--active .table__heading:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg); }

.table.table--active .table__table, .table_new.table--active .table__table {
  max-height: 2500px; }

.table .table__inner, .table_new .table__inner {
  margin-right: auto;
  margin-left: auto;
  max-width: 90%; }
  .table .table__inner::after, .table_new .table__inner::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 62.5em) {
    .table .table__inner, .table_new .table__inner {
      max-width: 1000px; } }

.table .table__heading, .table_new .table__heading {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.2;
  color: #272727;
  color: #50b7ed; }

.table .table__row, .table_new .table__row {
  border-bottom: 1px dashed #d9d9d9; }

.table .table__cell, .table_new .table__cell {
  display: block;
  padding-top: 0.5em;
  padding-bottom: 0.5em; }
  .table .table__cell a, .table_new .table__cell a {
    color: #50b7ed; }
  .table .table__cell h1, .table_new .table__cell h1 {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727; }
    @media screen and (min-width: 46.875em) {
      .table .table__cell h1, .table_new .table__cell h1 {
        font-size: 2.5em; } }
  .table .table__cell h2, .table_new .table__cell h2 {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.2;
    color: #272727; }
    .table .table__cell h2:not(:first-child), .table_new .table__cell h2:not(:first-child) {
      margin-top: 2em;
      margin-right: 1em; }
  .table .table__cell h3, .table_new .table__cell h3 {
    font-size: 1.25em;
    font-weight: 600; }
    .table .table__cell h3:not(:first-child), .table_new .table__cell h3:not(:first-child) {
      margin-top: 1em; }
  .table .table__cell h4, .table_new .table__cell h4 {
    font-size: 1.125em;
    font-weight: 600;
    font-weight: bold; }
    .table .table__cell h4:not(:first-child), .table_new .table__cell h4:not(:first-child) {
      margin-top: 0.5em; }
  .table .table__cell h5, .table_new .table__cell h5 {
    font-size: 1em;
    font-weight: 600;
    color: #272727;
    font-style: italic; }
    .table .table__cell h5:not(:first-child), .table_new .table__cell h5:not(:first-child) {
      margin-top: 1em; }
  .table .table__cell em, .table_new .table__cell em {
    font-style: italic; }
  .table .table__cell ol, .table_new .table__cell ol {
    counter-reset: item; }
    .table .table__cell ol:not(:first-child), .table_new .table__cell ol:not(:first-child) {
      margin-top: 1em; }
    .table .table__cell ol li, .table_new .table__cell ol li {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      line-height: 1.8;
      margin-bottom: 0.5em;
      margin-left: 1em; }
      .table .table__cell ol li strong, .table_new .table__cell ol li strong {
        font-weight: 600; }
      .table .table__cell ol li a, .table_new .table__cell ol li a {
        color: #50b7ed; }
        .table .table__cell ol li a:hover, .table_new .table__cell ol li a:hover {
          color: #22a4e8; }
      .table .table__cell ol li:before, .table_new .table__cell ol li:before {
        content: counter(item) ". ";
        counter-increment: item;
        color: #50b7ed;
        position: relative;
        left: -0.5em; }
  .table .table__cell ul:not(:first-child), .table_new .table__cell ul:not(:first-child) {
    margin-top: 1em; }
  .table .table__cell ul li, .table_new .table__cell ul li {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727;
    line-height: 1.8;
    margin-bottom: 0.5em;
    margin-left: 2em; }
    .table .table__cell ul li strong, .table_new .table__cell ul li strong {
      font-weight: 600; }
    .table .table__cell ul li a, .table_new .table__cell ul li a {
      color: #50b7ed; }
      .table .table__cell ul li a:hover, .table_new .table__cell ul li a:hover {
        color: #22a4e8; }
    .table .table__cell ul li:before, .table_new .table__cell ul li:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 6px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: -3px;
      left: -2em; }
  .table .table__cell table, .table_new .table__cell table {
    height: auto;
    width: 100%; }
    .table .table__cell table.ltr td:first-child, .table_new .table__cell table.ltr td:first-child {
      font-weight: 600; }
    @media screen and (min-width: 46.875em) {
      .table .table__cell table.ltr td:first-child, .table_new .table__cell table.ltr td:first-child {
        height: auto;
        width: 25%; } }
    .table .table__cell table tr, .table_new .table__cell table tr {
      border-bottom: 1px dashed #d9d9d9; }
      .table .table__cell table tr:first-child td:first-child, .table_new .table__cell table tr:first-child td:first-child {
        margin-top: 0; }
    .table .table__cell table td, .table_new .table__cell table td {
      display: block;
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727; }
      .table .table__cell table td strong, .table_new .table__cell table td strong {
        font-weight: 600; }
      .table .table__cell table td a, .table_new .table__cell table td a {
        color: #50b7ed; }
        .table .table__cell table td a:hover, .table_new .table__cell table td a:hover {
          color: #22a4e8; }
      .table .table__cell table td:nth-child(odd), .table_new .table__cell table td:nth-child(odd) {
        margin-top: 1em; }
      .table .table__cell table td:nth-child(even), .table_new .table__cell table td:nth-child(even) {
        padding-bottom: 1em; }
    @media screen and (min-width: 46.875em) {
      .table .table__cell table td, .table_new .table__cell table td {
        display: table-cell;
        vertical-align: top;
        padding-top: 1em;
        padding-bottom: 1em; } }
  .table .table__cell dl, .table_new .table__cell dl {
    margin-top: 1em;
    display: block; }
    .table .table__cell dl::after, .table_new .table__cell dl::after {
      clear: both;
      content: "";
      display: table; }
    .table .table__cell dl dt, .table_new .table__cell dl dt {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      font-weight: 600;
      display: block; }
      .table .table__cell dl dt strong, .table_new .table__cell dl dt strong {
        font-weight: 600; }
      .table .table__cell dl dt a, .table_new .table__cell dl dt a {
        color: #50b7ed; }
        .table .table__cell dl dt a:hover, .table_new .table__cell dl dt a:hover {
          color: #22a4e8; }
      .table .table__cell dl dt:not(:first-child), .table_new .table__cell dl dt:not(:first-child) {
        margin-top: 1em; }
    .table .table__cell dl dd, .table_new .table__cell dl dd {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      display: block;
      border-bottom: 1px dashed #f2f2f2;
      padding-bottom: 1em; }
      .table .table__cell dl dd strong, .table_new .table__cell dl dd strong {
        font-weight: 600; }
      .table .table__cell dl dd a, .table_new .table__cell dl dd a {
        color: #50b7ed; }
        .table .table__cell dl dd a:hover, .table_new .table__cell dl dd a:hover {
          color: #22a4e8; }
    @media screen and (min-width: 46.875em) {
      .table .table__cell dl dt, .table_new .table__cell dl dt {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 24.12618%;
        clear: left;
        border-bottom: 1px dashed #f2f2f2;
        padding-bottom: 1em; }
        .table .table__cell dl dt:last-child, .table_new .table__cell dl dt:last-child {
          margin-right: 0; }
      .table .table__cell dl dd, .table_new .table__cell dl dd {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 74.70873%;
        margin-right: 0; }
        .table .table__cell dl dd:last-child, .table_new .table__cell dl dd:last-child {
          margin-right: 0; }
        .table .table__cell dl dd:not(:nth-child(2)), .table_new .table__cell dl dd:not(:nth-child(2)) {
          margin-top: 1em; } }
  .table .table__cell p, .table_new .table__cell p {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727; }
    .table .table__cell p strong, .table_new .table__cell p strong {
      font-weight: 600; }
    .table .table__cell p a, .table_new .table__cell p a {
      color: #50b7ed; }
      .table .table__cell p a:hover, .table_new .table__cell p a:hover {
        color: #22a4e8; }
    .table .table__cell p:not(:first-child), .table_new .table__cell p:not(:first-child) {
      margin-top: 1em; }
  .table .table__cell img, .table_new .table__cell img {
    max-width: 100%;
    height: auto;
    padding: 2px;
    border: none; }
    .table .table__cell img.float, .table_new .table__cell img.float {
      float: left;
      margin-top: 1.5em;
      margin-right: 1em;
      margin-bottom: 1em; }
  .table .table__cell small, .table_new .table__cell small {
    font-size: 0.875em; }
  .table .table__cell .responsive-iframe, .table_new .table__cell .responsive-iframe {
    height: 0;
    width: 100%;
    padding-top: 56.5%;
    position: relative;
    margin-top: 1em;
    margin-bottom: 1em; }
  .table .table__cell iframe, .table_new .table__cell iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .table .table__cell .glyph, .table_new .table__cell .glyph {
    font-size: 2em; }
    .table .table__cell .glyph.glyph--check, .table_new .table__cell .glyph.glyph--check {
      color: #50b7ed; }
    .table .table__cell .glyph.glyph--close, .table_new .table__cell .glyph.glyph--close {
      color: #999; }
  .table .table__cell:nth-child(1), .table_new .table__cell:nth-child(1) {
    height: auto;
    width: 100%;
    padding-top: 1.5em;
    padding-right: 1em;
    padding-bottom: 1em; }
  .table .table__cell:nth-child(2), .table_new .table__cell:nth-child(2) {
    text-align: center;
    font-size: 0.875em;
    border-left: 1px dashed #d9d9d9; }
  .table .table__cell:nth-child(3), .table_new .table__cell:nth-child(3) {
    text-align: center;
    font-size: 0.875em;
    border-left: 1px dashed #d9d9d9;
    border-right: 1px dashed #d9d9d9; }
  .table .table__cell:nth-child(4), .table_new .table__cell:nth-child(4) {
    text-align: center;
    font-size: 0.875em;
    border-left: 1px dashed #d9d9d9;
    border-right: 1px dashed #d9d9d9; }

.table:last-child, .table_new:last-child {
  padding-bottom: 2.5em; }

@media screen and (max-width: 46.8125em) {
  .table .table__cell:nth-child(2), .table_new .table__cell:nth-child(2) {
    position: relative;
    float: left;
    height: auto;
    width: 50%;
    border-top: 1px dashed #d9d9d9; }
    .table .table__cell:nth-child(2) span, .table_new .table__cell:nth-child(2) span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-60%);
      -moz-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
      -o-transform: translateY(-60%);
      transform: translateY(-60%);
      height: auto;
      width: 50%; }
    .table .table__cell:nth-child(2) .glyph, .table_new .table__cell:nth-child(2) .glyph {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-60%);
      -moz-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
      -o-transform: translateY(-60%);
      transform: translateY(-60%); }
    .table .table__cell:nth-child(2):before, .table_new .table__cell:nth-child(2):before {
      position: relative;
      left: -5px;
      content: url("/wp-content/themes/stockrover/media/images/icon-basic--grayscale.svg");
      display: inline-block;
      float: left; }
    .table .table__cell:nth-child(2):after, .table_new .table__cell:nth-child(2):after {
      font-weight: 600;
      content: 'Essentials';
      height: auto;
      width: 100px;
      display: inline-block;
      position: absolute;
      top: 10px;
      left: -5px; }
  .table .table__cell:nth-child(3), .table_new .table__cell:nth-child(3) {
    position: relative;
    float: left;
    height: auto;
    width: 50%;
    border-top: 1px dashed #d9d9d9; }
    .table .table__cell:nth-child(3) span, .table_new .table__cell:nth-child(3) span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-60%);
      -moz-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
      -o-transform: translateY(-60%);
      transform: translateY(-60%);
      height: auto;
      width: 50%; }
    .table .table__cell:nth-child(3) .glyph, .table_new .table__cell:nth-child(3) .glyph {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-60%);
      -moz-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
      -o-transform: translateY(-60%);
      transform: translateY(-60%); }
    .table .table__cell:nth-child(3):before, .table_new .table__cell:nth-child(3):before {
      position: relative;
      left: -5px;
      content: url("/wp-content/themes/stockrover/media/images/icon-basic2-grayscale.svg");
      display: inline-block;
      float: left; }
    .table .table__cell:nth-child(3):after, .table_new .table__cell:nth-child(3):after {
      font-weight: 600;
      content: 'Premium';
      height: auto;
      width: 100px;
      display: inline-block;
      position: absolute;
      top: 10px;
      left: -5px; }
  .table .table__cell:nth-child(4), .table_new .table__cell:nth-child(4) {
    position: relative;
    float: left;
    height: auto;
    width: 50%;
    border-top: 1px dashed #d9d9d9; }
    .table .table__cell:nth-child(4) span, .table_new .table__cell:nth-child(4) span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-60%);
      -moz-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
      -o-transform: translateY(-60%);
      transform: translateY(-60%);
      height: auto;
      width: 50%; }
    .table .table__cell:nth-child(4) .glyph, .table_new .table__cell:nth-child(4) .glyph {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-60%);
      -moz-transform: translateY(-60%);
      -ms-transform: translateY(-60%);
      -o-transform: translateY(-60%);
      transform: translateY(-60%); }
    .table .table__cell:nth-child(4):before, .table_new .table__cell:nth-child(4):before {
      position: relative;
      left: -5px;
      content: url("/wp-content/themes/stockrover/media/images/icon-premium--grayscale.svg");
      display: inline-block;
      float: left; }
    .table .table__cell:nth-child(4):after, .table_new .table__cell:nth-child(4):after {
      font-weight: 600;
      content: 'Premium Plus';
      height: auto;
      width: 100px;
      display: inline-block;
      position: absolute;
      top: 10px;
      left: -5px; } }

@media screen and (min-width: 46.875em) {
  .table:not(:last-child), .table_new:not(:last-child) {
    margin-bottom: 7.5em; }
  .table .table__row:nth-child(1) .table__cell, .table_new .table__row:nth-child(1) .table__cell {
    position: relative; }
    .table .table__row:nth-child(1) .table__cell:nth-child(2):before, .table_new .table__row:nth-child(1) .table__cell:nth-child(2):before {
      display: inline-block;
      position: absolute;
      top: -100px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      content: url("/wp-content/themes/stockrover/media/images/icon-basic--grayscale.svg"); }
    .table .table__row:nth-child(1) .table__cell:nth-child(2):after, .table_new .table__row:nth-child(1) .table__cell:nth-child(2):after {
      display: inline-block;
      position: absolute;
      top: -25px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      height: auto;
      width: 100px;
      content: 'Essentials';
      font-weight: 600; }
    .table .table__row:nth-child(1) .table__cell:nth-child(3):before, .table_new .table__row:nth-child(1) .table__cell:nth-child(3):before {
      display: inline-block;
      position: absolute;
      top: -100px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      content: url("/wp-content/themes/stockrover/media/images/icon-basic2-grayscale.svg"); }
    .table .table__row:nth-child(1) .table__cell:nth-child(3):after, .table_new .table__row:nth-child(1) .table__cell:nth-child(3):after {
      display: inline-block;
      position: absolute;
      top: -25px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      height: auto;
      width: 100px;
      content: 'Premium';
      font-weight: 600; }
    .table .table__row:nth-child(1) .table__cell:nth-child(4):before, .table_new .table__row:nth-child(1) .table__cell:nth-child(4):before {
      display: inline-block;
      position: absolute;
      top: -100px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      content: url("/wp-content/themes/stockrover/media/images/icon-premium--grayscale.svg"); }
    .table .table__row:nth-child(1) .table__cell:nth-child(4):after, .table_new .table__row:nth-child(1) .table__cell:nth-child(4):after {
      display: inline-block;
      position: absolute;
      top: -25px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      height: auto;
      width: 100px;
      content: 'Premium Plus';
      font-weight: 600; }
  .table .table__cell, .table_new .table__cell {
    display: table-cell; }
    .table .table__cell:nth-child(1), .table_new .table__cell:nth-child(1) {
      height: auto;
      width: 55%; }
    .table .table__cell:nth-child(2), .table_new .table__cell:nth-child(2) {
      height: auto;
      width: 15%; }
      .table .table__cell:nth-child(2):before, .table_new .table__cell:nth-child(2):before {
        display: none; }
      .table .table__cell:nth-child(2):after, .table_new .table__cell:nth-child(2):after {
        display: none; }
    .table .table__cell:nth-child(3), .table_new .table__cell:nth-child(3) {
      height: auto;
      width: 15%; }
    .table .table__cell:nth-child(4), .table_new .table__cell:nth-child(4) {
      height: auto;
      width: 15%; } }

@media screen and (min-width: 62.5em) {
  .table:last-child, .table_new:last-child {
    padding-bottom: 5em; } }

.content {
  padding-top: 2.5em;
  padding-bottom: 2.5em; }
  .content .content__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 90%; }
    .content .content__inner::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (min-width: 62.5em) {
      .content .content__inner {
        max-width: 1000px; } }
  .content .content__heading {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727;
    border-bottom: 1px solid #999;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em; }
    @media screen and (min-width: 46.875em) {
      .content .content__heading {
        font-size: 2.5em; } }
  .content .content__copy a {
    color: #50b7ed; }
  .content .content__copy h1 {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2;
    color: #272727; }
    @media screen and (min-width: 46.875em) {
      .content .content__copy h1 {
        font-size: 2.5em; } }
  .content .content__copy h2 {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.2;
    color: #272727;
	clear: both; }
    .content .content__copy h2:not(:first-child) {
      margin-top: 2em;
      margin-right: 1em; }
  .content .content__copy h3 {
    font-size: 1.25em;
    font-weight: 600; }
    .content .content__copy h3:not(:first-child) {
      margin-top: 1em; }
  .content .content__copy h4 {
    font-size: 1.125em;
    font-weight: 600;
    font-weight: bold; }
    .content .content__copy h4:not(:first-child) {
      margin-top: 0.5em; }
  .content .content__copy h5 {
    font-size: 1em;
    font-weight: 600;
    color: #272727;
    font-style: italic; }
    .content .content__copy h5:not(:first-child) {
      margin-top: 1em; }
  .content .content__copy em {
    font-style: italic; }
  .content .content__copy ol {
    counter-reset: item; }
    .content .content__copy ol:not(:first-child) {
      margin-top: 1em; }
    .content .content__copy ol li {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      line-height: 1.8;
      margin-bottom: 0.5em;
      margin-left: 1em; }
      .content .content__copy ol li strong {
        font-weight: 600; }
      .content .content__copy ol li a {
        color: #50b7ed; }
        .content .content__copy ol li a:hover {
          color: #22a4e8; }
      .content .content__copy ol li:before {
        content: counter(item) ". ";
        counter-increment: item;
        color: #50b7ed;
        position: relative;
        left: -0.5em; }
  .content .content__copy ul:not(:first-child) {
    margin-top: 1em; }
  .content .content__copy ul li {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727;
    line-height: 1.8;
    margin-bottom: 0.5em;
    margin-left: 2em; }
    .content .content__copy ul li strong {
      font-weight: 600; }
    .content .content__copy ul li a {
      color: #50b7ed; }
      .content .content__copy ul li a:hover {
        color: #22a4e8; }
    .content .content__copy ul li:before {
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 6px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #50b7ed;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: relative;
      top: -3px;
      left: -2em; }
  .content .content__copy table {
    height: auto;
    width: 100%; }
    .content .content__copy table.ltr td:first-child {
      font-weight: 600; }
    @media screen and (min-width: 46.875em) {
      .content .content__copy table.ltr td:first-child {
        height: auto;
        width: 25%; } }
    .content .content__copy table tr {
      border-bottom: 1px dashed #d9d9d9; }
      .content .content__copy table tr:first-child td:first-child {
        margin-top: 0; }
    .content .content__copy table td {
      display: block;
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727; }
      .content .content__copy table td strong {
        font-weight: 600; }
      .content .content__copy table td a {
        color: #50b7ed; }
        .content .content__copy table td a:hover {
          color: #22a4e8; }
      .content .content__copy table td:nth-child(odd) {
        margin-top: 1em; }
      .content .content__copy table td:nth-child(even) {
        padding-bottom: 1em; }
    @media screen and (min-width: 46.875em) {
      .content .content__copy table td {
        display: table-cell;
        vertical-align: top;
        padding-top: 1em;
        padding-bottom: 1em; } }
  .content .content__copy dl {
    margin-top: 1em;
    display: block; }
    .content .content__copy dl::after {
      clear: both;
      content: "";
      display: table; }
    .content .content__copy dl dt {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      font-weight: 600;
      display: block; }
      .content .content__copy dl dt strong {
        font-weight: 600; }
      .content .content__copy dl dt a {
        color: #50b7ed; }
        .content .content__copy dl dt a:hover {
          color: #22a4e8; }
      .content .content__copy dl dt:not(:first-child) {
        margin-top: 1em; }
    .content .content__copy dl dd {
      font-weight: 400;
      font-size: 16px;
      line-height: 1.8;
      color: #272727;
      display: block;
      border-bottom: 1px dashed #f2f2f2;
      padding-bottom: 1em; }
      .content .content__copy dl dd strong {
        font-weight: 600; }
      .content .content__copy dl dd a {
        color: #50b7ed; }
        .content .content__copy dl dd a:hover {
          color: #22a4e8; }
    @media screen and (min-width: 46.875em) {
      .content .content__copy dl dt {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 24.12618%;
        clear: left;
        border-bottom: 1px dashed #f2f2f2;
        padding-bottom: 1em; }
        .content .content__copy dl dt:last-child {
          margin-right: 0; }
      .content .content__copy dl dd {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 74.70873%;
        margin-right: 0; }
        .content .content__copy dl dd:last-child {
          margin-right: 0; }
        .content .content__copy dl dd:not(:nth-child(2)) {
          margin-top: 1em; } }
  .content .content__copy p {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    color: #272727; }
    .content .content__copy p strong {
      font-weight: 600; }
    .content .content__copy p a {
      color: #50b7ed; }
      .content .content__copy p a:hover {
        color: #22a4e8; }
    .content .content__copy p:not(:first-child) {
      margin-top: 1em; }
  .content .content__copy img {
    max-width: 100%;
    height: auto;
    padding: 2px;
    border: none; }
    .content .content__copy img.float {
      float: left;
      margin-top: 1.5em;
      margin-right: 1em;
      margin-bottom: 1em; }
  .content .content__copy small {
    font-size: 0.875em; }
  .content .content__copy .responsive-iframe {
    height: 0;
    width: 100%;
    padding-top: 56.5%;
    position: relative;
    margin-top: 1em;
    margin-bottom: 1em; }
  .content .content__copy iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .content .content__savings {
    color: green; }
  @media screen and (min-width: 62.5em) {
    .content {
      padding-top: 5em;
      padding-bottom: 5em; } }
  .content.content--tags .content__inner, .content.content--author .content__inner {
    position: relative; }
  .content.content--tags .content__cta, .content.content--author .content__cta {
    position: absolute;
    top: 0.65em;
    right: 0;
    color: #50b7ed;
    font-size: 0.875em; }
  @media screen and (min-width: 46.875em) {
    .content.content--tags .content__cta, .content.content--author .content__cta {
      position: absolute;
      top: 2em;
      right: 0; } }
  @media screen and (max-width: 62.4375em) {
    .content .pricingRowHeading {
      display: none; }
    .content .pricingQuarterly {
      display: block !important;
      padding-bottom: 0em !important;
      margin-top: 1em !important;
      font-weight: bold !important; }
    .content .pricingYearly {
      display: block !important;
      padding-bottom: 0em !important;
      margin-top: 1em !important;
      font-weight: bold !important; }
    .content .pricingYearly::before {
      content: "Yearly "; }
    .content .pricing2Year {
      display: block !important;
      padding-bottom: 0em !important;
      margin-top: 1em !important;
      font-weight: bold !important; }
    .content .pricing2Year::before {
      content: "2 Year "; }
    .content .pricingRegularPrice {
      display: block !important;
      padding-bottom: 0em !important;
      margin-top: 0em !important; }
    .content .pricingRegularPrice::before {
      content: "Regular Price: "; }
    .content .pricingDiscount {
      display: block !important;
      padding-bottom: 0em !important;
      margin-top: 0em !important; }
    .content .pricingDiscount::before {
      content: "Discount: "; }
    .content .pricingSavings {
      display: block !important;
      padding-bottom: 1em !important;
      margin-top: 0em !important; }
    .content .pricingSavings::before {
      content: "Savings: "; } }

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

.progress .progress__item {
  position: relative;
  background: #ddd;
  display: inline-block;
  border-radius: 50%;
  height: 50px;
  width: 50px;
  color: #fff;
  line-height: 50px;
  text-align: center;
  font-size: 18px;
  margin: 1em 0.5em; }
  .progress .progress__item:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 100%;
    height: 1px;
    width: 100%;
    background: #ddd; }
  .progress .progress__item:last-child:before {
    display: none; }
  .progress .progress__item.progress__item--completed {
    background: #2371A4; }
    .progress .progress__item.progress__item--completed:before {
      background: #ddd; }
  .progress .progress__item.progress__item--active {
    -webkit-animation: oscilate 1.5s infinite;
    -moz-animation: oscilate 1.5s infinite;
    animation: oscilate 1.5s infinite; }
  .progress .progress__item.progress__item--check span:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 30px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: absolute;
    left: 0;
    width: 100%; }

@media screen and (min-width: 62.5em) {
  .progress .progress__item {
    margin-right: 1em;
    margin-left: 1em; } }

.layout.layout--home {
  padding-bottom: 5em; }

@media screen and (min-width: 62.5em) {
  .layout.layout--sidebar .layout__inner {
    margin-right: auto;
    margin-left: auto;
    max-width: 90%; }
    .layout.layout--sidebar .layout__inner::after {
      clear: both;
      content: "";
      display: table; } }
  @media screen and (min-width: 62.5em) and (min-width: 62.5em) {
    .layout.layout--sidebar .layout__inner {
      max-width: 1000px; } }

@media screen and (min-width: 62.5em) {
  .layout.layout--sidebar .layout__region:nth-child(1) {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 24.12618%; }
    .layout.layout--sidebar .layout__region:nth-child(1):last-child {
      margin-right: 0; }
  .layout.layout--sidebar .layout__region:nth-child(2) {
    margin-left: 4.21521%;
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 70.49352%; }
    .layout.layout--sidebar .layout__region:nth-child(2):last-child {
      margin-right: 0; } }

.layout.layout--basic .layout__region {
  padding-bottom: 5em; }

@media screen and (max-width: 62.4375em) {
  .layout.layout--basic .layout__inner {
    position: relative; }
  .layout.layout--basic .progress {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%; } }

.layout.layout--register {
  background: #F7F9FA; }
  .layout.layout--register .content__cta {
    display: inline-block;
    margin-top: 1em;
    background: #50b7ed;
    background: #50b7ed;
    color: #fff;
    font-weight: 300;
    font-size: 14px;
    text-transform: uppercase;
    padding: 0.5em 1em;
    -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
    line-height: normal;
    position: relative;
    left: 0;
    -webkit-transform: translateX(0%);
    -moz-transform: translateX(0%);
    -ms-transform: translateX(0%);
    -o-transform: translateX(0%);
    transform: translateX(0%);
    background: #8eb7d1;
    background: #8eb7d1; }
    .layout.layout--register .content__cta:hover {
      background: #67c1ef;
      background: #67c1ef; }
    .layout.layout--register .content__cta:hover {
      background: #8eb7d1;
      background: #8eb7d1; }
  @media screen and (max-width: 62.4375em) {
    .layout.layout--register .layout__inner {
      position: relative;
      padding-top: 2.5em; }
    .layout.layout--register .progress {
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      width: 100%; } }
  @media screen and (min-width: 62.5em) {
    .layout.layout--register {
      padding-bottom: 10em; }
      .layout.layout--register .layout__inner {
        margin-right: auto;
        margin-left: auto;
        max-width: 90%; }
        .layout.layout--register .layout__inner::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (min-width: 62.5em) and (min-width: 62.5em) {
      .layout.layout--register .layout__inner {
        max-width: 1000px; } }
  @media screen and (min-width: 62.5em) {
      .layout.layout--register .layout__region:nth-child(1) {
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 49.41745%; }
        .layout.layout--register .layout__region:nth-child(1):last-child {
          margin-right: 0; }
      .layout.layout--register .layout__region:nth-child(2) {
        padding-top: 5em;
        padding-bottom: 5em;
        margin-left: 4.21521%;
        float: left;
        display: block;
        margin-right: 1.16509%;
        width: 45.20224%; }
        .layout.layout--register .layout__region:nth-child(2):last-child {
          margin-right: 0; } }

.layout.layout--split .content {
  padding-bottom: 0; }
  .layout.layout--split .content .content__inner {
    margin-right: 0;
    margin-left: 0; }
  .layout.layout--split .content + .form__fieldset {
    margin-top: 0; }

@media screen and (min-width: 62.5em) {
  .layout.layout--split .content {
    padding-bottom: 0; }
  .layout.layout--split .layout__region:nth-child(1) {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 100%; }
    .layout.layout--split .layout__region:nth-child(1):last-child {
      margin-right: 0; } }

.definitions .definitions__inner {
  margin-right: auto;
  margin-left: auto;
  max-width: 90%; }
  .definitions .definitions__inner::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 62.5em) {
    .definitions .definitions__inner {
      max-width: 1000px; } }

.definitions .definitions__heading {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1.2;
  color: #272727;
  margin-top: 2em; }

.definitions .definitions__list {
  margin-top: 1em; }

.definitions .definitions__term {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #272727;
  font-weight: 600; }
  .definitions .definitions__term strong {
    font-weight: 600; }
  .definitions .definitions__term a {
    color: #50b7ed; }
    .definitions .definitions__term a:hover {
      color: #22a4e8; }
  .definitions .definitions__term:not(:first-child) {
    margin-top: 1em; }

.definitions .definitions__definition {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  color: #272727; }
  .definitions .definitions__definition strong {
    font-weight: 600; }
  .definitions .definitions__definition a {
    color: #50b7ed; }
    .definitions .definitions__definition a:hover {
      color: #22a4e8; }

.comments-title {
  margin-top: 2rem; }

.comment-list .comment-author img {
  display: none; }

.comment-list .comment-metadata {
  font-size: 12px; }

.comment-list .comment {
  margin-top: 1em;
  padding-top: 1em; }
  .comment-list .comment:not(:first-child) {
    border-top: 1px dashed #f2f2f2; }
  .comment-list .comment.depth-2 {
    margin-left: 1em; }

.comment-list .comment-awaiting-moderation {
  display: none; }

.comment-list .comment-content {
  margin-top: 1em;
  margin-bottom: 1em; }

.comment-list .reply {
  font-size: 12px;
  text-align: right; }

.comment-respond {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px solid #f2f2f2; }

.comment-form .comment-form-url {
  display: none; }

.comment-form .comment-notes {
  display: none; }

.comment-form label {
  color: #272727;
  font-size: 0.75em; }

.comment-form textarea {
  display: block;
  width: 100%;
  border: 1px solid #f2f2f2;
  border-bottom: 3px solid #f2f2f2;
  padding: 1em 0.5em;
  color: #272727;
  font-size: 0.875em;
  margin-top: 0.5em;
  -webkit-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
  -moz-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06); }
  .comment-form textarea:focus {
    border-bottom: 3px solid #2371A4; }

.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=password] {
  height: auto;
  width: 100%;
  padding: 1em 0.5em;
  margin-top: 0.5em;
  color: #272727;
  font-size: 0.875em;
  -webkit-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
  -moz-transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
  transition: all, 250ms, cubic-bezier(0.755, 0.05, 0.855, 0.06);
  border: 1px solid #f2f2f2;
  border-bottom: 3px solid #f2f2f2; }
  .comment-form input[type=text]::-webkit-input-placeholder, .comment-form input[type=email]::-webkit-input-placeholder, .comment-form input[type=password]::-webkit-input-placeholder {
    -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .comment-form input[type=text]::-moz-placeholder, .comment-form input[type=email]::-moz-placeholder, .comment-form input[type=password]::-moz-placeholder {
    -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .comment-form input[type=text]:-moz-placeholder, .comment-form input[type=email]:-moz-placeholder, .comment-form input[type=password]:-moz-placeholder {
    -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .comment-form input[type=text]:-ms-input-placeholder, .comment-form input[type=email]:-ms-input-placeholder, .comment-form input[type=password]:-ms-input-placeholder {
    -webkit-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: color, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955); }
  .comment-form input[type=text] ~ .form__label, .comment-form input[type=email] ~ .form__label, .comment-form input[type=password] ~ .form__label {
    position: absolute;
    top: -1em;
    right: 0;
    display: block;
    color: #2371A4;
    -webkit-transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -moz-transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    transition: opacity, 250ms, cubic-bezier(0.455, 0.03, 0.515, 0.955);
    text-align: right;
    white-space: nowrap;
    font-size: 10px;
    opacity: 0; }
  .comment-form input[type=text]:focus, .comment-form input[type=email]:focus, .comment-form input[type=password]:focus {
    border-bottom: 3px solid #2371A4; }
    .comment-form input[type=text]:focus ~ .form__label, .comment-form input[type=email]:focus ~ .form__label, .comment-form input[type=password]:focus ~ .form__label {
      opacity: 1; }
    .comment-form input[type=text]:focus::-webkit-input-placeholder, .comment-form input[type=email]:focus::-webkit-input-placeholder, .comment-form input[type=password]:focus::-webkit-input-placeholder {
      color: #ffffff; }
    .comment-form input[type=text]:focus::-moz-placeholder, .comment-form input[type=email]:focus::-moz-placeholder, .comment-form input[type=password]:focus::-moz-placeholder {
      color: #ffffff; }
    .comment-form input[type=text]:focus:-moz-placeholder, .comment-form input[type=email]:focus:-moz-placeholder, .comment-form input[type=password]:focus:-moz-placeholder {
      color: #ffffff; }
    .comment-form input[type=text]:focus:-ms-input-placeholder, .comment-form input[type=email]:focus:-ms-input-placeholder, .comment-form input[type=password]:focus:-ms-input-placeholder {
      color: #ffffff; }
  .comment-form input[type=text]:valid ~ .form__label, .comment-form input[type=email]:valid ~ .form__label, .comment-form input[type=password]:valid ~ .form__label {
    opacity: 1; }

.comment-form input.submit {
  display: inline-block;
  margin-top: 1em;
  background: #50b7ed;
  background: #50b7ed;
  color: #fff;
  font-weight: 300;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5em 1em;
  -webkit-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: all 150ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  line-height: normal;
  position: relative;
  left: 0;
  -webkit-transform: translateX(0%);
  -moz-transform: translateX(0%);
  -ms-transform: translateX(0%);
  -o-transform: translateX(0%);
  transform: translateX(0%);
  background: #2371A4;
  background: #2371a4;
  width: 100%; }
  .comment-form input.submit:hover {
    background: #67c1ef;
    background: #67c1ef; }
  .comment-form input.submit:after {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    top: 3px;
    left: 4px; }
  .comment-form input.submit:hover {
    background: #277fb9;
    background: #277fb9; }

.application.active--navigation {
  overflow: hidden; }
  .application.active--navigation .aside {
    -webkit-transform: translate3d(0%, 0, 0);
    -moz-transform: translate3d(0%, 0, 0);
    -ms-transform: translate3d(0%, 0, 0);
    -o-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }
  .application.active--navigation .toggle.toggle--navigation .toggle__button:before {
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 40px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.application.active--search .toggle.toggle--search .toggle__button:before {
  display: inline-block;
  content: "";
  font-family: 'glyphs';
  font-size: 32px;
  font-variant: normal;
  text-align: center;
  text-transform: none;
  font-style: normal;
  font-weight: normal;
  color: #50b7ed;
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.application.active--search .form.form--search {
  -webkit-transform: translateY(0%);
  -moz-transform: translateY(0%);
  -ms-transform: translateY(0%);
  -o-transform: translateY(0%);
  transform: translateY(0%); }

.application.active--modal {
  overflow: hidden; }
  .application.active--modal .modal {
    visibility: visible;
    opacity: 1; }

@media screen and (max-width: 62.4375em) {
  .page-id-1712 .layout__inner {
    position: relative;
    padding-top: 2.5em; }
  .page-id-1712 .progress {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%; } }

@media screen and (min-width: 62.5em) {
  .page-id-1712 .content .content__heading {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 49.41745%; }
    .page-id-1712 .content .content__heading:last-child {
      margin-right: 0; }
  .page-id-1712 .content .content__copy {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 100%; }
    .page-id-1712 .content .content__copy:last-child {
      margin-right: 0; }
  .page-id-1712 .progress {
    margin-left: 4.21521%;
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 45.20224%;
    margin-right: 0; }
    .page-id-1712 .progress:last-child {
      margin-right: 0; } }

.newspaperrover {
  margin-top: 3.0em;
  float: left;
  display: block;
  margin-right: 1.16509%;
  width: 23% !important; }

.indicessummary {
  margin-top: 1.5em;
  margin-bottom: 2.5em;
  text-align: center;
  float: left;
  display: block;
  margin-right: 1.16509%;
  width: 34% !important; }

.commoditiessummary {
  margin-top: 1.5em;
  margin-bottom: 2.5em;
  text-align: center;
  float: left;
  display: block;
  margin-right: 1.16509%;
  width: 34% !important; }

@media screen and (min-width: 46.875em) {
  .indicessummary {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 49.41745%; }
    .indicessummary:last-child {
      margin-right: 0; }
  .commoditiessummary {
    float: left;
    display: block;
    margin-right: 1.16509%;
    width: 49.41745%;
    margin-right: 0; }
    .commoditiessummary:last-child {
      margin-right: 0; } }

.upgradeSignUp {
  padding-top: 1.5em;
  padding-bottom: 1.5em; }

.upgradeSignUpText {
  padding: .5em 2em .5em 2em;
  background: #50b7ed;
  color: white !important;
  font-size: 18px; }

.emailPreferencesCheckboxList {
  padding-top: 20px;
  padding-left: 20px; }

.emailPreferencesCheckboxText {
  font-size: 18px;
  width: 680px;
  display: inline-block;
  margin-left: 10px;
  padding-bottom: 10px; }

.emailPreferencesInputText {
  font-style: italic;
  top: 14px;
  left: 36px;
  padding-bottom: 50px;
  position: relative; }

.emailPreferencesDog {
  display: inline-block;
  position: relative;
  left: 20px; }

.emailPreferencesBorderLine {
  width: 100%;
  display: inline-block;
  margin-bottom: 20px; }

.emailPreferencesSubmit {
  position: relative;
  left: 20px;
  padding: .5em 2em .5em 2em;
  background: #50b7ed;
  color: white !important;
  font-size: 18px; }

.prev_link_text, .next_link_text, .left_blog_text, .right_blog_text {
  margin: 0 0 1em 0;
  max-width: 48%;
  background-color: #137cb4;
  border: none;
  color: #ffffff;
  border-radius: 10px;
  font-weight: 900;
  font-size: .9em; }
  .prev_link_text a, .next_link_text a, .left_blog_text a, .right_blog_text a {
    color: #ffffff;
    display: block; }
  .prev_link_text .tooltip, .next_link_text .tooltip, .left_blog_text .tooltip, .right_blog_text .tooltip {
    display: inline;
    position: relative; }
  .prev_link_text .tooltip:hover:after, .next_link_text .tooltip:hover:after, .left_blog_text .tooltip:hover:after, .right_blog_text .tooltip:hover:after {
    background: #555;
    border-radius: 5px;
    content: attr(title); }
  .prev_link_text .tooltip:hover:before, .next_link_text .tooltip:hover:before, .left_blog_text .tooltip:hover:before, .right_blog_text .tooltip:hover:before {
    border: solid;
    border-color: #555 transparent;
    content: ""; }

.left_blog_text, .right_blog_text {
  padding: 0;
  width: 45%;
  height: 90px; }
  @media screen and (max-width: 540px) {
    .left_blog_text, .right_blog_text {
      height: 120px; } }

.left_blog_text {
  float: left;
  margin-left: calc(20px - 2vw); }

.left_blog_nav {
  margin-left: calc(20px - 2vw);
  font-style: italic;
  font-size: 14px;
  width: 100%;
  /*	border-bottom: 1px solid #fff;*/
  padding: 10px 0 5px 10px;
  text-align: left; }
  .left_blog_nav:before {
    display: inline;
    font-style: italic;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    transform: translate(5px, -2px);
    margin: 0 0 0 -10px;
    padding: 0; }

.left_first_blog {
  margin: auto;
  font-style: italic;
  font-size: 14px;
  width: 100%;
  /*	border-bottom: 1px solid #fff;*/
  padding: 10px 0 5px 15px;
  text-align: left; }

.left_blog_title {
  padding: 0 10px 0 20px;
  margin: auto;
  font-size: 16px;
  line-height: 18px; }

.right_blog_text {
  float: right;
  margin-right: calc(20px - 2vw); }

.right_blog_nav {
  margin-right: calc(20px -2vw);
  font-size: 14px;
  font-style: italic;
  width: 100%;
  /*border-bottom: 1px solid #fff;	*/
  padding: 10px 10px 5px 0;
  text-align: right; }
  .right_blog_nav:after {
    display: inline;
    font-style: italic;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 24px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    transform: translateY(-2px);
    margin: 0;
    padding: 0; }

.right_blog_title {
  padding: 0 10px 0 30px;
  font-size: 16px;
  margin: auto;
  line-height: 18px; }

.prev_link_text {
  padding: .8em 2.5em .7em 2em;
  float: left;
  max-width: 48%; }
  .prev_link_text:before {
    display: inline;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 30px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    margin: 0;
    padding: 0; }
  @media screen and (max-width: 1000px) {
    .prev_link_text {
      padding: 15px 10px;
      margin: 15px;
      font-size: .85em;
      max-width: 44%; }
      .prev_link_text:before {
        display: inline;
        display: inline-block;
        content: "";
        font-family: 'glyphs';
        font-size: 30px;
        font-variant: normal;
        text-align: center;
        text-transform: none;
        font-style: normal;
        font-weight: normal;
        color: #fff;
        speak: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        vertical-align: middle;
        margin: 0;
        padding: 0; } }
  @media screen and (max-width: 480px) {
    .prev_link_text {
      padding: 10px 5px;
      margin: 10px;
      font-size: .75em;
      max-width: 42%; }
      .prev_link_text:before {
        display: inline;
        display: inline-block;
        content: "";
        font-family: 'glyphs';
        font-size: 15px;
        font-variant: normal;
        text-align: center;
        text-transform: none;
        font-style: normal;
        font-weight: normal;
        color: #fff;
        speak: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        vertical-align: middle;
        margin: 0;
        padding: 0; } }

.next_link_text {
  padding: .8em 2em .7em 2.5em;
  float: right; }
  .next_link_text:after {
    display: inline;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 30px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    margin: 0;
    padding: 0; }
  @media screen and (max-width: 1000px) {
    .next_link_text {
      padding: 15px 10px;
      margin: 15px;
      font-size: .85em;
      max-width: 44%; }
      .next_link_text:after {
        display: inline;
        display: inline-block;
        content: "";
        font-family: 'glyphs';
        font-size: 30px;
        font-variant: normal;
        text-align: center;
        text-transform: none;
        font-style: normal;
        font-weight: normal;
        color: #fff;
        speak: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        vertical-align: middle;
        margin: 0;
        padding: 0; } }
  @media screen and (max-width: 480px) {
    .next_link_text {
      padding: 10px 5px;
      margin: 10px;
      font-size: .75em;
      max-width: 42%; }
      .next_link_text:after {
        display: inline;
        display: inline-block;
        content: "";
        font-family: 'glyphs';
        font-size: 15px;
        font-variant: normal;
        text-align: center;
        text-transform: none;
        font-style: normal;
        font-weight: normal;
        color: #fff;
        speak: none;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        vertical-align: middle;
        margin: 0;
        padding: 0; } }

.collection__inner.plans_compare {
  display: block; }
  @media screen and (min-width: 1000) {
    .collection__inner.plans_compare {
      display: inline-block; } }

@media screen and (max-width: 1100px) {
  .plans__maintext {
    width: 90%;
    margin: auto; } }

.plans_content {
  display: inline-block;
  font-family: 'Open Sans', sans-serif;
  width: 22%;
  min-width: 250px;
  margin: auto 60px auto 20px;
  vertical-align: top; }
  @media screen and (min-width: 1000px) {
    .plans_content {
      width: 22%;
      min-width: 250px;
      margin: auto 60px auto 20px;
      vertical-align: top; } }
  @media screen and (max-width: 1000px) {
    .plans_content {
      display: block;
      width: 100%;
      min-width: 250px;
      margin: auto;
      vertical-align: top; } }
  @media screen and (min-width: 1000px) {
    .plans_content .plan_details {
      height: 650px; } }
  .plans_content .plan_details .tile_compare .tile--plans .tile_figure {
    width: 220px;
    background: #fff;
    opacity: 0;
    border: none;
    height: 135px; }
  .plans_content .plan_details .tile_compare .tile--plans .tile__content {
    color: #fff;
    height: auto;
    width: 100%;
    text-align: center; }
  .plans_content a:hover {
    color: #22a4e8; }
  .plans_content a {
    color: #22a4e8; }
  .plans_content ul {
    margin: 30px auto; }
  .plans_content ul li {
    list-style-position: outside;
    line-height: 1.8em;
    font-size: 14px; }
  .plans_content ul li:before {
    font-family: glyphs;
    content: '\f111';
    color: #50b7ed;
    font-size: 8px;
    padding-right: 5px; }
  .plans_content p {
    margin: 10px auto;
    font-size: 14px; }
  .plans_content .cta_button {
    display: inline-block;
    margin: .5em 0 0 0;
    background: #50b7ed;
    color: #fff;
    text-transform: uppercase;
    padding: .5em 1em;
    border: none; }
    .plans_content .cta_button a, .plans_content .cta_button a:hover {
      color: #fff; }
    .plans_content .cta_button :hover {
      cursor: pointer; }
    .plans_content .cta_button :after {
      padding-left: 10px;
      font-family: glyphs;
      content: "\e254";
      color: #fff; }
  .plans_content .cta_text_link {
    margin: 0;
    padding: 0;
    font-size: 14px; }
  @media screen and (max-width: 1000px) {
    .plans_content {
      display: block;
      margin: auto;
      width: 60%;
      min-width: 250px;
      max-width: 400px; } }

#back2Top {
  overflow: hidden;
  z-index: 999;
  display: none;
  cursor: pointer;
  font-family: 'Open Sans', sans-serif;
  font-weight: 900;
  font-size: .9em;
  line-height: 25px;
  padding: 5px;
  background-color: #137CB4;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  position: fixed;
  top: 120px;
  right: 10%; }
  #back2Top hover {
    background-color: #50b7ed;
    color: #000; }
  @media screen and (max-width: 1400px) {
    #back2Top {
      right: 3%;
      font-size: .85em; } }
  @media screen and (max-width: 1000px) {
    #back2Top {
      top: 10px;
      right: 2%;
      font-size: .75em; } }

.plan-descr-text {
  margin: 30px auto 30px 40px;
  color: #272727;
  margin-bottom: 30px;
  line-height: 1.6; }

.plan-descr-note {
  font-size: 80%;
  font-style: italic;
  margin: 20px auto 30px 40px; }

.plan-prices {
  font-style: italic;
  margin: 30px auto 30px 40px; }

.gcse-searchbox {
  width: 80%;
  margin: auto auto;
  position: relative; }
  .gcse-searchbox .gsc-table-result, .gcse-searchbox .gsc-thumbnail-inside, .gcse-searchbox .gsc-url-top {
    padding-left: 0; }

table.tickerTable tr.tickerHeader td {
  font-weight: 600; }

table.tickerTable tr.tickerHeader td:first-child {
  width: 20%; }

.content .content__copy .survey-form {
  color: #494949;
  font-size: 18px;
  font-family: arial;
  line-height: 1.5;
  width: 100%;
  }
  .content .content__copy .survey-form p {
    color: #494949;
    font-size: 18px;
    font-family: arial;
    line-height: 1.5;
    margin-left: 1%;
    margin-top: 40px; }
  .content .content__copy .survey-form form .form-header {
    padding: 5px; }
  .content .content__copy .survey-form form p {
    margin: 10px 10px 0px 0px; }
  .content .content__copy .survey-form input[type=checkbox] {
    transform: scale(1.5);
    margin: 15px 15px 15px 0px; }
  .content .content__copy .survey-form input[type=radio] {
    margin: 15px 15px 15px 0px; }
  .content .content__copy .survey-form input[type=number] {
    margin-left: 0;
    margin-bottom: 40px;
    background-color: #efefef;
    padding: 5px 10px;
    width: 80px;
    font-size: .9em; }
    .content .content__copy .survey-form input[type=number]::-webkit-inner-spin-button {
      opacity: 1; }
  .content .content__copy .survey-form input[type=textarea] {
    margin: 10px 10px 5px -5px;
    padding: 5px;
    background-color: #dedede; }
  .content .content__copy .survey-form option {
    font-weight: 400;
    color: #494949;
    line-height: 1.5;
    padding: 5px 10px; }
  .content .content__copy .survey-form .multiline {
    margin: 5px 5px 10px 0px;
    width: 100%;
    padding: 10px 10px 10px 20px;
    background-color: #efefef;
    border: 1px solid #cccccc; }
    .content .content__copy .survey-form .multiline textarea.multiline {
      margin: 10px 10px 5px -5px;
      padding: 5px;
      background-color: #ffffff; }
  .content .content__copy .survey-form .select-box select {
    background-color: #efefef;
    line-height: 2;
    margin-left: 7px;
    margin-top: 10px;
    margin-bottom: 40px;
    width: 360px;
    overflow-y: auto; }
  .content .content__copy .survey-form .select-items div, .content .content__copy .survey-form .select-selected {
    padding: 10px;
    margin: 10px;
    line-height: 2; }
  .content .content__copy .survey-form .singleline {
    margin: 5px 5px 10px 7px;
    width: 100%;
    padding: 10px;
    background-color: #efefef;
    border: 1px solid black; }
  .content .content__copy .survey-form .form-note {
    margin: 0 0 40px 0px;
    padding: 0;
    font-size: .8em;
    font-style: italic;
    font-weight: 400; }
  .content .content__copy .survey-form .submitbox {
    margin: 40px 40% 0 40%;
    width: 15%;
    padding: 10px 15px;
    background-color: #50b7ed;
    border: none;
    color: #ffffff;
    border-radius: 10px;
    font-weight: 600;
    font-size: 1em;
    display: inline;
    vertical-align: middle; }

th.survey-results {
  transform: translate(20px, -45px) rotate(315deg);
  text-align: left;
  padding-left: 5px; }

.layout.layout--sidebar .layout__region.why-sr section.menu.menu--about-us {
  padding-left: 1.25em;
  padding-right: .75em;
  margin-right: 0%; }

.search_next button {
  float: right;
  padding: 10px 30px;
  background-color: #50b7ed;
  color: #fff;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 900; }
  .search_next button:after {
    display: inline;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 28px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    margin: 0;
    padding: 0; }

.search_prev button {
  float: left;
  padding: 10px 30px;
  background-color: #50b7ed;
  color: #fff;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 900; }
  .search_prev button:before {
    display: inline;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 28px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    margin: 0;
    padding: 0; }

.search_dropdown button {
  padding: 2px 10px;
  background: #4d90FE;
  border-color: #3079ed;
  width: 12%;
  margin-left: 10px; }
  .search_dropdown button:before {
    display: inline;
    display: inline-block;
    content: "";
    font-family: 'glyphs';
    font-size: 18px;
    font-variant: normal;
    text-align: center;
    text-transform: none;
    font-style: normal;
    font-weight: normal;
    color: #fff;
    speak: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    vertical-align: middle;
    margin: 0;
    padding: 0 0 3px 0;
    font-weight: 900; }

.form.form--help-search {
  z-index: 0; }

.search_page {
  border: 3px solid #ccc;
  background: #fff;
  padding: 4px;
  margin: 40px auto;
  width: 95%;
  vertical-align: middle;
  border-radius: 2px; }
  .search_page input {
    margin: auto;
    width: 90%;
    display: inline-block;
    padding: 5px;
    font-size: 18px;
    line-height: 28px; }
  .search_page button {
    background: #4d90FE;
    border-color: #3079ed;
    width: 7%;
    margin: 5px 10px;
    display: inline-block;
    float: right;
    border-radius: 5px; }
    .search_page button:before {
      display: inline;
      display: inline-block;
      content: "";
      font-family: 'glyphs';
      font-size: 18px;
      font-variant: normal;
      text-align: center;
      text-transform: none;
      font-style: normal;
      font-weight: normal;
      color: #fff;
      speak: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      vertical-align: middle;
      margin: 0;
      padding: 0 0 3px 0;
      font-weight: 900; }

.content__copy ol .help-search h3 li {
  margin-left: 0.5em;
  margin-bottom: 0;
  font-weight: 900;
  font-size: 18px;
  margin-top: 1em; }

.content__copy ol .help-search p {
  margin-top: 0; }

@media screen and (max-width: 600px) {
  h1.content__heading.lst {
    margin-top: 40px; } }

.lst-logo img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
  max-width: 180px;
  width: calc(120px + 4vw);
  height: auto;
  position: absolute;
  right: calc(40px + 25vw);
  top: calc(20px + 12vh); }
  @media screen and (max-width: 1300px) {
    .lst-logo img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
      right: calc(20px + 10vw);
      top: calc(20px + 12vh); } }
  @media screen and (max-width: 1000px) {
    .lst-logo img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
      right: calc(20px + 3vw);
      top: calc(10px + 2vh); } }
  @media screen and (max-width: 600px) {
    .lst-logo img.attachment-post-thumbnail.size-post-thumbnail.wp-post-image {
      right: calc(20px);
      top: calc(20px); } }

@media screen and (max-width: 600px) {
  h1.content__heading.vsg {
    margin-top: 40px; } }

.vsg-logo img.wp-post-image {
  max-width: 450px;
  height: auto; }
  @media screen and (max-width: 1300px) {
    .vsg-logo img.wp-post-image {
      width: 450px; } }
  @media screen and (max-width: 450px) {
    .vsg-logo img.wp-post-image {
      width: 75vw; } }

.affiliate {
  margin: 15px auto;
  width: 90%;
  padding: 10px 10px 10px 20px;
  background-color: #efefef;
  border: 1px solid #cccccc;
  font-size: 18px;
  line-height: 1.5;
  font-family: arial; }
  .affiliate .affiliate-submitbox {
    margin: 20px auto 10px auto;
    width: 70%;
    max-width: 200px;
    padding: 10px 15px;
    background-color: #5890e3;
    border: none;
    color: #fff;
    font-size: 1em;
    font-weight: 600;
    display: inline;
    vertical-align: middle;
    border-radius: 0px; }
  .affiliate input {
    width: 100%;
    line-height: 18px;
    padding: 10px;
    margin: 5px auto 15px auto; }
  .affiliate label {
    font-weight: 600;
    padding: 20px 0 15px 0; }
  .affiliate textarea {
    margin: 5px auto;
    padding: 10px;
    width: 100%; }

.affiliate-banner {
  background-image: url("/wp-content/uploads/2020/04/woman-at-desk-oct-2019.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  height: 50VH;
  font-family: Arial, Verdana, sans-serif;
  text-align: center;
  color: #202020;
  background-color: #fff; }
  @media screen and (max-width: 700px) {
    .affiliate-banner {
      height: 30vh; } }
  @media screen and (max-width: 1000px) {
    .affiliate-banner {
      height: 40vh;
      background-position: 50% 50%; } }
  .affiliate-banner .banner_text {
    padding-top: 6vh;
    color: #111;
    padding-left: 5vw;
    padding-right: 45vw;
    font-weight: 600;
    font-size: calc( 26px + .5vw); }
    @media screen and (max-width: 1500px) {
      .affiliate-banner .banner_text {
        font-size: calc( 22px + .5vw);
        padding-top: 6vh; } }
    @media screen and (max-width: 700px) {
      .affiliate-banner .banner_text {
        font-size: calc( 18px + .5vw);
        padding-top: 4vh;
        padding-left: 2vw;
        padding-right: 35vw; } }

.collapsible {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none; }

.active, .collapsible:hover, .faq_content:hover {
  background-color: #ccc; }

.faq_content {
  padding: 10px 18px 10px 18px;
  display: none;
  overflow: hidden;
  background-color: #eee; }

.affiliate-faq {
  width: 80%; }

#toc_container {
  margin-top: 1.5em !important;
  padding: 0 !important;
  margin-bottom: 0px !important;
  border: none !important;
  background: none; }

#toc_container p.toc_title {
  text-align: left !important;
  font-size: 1.5em;
  font-weight: 600; }

.no_display {
  display: none !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsLmNzcyIsInNvdXJjZXMiOlsiYWxsLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19ib3VyYm9uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19wcmVmaXhlci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9zZXR0aW5ncy9fcHgtdG8tZW0uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fYXNzaWduLWlucHV0cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2NvbnRhaW5zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fY29udGFpbnMtZmFsc3kuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1sZW5ndGguc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19pcy1saWdodC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLW51bWJlci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19weC10by1lbS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fc3RyaXAtdW5pdHMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL190aW50LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdW5wYWNrLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2RpcmVjdGlvbmFsLXZhbHVlcy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX2xpbmVhci1hbmdsZS1wYXJzZXIuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fbGluZWFyLWdyYWRpZW50LXBhcnNlci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1hcmctcGFyc2VyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3N0ci10by1udW0uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYmFja2ZhY2UtdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fYm9yZGVyLWltYWdlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2NhbGMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fY29sdW1ucy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19maWx0ZXIuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZmxleC1ib3guc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fZm9udC1mYWNlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ZvbnQtZmVhdHVyZS1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oeXBoZW5zLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2ltYWdlLXJlbmRlcmluZy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19rZXlmcmFtZXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3BsYWNlaG9sZGVyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19zZWxlY3Rpb24uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX3VzZXItc2VsZWN0LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLWNvbG9yLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci1zdHlsZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2JvcmRlci13aWR0aC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fZm9udC1zdGFja3Muc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19oaWRlLXRleHQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19tYXJnaW4uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wYWRkaW5nLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19wcmVmaXhlci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3JldGluYS1pbWFnZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3NpemUuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190ZXh0LWlucHV0cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL190cmlhbmdsZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm91cmJvbi1kZXByZWNhdGVkLXVwY29taW5nLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL19uZWF0LWhlbHBlcnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19wcml2YXRlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbmV3LWJyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX2dyaWQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvc2V0dGluZ3MvX3Zpc3VhbC1ncmlkLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL3NldHRpbmdzL19kaXNhYmxlLXdhcm5pbmdzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfYW5pbWF0aW9ucy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9fbmVhdC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19wcml2YXRlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb21lZ2Euc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fc2hpZnQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcGFkLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2ZpbGwtcGFyZW50LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX21lZGlhLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3RvLWRlcHJlY2F0ZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL192aXN1YWwtZ3JpZC5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19kaXNwbGF5LWNvbnRleHQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fZGlyZWN0aW9uLWNvbnRleHQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vX2RhaXNoby5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2RhaXNoby9oZWxwZXJzL19taXhpbnMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vaGVscGVycy9taXhpbnMvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vaGVscGVycy9taXhpbnMvX2NsZWFyLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL2hlbHBlcnMvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vaGVscGVycy9taXhpbnMvX2ZvbnQtZmFjZS5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2RhaXNoby9oZWxwZXJzL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL2hlbHBlcnMvbWl4aW5zL19pY29uLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL2hlbHBlcnMvbWl4aW5zL19sYXllci5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2RhaXNoby9oZWxwZXJzL21peGlucy9fbWF4LXNpemUuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vaGVscGVycy9fcmVzZXRzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL3Jlc2V0L19ibG9jay5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2RhaXNoby9yZXNldC9fZm9ybXMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vcmVzZXQvX2hlYWRpbmdzLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL3Jlc2V0L19pbmxpbmUuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vcmVzZXQvX2lucHV0cy5zY3NzIiwiLi4vLi4vZGVwZW5kZW5jaWVzL2RhaXNoby9yZXNldC9fbGlzdHMuc2NzcyIsIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vcmVzZXQvX21lZGlhLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL3Jlc2V0L19zaXRlLnNjc3MiLCIuLi8uLi9kZXBlbmRlbmNpZXMvZGFpc2hvL3Jlc2V0L190YWJsZXMuc2NzcyIsIl9nbHlwaHMuc2NzcyIsIi4uLy4uL2ZvbnRzL2dseXBocy92YXJpYWJsZXMuc2NzcyIsIi4uLy4uL2ZvbnRzL2dseXBocy9zdHlsZS5zY3NzIiwiX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9fYXBwbGljYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX21haW4uc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbG9nby5zY3NzIiwiY29tcG9uZW50cy9fdG9nZ2xlLnNjc3MiLCJjb21wb25lbnRzL19hc2lkZS5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc3VibmF2aWdhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fbWVudS5zY3NzIiwiY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwiY29tcG9uZW50cy9fc3Vic3VibWVudS5zY3NzIiwiY29tcG9uZW50cy9fc2xpZGUuc2NzcyIsImNvbXBvbmVudHMvX2NvbGxlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2hvbWVwYWdlLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJjb21wb25lbnRzL190aWxlLnNjc3MiLCJjb21wb25lbnRzL19zcG90LnNjc3MiLCJjb21wb25lbnRzL190ZXN0aW1vbmlhbC5zY3NzIiwiY29tcG9uZW50cy9fY29tcG9uZW50cy5zY3NzIiwiY29tcG9uZW50cy9fdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQuc2NzcyIsImNvbXBvbmVudHMvX3Byb2dyZXNzLnNjc3MiLCJjb21wb25lbnRzL19sYXlvdXQuc2NzcyIsImNvbXBvbmVudHMvX2RlZmluaXRpb25zLnNjc3MiLCJjb21wb25lbnRzL19jb21tZW50cy5zY3NzIiwiY29tcG9uZW50cy9fcGFnZS1zdGF0ZXMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2Utc3BlY2lmaWMtb3ZlcnJpZGVzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uLy4uL2RlcGVuZGVuY2llcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYm91cmJvblwiO1xuQGltcG9ydCBcIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvbmVhdC1oZWxwZXJzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcIi4uLy4uL2RlcGVuZGVuY2llcy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvbmVhdFwiO1xuQGltcG9ydCBcIi4uLy4uL2RlcGVuZGVuY2llcy9kYWlzaG8vZGFpc2hvXCI7XG5cbkBpbXBvcnQgXCJnbHlwaHNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvYXBwbGljYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21haW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbG9nb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9nZ2xlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hc2lkZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3VibmF2aWdhdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3VibWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3Vic3VibWVudVwiO1xuXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL3NsaWRlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb2xsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ob21lcGFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tb2RhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGlsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3BvdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGVzdGltb25pYWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcm9ncmVzc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGF5b3V0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kZWZpbml0aW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tbWVudHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2Utc3RhdGVzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wYWdlLXNwZWNpZmljLW92ZXJyaWRlc1wiO1xuXG4jdG9jX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMS41ZW0gIWltcG9ydGFudDsgXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XHRcbn1cblxuI3RvY19jb250YWluZXIgcC50b2NfdGl0bGUge1xuXHR0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuLm5vX2Rpc3BsYXkge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuIiwiLy8gQm91cmJvbiA0LjIuNlxuLy8gaHR0cDovL2JvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDExLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnbi1pbnB1dHNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnMtZmFsc3lcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLWxpZ2h0XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLW51bWJlclwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9pcy1zaXplXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLWVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3B4LXRvLXJlbVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zaGFkZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9zdHJpcC11bml0c1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy90aW50XCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RyYW5zaXRpb24tcHJvcGVydHktbmFtZVwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy91bnBhY2tcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbW9kdWxhci1zY2FsZVwiO1xuXG5AaW1wb3J0IFwiaGVscGVycy9jb252ZXJ0LXVuaXRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9kaXJlY3Rpb25hbC12YWx1ZXNcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2ZvbnQtc291cmNlLWRlY2xhcmF0aW9uXCI7XG5AaW1wb3J0IFwiaGVscGVycy9ncmFkaWVudC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItYW5nbGUtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWFyZy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zaGFwZS1zaXplLXN0cmlwcGVyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9zdHItdG8tbnVtXCI7XG5cbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xuQGltcG9ydCBcImNzczMvYXBwZWFyYW5jZVwiO1xuQGltcG9ydCBcImNzczMvYmFja2ZhY2UtdmlzaWJpbGl0eVwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZC1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLWltYWdlXCI7XG5AaW1wb3J0IFwiY3NzMy9jYWxjXCI7XG5AaW1wb3J0IFwiY3NzMy9jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9maWx0ZXJcIjtcbkBpbXBvcnQgXCJjc3MzL2ZsZXgtYm94XCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2ZvbnQtZmVhdHVyZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcbkBpbXBvcnQgXCJjc3MzL2h5cGhlbnNcIjtcbkBpbXBvcnQgXCJjc3MzL2ltYWdlLXJlbmRlcmluZ1wiO1xuQGltcG9ydCBcImNzczMva2V5ZnJhbWVzXCI7XG5AaW1wb3J0IFwiY3NzMy9saW5lYXItZ3JhZGllbnRcIjtcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xuQGltcG9ydCBcImNzczMvcmFkaWFsLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9zZWxlY3Rpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RleHQtZGVjb3JhdGlvblwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNmb3JtXCI7XG5AaW1wb3J0IFwiY3NzMy90cmFuc2l0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xuXG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1jb2xvclwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwiYWRkb25zL2JvcmRlci1zdHlsZVwiO1xuQGltcG9ydCBcImFkZG9ucy9ib3JkZXItd2lkdGhcIjtcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy9jbGVhcmZpeFwiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LXN0YWNrc1wiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvbWFyZ2luXCI7XG5AaW1wb3J0IFwiYWRkb25zL3BhZGRpbmdcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGV4dC1pbnB1dHNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgb3IgZGlzYWJsZSB2ZW5kb3IgcHJlZml4ZXNcblxuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0O1xuIiwiJGVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIGdsb2JhbCBzZXR0aW5nIHRvIGVuYWJsZSBvciBkaXNhYmxlIHRoZSBgJGFzc2V0LXBpcGVsaW5lYCB2YXJpYWJsZSBmb3IgYWxsIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBpdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBmdW5jdGlvbiBhc3NpZ24taW5wdXRzKCRpbnB1dHMsICRwc2V1ZG86IG51bGwpIHtcbiAgJGxpc3Q6ICgpO1xuXG4gIEBlYWNoICRpbnB1dCBpbiAkaW5wdXRzIHtcbiAgICAkaW5wdXQ6IHVucXVvdGUoJGlucHV0KTtcbiAgICAkaW5wdXQ6IGlmKCRwc2V1ZG8sICRpbnB1dCArIFwiOlwiICsgJHBzZXVkbywgJGlucHV0KTtcbiAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkaW5wdXQsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJGxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGNvbnRhaW5zIGEgdmFsdWUocykuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZXNcbi8vLyAgIEEgc2luZ2xlIHZhbHVlIG9yIGxpc3Qgb2YgdmFsdWVzIHRvIGNoZWNrIGZvci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgY29udGFpbnMoJGxpc3QsICR2YWx1ZSlcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2x9XG5cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJHZhbHVlcy4uLikge1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoaW5kZXgoJGxpc3QsICR2YWx1ZSkpICE9IFwibnVtYmVyXCIge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIHRydWU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgaWYgYSBsaXN0IGRvZXMgbm90IGNvbnRhaW5zIGEgdmFsdWUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3Rcbi8vLyAgIFRoZSBsaXN0IHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gY29udGFpbnMtZmFsc3koJGxpc3QpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgIEBpZiBub3QgJGl0ZW0ge1xuICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gZmFsc2U7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGVja3MgZm9yIGEgdmFsaWQgQ1NTIGxlbmd0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcblxuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudWxsXCIgYW5kIChzdHItc2xpY2UoJHZhbHVlICsgXCJcIiwgMSwgNCkgPT0gXCJjYWxjXCJcbiAgICAgICBvciBpbmRleChhdXRvIGluaGVyaXQgaW5pdGlhbCAwLCAkdmFsdWUpXG4gICAgICAgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCBub3QodW5pdGxlc3MoJHZhbHVlKSkpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb2dyYW1hdGljYWxseSBkZXRlcm1pbmVzIHdoZXRoZXIgYSBjb2xvciBpcyBsaWdodCBvciBkYXJrLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3JvYm90cy50aG91Z2h0Ym90LmNvbS9jbG9zZXItbG9vay1jb2xvci1saWdodG5lc3Ncbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3IgKEhleCl9ICRjb2xvclxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBpcy1saWdodCgkY29sb3IpXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuXG5AZnVuY3Rpb24gaXMtbGlnaHQoJGhleC1jb2xvcikge1xuICAkLWxvY2FsLXJlZDogcmVkKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWdyZWVuOiBncmVlbihyZ2JhKCRoZXgtY29sb3IsIDEpKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMSkpO1xuICAkLWxvY2FsLWxpZ2h0bmVzczogKCQtbG9jYWwtcmVkICogMC4yMTI2ICsgJC1sb2NhbC1ncmVlbiAqIDAuNzE1MiArICQtbG9jYWwtYmx1ZSAqIDAuMDcyMikgLyAyNTU7XG5cbiAgQHJldHVybiAkLWxvY2FsLWxpZ2h0bmVzcyA+IDAuNjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbnRhaW5zXG5cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gY29udGFpbnMoXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCIgMCAxIDIgMyA0IDUgNiA3IDggOSwgJHZhbHVlKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoZWNrcyBmb3IgYSB2YWxpZCBDU1Mgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdmFsdWVcbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnNcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xuICB9XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCBibGFjay5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiBibGFjayB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgjZmZiYjUyLCA2MCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY0YTIwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3J9XG5cbkBmdW5jdGlvbiBzaGFkZSgkY29sb3IsICRwZXJjZW50KSB7XG4gIEByZXR1cm4gbWl4KCMwMDAsICRjb2xvciwgJHBlcmNlbnQpO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAoV2l0aCBVbml0KX0gJHZhbHVlXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRkaW1lbnNpb246IHN0cmlwLXVuaXRzKDEwZW0pO1xuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgJGRpbWVuc2lvbjogMTA7XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXIgKFVuaXRsZXNzKX1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xuICBAcmV0dXJuICgkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcbi8vIEV4YW1wbGU6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoKHRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmQpLCBtb3opIC0+IC1tb3otdHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZFxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xuICAkbmV3LXByb3BzOiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuICAgICRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG4gIC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuICBAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcbiAgICBAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkcHJvcDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ29udmVydHMgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3J0aGFuZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbjogdW5wYWNrKDFlbSAyZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW46IDFlbSAyZW0gMWVtIDJlbTtcbi8vLyAgIH1cblxuQGZ1bmN0aW9uIHVucGFjaygkc2hvcnRoYW5kKSB7XG4gIEBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMSB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSk7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDIge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAzIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMikgbnRoKCRzaG9ydGhhbmQsIDMpIG50aCgkc2hvcnRoYW5kLCAyKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkc2hvcnRoYW5kO1xuICB9XG59XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kbW9kdWxhci1zY2FsZS1yYXRpbzogJHBlcmZlY3QtZm91cnRoICFkZWZhdWx0O1xuJG1vZHVsYXItc2NhbGUtYmFzZTogZW0oJGVtLWJhc2UpICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gbW9kdWxhci1zY2FsZSgkaW5jcmVtZW50LCAkdmFsdWU6ICRtb2R1bGFyLXNjYWxlLWJhc2UsICRyYXRpbzogJG1vZHVsYXItc2NhbGUtcmF0aW8pIHtcbiAgJHYxOiBudGgoJHZhbHVlLCAxKTtcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XG4gICR2YWx1ZTogJHYxO1xuXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxuICBAd2hpbGUgJHYyID4gJHYxIHtcbiAgICAkdjI6ICgkdjIgLyAkcmF0aW8pOyAvLyB3aWxsIGJlIG9mZi1ieS0xXG4gIH1cbiAgQHdoaWxlICR2MiA8ICR2MSB7XG4gICAgJHYyOiAoJHYyICogJHJhdGlvKTsgLy8gd2lsbCBmaXggb2ZmLWJ5LTFcbiAgfVxuXG4gIC8vIGNoZWNrIEFGVEVSIHNjYWxpbmcgJHYyIHRvIHByZXZlbnQgZG91YmxlLWNvdW50aW5nIGNvcm5lci1jYXNlXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcblxuICBAaWYgJGluY3JlbWVudCA+IDAge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XG4gICAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCBhbmQgKCR2MSAqICRyYXRpbykgPiAkdjIge1xuICAgICAgICAkdmFsdWU6ICR2MjtcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdjE6ICgkdjEgKiAkcmF0aW8pO1xuICAgICAgICAkdmFsdWU6ICR2MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGluY3JlbWVudCA8IDAge1xuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcbiAgICBAaWYgJGRvdWJsZS1zdHJhbmRlZCB7XG4gICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgIH1cblxuICAgIEBmb3IgJGkgZnJvbSAkaW5jcmVtZW50IHRocm91Z2ggLTEge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAvICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxIC8gJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHN0ci10by1udW0gZm4uXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX2NvbnZlcnQtdW5pdHMoJG51bWJlciwgJHVuaXQpIHtcbiAgJHN0cmluZ3M6IFwicHhcIiwgXCJjbVwiLCBcIm1tXCIsIFwiJVwiLCBcImNoXCIsIFwicGljYVwiLCBcImluXCIsIFwiZW1cIiwgXCJyZW1cIiwgXCJwdFwiLCBcInBjXCIsIFwiZXhcIiwgXCJ2d1wiLCBcInZoXCIsIFwidm1pblwiLCBcInZtYXhcIiwgXCJkZWdcIiwgXCJyYWRcIiwgXCJncmFkXCIsIFwidHVyblwiO1xuICAkdW5pdHM6ICAgMXB4LCAxY20sIDFtbSwgMSUsIDFjaCwgMXBpY2EsIDFpbiwgMWVtLCAxcmVtLCAxcHQsIDFwYywgMWV4LCAxdncsIDF2aCwgMXZtaW4sIDF2bWF4LCAxZGVnLCAxcmFkLCAxZ3JhZCwgMXR1cm47XG4gICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICR1bml0KTtcblxuICBAaWYgbm90ICRpbmRleCB7XG4gICAgQHdhcm4gXCJVbmtub3duIHVuaXQgYCN7JHVuaXR9YC5cIjtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG51bWJlcikgIT0gXCJudW1iZXJcIiB7XG4gICAgQHdhcm4gXCJgI3skbnVtYmVyfSBpcyBub3QgYSBudW1iZXJgXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIEByZXR1cm4gJG51bWJlciAqIG50aCgkdW5pdHMsICRpbmRleCk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXJlY3Rpb25hbC1wcm9wZXJ0eSBtaXhpbnMgYXJlIHNob3J0aGFuZHMgZm9yIHdyaXRpbmcgcHJvcGVydGllcyBsaWtlIHRoZSBmb2xsb3dpbmdcbi8vL1xuLy8vIEBpZ25vcmUgWW91IGNhbiBhbHNvIHVzZSBgZmFsc2VgIGluc3RlYWQgb2YgYG51bGxgLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkdmFsc1xuLy8vICAgTGlzdCBvZiBkaXJlY3Rpb25hbCB2YWx1ZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8vICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIDEwcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRvdHRlZDtcbi8vLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG5cbkBmdW5jdGlvbiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpIHtcbiAgJG91dHB1dDogbnVsbDtcblxuICAkYTogbnRoKCR2YWxzLCAxKTtcbiAgJGI6IGlmKGxlbmd0aCgkdmFscykgPCAyLCAkYSwgbnRoKCR2YWxzLCAyKSk7XG4gICRjOiBpZihsZW5ndGgoJHZhbHMpIDwgMywgJGEsIG50aCgkdmFscywgMykpO1xuICAkZDogaWYobGVuZ3RoKCR2YWxzKSA8IDIsICRhLCBudGgoJHZhbHMsIGlmKGxlbmd0aCgkdmFscykgPCA0LCAyLCA0KSkpO1xuXG4gIEBpZiAkYSA9PSAwIHsgJGE6IDA7IH1cbiAgQGlmICRiID09IDAgeyAkYjogMDsgfVxuICBAaWYgJGMgPT0gMCB7ICRjOiAwOyB9XG4gIEBpZiAkZCA9PSAwIHsgJGQ6IDA7IH1cblxuICBAaWYgJGEgPT0gJGIgYW5kICRhID09ICRjIGFuZCAkYSA9PSAkZCB7ICRvdXRwdXQ6ICRhOyAgICAgICAgICB9XG4gIEBlbHNlIGlmICRhID09ICRjIGFuZCAkYiA9PSAkZCAgICAgICAgIHsgJG91dHB1dDogJGEgJGI7ICAgICAgIH1cbiAgQGVsc2UgaWYgJGIgPT0gJGQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkYSAkYiAkYzsgICAgfVxuICBAZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ICRvdXRwdXQ6ICRhICRiICRjICRkOyB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gT3V0cHV0IGRpcmVjdGlvbmFsIHByb3BlcnRpZXMsIGZvciBpbnN0YW5jZSBgbWFyZ2luYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcmVcbi8vLyAgIFByZWZpeCB0byB1c2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZlxuLy8vICAgU3VmZml4IHRvIHVzZVxuLy8vIEBwYXJhbSB7TGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgdmFsdWVzXG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGNvbGxhcHNlLWRpcmVjdGlvbmFsc1xuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udGFpbnMtZmFsc3lcblxuQG1peGluIGRpcmVjdGlvbmFsLXByb3BlcnR5KCRwcmUsICRzdWYsICR2YWxzKSB7XG4gIC8vIFByb3BlcnR5IE5hbWVzXG4gICR0b3A6ICAgICRwcmUgKyBcIi10b3BcIiAgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRib3R0b206ICRwcmUgKyBcIi1ib3R0b21cIiArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRsZWZ0OiAgICRwcmUgKyBcIi1sZWZ0XCIgICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRyaWdodDogICRwcmUgKyBcIi1yaWdodFwiICArIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG4gICRhbGw6ICAgICRwcmUgKyAgICAgICAgICAgICBpZigkc3VmLCBcIi0jeyRzdWZ9XCIsIFwiXCIpO1xuXG4gICR2YWxzOiBjb2xsYXBzZS1kaXJlY3Rpb25hbHMoJHZhbHMpO1xuXG4gIEBpZiBjb250YWlucy1mYWxzeSgkdmFscykge1xuICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skdG9wfTogbnRoKCR2YWxzLCAxKTsgfVxuXG4gICAgQGlmIGxlbmd0aCgkdmFscykgPT0gMSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAxKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAxKTsgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRyaWdodH06IG50aCgkdmFscywgMik7IH1cbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAyIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAxKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHMpID09IDMge1xuICAgICAgQGlmIG50aCgkdmFscywgMykgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDMpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIkBmdW5jdGlvbiBfZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtdHlwZSwgJGdyYWRpZW50LXBvc2l0aW9ucykge1xuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xuICBhbmQgKCRncmFkaWVudC10eXBlID09IGxpbmVhcilcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAcmV0dXJuICRncmFkaWVudC1wb3NpdGlvbnM7XG59XG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KSB7XG4gICRvZmZzZXQ6IG51bGw7XG4gICR1bml0LXNob3J0OiAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAyLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgJHVuaXQtbG9uZzogICBzdHItc2xpY2UoJGZpcnN0LXZhbCwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSAtIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gIEBpZiAoJHVuaXQtbG9uZyA9PSBcImdyYWRcIikgb3JcbiAgICAgICgkdW5pdC1sb25nID09IFwidHVyblwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtbG9uZyA9PSBcImdyYWRcIiwgLTEwMGdyYWQgKiAzLCAtMC43NXR1cm4pO1xuICB9XG5cbiAgQGVsc2UgaWYgKCR1bml0LXNob3J0ID09IFwiZGVnXCIpIG9yXG4gICAgICAgICAgICgkdW5pdC1zaG9ydCA9PSBcInJhZFwiKSB7XG4gICAgJG9mZnNldDogaWYoJHVuaXQtc2hvcnQgPT0gXCJkZWdcIiwgLTkwICogMywgMS42cmFkKTtcbiAgfVxuXG4gIEBpZiAkb2Zmc2V0IHtcbiAgICAkbnVtOiBfc3RyLXRvLW51bSgkZmlyc3QtdmFsKTtcblxuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAoJG9mZnNldCAtICRudW0pICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpIHtcbiAgJGltYWdlOiB1bnF1b3RlKCRpbWFnZSk7XG4gICRncmFkaWVudHM6ICgpO1xuICAkc3RhcnQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiKFwiKTtcbiAgJGVuZDogc3RyLWluZGV4KCRpbWFnZSwgXCIsXCIpO1xuICAkZmlyc3QtdmFsOiBzdHItc2xpY2UoJGltYWdlLCAkc3RhcnQgKyAxLCAkZW5kIC0gMSk7XG5cbiAgJHByZWZpeDogc3RyLXNsaWNlKCRpbWFnZSwgMSwgJHN0YXJ0KTtcbiAgJHN1ZmZpeDogc3RyLXNsaWNlKCRpbWFnZSwgJGVuZCwgc3RyLWxlbmd0aCgkaW1hZ2UpKTtcblxuICAkaGFzLW11bHRpcGxlLXZhbHM6IHN0ci1pbmRleCgkZmlyc3QtdmFsLCBcIiBcIik7XG4gICRoYXMtc2luZ2xlLXBvc2l0aW9uOiB1bnF1b3RlKF9wb3NpdGlvbi1mbGlwcGVyKCRmaXJzdC12YWwpICsgXCJcIik7XG4gICRoYXMtYW5nbGU6IGlzLW51bWJlcihzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgMSkpO1xuXG4gIEBpZiAkaGFzLW11bHRpcGxlLXZhbHMge1xuICAgICRncmFkaWVudHM6IF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtc2luZ2xlLXBvc2l0aW9uICE9IFwiXCIge1xuICAgICRwb3M6IHVucXVvdGUoJGhhcy1zaW5nbGUtcG9zaXRpb24gKyBcIlwiKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkcHJlZml4ICsgXCJ0byBcIiArICRwb3MgKyAkc3VmZml4XG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRoYXMtYW5nbGUge1xuICAgIC8vIFJvdGF0ZSBkZWdyZWUgZm9yIHdlYmtpdFxuICAgICRncmFkaWVudHM6IF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgICk7XG4gIH1cblxuICBAcmV0dXJuICRncmFkaWVudHM7XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcbiAgJHR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHNwZWM6IG51bGw7XG4gICRkZWdyZWU6IG51bGw7XG4gICRzaWRlOiBudWxsO1xuICAkY29ybmVyOiBudWxsO1xuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XG4gIC8vIFBhcnNlIFNpZGUgYW5kIGNvcm5lciBwb3NpdGlvbnNcbiAgQGlmICgkbGVuZ3RoID4gMSkge1xuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XG4gICAgICAkc2lkZTogbnRoKCRwb3MsIDIpO1xuXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxuICAgICAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMikpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAzIHsgLy8gZWcuIHRvIHRvcCBsZWZ0XG4gICAgICAgICRjb3JuZXI6IG50aCgkcG9zLCAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJGxlbmd0aCA9PSAyIHsgLy8gT2xkZXIgc3ludGF4IChcInRvcCBsZWZ0XCIpXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcbiAgICAgICRjb3JuZXI6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgfVxuXG4gICAgQGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgdG9wXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInRvcCByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcInJpZ2h0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gcmlnaHRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJsZWZ0IGJvdHRvbVwiKSBvciAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJib3R0b20gbGVmdFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xuICB9XG4gIEBlbHNlIGlmICRsZW5ndGggPT0gMSB7XG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbiAgICBAaWYgJHR5cGUgPT0gc3RyaW5nIHtcbiAgICAgICRkZWdyZWU6ICRwb3M7XG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXG4gICAgICAkc3BlYzogJHBvcztcbiAgICB9XG4gIH1cbiAgJGRlZ3JlZTogdW5xdW90ZSgkZGVncmVlICsgXCIsXCIpO1xuICAkc3BlYzogICB1bnF1b3RlKCRzcGVjICsgXCIsXCIpO1xuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XG59XG5cbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XG4gIEByZXR1cm4gaWYoJHBvcyA9PSBsZWZ0LCByaWdodCwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHRvcCwgYm90dG9tLCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSBib3R0b20sIHRvcCwgbnVsbCk7XG59XG4iLCIvLyBQcml2YXRlIGZ1bmN0aW9uIGZvciBsaW5lYXItZ3JhZGllbnQtcGFyc2VyXG5AZnVuY3Rpb24gX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpIHtcbiAgJHZhbC0xOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgMSwgJGhhcy1tdWx0aXBsZS12YWxzIC0gMSk7XG4gICR2YWwtMjogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRoYXMtbXVsdGlwbGUtdmFscyArIDEsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuICAkdmFsLTM6IG51bGw7XG4gICRoYXMtdmFsLTM6IHN0ci1pbmRleCgkdmFsLTIsIFwiIFwiKTtcblxuICBAaWYgJGhhcy12YWwtMyB7XG4gICAgJHZhbC0zOiBzdHItc2xpY2UoJHZhbC0yLCAkaGFzLXZhbC0zICsgMSwgc3RyLWxlbmd0aCgkdmFsLTIpKTtcbiAgICAkdmFsLTI6IHN0ci1zbGljZSgkdmFsLTIsIDEsICRoYXMtdmFsLTMgLSAxKTtcbiAgfVxuXG4gICRwb3M6IF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMSkgX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0yKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTMpO1xuICAkcG9zOiB1bnF1b3RlKCRwb3MgKyBcIlwiKTtcblxuICAvLyBVc2Ugb2xkIHNwZWMgZm9yIHdlYmtpdFxuICBAaWYgJHZhbC0xID09IFwidG9cIiB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBjb2RlIHVwIHRvIHNwZWNcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSkge1xuICBAZWFjaCAkdmFsdWUgaW4gJGcxLCAkZzIge1xuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xuICAgICRwb3MtdHlwZTogIHR5cGUtb2YoJGZpcnN0LXZhbCk7XG4gICAgJHNwZWMtYXQtaW5kZXg6IG51bGw7XG5cbiAgICAvLyBEZXRlcm1pbmUgaWYgc3BlYyB3YXMgcGFzc2VkIHRvIG1peGluXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBsaXN0IHtcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcbiAgICB9XG4gICAgQGlmICRzcGVjLWF0LWluZGV4IHtcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkc3BlYy1hdC1pbmRleCAtIDEpIHtcbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHNoYXBlLXNpemUgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHNwZWMtYXQtaW5kZXggPT0gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgICAkcG9zOiAkcG9zIG50aCgkdmFsdWUsICRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJGcxOiBudWxsO1xuICAgIH1cblxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xuICAgIEBlbHNlIHtcbiAgICAgIEBpZiAoJHBvcy10eXBlICE9IGNvbG9yKSBvciAoJGZpcnN0LXZhbCAhPSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNlbnRlclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInRvcFwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiYm90dG9tXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwibGVmdFwiKSB7XG5cbiAgICAgICAgICAkcG9zOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHBvcyA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIGlmXG4gICAgICAgICAgICgkZmlyc3QtdmFsID09IFwiZWxsaXBzZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNsb3Nlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImZhcnRoZXN0LWNvcm5lclwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvbnRhaW5cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XG5cbiAgICAgICAgICAkc2hhcGUtc2l6ZTogJHZhbHVlO1xuXG4gICAgICAgICAgQGlmICR2YWx1ZSA9PSAkZzEge1xuICAgICAgICAgICAgJGcxOiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBlbHNlIGlmICR2YWx1ZSA9PSAkZzIge1xuICAgICAgICAgICAgJGcyOiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAcmV0dXJuICRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZTtcbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xuICAkc2hhcGUtc2l6ZTogbnRoKCRncmFkaWVudC1wb3MsIDEpO1xuICAkcG9zOiAgICAgICAgbnRoKCRncmFkaWVudC1wb3MsIDIpO1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgJHByZS1zcGVjOiB1bnF1b3RlKGlmKCRwb3MsIFwiI3skcG9zfSwgXCIsIG51bGwpKVxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcbiAgJHBvcy1zcGVjOiBpZigkcG9zLCBcImF0ICN7JHBvc31cIiwgbnVsbCk7XG5cbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcblxuICAvLyBBZGQgY29tbWFcbiAgQGlmICgkc3BlYyAhPSBcIiAgXCIpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIjtcbiAgfVxuXG4gIEByZXR1cm4gJHByZS1zcGVjICRzcGVjO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSkge1xuICAkaW1hZ2U6IHVucXVvdGUoJGltYWdlKTtcbiAgJGdyYWRpZW50czogKCk7XG4gICRzdGFydDogc3RyLWluZGV4KCRpbWFnZSwgXCIoXCIpO1xuICAkZW5kOiBzdHItaW5kZXgoJGltYWdlLCBcIixcIik7XG4gICRmaXJzdC12YWw6IHN0ci1zbGljZSgkaW1hZ2UsICRzdGFydCArIDEsICRlbmQgLSAxKTtcblxuICAkcHJlZml4OiBzdHItc2xpY2UoJGltYWdlLCAxLCAkc3RhcnQpO1xuICAkc3VmZml4OiBzdHItc2xpY2UoJGltYWdlLCAkZW5kLCBzdHItbGVuZ3RoKCRpbWFnZSkpO1xuXG4gICRpcy1zcGVjLXN5bnRheDogc3RyLWluZGV4KCRmaXJzdC12YWwsIFwiYXRcIik7XG5cbiAgQGlmICRpcy1zcGVjLXN5bnRheCBhbmQgJGlzLXNwZWMtc3ludGF4ID4gMSB7XG4gICAgJGtleXdvcmQ6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAxLCAkaXMtc3BlYy1zeW50YXggLSAyKTtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICAgJHBvczogYXBwZW5kKCRwb3MsICRrZXl3b3JkLCBjb21tYSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmICRpcy1zcGVjLXN5bnRheCA9PSAxIHtcbiAgICAkcG9zOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGlzLXNwZWMtc3ludGF4ICsgMywgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJHByZWZpeCArICRwb3MgKyAkc3VmZml4LFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkaW1hZ2UsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgQHJldHVybiAkZ3JhZGllbnRzO1xufVxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXG5cbkBmdW5jdGlvbiBfcmVuZGVyLWdyYWRpZW50cygkZ3JhZGllbnQtcG9zaXRpb25zLCAkZ3JhZGllbnRzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcjogZmFsc2UpIHtcbiAgJHByZS1zcGVjOiBudWxsO1xuICAkc3BlYzogbnVsbDtcbiAgJHZlbmRvci1ncmFkaWVudHM6IG51bGw7XG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xuICAgIEBpZiAkZ3JhZGllbnQtcG9zaXRpb25zIHtcbiAgICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XG4gICAgJHByZS1zcGVjOiBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMSk7XG4gICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XG4gIH1cblxuICBAaWYgJHZlbmRvciB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcbiAgfVxuICBAZWxzZSBpZiAkdmVuZG9yID09IGZhbHNlIHtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiB1bnF1b3RlKCR2ZW5kb3ItZ3JhZGllbnRzKTtcbiAgfVxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xufVxuIiwiQGZ1bmN0aW9uIF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKSB7XG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XG4gIEBlYWNoICR2YWx1ZSBpbiAkc2hhcGUtc2l6ZSB7XG4gICAgQGlmICgkdmFsdWUgPT0gXCJjb3ZlclwiKSBvciAoJHZhbHVlID09IFwiY29udGFpblwiKSB7XG4gICAgICAkdmFsdWU6IG51bGw7XG4gICAgfVxuICAgICRzaGFwZS1zaXplLXNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyR2YWx1ZX1cIjtcbiAgfVxuICBAcmV0dXJuICRzaGFwZS1zaXplLXNwZWM7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGxpbmVhci9yYWRpYWwtZ3JhZGllbnQtcGFyc2Vycy5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfc3RyLXRvLW51bSgkc3RyaW5nKSB7XG4gIC8vIE1hdHJpY2VzXG4gICRzdHJpbmdzOiBcIjBcIiBcIjFcIiBcIjJcIiBcIjNcIiBcIjRcIiBcIjVcIiBcIjZcIiBcIjdcIiBcIjhcIiBcIjlcIjtcbiAgJG51bWJlcnM6ICAwICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA5O1xuXG4gIC8vIFJlc3VsdFxuICAkcmVzdWx0OiAwO1xuICAkZGl2aWRlcjogMDtcbiAgJG1pbnVzOiBmYWxzZTtcblxuICAvLyBMb29waW5nIHRocm91Z2ggYWxsIGNoYXJhY3RlcnNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCRzdHJpbmcpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHN0cmluZywgJGksICRpKTtcbiAgICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkY2hhcmFjdGVyKTtcblxuICAgIEBpZiAkY2hhcmFjdGVyID09IFwiLVwiIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09IFwiLlwiIHtcbiAgICAgICRkaXZpZGVyOiAxO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICAgJHJlc3VsdDogaWYoJG1pbnVzLCAkcmVzdWx0ICogLTEsICRyZXN1bHQpO1xuICAgICAgICBAcmV0dXJuIF9jb252ZXJ0LXVuaXRzKCRyZXN1bHQsIHN0ci1zbGljZSgkc3RyaW5nLCAkaSkpO1xuICAgICAgfVxuXG4gICAgICAkbnVtYmVyOiBudGgoJG51bWJlcnMsICRpbmRleCk7XG5cbiAgICAgIEBpZiAkZGl2aWRlciA9PSAwIHtcbiAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIE1vdmUgdGhlIGRlY2ltYWwgZG90IHRvIHRoZSBsZWZ0XG4gICAgICAgICRkaXZpZGVyOiAkZGl2aWRlciAqIDEwO1xuICAgICAgICAkbnVtYmVyOiAkbnVtYmVyIC8gJGRpdmlkZXI7XG4gICAgICB9XG5cbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAkbnVtYmVyO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbn1cbiIsIi8vIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtYW5pbWF0aW9ucy8jdGhlLWFuaW1hdGlvbi1uYW1lLXByb3BlcnR5LVxuLy8gRWFjaCBvZiB0aGVzZSBtaXhpbnMgc3VwcG9ydCBjb21tYSBzZXBhcmF0ZWQgbGlzdHMgb2YgdmFsdWVzLCB3aGljaCBhbGxvd3MgZGlmZmVyZW50IHRyYW5zaXRpb25zIGZvciBpbmRpdmlkdWFsIHByb3BlcnRpZXMgdG8gYmUgZGVzY3JpYmVkIGluIGEgc2luZ2xlIHN0eWxlIHJ1bGUuIEVhY2ggdmFsdWUgaW4gdGhlIGxpc3QgY29ycmVzcG9uZHMgdG8gdGhlIHZhbHVlIGF0IHRoYXQgc2FtZSBwb3NpdGlvbiBpbiB0aGUgb3RoZXIgcHJvcGVydGllcy5cblxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9ucy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24sICRhbmltYXRpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLW5hbWUoJG5hbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1uYW1lLCAkbmFtZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCR2YWx1ZXMuLi4pIHtcbiAgLy8gaW5maW5pdGUgfCA8bnVtYmVyPlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCAkdmFsdWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9ucy4uLikge1xuICAvLyBub3JtYWwgfCBhbHRlcm5hdGVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWRpcmVjdGlvbiwgJGRpcmVjdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSgkc3RhdGVzLi4uKSB7XG4gIC8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gYW5pbWF0aW9uLWZpbGwtbW9kZSgkbW9kZXMuLi4pIHtcbiAgLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZmlsbC1tb2RlLCAkbW9kZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gYXBwZWFyYW5jZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCJAbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxuLy8gbm90YXRpb24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kcy4uLikge1xuICAkd2Via2l0LWJhY2tncm91bmRzOiAoKTtcbiAgJHNwZWMtYmFja2dyb3VuZHM6ICgpO1xuXG4gIEBlYWNoICRiYWNrZ3JvdW5kIGluICRiYWNrZ3JvdW5kcyB7XG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kOiAoKTtcbiAgICAkYmFja2dyb3VuZC10eXBlOiB0eXBlLW9mKCRiYWNrZ3JvdW5kKTtcblxuICAgIEBpZiAkYmFja2dyb3VuZC10eXBlID09IHN0cmluZyBvciAkYmFja2dyb3VuZC10eXBlID09IGxpc3Qge1xuICAgICAgJGJhY2tncm91bmQtc3RyOiBpZigkYmFja2dyb3VuZC10eXBlID09IGxpc3QsIG50aCgkYmFja2dyb3VuZCwgMSksICRiYWNrZ3JvdW5kKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYmFja2dyb3VuZC1zdHIsIDEsIDYpO1xuXG4gICAgICBAaWYgJHVybC1zdHIgPT0gXCJ1cmxcIiB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgJGJhY2tncm91bmQ7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRiYWNrZ3JvdW5kfVwiKTtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJhY2tncm91bmQ6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgICRiYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICR3ZWJraXQtYmFja2dyb3VuZHM6IGFwcGVuZCgkd2Via2l0LWJhY2tncm91bmRzLCAkd2Via2l0LWJhY2tncm91bmQsIGNvbW1hKTtcbiAgICAkc3BlYy1iYWNrZ3JvdW5kczogICBhcHBlbmQoJHNwZWMtYmFja2dyb3VuZHMsICAgJHNwZWMtYmFja2dyb3VuZCwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkd2Via2l0LWJhY2tncm91bmRzO1xuICBiYWNrZ3JvdW5kOiAkc3BlYy1iYWNrZ3JvdW5kcztcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tncm91bmQtaW1hZ2UgcHJvcGVydHkgZm9yIGFkZGluZyBtdWx0aXBsZSBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XG4gICR3ZWJraXQtaW1hZ2VzOiAoKTtcbiAgJHNwZWMtaW1hZ2VzOiAoKTtcblxuICBAZWFjaCAkaW1hZ2UgaW4gJGltYWdlcyB7XG4gICAgJHdlYmtpdC1pbWFnZTogKCk7XG4gICAgJHNwZWMtaW1hZ2U6ICgpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRpbWFnZSkgPT0gc3RyaW5nKSB7XG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRpbWFnZSwgMSwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRpbWFnZSwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogJGltYWdlO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAkaW1hZ2U7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcigkaW1hZ2UpO1xuICAgICAgICAkd2Via2l0LWltYWdlOiAgbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtaW1hZ2U6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAkd2Via2l0LWltYWdlczogYXBwZW5kKCR3ZWJraXQtaW1hZ2VzLCAkd2Via2l0LWltYWdlLCBjb21tYSk7XG4gICAgJHNwZWMtaW1hZ2VzOiAgIGFwcGVuZCgkc3BlYy1pbWFnZXMsICAgJHNwZWMtaW1hZ2UsICAgY29tbWEpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogJHdlYmtpdC1pbWFnZXM7XG4gIGJhY2tncm91bmQtaW1hZ2U6ICRzcGVjLWltYWdlcztcbn1cbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGJvcmRlcnMuLi4pIHtcbiAgJHdlYmtpdC1ib3JkZXJzOiAoKTtcbiAgJHNwZWMtYm9yZGVyczogKCk7XG5cbiAgQGVhY2ggJGJvcmRlciBpbiAkYm9yZGVycyB7XG4gICAgJHdlYmtpdC1ib3JkZXI6ICgpO1xuICAgICRzcGVjLWJvcmRlcjogKCk7XG4gICAgJGJvcmRlci10eXBlOiB0eXBlLW9mKCRib3JkZXIpO1xuXG4gICAgQGlmICRib3JkZXItdHlwZSA9PSBzdHJpbmcgb3IgbGlzdCB7XG4gICAgICAkYm9yZGVyLXN0cjogaWYoJGJvcmRlci10eXBlID09IGxpc3QsIG50aCgkYm9yZGVyLCAxKSwgJGJvcmRlcik7XG5cbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGJvcmRlci1zdHIsIDEsIDMpO1xuICAgICAgJGdyYWRpZW50LXR5cGU6IHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMSwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcImxpbmVhclwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJyYWRpYWxcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9yYWRpYWwtZ3JhZGllbnQtcGFyc2VyKFwiI3skYm9yZGVyfVwiKTtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYm9yZGVyOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICR3ZWJraXQtYm9yZGVyOiAkYm9yZGVyO1xuICAgICAgJHNwZWMtYm9yZGVyOiAgICRib3JkZXI7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1ib3JkZXJzOiBhcHBlbmQoJHdlYmtpdC1ib3JkZXJzLCAkd2Via2l0LWJvcmRlciwgY29tbWEpO1xuICAgICRzcGVjLWJvcmRlcnM6ICAgYXBwZW5kKCRzcGVjLWJvcmRlcnMsICAgJHNwZWMtYm9yZGVyLCAgIGNvbW1hKTtcbiAgfVxuXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiAkd2Via2l0LWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLWltYWdlOiAkc3BlYy1ib3JkZXJzO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbi8vRXhhbXBsZXM6XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikgMjAgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIHN0cmV0Y2gpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKGxpbmVhci1ncmFkaWVudCg0NWRlZywgb3JhbmdlLCB5ZWxsb3cpIDIwIDMwIDQwIDUwIHN0cmV0Y2ggcm91bmQpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06IGNhbGMoI3skdmFsdWV9KTtcbn1cbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcbiAgLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgaW50ZWdlclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tY291bnQsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZ2FwKCRsZW5ndGg6IG5vcm1hbCkge1xuICAvLyBub3JtYWwgfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XG4gIC8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuICAvLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtY29sb3IoJGNvbG9yKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLWNvbG9yLCAkY29sb3IsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS1zdHlsZSgkc3R5bGU6IG5vbmUpIHtcbiAgLy8gbm9uZSB8IGhpZGRlbiB8IGRhc2hlZCB8IGRvdHRlZCB8IGRvdWJsZSB8IGdyb292ZSB8IGluc2V0IHwgaW5zZXQgfCBvdXRzZXQgfCByaWRnZSB8IHNvbGlkXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXdpZHRoLCAkd2lkdGgsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiBjb2x1bW4tc3BhbigkYXJnOiBub25lKSB7XG4gIC8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbiAgLy8gYXV0byB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGZpbHRlcigkZnVuY3Rpb246IG5vbmUpIHtcbiAgLy8gPGZpbHRlci1mdW5jdGlvbj4gWzxmaWx0ZXItZnVuY3Rpb25dKiB8IG5vbmVcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmlsdGVyLCAkZnVuY3Rpb24sIHdlYmtpdCBzcGVjKTtcbn1cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4OiAkdmFsdWU7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZmxleC1ncm91cCgkaW50OiAxKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1mbGV4LWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG4vLyBDU1MzIEZsZXhpYmxlIEJveCBNb2RlbCBhbmQgcHJvcGVydHkgZGVmYXVsdHNcbi8vIFVuaWZpZWQgYXR0cmlidXRlcyBmb3IgMjAwOSwgMjAxMSwgYW5kIDIwMTIgZmxhdm91cnMuXG5cbi8vIDIwMDkgLSBkaXNwbGF5IChib3ggfCBpbmxpbmUtYm94KVxuLy8gMjAxMSAtIGRpc3BsYXkgKGZsZXhib3ggfCBpbmxpbmUtZmxleGJveClcbi8vIDIwMTIgLSBkaXNwbGF5IChmbGV4IHwgaW5saW5lLWZsZXgpXG5AbWl4aW4gZGlzcGxheSgkdmFsdWUpIHtcbi8vIGZsZXggfCBpbmxpbmUtZmxleFxuICBAaWYgJHZhbHVlID09IFwiZmxleFwiIHtcbiAgICAvLyAyMDA5XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1vei1ib3g7XG4gICAgZGlzcGxheTogYm94O1xuXG4gICAgLy8gMjAxMlxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWZsZXg7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7IC8vIDIwMTEgKElFIDEwKVxuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiaW5saW5lLWZsZXhcIiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1pbmxpbmUtZmxleGJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IG5vcm1hbDtcblxuICBAaWYgJHZhbHVlID09IHJvdyB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29sdW1uIHtcbiAgICAkdmFsdWUtMjAwOTogdmVydGljYWw7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiY29sdW1uLXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IHZlcnRpY2FsO1xuICAgICRkaXJlY3Rpb246IHJldmVyc2U7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmllbnQsICR2YWx1ZS0yMDA5LCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1kaXJlY3Rpb24sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkdmFsdWU7XG59XG5cbi8vIDIwMDkgLSBib3gtbGluZXMgKHNpbmdsZSB8IG11bHRpcGxlKVxuLy8gMjAxMSAtIGZsZXgtd3JhcCAobm93cmFwIHwgd3JhcCB8IHdyYXAtcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSB3cmFwIHtcbiAgICAkYWx0LXZhbHVlOiBtdWx0aXBsZTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJ3cmFwLXJldmVyc2VcIiB7XG4gICAgJGFsdC12YWx1ZTogbXVsdGlwbGU7XG4gIH1cblxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtd3JhcCwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuXG4vLyAyMDA5IC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDExIC0gVE9ETzogcGFyc2UgdmFsdWVzIGludG8gZmxleC1kaXJlY3Rpb24vZmxleC13cmFwXG4vLyAyMDEyIC0gZmxleC1mbG93IChmbGV4LWRpcmVjdGlvbiB8fCBmbGV4LXdyYXApXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LWZsb3csICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmRpbmFsLWdyb3VwIChpbnRlZ2VyKVxuLy8gMjAxMSAtIGZsZXgtb3JkZXIgKGludGVnZXIpXG4vLyAyMDEyIC0gb3JkZXIgKGludGVnZXIpXG5AbWl4aW4gb3JkZXIoJGludDogMCkge1xuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1vcmRpbmFsLWdyb3VwLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIob3JkZXIsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50O1xufVxuXG4vLyAyMDEyIC0gZmxleC1ncm93IChudW1iZXIpXG5AbWl4aW4gZmxleC1ncm93KCRudW1iZXI6IDApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1ncm93LCAkbnVtYmVyLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wb3NpdGl2ZTogJG51bWJlcjtcbn1cblxuLy8gMjAxMiAtIGZsZXgtc2hyaW5rIChudW1iZXIpXG5AbWl4aW4gZmxleC1zaHJpbmsoJG51bWJlcjogMSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXNocmluaywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LWJhc2lzIChudW1iZXIpXG5AbWl4aW4gZmxleC1iYXNpcygkd2lkdGg6IGF1dG8pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1iYXNpcywgJHdpZHRoLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJHdpZHRoO1xufVxuXG4vLyAyMDA5IC0gYm94LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTEgLSBmbGV4LXBhY2sgKHN0YXJ0IHwgZW5kIHwgY2VudGVyIHwganVzdGlmeSlcbi8vIDIwMTIgLSBqdXN0aWZ5LWNvbnRlbnQgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQpXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWJldHdlZW5cIiB7XG4gICAgJGFsdC12YWx1ZToganVzdGlmeTtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1hcm91bmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LXBhY2ssICRhbHQtdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihqdXN0aWZ5LWNvbnRlbnQsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1wYWNrOiAkYWx0LXZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTEgLSBmbGV4LWFsaWduIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1pdGVtcyAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICRhbHQtdmFsdWU6ICR2YWx1ZTtcblxuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkYWx0LXZhbHVlOiBzdGFydDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLXNlbGYsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlLTIwMTE7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWxpbmUtcGFjayAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBqdXN0aWZ5IHwgZGlzdHJpYnV0ZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24tY29udGVudCAoZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgc3BhY2UtYmV0d2VlbiB8IHNwYWNlLWFyb3VuZCB8IHN0cmV0Y2gpXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkdmFsdWUtMjAxMTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IFwiZmxleC1zdGFydFwiIHtcbiAgICAkdmFsdWUtMjAxMTogc3RhcnQ7XG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBcInNwYWNlLWFyb3VuZFwiIHtcbiAgICAkdmFsdWUtMjAxMTogZGlzdHJpYnV0ZTtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tY29udGVudCwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZS0yMDExO1xufVxuIiwiQG1peGluIGZvbnQtZmFjZShcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkd2VpZ2h0OiBub3JtYWwsXG4gICRzdHlsZTogbm9ybWFsLFxuICAkYXNzZXQtcGlwZWxpbmU6ICRhc3NldC1waXBlbGluZSxcbiAgJGZpbGUtZm9ybWF0czogZW90IHdvZmYyIHdvZmYgdHRmIHN2Zykge1xuXG4gICRmb250LXVybC1wcmVmaXg6IGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSk7XG5cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBzcmM6IGZvbnQtc291cmNlLWRlY2xhcmF0aW9uKFxuICAgICAgJGZvbnQtZmFtaWx5LFxuICAgICAgJGZpbGUtcGF0aCxcbiAgICAgICRhc3NldC1waXBlbGluZSxcbiAgICAgICRmaWxlLWZvcm1hdHMsXG4gICAgICAkZm9udC11cmwtcHJlZml4XG4gICAgKTtcbiAgfVxufVxuIiwiQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCIvLyBIaURQSSBtaXhpbi4gRGVmYXVsdCB2YWx1ZSBzZXQgdG8gMS4zIHRvIHRhcmdldCBHb29nbGUgTmV4dXMgNyAoaHR0cDovL2JqYW5nby5jb20vYXJ0aWNsZXMvbWluLWRldmljZS1waXhlbC1yYXRpby8pXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIkBtaXhpbiBoeXBoZW5zKCRoeXBoZW5hdGlvbjogbm9uZSkge1xuICAvLyBub25lIHwgbWFudWFsIHwgYXV0b1xuICBAaW5jbHVkZSBwcmVmaXhlcihoeXBoZW5zLCAkaHlwaGVuYXRpb24sIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7IC8vIElFOCtcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7XG4gICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlcztcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZzEsICRnMjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGczOiBudWxsLCAkZzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNTogbnVsbCwgJGc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzc6IG51bGwsICRnODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc5OiBudWxsLCAkZzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcbiAgLy8gRGV0ZWN0IHdoYXQgdHlwZSBvZiB2YWx1ZSBleGlzdHMgaW4gJHBvc1xuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcbiAgJHBvcy1zcGVjOiBudWxsO1xuICAkcG9zLWRlZ3JlZTogbnVsbDtcblxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xuICAgICRnMTA6ICRnOTsgJGc5OiAkZzg7ICRnODogJGc3OyAkZzc6ICRnNjsgJGc2OiAkZzU7XG4gICAgJGc1OiAkZzQ7ICRnNDogJGczOyAkZzM6ICRnMjsgJGcyOiAkZzE7ICRnMTogJHBvcztcbiAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJGcxLCAkZzIsICRnMywgJGc0LCAkZzUsICRnNiwgJGc3LCAkZzgsICRnOSwgJGcxMDtcblxuICAvLyBTZXQgJGcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRnMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRnMSwgJGcyLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzM6IG51bGwsICRnNDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc1OiBudWxsLCAkZzY6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnNzogbnVsbCwgJGc4OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzk6IG51bGwsICRnMTA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRwb3M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IG51bGwpIHtcblxuICAkZGF0YTogX3JhZGlhbC1hcmctcGFyc2VyKCRnMSwgJGcyLCAkcG9zLCAkc2hhcGUtc2l6ZSk7XG4gICRnMTogIG50aCgkZGF0YSwgMSk7XG4gICRnMjogIG50aCgkZGF0YSwgMik7XG4gICRwb3M6IG50aCgkZGF0YSwgMyk7XG4gICRzaGFwZS1zaXplOiBudGgoJGRhdGEsIDQpO1xuXG4gICRmdWxsOiAkZzEsICRnMiwgJGczLCAkZzQsICRnNSwgJGc2LCAkZzcsICRnOCwgJGc5LCAkZzEwO1xuXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmlyc3QtY29sb3I6IG50aCgkZnVsbCwgMSk7XG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRmaXJzdC1jb2xvciwgMSk7XG5cbiAgQGlmICh0eXBlLW9mKCRmYWxsYmFjaykgPT0gY29sb3IpIG9yICgkZmFsbGJhY2sgPT0gXCJ0cmFuc3BhcmVudFwiKSB7XG4gICAgJGZhbGxiYWNrLWNvbG9yOiAkZmFsbGJhY2s7XG4gIH1cblxuICAvLyBBZGQgQ29tbWFzIGFuZCBzcGFjZXNcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCBcIiN7JHNoYXBlLXNpemV9LCBcIiwgbnVsbCk7XG4gICRwb3M6ICAgICAgICBpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gXCIgXCIpIGFuZCAoJHBvcyA9PSBudWxsKSwgXCIjeyRzaGFwZS1zaXplLXNwZWN9LCBcIiwgXCIjeyRzaGFwZS1zaXplLXNwZWN9IFwiKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJyYWRpYWwtZ3JhZGllbnQoI3skc2hhcGUtc2l6ZS1zcGVjfSN7JHBvcy1zcGVjfSN7JGZ1bGx9KVwiKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuXHJcbi8vLyBPdXRwdXRzIHRoZSBzcGVjIGFuZCBwcmVmaXhlZCB2ZXJzaW9ucyBvZiB0aGUgYDo6c2VsZWN0aW9uYCBwc2V1ZG8tZWxlbWVudC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0Jvb2x9ICRjdXJyZW50LXNlbGVjdG9yIFtmYWxzZV1cclxuLy8vICAgSWYgc2V0IHRvIGB0cnVlYCwgaXQgdGFrZXMgdGhlIGN1cnJlbnQgZWxlbWVudCBpbnRvIGNvbnNpZGVyYXRpb24uXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXHJcbi8vLyAgIC5lbGVtZW50IHtcclxuLy8vICAgICBAaW5jbHVkZSBzZWxlY3Rpb24odHJ1ZSkge1xyXG4vLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgICB9XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgIC5lbGVtZW50OjotbW96LXNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG4vLy9cclxuLy8vICAgLmVsZW1lbnQ6OnNlbGVjdGlvbiB7XHJcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmI1MjtcclxuLy8vICAgfVxyXG5cclxuQG1peGluIHNlbGVjdGlvbigkY3VycmVudC1zZWxlY3RvcjogZmFsc2UpIHtcclxuICBAaWYgJGN1cnJlbnQtc2VsZWN0b3Ige1xyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICA6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gdGV4dC1kZWNvcmF0aW9uKCR2YWx1ZSkge1xuLy8gPHRleHQtZGVjb3JhdGlvbi1saW5lPiB8fCA8dGV4dC1kZWNvcmF0aW9uLXN0eWxlPiB8fCA8dGV4dC1kZWNvcmF0aW9uLWNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24sICR2YWx1ZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1saW5lKCRsaW5lOiBub25lKSB7XG4vLyBub25lIHx8IHVuZGVybGluZSB8fCBvdmVybGluZSB8fCBsaW5lLXRocm91Z2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWxpbmUsICRsaW5lLCBtb3opO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLXN0eWxlKCRzdHlsZTogc29saWQpIHtcbi8vIHNvbGlkIHx8IGRvdWJsZSB8fCBkb3R0ZWQgfHwgZGFzaGVkIHx8IHdhdnlcbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLXN0eWxlLCAkc3R5bGUsIG1veiB3ZWJraXQpO1xufVxuXG5AbWl4aW4gdGV4dC1kZWNvcmF0aW9uLWNvbG9yKCRjb2xvcjogY3VycmVudENvbG9yKSB7XG4vLyBjdXJyZW50Q29sb3IgfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0ZXh0LWRlY29yYXRpb24tY29sb3IsICRjb2xvciwgbW96KTtcbn1cbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XG4gIC8vIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4gIC8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXG4gIC8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXG4gIC8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSgkc3R5bGU6IGZsYXQpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgLy8gRml4IGZvciB2ZW5kb3ItcHJlZml4IHRyYW5zZm9ybSBwcm9wZXJ0eVxuICAkbmVlZHMtcHJlZml4ZXM6IGZhbHNlO1xuICAkd2Via2l0OiAoKTtcbiAgJG1vejogKCk7XG4gICRzcGVjOiAoKTtcblxuICAvLyBDcmVhdGUgbGlzdHMgZm9yIHZlbmRvci1wcmVmaXhlZCB0cmFuc2Zvcm1cbiAgQGVhY2ggJGxpc3QgaW4gJHByb3BlcnRpZXMge1xuICAgIEBpZiBudGgoJGxpc3QsIDEpID09IFwidHJhbnNmb3JtXCIge1xuICAgICAgJG5lZWRzLXByZWZpeGVzOiB0cnVlO1xuICAgICAgJGxpc3QxOiAtd2Via2l0LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MjogLW1vei10cmFuc2Zvcm07XG4gICAgICAkbGlzdDM6ICgpO1xuXG4gICAgICBAZWFjaCAkdmFyIGluICRsaXN0IHtcbiAgICAgICAgJGxpc3QzOiBqb2luKCRsaXN0MywgJHZhcik7XG5cbiAgICAgICAgQGlmICR2YXIgIT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAgICAgJGxpc3QxOiBqb2luKCRsaXN0MSwgJHZhcik7XG4gICAgICAgICAgJGxpc3QyOiBqb2luKCRsaXN0MiwgJHZhcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0MSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QyKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdDMpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdlYmtpdDogYXBwZW5kKCR3ZWJraXQsICRsaXN0LCBjb21tYSk7XG4gICAgICAkbW96OiAgICBhcHBlbmQoJG1veiwgICAgJGxpc3QsIGNvbW1hKTtcbiAgICAgICRzcGVjOiAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfSBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRwcm9wZXJ0aWVzOiBhbGwgMC4xNXMgZWFzZS1vdXQgMHM7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnRpZXMuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIndlYmtpdFwiKTtcbiAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBcIm1velwiKTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCBmYWxzZSk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICAvLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXQgfCBjdWJpYy1iZXppZXIoKVxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0aW1lcy4uLikge1xuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItY29sb3JgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci1jb2xvcigjYTYwYjU1ICM3NmNkOWMgbnVsbCAjZThhZTFhKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNlOGFlMWE7XG4vLy8gICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzc2Y2Q5Yztcbi8vLyAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2E2MGI1NTtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1jb2xvcmBcblxuQG1peGluIGJvcmRlci1jb2xvcigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIGNvbG9yLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItcmFkaXVzYCBvbiBib3RoIGNvcm5lcnMgb24gdGhlIHNpZGUgb2YgYSBib3guXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGlpXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudC1vbmUge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyg1cHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudC10d28ge1xuLy8vICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoM3B4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50LW9uZSB7XG4vLy8gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbi8vLyAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQtdHdvIHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuLy8vICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAb3V0cHV0IGBib3JkZXItcmFkaXVzYFxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpaTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGEgcXVpY2sgbWV0aG9kIGZvciB0YXJnZXRpbmcgYGJvcmRlci1zdHlsZWAgb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgYm9yZGVyLXN0eWxlKGRhc2hlZCBudWxsIHNvbGlkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4vLy8gICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYGJvcmRlci1zdHlsZWBcblxuQG1peGluIGJvcmRlci1zdHlsZSgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHN0eWxlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBib3JkZXItd2lkdGhgIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGJvcmRlci13aWR0aCgxZW0gbnVsbCAyMHB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjBweDtcbi8vLyAgICAgYm9yZGVyLXRvcC13aWR0aDogMWVtO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge21peGlufSBkaXJlY3Rpb25hbC1wcm9wZXJ0eVxuLy8vXG4vLy8gQG91dHB1dCBgYm9yZGVyLXdpZHRoYFxuXG5AbWl4aW4gYm9yZGVyLXdpZHRoKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgd2lkdGgsICR2YWxzLi4uKTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCBidXR0b25zLiBQbGVhc2Ugbm90ZSB0aGF0IHlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTogYCN7JGFsbC1idXR0b25zfWAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICN7JGFsbC1idXR0b25zfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWZvY3VzfSxcbi8vLyAgICN7JGFsbC1idXR0b25zLWhvdmVyfSB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICMwZjA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC1idXR0b25zLWFjdGl2ZX0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgYnV0dG9uLFxuLy8vICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBidXR0b246Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbi8vLyAgIGJ1dHRvbjpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwicmVzZXRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgYnV0dG9uOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlIHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwZjtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIGFzc2lnbi1pbnB1dHNcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vL1xuLy8vIEB0b2RvIFJlbW92ZSBkb3VibGUgYXNzaWduZWQgdmFyaWFibGVzIChMaW5lcyA1OeKAkzYyKSBpbiB2NS4wLjBcblxuJGJ1dHRvbnMtbGlzdDogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuJGFsbC1idXR0b25zOiAgICAgICAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0KTtcbiRhbGwtYnV0dG9ucy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtYnV0dG9ucy1mb2N1czogIGFzc2lnbi1pbnB1dHMoJGJ1dHRvbnMtbGlzdCwgZm9jdXMpO1xuJGFsbC1idXR0b25zLWhvdmVyOiAgYXNzaWduLWlucHV0cygkYnV0dG9ucy1saXN0LCBob3Zlcik7XG5cbiRhbGwtYnV0dG9uLWlucHV0czogICAgICAgICRhbGwtYnV0dG9ucztcbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6ICRhbGwtYnV0dG9ucy1hY3RpdmU7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtZm9jdXM6ICAkYWxsLWJ1dHRvbnMtZm9jdXM7XG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6ICAkYWxsLWJ1dHRvbnMtaG92ZXI7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJ1bmNhdGVzIHRleHQgYW5kIGFkZHMgYW4gZWxsaXBzaXMgdG8gcmVwcmVzZW50IG92ZXJmbG93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMTAwJV1cbi8vLyAgIE1heC13aWR0aCBmb3IgdGhlIHN0cmluZyB0byByZXNwZWN0IGJlZm9yZSBiZWluZyB0cnVuY2F0ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBlbGxpcHNpcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbi8vLyAgIH1cblxuQG1peGluIGVsbGlwc2lzKCR3aWR0aDogMTAwJSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBHZW9yZ2lhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG5cbi8vLyBIZWx2ZXRpY2EgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGhlbHZldGljYTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBMdWNpZGEgR3JhbmRlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIE1vbm9zcGFjZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbW9ub3NwYWNlOiBcIkJpdHN0cmVhbSBWZXJhIFNhbnMgTW9ub1wiLCBcIkNvbnNvbGFzXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG5cbi8vLyBWZXJkYW5hIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG4vLy8gQHRvZG8gUmVtb3ZlIGhlaWdodCBhcmd1bWVudCBpbiB2NS4wLjBcblxuQG1peGluIGhpZGUtdGV4dCgkaGVpZ2h0OiBudWxsKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtaW5kZW50OiAxMDElO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiAkaGVpZ2h0IHtcbiAgICBAd2FybiBcIlRoZSBgaGlkZS10ZXh0YCBtaXhpbiBoYXMgY2hhbmdlZCBhbmQgbm8gbG9uZ2VyIHJlcXVpcmVzIGEgaGVpZ2h0LiBUaGUgaGVpZ2h0IGFyZ3VtZW50IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2VwdGVkIGluIHY1LjAuMFwiO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3IgdGFyZ2V0aW5nIGBtYXJnaW5gIG9uIHNwZWNpZmljIHNpZGVzIG9mIGEgYm94LiBVc2UgYSBgbnVsbGAgdmFsdWUgdG8g4oCcc2tpcOKAnSBhIHNpZGUuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICR2YWxzXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIDEwcHggM2VtIDIwdmgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tYm90dG9tOiAzZW07XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAyMHZoO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGRpcmVjdGlvbmFsLXByb3BlcnR5XG4vLy9cbi8vLyBAb3V0cHV0IGBtYXJnaW5gXG5cbkBtaXhpbiBtYXJnaW4oJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkobWFyZ2luLCBmYWxzZSwgJHZhbHMuLi4pO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYSBxdWljayBtZXRob2QgZm9yIHRhcmdldGluZyBgcGFkZGluZ2Agb24gc3BlY2lmaWMgc2lkZXMgb2YgYSBib3guIFVzZSBhIGBudWxsYCB2YWx1ZSB0byDigJxza2lw4oCdIGEgc2lkZS5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJHZhbHNcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcGFkZGluZygxMnZoIG51bGwgMTBweCA1JSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuLy8vICAgICBwYWRkaW5nLWxlZnQ6IDUlO1xuLy8vICAgICBwYWRkaW5nLXRvcDogMTJ2aDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXF1aXJlIHttaXhpbn0gZGlyZWN0aW9uYWwtcHJvcGVydHlcbi8vL1xuLy8vIEBvdXRwdXQgYHBhZGRpbmdgXG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhIHF1aWNrIG1ldGhvZCBmb3Igc2V0dGluZyBhbiBlbGVtZW504oCZcyBwb3NpdGlvbi4gVXNlIGEgYG51bGxgIHZhbHVlIHRvIOKAnHNraXDigJ0gYSBzaWRlLlxuLy8vXG4vLy8gQHBhcmFtIHtQb3NpdGlvbn0gJHBvc2l0aW9uIFtyZWxhdGl2ZV1cbi8vLyAgIEEgQ1NTIHBvc2l0aW9uIHZhbHVlXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRjb29yZGluYXRlcyBbbnVsbCBudWxsIG51bGwgbnVsbF1cbi8vLyAgIExpc3Qgb2YgdmFsdWVzIHRoYXQgY29ycmVzcG9uZCB0byB0aGUgNC12YWx1ZSBzeW50YXggZm9yIHRoZSBlZGdlcyBvZiBhIGJveFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbGVmdDogMTBlbTtcbi8vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8vICAgICB0b3A6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWxlbmd0aFxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gdW5wYWNrXG5cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSBsaXN0IHtcbiAgICAkY29vcmRpbmF0ZXM6ICRwb3NpdGlvbjtcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJGNvb3JkaW5hdGVzOiB1bnBhY2soJGNvb3JkaW5hdGVzKTtcblxuICAkb2Zmc2V0czogKFxuICAgIHRvcDogICAgbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6ICBudGgoJGNvb3JkaW5hdGVzLCAyKSxcbiAgICBib3R0b206IG50aCgkY29vcmRpbmF0ZXMsIDMpLFxuICAgIGxlZnQ6ICAgbnRoKCRjb29yZGluYXRlcywgNClcbiAgKTtcblxuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEEgbWl4aW4gZm9yIGdlbmVyYXRpbmcgdmVuZG9yIHByZWZpeGVzIG9uIG5vbi1zdGFuZGFyZGl6ZWQgcHJvcGVydGllcy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHlcbi8vLyAgIFByb3BlcnR5IHRvIHByZWZpeFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWVcbi8vLyAgIFZhbHVlIHRvIHVzZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJlZml4ZXNcbi8vLyAgIFByZWZpeGVzIHRvIGRlZmluZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1yYWRpdXMsIDEwcHgsIHdlYmtpdCBtcyBzcGVjKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXdlYmtpdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbW96aWxsYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3ItbWljcm9zb2Z0XG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci1vcGVyYVxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itc3BlY1xuXG5AbWl4aW4gcHJlZml4ZXIoJHByb3BlcnR5LCAkdmFsdWUsICRwcmVmaXhlcykge1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgQGlmICRwcmVmaXggPT0gd2Via2l0IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci13ZWJraXQge1xuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBtcyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3ItbWljcm9zb2Z0IHtcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBvIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1vcGVyYSB7XG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfSBAZWxzZSAge1xuICAgICAgQHdhcm4gXCJVbnJlY29nbml6ZWQgcHJlZml4OiAjeyRwcmVmaXh9XCI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCkge1xuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1vemlsbGE6ICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLXNwZWM6ICAgICAgZmFsc2UgIWdsb2JhbDtcbn1cbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRyZXRpbmEtc3VmZml4OiBfMngsICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lKSB7XG4gIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICB1cmwoXCIjeyRmaWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGhpZHBpIHtcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcbiAgICAgIEBpZiAkcmV0aW5hLWZpbGVuYW1lIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skcmV0aW5hLWZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JHJldGluYS1maWxlbmFtZX0uI3skZXh0ZW5zaW9ufVwiKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRmaWxlbmFtZX0jeyRyZXRpbmEtc3VmZml4fS4jeyRleHRlbnNpb259XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJhY2tncm91bmQtc2l6ZTogJGJhY2tncm91bmQtc2l6ZTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU2V0cyB0aGUgYHdpZHRoYCBhbmQgYGhlaWdodGAgb2YgdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaXplXG4vLy8gICBBIGxpc3Qgb2YgYXQgbW9zdCAyIHNpemUgdmFsdWVzLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIHZhbHVlIGluIGAkc2l6ZWAgaXQgaXMgdXNlZCBmb3IgYm90aCB3aWR0aCBhbmQgaGVpZ2h0LiBBbGwgdW5pdHMgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZpcnN0LWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDJlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoYXV0byAxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5maXJzdC1lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDJlbTtcbi8vLyAgICAgaGVpZ2h0OiAyZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5zZWNvbmQtZWxlbWVudCB7XG4vLy8gICAgIHdpZHRoOiBhdXRvO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyBAdG9kbyBSZWZhY3RvciBpbiA1LjAuMCB0byB1c2UgYSBjb21tYS1zZXBhcmF0ZWQgYXJndW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JGhlaWdodH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkaGVpZ2h0YCBwYXJhbWV0ZXIgaW4gdGhlIGBzaXplYCBtaXhpbi5cIjtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiYCN7JHdpZHRofWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCR3aWR0aGAgcGFyYW1ldGVyIGluIHRoZSBgc2l6ZWAgbWl4aW4uXCI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlbmVyYXRlcyB2YXJpYWJsZXMgZm9yIGFsbCB0ZXh0LWJhc2VkIGlucHV0cy4gUGxlYXNlIG5vdGUgdGhhdCB5b3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6IGAjeyRhbGwtdGV4dC1pbnB1dHN9YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4vLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgICN7JGFsbC10ZXh0LWlucHV0cy1mb2N1c30sXG4vLy8gICAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9IHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgI3skYWxsLXRleHQtaW5wdXRzLWFjdGl2ZX0ge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLy8gICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuLy8vICAgdGV4dGFyZWEge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4vLy8gICBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuLy8vICAgaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4vLy8gICB0ZXh0YXJlYTpmb2N1cyxcbi8vLyAgIGlucHV0W3R5cGU9XCJjb2xvclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwidGltZVwiXTpob3Zlcixcbi8vLyAgIGlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi8vLyAgIHRleHRhcmVhOmhvdmVyIHtcbi8vLyAgICAgYm9yZGVyOiAxcHggc29saWQgIzBmMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRlXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmFjdGl2ZSxcbi8vLyAgIGlucHV0W3R5cGU9XCJ0ZWxcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRleHRcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl06YWN0aXZlLFxuLy8vICAgaW5wdXRbdHlwZT1cInVybFwiXTphY3RpdmUsXG4vLy8gICBpbnB1dFt0eXBlPVwid2Vla1wiXTphY3RpdmUsXG4vLy8gICB0ZXh0YXJlYTphY3RpdmUge1xuLy8vICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDBmO1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUgYXNzaWduLWlucHV0c1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdGV4dC1pbnB1dHMtbGlzdDogJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGltZVwiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXScsXG4gICAgICAgICAgICAgICAgICAgJ2lucHV0Om5vdChbdHlwZV0pJyxcbiAgICAgICAgICAgICAgICAgICAndGV4dGFyZWEnO1xuXG4kYWxsLXRleHQtaW5wdXRzOiAgICAgICAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCk7XG4kYWxsLXRleHQtaW5wdXRzLWFjdGl2ZTogYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgYWN0aXZlKTtcbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6ICBhc3NpZ24taW5wdXRzKCR0ZXh0LWlucHV0cy1saXN0LCBmb2N1cyk7XG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiAgYXNzaWduLWlucHV0cygkdGV4dC1pbnB1dHMtbGlzdCwgaG92ZXIpO1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ1NTIGN1YmljLWJlemllciB0aW1pbmcgZnVuY3Rpb25zLiBUaW1pbmcgZnVuY3Rpb25zIGNvdXJ0ZXN5IG9mIGpxdWVyeS5lYXNpZSAoZ2l0aHViLmNvbS9qYXVraWEvZWFzaWUpXG4vLy9cbi8vLyBUaW1pbmcgZnVuY3Rpb25zIGFyZSB0aGUgc2FtZSBhcyBkZW1vZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG4vLy9cbi8vLyBAdHlwZSBjdWJpYy1iZXppZXJcblxuJGVhc2UtaW4tcXVhZDogICAgICBjdWJpYy1iZXppZXIoMC41NTAsICAwLjA4NSwgMC42ODAsIDAuNTMwKTtcbiRlYXNlLWluLWN1YmljOiAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xuJGVhc2UtaW4tcXVpbnQ6ICAgICBjdWJpYy1iZXppZXIoMC43NTUsICAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiRlYXNlLWluLXNpbmU6ICAgICAgY3ViaWMtYmV6aWVyKDAuNDcwLCAgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xuJGVhc2UtaW4tY2lyYzogICAgICBjdWJpYy1iZXppZXIoMC42MDAsICAwLjA0MCwgMC45ODAsIDAuMzM1KTtcbiRlYXNlLWluLWJhY2s6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAtMC4yODAsIDAuNzM1LCAwLjA0NSk7XG5cbiRlYXNlLW91dC1xdWFkOiAgICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kZWFzZS1vdXQtY3ViaWM6ICAgIGN1YmljLWJlemllcigwLjIxNSwgIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcbiRlYXNlLW91dC1xdWludDogICAgY3ViaWMtYmV6aWVyKDAuMjMwLCAgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XG4kZWFzZS1vdXQtc2luZTogICAgIGN1YmljLWJlemllcigwLjM5MCwgIDAuNTc1LCAwLjU2NSwgMS4wMDApO1xuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1jaXJjOiAgICAgY3ViaWMtYmV6aWVyKDAuMDc1LCAgMC44MjAsIDAuMTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtYmFjazogICAgIGN1YmljLWJlemllcigwLjE3NSwgIDAuODg1LCAwLjMyMCwgMS4yNzUpO1xuXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcbiAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAkYmFja2dyb3VuZC1jb2xvcjogaWYobGVuZ3RoKCRjb2xvcikgPT0gMiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcblxuICBAaWYgKCRkaXJlY3Rpb24gPT0gdXApIG9yICgkZGlyZWN0aW9uID09IGRvd24pIG9yICgkZGlyZWN0aW9uID09IHJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICRoZWlnaHQ6IGlmKGxlbmd0aCgkc2l6ZSkgPiAxLCAkaGVpZ2h0LCAkaGVpZ2h0LzIpO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cC1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgfSBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICR3aWR0aCAkaGVpZ2h0O1xuICB9IEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUHJvdmlkZXMgYW4gZWFzeSB3YXkgdG8gY2hhbmdlIHRoZSBgd29yZC13cmFwYCBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd3JhcCBbYnJlYWstd29yZF1cbi8vLyAgIFZhbHVlIGZvciB0aGUgYHdvcmQtYnJlYWtgIHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAud3JhcHBlciB7XG4vLy8gICAgIEBpbmNsdWRlIHdvcmQtd3JhcChicmVhay13b3JkKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC53cmFwcGVyIHtcbi8vLyAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbi8vLyAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuLy8vICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4vLy8gICB9XG5cbkBtaXhpbiB3b3JkLXdyYXAoJHdyYXA6IGJyZWFrLXdvcmQpIHtcbiAgb3ZlcmZsb3ctd3JhcDogJHdyYXA7XG4gIHdvcmQtd3JhcDogJHdyYXA7XG5cbiAgQGlmICR3cmFwID09IGJyZWFrLXdvcmQge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgfSBAZWxzZSB7XG4gICAgd29yZC1icmVhazogJHdyYXA7XG4gIH1cbn1cbiIsIi8vIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBNQUpPUiB2ZXJzaW9uIHJlbGVhc2VcblxuQG1peGluIGlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBAd2FybiBcIlRoZSBpbmxpbmUtYmxvY2sgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AbWl4aW4gYnV0dG9uICgkc3R5bGU6IHNpbXBsZSwgJGJhc2UtY29sb3I6ICM0Mjk0ZjAsICR0ZXh0LXNpemU6IGluaGVyaXQsICRwYWRkaW5nOiA3cHggMThweCkge1xuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBzdHJpbmcgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICM0Mjk0ZjA7XG5cbiAgICBAaWYgJHBhZGRpbmcgPT0gaW5oZXJpdCB7XG4gICAgICAkcGFkZGluZzogN3B4IDE4cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XG4gICAgJHN0eWxlOiBzaW1wbGU7XG4gICAgQGluY2x1ZGUgYnV0dG9uc3R5bGUoJHN0eWxlLCAkYmFzZS1jb2xvciwgJHRleHQtc2l6ZSwgJHBhZGRpbmcpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHN0eWxlKSA9PSBjb2xvciBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJHRleHQtc2l6ZTtcbiAgICAkdGV4dC1zaXplOiAkYmFzZS1jb2xvcjtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gbnVtYmVyIHtcbiAgICAkcGFkZGluZzogJGJhc2UtY29sb3I7XG4gICAgJHRleHQtc2l6ZTogJHN0eWxlO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuICAgICRzdHlsZTogc2ltcGxlO1xuXG4gICAgQGlmICRwYWRkaW5nID09ICM0Mjk0ZjAge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgQHdhcm4gXCJUaGUgYnV0dG9uIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gU2VsZWN0b3IgU3R5bGUgQnV0dG9uXG5AbWl4aW4gYnV0dG9uc3R5bGUoJHR5cGUsICRiLWNvbG9yLCAkdC1zaXplLCAkcGFkKSB7XG4gIC8vIEdyYXlzY2FsZSBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBzaGlueSBhbmQgJGItY29sb3IgPT0gZ3JheXNjYWxlKCRiLWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IHBpbGwgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGlmICR0eXBlID09IGZsYXQgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIHRydWUsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgLy8gQ29sb3JlZCBidXR0b25cbiAgQGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgQGluY2x1ZGUgc2ltcGxlKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBzaGlueSB7XG4gICAgQGluY2x1ZGUgc2hpbnkoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IHBpbGwge1xuICAgIEBpbmNsdWRlIHBpbGwoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBlbHNlIGlmICR0eXBlID09IGZsYXQge1xuICAgIEBpbmNsdWRlIGZsYXQoJGItY29sb3IsIGZhbHNlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxufVxuXG4vLyBTaW1wbGUgQnV0dG9uXG5AbWl4aW4gc2ltcGxlKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xNCUpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XG4gICRzdG9wLWdyYWRpZW50OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTElKTtcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICAxNSUsICRsaWdodG5lc3M6IC0xOCUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC00JSwgJGxpZ2h0bmVzczogLTUlKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTclLCAkbGlnaHRuZXNzOiAgNSUpO1xuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICAgICRpbnNldC1zaGFkb3ctaG92ZXI6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1ob3Zlcik7XG4gICAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG5cbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdy1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDklLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNyUsICRsaWdodG5lc3M6IC0xNyUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgZ3JheXNjYWxlKCRib3JkZXItYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCBpbnNldCAwIDAgOHB4IDRweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgfVxufVxuXG4vLyBTaGlueSBCdXR0b25cbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XG4gICRib3JkZXItYm90dG9tOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMjYsICRncmVlbjogLTEyNywgJGJsdWU6IC0xMjIpO1xuICAkZm91cnRoLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNzksICAkZ3JlZW46IC03MCwgICRibHVlOiAtNDYpO1xuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xuICAkc2Vjb25kLXN0b3A6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNTYsICAkZ3JlZW46IC01MCwgICRibHVlOiAtMzMpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTQwLCAkZ3JlZW46IC0xNDEsICRibHVlOiAtMTE0KTtcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xuICAgICRzZWNvbmQtc3RvcDogICBncmF5c2NhbGUoJHNlY29uZC1zdG9wKTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gICAgJHRoaXJkLXN0b3A6ICAgIGdyYXlzY2FsZSgkdGhpcmQtc3RvcCk7XG4gIH1cblxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkYmFzZS1jb2xvciAwJSwgJHNlY29uZC1zdG9wIDUwJSwgJHRoaXJkLXN0b3AgNTAlLCAkZm91cnRoLXN0b3AgMTAwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93O1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG9wLCAkZmlyc3Qtc3RvcC1ob3ZlciAgMCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcmQtc3RvcC1ob3ZlciAgNTAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3VydGgtc3RvcC1ob3ZlciAxMDAlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYWN0aXZlLWNvbG9yOiAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNCwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTEwJSk7XG4gICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDYsICAkc2F0dXJhdGlvbjogLTIuNSUsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogOSwgICRzYXR1cmF0aW9uOiAgMiUsICAgJGxpZ2h0bmVzczogLTIxLjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctYWN0aXZlOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogNSwgICRzYXR1cmF0aW9uOiAtMTIlLCAgJGxpZ2h0bmVzczogLTIxLjUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBncmF5c2NhbGUoJGFjdGl2ZS1jb2xvcik7XG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XG4gICAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbS1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gRmxhdCBCdXR0b25cbkBtaXhpbiBmbGF0KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogJHRleHRzaXplO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpe1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA0JSwgJGxpZ2h0bmVzczogNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci1ob3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItYWN0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyBGbGV4aWJsZSBncmlkXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWdyaWQgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG4vLyBGbGV4aWJsZSBndXR0ZXJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcblxuICBAd2FybiBcIlRoZSBmbGV4LWd1dHRlciBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbkBmdW5jdGlvbiBncmlkLXdpZHRoKCRuKSB7XG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xuXG4gIEB3YXJuIFwiVGhlIGdyaWQtd2lkdGggZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ29sZGVuLXJhdGlvKCR2YWx1ZSwgJGluY3JlbWVudCkge1xuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlLCAkcmF0aW86ICRnb2xkZW4pO1xuXG4gIEB3YXJuIFwiVGhlIGdvbGRlbi1yYXRpbyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBQbGVhc2UgdXNlIHRoZSBtb2R1bGFyLXNjYWxlIGZ1bmN0aW9uLCBpbnN0ZWFkLlwiO1xufVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgQHdhcm4gXCJUaGUgYm94LXNpemluZyBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlLiBUaGlzIHByb3BlcnR5IGNhbiBub3cgYmUgdXNlZCB1bi1wcmVmaXhlZC5cIjtcbn1cbiIsIi8vIEZ1bmN0aW9uc1xuQGltcG9ydCBcImZ1bmN0aW9ucy9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL25ldy1icmVha3BvaW50XCI7XG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvZ3JpZFwiO1xuQGltcG9ydCBcInNldHRpbmdzL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvZGlzYWJsZS13YXJuaW5nc1wiO1xuIiwiLy8gTm90IGZ1bmN0aW9uIGZvciBMaWJzYXNzIGNvbXBhdGliaWxpdHlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL2xpYnNhc3MvaXNzdWVzLzM2OFxuQGZ1bmN0aW9uIGlzLW5vdCgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUsIGZhbHNlLCB0cnVlKTtcbn1cblxuLy8gQ2hlY2tzIGlmIGEgbnVtYmVyIGlzIGV2ZW5cbkBmdW5jdGlvbiBpcy1ldmVuKCRpbnQpIHtcbiAgQHJldHVybiAkaW50ICUgMiA9PSAwO1xufVxuXG4vLyBDaGVja3MgaWYgYW4gZWxlbWVudCBiZWxvbmdzIHRvIGEgbGlzdCBvciBub3RcbkBmdW5jdGlvbiBiZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3Qobm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkpO1xufVxuXG5AZnVuY3Rpb24gbm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChpbmRleCgkbGlzdCwgJHRlc3RlZC1pdGVtKSk7XG59XG5cbi8vIENvbnRhaW5zIGRpc3BsYXkgdmFsdWVcbkBmdW5jdGlvbiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkge1xuICBAcmV0dXJuIGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUtYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZSwgJHF1ZXJ5KTtcbn1cblxuLy8gUGFyc2VzIHRoZSBmaXJzdCBhcmd1bWVudCBvZiBzcGFuLWNvbHVtbnMoKVxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zcGFuKCRzcGFuOiAkc3Bhbikge1xuICBAaWYgbGVuZ3RoKCRzcGFuKSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzcGFuKSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRncmlkLWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBjb250YWluZXItc2hpZnQoJHNoaWZ0OiAkc2hpZnQpIHtcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0ICFnbG9iYWw7XG5cbiAgQGlmIGxlbmd0aCgkc2hpZnQpID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG4vLyBHZW5lcmF0ZXMgYSBzdHJpcGVkIGJhY2tncm91bmRcbkBmdW5jdGlvbiBncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zLCAkY29sb3I6ICR2aXN1YWwtZ3JpZC1jb2xvcikge1xuICAkdHJhbnNwYXJlbnQ6IHRyYW5zcGFyZW50O1xuXG4gICRjb2x1bW4td2lkdGg6IGZsZXgtZ3JpZCgxLCAkZ3JpZC1jb2x1bW5zKTtcbiAgJGd1dHRlci13aWR0aDogZmxleC1ndXR0ZXIoJGdyaWQtY29sdW1ucyk7XG4gICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLXdpZHRoO1xuXG4gICR2YWx1ZXM6ICgkdHJhbnNwYXJlbnQgMCwgJGNvbG9yIDApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRncmlkLWNvbHVtbnMqMiB7XG4gICAgQGlmIGlzLWV2ZW4oJGkpIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRjb2x1bW4td2lkdGg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkZ3V0dGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlcztcbn1cblxuLy8gTGF5b3V0IGRpcmVjdGlvblxuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oJGxheW91dCwgJGRlZmF1bHQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIG9yIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJSVExcIiB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGRlZmF1bHQpO1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIHtcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogbGVmdDtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJldHVybnMgYSBtZWRpYSBjb250ZXh0IChtZWRpYSBxdWVyeSAvIGdyaWQgY29udGV4dCkgdGhhdCBjYW4gYmUgc3RvcmVkIGluIGEgdmFyaWFibGUgYW5kIHBhc3NlZCB0byBgbWVkaWEoKWAgYXMgYSBzaW5nbGUta2V5d29yZCBhcmd1bWVudC4gTWVkaWEgY29udGV4dHMgZGVmaW5lZCB1c2luZyBgbmV3LWJyZWFrcG9pbnRgIGFyZSB1c2VkIGJ5IHRoZSB2aXN1YWwgZ3JpZCwgYXMgbG9uZyBhcyB0aGV5IGFyZSBkZWZpbmVkIGJlZm9yZSBpbXBvcnRpbmcgTmVhdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcy4gRWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA0ODBweCA0KTtcbi8vL1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4vLy8gICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgICAuZWxlbWVudCB7XG4vLy8gICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA3LjQyMjk3JTtcbi8vLyAgICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgfVxuLy8vICAgICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQGZ1bmN0aW9uIG5ldy1icmVha3BvaW50KCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgJHF1ZXJ5OiAkZGVmYXVsdC1mZWF0dXJlIG50aCgkcXVlcnksIDEpICR0b3RhbC1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpIHtcbiAgICAkcXVlcnk6IGFwcGVuZCgkcXVlcnksICR0b3RhbC1jb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiBpcy1ub3QoYmVsb25ncy10bygkcXVlcnksICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cykpIHtcbiAgICAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6IGFwcGVuZCgkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMsICRxdWVyeSwgY29tbWEpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgY29sdW1uLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRndXR0ZXJgLiBUbyBsZWFybiBtb3JlIGFib3V0IGBtb2R1bGFyLXNjYWxlKClgIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNtb2R1bGFyLXNjYWxlKS4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcblxuJGNvbHVtbjogbW9kdWxhci1zY2FsZSgzLCAxZW0sICRnb2xkZW4pICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgcmVsYXRpdmUgd2lkdGggb2YgYSBzaW5nbGUgZ3JpZCBndXR0ZXIuIFRoZSB1bml0IHVzZWQgc2hvdWxkIGJlIHRoZSBzYW1lIG9uZSB1c2VkIHRvIGRlZmluZSBgJGNvbHVtbmAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgYG1vZHVsYXItc2NhbGUoKWAgc2VlIFtCb3VyYm9uIGRvY3NdKGh0dHA6Ly9ib3VyYm9uLmlvL2RvY3MvI21vZHVsYXItc2NhbGUpLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IG1vZHVsYXItc2NhbGUoMSwgMWVtLCAkZ29sZGVuKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLiBJdHMgdmFsdWUgY2FuIGJlIG92ZXJyaWRkZW4gaW5zaWRlIGEgbWVkaWEgcXVlcnkgdXNpbmcgdGhlIGBtZWRpYSgpYCBtaXhpbi4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0bGVzcylcblxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBtYXgtd2lkdGggcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgdGhhdCBpbmNsdWRlcyBgb3V0ZXItY29udGFpbmVyKClgLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG4vLy9cbiRtYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcblxuLy8vIFdoZW4gc2V0IHRvIHRydWUsIGl0IHNldHMgdGhlIGJveC1zaXppbmcgcHJvcGVydHkgb2YgYWxsIGVsZW1lbnRzIHRvIGBib3JkZXItYm94YC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIGh0bWwge1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4vLy9cbi8vLyAgICosICo6OmFmdGVyLCAqOjpiZWZvcmUge1xuLy8vICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuLy8vICAgfVxuXG4kYm9yZGVyLWJveC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBkZWZhdWx0IFttZWRpYSBmZWF0dXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWEpIHRoYXQgYG1lZGlhKClgIGFuZCBgbmV3LWJyZWFrcG9pbnQoKWAgcmV2ZXJ0IHRvIHdoZW4gb25seSBhIGJyZWFrcG9pbnQgdmFsdWUgaXMgcGFzc2VkLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG5cbiRkZWZhdWx0LWZlYXR1cmU6IG1pbi13aWR0aDsgLy8gRGVmYXVsdCBAbWVkaWEgZmVhdHVyZSBmb3IgdGhlIGJyZWFrcG9pbnQoKSBtaXhpblxuXG4vLy9TZXRzIHRoZSBkZWZhdWx0IGxheW91dCBkaXJlY3Rpb24gb2YgdGhlIGdyaWQuIENhbiBiZSBgTFRSYCBvciBgUlRMYC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vQHR5cGUgU3RyaW5nXG5cbiRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIERpc3BsYXlzIHRoZSB2aXN1YWwgZ3JpZCB3aGVuIHNldCB0byB0cnVlLiBUaGUgb3ZlcmxhaWQgZ3JpZCBtYXkgYmUgZmV3IHBpeGVscyBvZmYgZGVwZW5kaW5nIG9uIHRoZSBicm93c2VyJ3MgcmVuZGVyaW5nIGVuZ2luZSBhbmQgcGl4ZWwgcm91bmRpbmcgYWxnb3JpdGhtLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiR2aXN1YWwtZ3JpZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgZ3JpZCBjb2xvci4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBDb2xvclxuXG4kdmlzdWFsLWdyaWQtY29sb3I6ICNlZWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBgei1pbmRleGAgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLiBDYW4gYmUgYGJhY2tgIChiZWhpbmQgY29udGVudCkgb3IgYGZyb250YCAoaW4gZnJvbnQgb2YgY29udGVudCkuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG5cbiR2aXN1YWwtZ3JpZC1pbmRleDogYmFjayAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIG9wYWNpdHkgcHJvcGVydHkgb2YgdGhlIHZpc3VhbCBncmlkLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAodW5pdGxlc3MpXG5cbiR2aXN1YWwtZ3JpZC1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG5cbiR2aXN1YWwtZ3JpZC1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXNhYmxlIGFsbCBkZXByZWNhdGlvbiB3YXJuaW5ncy4gRGVmYXVsdHMgdG8gYGZhbHNlYC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xcblxuJGRpc2FibGUtd2FybmluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLW5lYXQtd2FybigkbWVzc2FnZSkge1xuICBAaWYgJGRpc2FibGUtd2FybmluZ3MgPT0gZmFsc2Uge1xuICAgIEB3YXJuIFwiI3skbWVzc2FnZX1cIjtcbiAgfVxufVxuIiwiLy8gQ29sb3JzOiBTcGVjaWZpY1xuJGNvbG9yLWdyZXktZGFyazogIzI3MjcyNztcbiRjb2xvci1ncmV5OiAjOTk5O1xuJGNvbG9yLWdyZXktbWlkOiAjZGRkO1xuJGNvbG9yLWdyZXktbGlnaHQ6ICNmMmYyZjI7XG4kY29sb3Itd2hpdGU6ICNmZmY7XG4kY29sb3ItYmxhY2s6ICMwMDA7XG4kY29sb3ItdGVhbDogIzUwYjdlZDtcbiRjb2xvci10ZWFsLWRhcms6ICMyMzcxQTQ7XG4kY29sb3ItdGVhbC1kaXNhYmxlZDogIzhlYjdkMTtcbiRjb2xvci1vcmFuZ2U6ICNkYzUzMjM7XG5cbi8vIENvbG9yczogU2VtYW50aWNcbiRjb2xvci10ZXh0OiAkY29sb3ItZ3JleS1kYXJrO1xuJGNvbG9yLXRleHQtaW52ZXJ0OiAkY29sb3Itd2hpdGU7XG5cbi8vIFZpZXdwb3J0IFdpZHRoczogRXJnb25vbWljXG4kd2lkdGgtd3Jpc3QtbWF4OiAxMDAlO1xuJHdpZHRoLXBhbG06IDk1JTtcbiR3aWR0aC1wYWxtLW1xOiBlbSgzMDApO1xuJHdpZHRoLXBhbG0tbWF4OiBlbSg1MDApO1xuJHdpZHRoLWxhcDogOTUlO1xuJHdpZHRoLWxhcC1tcTogZW0oNzUwKTtcbiR3aWR0aC1sYXAtbWF4OiA5NSU7XG4kd2lkdGgtZGVzazogOTUlO1xuJHdpZHRoLWRlc2stbXE6IGVtKDEwMDApO1xuJHdpZHRoLWRlc2stbWF4OiBlbSg3NTApO1xuJHdpZHRoLXdhbGw6IDk1JTtcbiR3aWR0aC13YWxsLW1xOiBlbSgxMjAwKTtcbiR3aWR0aC13YWxsLW1heDogZW0oMTUwMCk7XG5cbi8vIFJlZ2lvbiBTaXplc1xuJGhlaWdodC1oZWFkZXItcGFsbTogZW0oNTApO1xuJGhlaWdodC1oZWFkZXItZGVzazogZW0oODApO1xuXG4vLyBCcmVha3BvaW50cyBmb3IgTmVhdCdzIG1lZGlhKCkgbWl4aW5cbiRtcS13cmlzdC1kb3duOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggJHdpZHRoLXBhbG0tbXEgMSk7XG4kbXEtcGFsbTogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICR3aWR0aC1wYWxtLW1xIDQpO1xuJG1xLXBhbG0tb25seTogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICR3aWR0aC1wYWxtLW1xIG1heC13aWR0aCAkd2lkdGgtbGFwLW1xIDQpO1xuJG1xLXBhbG0tZG93bjogbmV3LWJyZWFrcG9pbnQobWF4LXdpZHRoICgkd2lkdGgtbGFwLW1xIC0gZW0oMSkpIDQpO1xuJG1xLWxhcDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICR3aWR0aC1sYXAtbXEgMjQpO1xuJG1xLWxhcC1vbmx5OiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJHdpZHRoLWxhcC1tcSBtYXgtd2lkdGggJHdpZHRoLWRlc2stbXEgMjQpO1xuJG1xLWxhcC1kb3duOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggKCR3aWR0aC1kZXNrLW1xIC0gZW0oMSkpIDI0KTtcbiRtcS1kZXNrOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJHdpZHRoLWRlc2stbXEgMjQpO1xuJG1xLWRlc2stb25seTogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoICR3aWR0aC1kZXNrLW1xIG1heC13aWR0aCAkd2lkdGgtd2FsbC1tcSAyNCk7XG4kbXEtZGVzay1kb3duOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggKCR3aWR0aC13YWxsLW1xIC0gZW0oMSkpIDI0KTtcbiRtcS13YWxsOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggJHdpZHRoLXdhbGwtbXEgMTIpO1xuIiwiQGluY2x1ZGUga2V5ZnJhbWVzKG9zY2lsYXRlKSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3Itb3JhbmdlLCAxNSUpO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1vcmFuZ2U7XG4gIH1cbn1cbiIsIi8vIE5lYXQgMS43LjRcbi8vIGh0dHA6Ly9uZWF0LmJvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDEyLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcIm5lYXQtaGVscGVyc1wiO1xuXG4vLyBHcmlkXG5AaW1wb3J0IFwiZ3JpZC9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiZ3JpZC9vbWVnYVwiO1xuQGltcG9ydCBcImdyaWQvb3V0ZXItY29udGFpbmVyXCI7XG5AaW1wb3J0IFwiZ3JpZC9zcGFuLWNvbHVtbnNcIjtcbkBpbXBvcnQgXCJncmlkL3Jvd1wiO1xuQGltcG9ydCBcImdyaWQvc2hpZnRcIjtcbkBpbXBvcnQgXCJncmlkL3BhZFwiO1xuQGltcG9ydCBcImdyaWQvZmlsbC1wYXJlbnRcIjtcbkBpbXBvcnQgXCJncmlkL21lZGlhXCI7XG5AaW1wb3J0IFwiZ3JpZC90by1kZXByZWNhdGVcIjtcbkBpbXBvcnQgXCJncmlkL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXNwbGF5LWNvbnRleHRcIjtcbkBpbXBvcnQgXCJncmlkL2RpcmVjdGlvbi1jb250ZXh0XCI7XG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XG4kZmctY29sdW1uOiAkY29sdW1uO1xuJGZnLWd1dHRlcjogJGd1dHRlcjtcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYXJlbnQtY29sdW1ucygkY29sdW1ucykge1xuICBAaWYgJGNvbHVtbnMgIT0gJGdyaWQtY29sdW1ucyB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KSB7XG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IG51bWJlciBhbmQgdW5pdCgkcXVlcnkpID09IFwiblwiIHtcbiAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0rMSkge1xuICAgICAgY2xlYXI6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IGEgb3V0ZXIgY29udGFpbmVyIGJ5IGNlbnRlcmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEZXNpZ25hdGVzIHRoZSBlbGVtZW50IGFzIGEgcm93IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQgbGF5b3V0LiBJdCBjbGVhcnMgdGhlIGZsb2F0cyBvbiB0aGUgZWxlbWVudCBhbmQgc2V0cyBpdHMgZGlzcGxheSBwcm9wZXJ0eS4gUm93cyBjYW4ndCBiZSBuZXN0ZWQsIGJ1dCB0aGVyZSBjYW4gYmUgbW9yZSB0aGFuIG9uZSByb3cgZWxlbWVudOKAlHdpdGggZGlmZmVyZW50IGRpc3BsYXkgcHJvcGVydGllc+KAlHBlciBsYXlvdXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2RlZmF1bHRdXG4vLy8gIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBkaXNwbGF5IGNvbnRleHQgdGhhdCB3aWxsIGJlIHVzZWQgYnkgaXRzIGNoaWxkcmVuLiBDYW4gYmUgYGJsb2NrYCBvciBgdGFibGVgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gWyRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25dXG4vLy8gIFNldHMgdGhlIGxheW91dCBkaXJlY3Rpb24uIENhbiBiZSBgTFRSYCAobGVmdC10by1yaWdodCkgb3IgYFJUTGAgKHJpZ2h0LXRvLWxlZnQpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSByb3coKTtcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgKnpvb206IDE7XG4vLy8gICAgZGlzcGxheTogYmxvY2s7XG4vLy8gIH1cbi8vL1xuLy8vIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgY29udGVudDogXCIgXCI7XG4vLy8gICBkaXNwbGF5OiB0YWJsZTtcbi8vLyB9XG4vLy9cbi8vLyAuZWxlbWVudDphZnRlciB7XG4vLy8gICBjbGVhcjogYm90aDtcbi8vLyB9XG5cbkBtaXhpbiByb3coJGRpc3BsYXk6IGRlZmF1bHQsICRkaXJlY3Rpb246ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gIT0gJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAkZGlyZWN0aW9uIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9XG5cbiAgJGxheW91dC1kaXJlY3Rpb246ICRkaXJlY3Rpb24gIWdsb2JhbDtcblxuICBAaWYgJGRpc3BsYXkgIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAkZGlzcGxheSBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXNwbGF5KCl7Li4ufSBtaXhpbi5cIik7XG4gIH1cblxuICBAaWYgJGRpc3BsYXkgPT0gdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiB0cnVlICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLiBQb3NpdGl2ZSBhcmd1bWVudHMgc2hpZnQgdGhlIGVsZW1lbnQgdG8gdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uLCB3aGlsZSBuZWdhdGl2ZSBvbmVzIHNoaWZ0IGl0IHRvIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkbi1jb2x1bW5zIFsxXVxuLy8vICAgTnVtYmVyIG9mIGNvbHVtbnMgYnkgd2hpY2ggdGhlIGVsZW1lbnQgc2hpZnRzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IC0yNS41ODk0MSU7XG4vLy8gICB9XG5cbkBtaXhpbiBzaGlmdCgkbi1jb2x1bW5zOiAxKSB7XG4gIEBpbmNsdWRlIHNoaWZ0LWluLWNvbnRleHQoJG4tY29sdW1ucyk7XG59XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMsIGluIGEgc3BlY2lmaWMgbmVzdGluZyBjb250ZXh0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hpZnRcbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0byBzaGlmdCAoYCRjb2x1bW5zYCkgYW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiB0aGUgcGFyZW50IGVsZW1lbnQgKGAkY29udGFpbmVyLWNvbHVtbnNgKS5cbi8vL1xuLy8vICAgVGhlIHR3byB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyBvZiA2KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IC01Mi40MTQ1OCU7XG4vLy8gICB9XG5cbkBtaXhpbiBzaGlmdC1pbi1jb250ZXh0KCRzaGlmdDogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zKSB7XG4gICRuLWNvbHVtbnM6IG50aCgkc2hpZnQsIDEpO1xuICAkcGFyZW50LWNvbHVtbnM6IGNvbnRhaW5lci1zaGlmdCgkc2hpZnQpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRuLWNvbHVtbnMgKiBmbGV4LWdyaWQoMSwgJHBhcmVudC1jb2x1bW5zKSArICRuLWNvbHVtbnMgKiBmbGV4LWd1dHRlcigkcGFyZW50LWNvbHVtbnMpO1xuXG4gIC8vIFJlc2V0IG5lc3RpbmcgY29udGV4dFxuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEFkZHMgcGFkZGluZyB0byB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHBhZGRpbmcgW2ZsZXgtZ3V0dGVyKCldXG4vLy8gICBBIGxpc3Qgb2YgcGFkZGluZyB2YWx1ZShzKSB0byB1c2UuIFBhc3NpbmcgYGRlZmF1bHRgIGluIHRoZSBsaXN0IHdpbGwgcmVzdWx0IGluIHVzaW5nIHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwYWRkaW5nIHZhbHVlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZCgzMHB4IC0yMHB4IDEwcHggZGVmYXVsdCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmc6IDMwcHggLTIwcHggMTBweCAyLjM1NzY1JTtcbi8vLyAgIH1cblxuQG1peGluIHBhZCgkcGFkZGluZzogZmxleC1ndXR0ZXIoKSkge1xuICAkcGFkZGluZy1saXN0OiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHBhZGRpbmcge1xuICAgICR2YWx1ZTogaWYoJHZhbHVlID09ICdkZWZhdWx0JywgZmxleC1ndXR0ZXIoKSwgJHZhbHVlKTtcbiAgICAkcGFkZGluZy1saXN0OiBqb2luKCRwYWRkaW5nLWxpc3QsICR2YWx1ZSk7XG4gIH1cbiAgcGFkZGluZzogJHBhZGRpbmctbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEZvcmNlcyB0aGUgZWxlbWVudCB0byBmaWxsIGl0cyBwYXJlbnQgY29udGFpbmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyAgIH1cblxuQG1peGluIGZpbGwtcGFyZW50KCkge1xuICB3aWR0aDogMTAwJTtcblxuICBAaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IGZhbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnk6JGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIGJyZWFrcG9pbnQoKSBtaXhpbiB3YXMgcmVuYW1lZCB0byBtZWRpYSgpIGluIE5lYXQgMS4wLiBQbGVhc2UgdXBkYXRlIHlvdXIgcHJvamVjdCB3aXRoIHRoZSBuZXcgc3ludGF4IGJlZm9yZSB0aGUgbmV4dCB2ZXJzaW9uIGJ1bXAuXCIpO1xuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDMge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksIDMpO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDQge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA1IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSBhbmQgKG50aCgkcXVlcnksIDMpOiBudGgoJHF1ZXJ5LCA0KSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgNSk7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIGZvciBicmVha3BvaW50KCkuIFJlYWQgdGhlIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgZGV0YWlscy5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1vbWVnYSgkbnRoLCAkZGlzcGxheTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBudGgtb21lZ2EoKSBtaXhpbiBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIG9tZWdhKCkgaW5zdGVhZC5cIik7XG4gIEBpbmNsdWRlIG9tZWdhKCRudGggJGRpc3BsYXksICRkaXJlY3Rpb24pO1xufVxuXG4vLy8gUmVzZXRzIHRoZSBhY3RpdmUgZGlzcGxheSBwcm9wZXJ0eSB0byBgYmxvY2tgLiBQYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4gY2hhbmdpbmcgdGhlIGRpc3BsYXkgcHJvcGVydHkgaW4gYSBzaW5nbGUgcm93LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHJvdyh0YWJsZSk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byB0YWJsZSBkaXNwbGF5XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWRpc3BsYXk7XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGJsb2NrIGRpc3BsYXlcblxuQG1peGluIHJlc2V0LWRpc3BsYXkge1xuICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFnbG9iYWw7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJSZXNldHRpbmcgJGRpc3BsYXkgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlzcGxheSgpey4uLn0gbWl4aW4uXCIpO1xufVxuXG4vLy8gUmVzZXRzIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiB0byB0aGUgZGVmYXVsdCB2YWx1ZSBzZXQgaW4gYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gLiBQYXJ0aWN1bGFybHkgdXNlZnVsIHdoZW4gY2hhbmdpbmcgdGhlIGxheW91dCBkaXJlY3Rpb24gaW4gYSBzaW5nbGUgcm93LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHJvdygkZGlyZWN0aW9uOiBSVEwpO1xuLy8vICAgICAvLyBDb250ZXh0IGNoYW5nZWQgdG8gcmlnaHQtdG8tbGVmdFxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1sYXlvdXQtZGlyZWN0aW9uO1xuLy8vICAgLy8gQ29udGV4dCBpcyByZXNldCB0byBsZWZ0LXRvLXJpZ2h0XG5cbkBtaXhpbiByZXNldC1sYXlvdXQtZGlyZWN0aW9uIHtcbiAgJGxheW91dC1kaXJlY3Rpb246ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24gIWdsb2JhbDtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlJlc2V0dGluZyAkZGlyZWN0aW9uIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xufVxuXG4vLy8gUmVzZXRzIGJvdGggdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uIGFuZCB0aGUgYWN0aXZlIGRpc3BsYXkgcHJvcGVydHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KHRhYmxlLCBSVEwpO1xuLy8vICAgICAvLyBDb250ZXh0IGNoYW5nZWQgdG8gdGFibGUgdGFibGUgYW5kIHJpZ2h0LXRvLWxlZnRcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtYWxsO1xuLy8vICAgLy8gQ29udGV4dCBpcyByZXNldCB0byBibG9jayBkaXNwbGF5IGFuZCBsZWZ0LXRvLXJpZ2h0XG5cbkBtaXhpbiByZXNldC1hbGwge1xuICBAaW5jbHVkZSByZXNldC1kaXNwbGF5O1xuICBAaW5jbHVkZSByZXNldC1sYXlvdXQtZGlyZWN0aW9uO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3JhZGllbnQoJHZhbHVlcy4uLikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAjeyR2YWx1ZXN9KVwiKTtcbn1cblxuQGlmICR2aXN1YWwtZ3JpZCA9PSB0cnVlIG9yICR2aXN1YWwtZ3JpZCA9PSB5ZXMge1xuICBib2R5OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3JhZGllbnQoZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucykpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICBvcGFjaXR5OiAkdmlzdWFsLWdyaWQtb3BhY2l0eTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaWYgJHZpc3VhbC1ncmlkLWluZGV4ID09IGJhY2sge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJHZpc3VhbC1ncmlkLWluZGV4ID09IGZyb250IHtcbiAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgfVxuXG4gICAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiAkYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3JhZGllbnQoZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGFuZ2VzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHVzZWQgYnkgb3RoZXIgbWl4aW5zIGNhbGxlZCBpbiB0aGUgY29kZSBibG9jayBhcmd1bWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdXG4vLy8gICBEaXNwbGF5IHZhbHVlIHRvIGJlIHVzZWQgd2l0aGluIHRoZSBibG9jay4gQ2FuIGJlIGB0YWJsZWAgb3IgYGJsb2NrYC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIEBpbmNsdWRlIGRpc3BsYXktY29udGV4dCh0YWJsZSkge1xuLy8vICAgIC5kaXNwbGF5LXRhYmxlIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gICAuZGlzcGxheS10YWJsZSB7XG4vLy8gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuLy8vICAgICAgLi4uXG4vLy8gICB9XG5cbkBtaXhpbiBkaXNwbGF5LWNvbnRleHQoJGRpc3BsYXk6IGJsb2NrKSB7XG4gICRzY29wZS1kaXNwbGF5OiAkY29udGFpbmVyLWRpc3BsYXktdGFibGU7XG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogJGRpc3BsYXkgPT0gdGFibGUgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6ICRzY29wZS1kaXNwbGF5ICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBDaGFuZ2VzIHRoZSBkaXJlY3Rpb24gcHJvcGVydHkgdXNlZCBieSBvdGhlciBtaXhpbnMgY2FsbGVkIGluIHRoZSBjb2RlIGJsb2NrIGFyZ3VtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2xlZnQtdG8tcmlnaHRdXG4vLy8gICBMYXlvdXQgZGlyZWN0aW9uIHRvIGJlIHVzZWQgd2l0aGluIHRoZSBibG9jay4gQ2FuIGJlIGBsZWZ0LXRvLXJpZ2h0YCBvciBgcmlnaHQtdG8tbGVmdGAuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBpbmNsdWRlIGRpcmVjdGlvbi1jb250ZXh0KHJpZ2h0LXRvLWxlZnQpIHtcbi8vLyAgICAucmlnaHQtdG8tbGVmdC1ibG9jayB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5yaWdodC10by1sZWZ0LWJsb2NrIHtcbi8vLyAgICAgZmxvYXQ6IHJpZ2h0O1xuLy8vICAgICAgLi4uXG4vLy8gICB9XG5cbkBtaXhpbiBkaXJlY3Rpb24tY29udGV4dCgkZGlyZWN0aW9uOiBsZWZ0LXRvLXJpZ2h0KSB7XG4gICRzY29wZS1kaXJlY3Rpb246ICRsYXlvdXQtZGlyZWN0aW9uO1xuXG4gIEBpZiB0by1sb3dlci1jYXNlKCRkaXJlY3Rpb24pID09IFwibGVmdC10by1yaWdodFwiIHtcbiAgICAkbGF5b3V0LWRpcmVjdGlvbjogTFRSICFnbG9iYWw7XG4gIH0gQGVsc2UgaWYgdG8tbG93ZXItY2FzZSgkZGlyZWN0aW9uKSA9PSBcInJpZ2h0LXRvLWxlZnRcIiB7XG4gICAgJGxheW91dC1kaXJlY3Rpb246IFJUTCAhZ2xvYmFsO1xuICB9XG5cbiAgQGNvbnRlbnQ7XG5cbiAgJGxheW91dC1kaXJlY3Rpb246ICRzY29wZS1kaXJlY3Rpb24gIWdsb2JhbDtcbn1cbiIsIi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJoZWxwZXJzL21peGluc1wiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVzZXRzXCI7XG5cbi8vIFJlc2V0XG5AaW1wb3J0IFwicmVzZXQvYmxvY2tcIjtcbkBpbXBvcnQgXCJyZXNldC9mb3Jtc1wiO1xuQGltcG9ydCBcInJlc2V0L2hlYWRpbmdzXCI7XG5AaW1wb3J0IFwicmVzZXQvaW5saW5lXCI7XG5AaW1wb3J0IFwicmVzZXQvaW5wdXRzXCI7XG5AaW1wb3J0IFwicmVzZXQvbGlzdHNcIjtcbkBpbXBvcnQgXCJyZXNldC9tZWRpYVwiO1xuQGltcG9ydCBcInJlc2V0L3NpdGVcIjtcbkBpbXBvcnQgXCJyZXNldC90YWJsZXNcIjtcbiIsIi8vIE1peGluc1xuQGltcG9ydCBcIm1peGlucy9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcIm1peGlucy9mb250LWZhY2VcIjtcbkBpbXBvcnQgXCJtaXhpbnMvaGlkZS10ZXh0XCI7XG5AaW1wb3J0IFwibWl4aW5zL2ljb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGF5ZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbWF4LXNpemVcIjtcbiIsIi8qKlxuICogeC1iYWNrZ3JvdW5kXG4gKlxuICogU2V0cyBhIHNvbGlkIG9yIHNlbWktdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBjb2xvci4gIEFjY2VwdHMgYW4gb3B0aW9uYWwgXG4gKiBvcGFjaXR5IChhbHBoYSkgdmFsdWUuICBQcm92aWRlcyBhIHNvbGlkIGNvbG9yIGZhbGxiYWNrLlxuICovXG5AbWl4aW4geC1iYWNrZ3JvdW5kKCRjb2xvciwgJGFscGhhOiAxKSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRhbHBoYSk7XG59XG4iLCIvKipcbiAqIHgtY2xlYXJcbiAqXG4gKiBNdWx0aS11c2UgY2xlYXIgbWl4aW4gZm9yIHZhcmlvdXMgY29udGV4dHMuICBBY2NlcHRzIGFuIG9wdGlvbmFsIGNvbnRleHQuXG4gKiBEZWZhdWx0IHVzYWdlIGltcGxlbWVudHMgYSBCb3VyYm9uIG1pY3JvLWNsZWFyZml4LlxuICovXG5AbWl4aW4geC1jbGVhcigkZWxlbWVudDogc2VsZikge1xuXG4gIEBpZiAkZWxlbWVudCA9PSBzZWxmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLyoqXG4gKiB4LWNvbnRhaW5lclxuICovXG5AbWl4aW4geC1jb250YWluZXIoJHdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4OyBcbiAgQGluY2x1ZGUgbWFyZ2luKG51bGwgYXV0byBudWxsIGF1dG8pO1xuICBtYXgtd2lkdGg6IDkwJTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICB9XG59XG4iLCIvKipcbiAqXG4gKiB4LWZvbnQtZmFjZVxuICpcbiAqIEltcGxlbWVudHMgc3RhbmRhcmRpemVkIHNpdGUgY29weS4gQWNjZXB0cyBhcmd1bWVudHMgZm9yXG4gKiB2YXJpYW50cyAoaW52ZXJzaW9ucywgZXRjLikuXG4gKlxuICovXG5AbWl4aW4geC1mb250LWZhY2UoJGZvbnQtZmFtaWx5LCAkZmlsZS1wYXRoLCAkcXVlcnktc3RyaW5nLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuXG4gICAgQGlmICRxdWVyeS1zdHJpbmcgPT0gJycge1xuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I2llZml4JykgICAgICAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICB1cmwoJyN7JGZpbGUtcGF0aH0ud29mZicpICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXG4gICAgICB1cmwoJyN7JGZpbGUtcGF0aH0udHRmJykgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX0nKSAgICAgIGZvcm1hdCgnc3ZnJyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jeyRxdWVyeS1zdHJpbmd9Jyk7XG4gICAgICBzcmM6IHVybCgnI3skZmlsZS1wYXRofS5lb3Q/I3skcXVlcnktc3RyaW5nfSNpZWZpeCcpICAgICAgICAgICAgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LndvZmY/I3skcXVlcnktc3RyaW5nfScpICAgICAgICAgICAgICAgICBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgIHVybCgnI3skZmlsZS1wYXRofS50dGY/I3skcXVlcnktc3RyaW5nfScpICAgICAgICAgICAgICAgICAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnN2Zz8jeyRxdWVyeS1zdHJpbmd9IyN7JGZvbnQtZmFtaWx5fScpICBmb3JtYXQoJ3N2ZycpO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiB4LWhpZGUtdGV4dFxuICpcbiAqIEhpZGVzIHRleHQgb2YgYXBwbGllZCBlbGVtZW50LiAgQWNjZXB0cyBubyBhcmd1bWVudHMuIEJhc2VkXG4gKiBvZmYgb2YgYSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZSBINUJQIGltYWdlIHJlcGxhY2VtZW50IFxuICogbWV0aG9kLiAgSSd2ZSBmb3VuZCBpdCB0byBiZSBmYXIgbW9yZSByZWxpYWJsZSB0aGFuIHRoZSBjbGlwXG4gKiBtZXRob2QuXG4gKlxuICovXG5AbWl4aW4geC1oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8qKlxuICogeC1pY29uXG4gKlxuICogSW1wbGVtZW50cyBhIHdlYmZvbnQgZ2x5cGggIE5lZWRzIHRvIGJlIHVzZWQgd2l0aGluXG4gKiBhIHBzZXVkbyBlbGVtZW50IChlLmcuICY6YmVmb3JlLCAmOmFmdGVyKS4gIEFjY2VwdHMgYSByZXF1aXJlZCwgbmFtZWRcbiAqIGljb24sIGFuIG9wdGlvbmFsIHNpemUsIGFuZCBhbiBvcHRpb25hbCBjb2xvci4gIFxuICovXG5AbWl4aW4geC1pY29uKCRpY29uLCAkc2l6ZTogMTYsICRjb2xvcjogJGNvbG9yLXRleHQpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAkaWNvbjtcbiAgZm9udC1mYW1pbHk6ICdnbHlwaHMnO1xuICBmb250LXNpemU6ICRzaXplO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGNvbG9yO1xuICBzcGVhazogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4iLCIvKipcbiAqIHgtbGF5ZXJcbiAqXG4gKiBTZXRzIGEgei1pbmRleCB2YWx1ZSBiYXNlZCBvbiBzZW1hbnRpYyBuYW1pbmcgYXMgb3Bwb3NlZCB0byBleHBsaWNpdCBpbnRlZ2VyXG4gKiB2YWx1ZXMuICBBY2NlcHRzIGEgcmVxdWlyZWQsIG5hbWVkIGxheWVyLiAgSGllcmFyY2h5IGNhbiBiZSBtb2RpZmllZCBieVxuICogYWRkaW5nIGRpcmVjdGx5IHRvIHRoZSAkbGF5ZXJzIG1hcCBzdGFjay5cbiAqL1xuQG1peGluIHgtbGF5ZXIoJGxheWVyKSB7XG4gICRsYXllcnM6IChcbiAgICB0b3A6IDEwMCxcbiAgICBtaWRkbGU6IDUwLFxuICAgIGJvdHRvbTogMTAsXG4gICAgdW5kZXJuZWF0aDogLTFcbiAgKTtcblxuICB6LWluZGV4OiBtYXAtZ2V0KCRsYXllcnMsICRsYXllcik7XG59XG4iLCIvKipcbiAqIHgtbWF4LXNpemVcbiAqXG4gKi9cbkBtaXhpbiB4LW1heC1zaXplKCRzaXplKSB7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgMSk7XG4gICR3aWR0aDogJGhlaWdodDtcblxuICBAaWYgbGVuZ3RoKCRzaXplKSA+IDEge1xuICAgICRoZWlnaHQ6IG50aCgkc2l6ZSwgMik7XG4gIH1cblxuICBAaWYgJGhlaWdodCA9PSBhdXRvIG9yICh0eXBlLW9mKCRoZWlnaHQpID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCRoZWlnaHQpKSB7XG4gICAgbWF4LWhlaWdodDogJGhlaWdodDtcbiAgfVxuXG4gIEBpZiAkd2lkdGggPT0gYXV0byBvciAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgbm90IHVuaXRsZXNzKCR3aWR0aCkpIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgfVxufVxuIiwiJXJlc2V0LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4lcmVzZXQtYmxvY2sge1xuICBkaXNwbGF5OmJsb2NrO1xufVxuXG4lcmVzZXQtZm9udC1zdHlsZSB7XG4gIGZvbnQtc3R5bGU6bm9ybWFsO1xufVxuXG4lcmVzZXQtbWFyZ2luIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4lcmVzZXQtcGFkZGluZyB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiVyZXNldC1ib3JkZXIge1xuICBib3JkZXI6IDA7XG59XG5cbiVyZXNldC1saXN0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuJXJlc2V0LXF1b3RlcyB7XG4gIHF1b3Rlczogbm9uZTtcbn1cblxuJXJlc2V0LWNvbnRlbnQge1xuICBjb250ZW50OiAnJztcbiAgY29udGVudDogbm9uZTtcbn1cblxuJXJlc2V0LXRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbiVyZXNldC1mb250LWZhbWlseSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4lcmVzZXQtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4lcmVzZXQtYnV0dG9uIHtcbiAgQGV4dGVuZCAlcmVzZXQtYmFja2dyb3VuZDtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xuICBAZXh0ZW5kICVyZXNldC1wYWRkaW5nO1xuICBAZXh0ZW5kICVyZXNldC1ib3JkZXI7XG4gIEBleHRlbmQgJXJlc2V0LWZvbnQtc2l6ZTtcbiAgQGV4dGVuZCAlcmVzZXQtZm9udC1mYW1pbHk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG4lcmVzZXQtaW5wdXQge1xuICBAZXh0ZW5kICVyZXNldC1tYXJnaW47XG4gIEBleHRlbmQgJXJlc2V0LXBhZGRpbmc7XG4gIEBleHRlbmQgJXJlc2V0LWJvcmRlcjtcbiAgQGV4dGVuZCAlcmVzZXQtZm9udC1zaXplO1xuICBAZXh0ZW5kICVyZXNldC1mb250LWZhbWlseTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG4iLCJhZGRyZXNzIHtcbiAgQGV4dGVuZCAlcmVzZXQtZm9udC1zdHlsZTtcbn1cblxuYXJ0aWNsZSB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuXG5hc2lkZSB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xufVxuXG5kZXRhaWxzIHtcbiAgQGV4dGVuZCAlcmVzZXQtYmxvY2s7XG59XG5cbmRpYWxvZyB7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbiAgQGV4dGVuZCAlcmVzZXQtcGFkZGluZztcbiAgQGV4dGVuZCAlcmVzZXQtYm9yZGVyO1xuXG4gIHN1bW1hcnkge1xuICB9XG59XG5cbmRpdiB7XG59XG5cbmRsIHtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xuXG4gIGR0IHtcbiAgfVxuXG4gIGRkIHtcbiAgICBAZXh0ZW5kICVyZXNldC1tYXJnaW47XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgQGV4dGVuZCAlcmVzZXQtYmxvY2s7XG59XG5cbmhlYWRlciB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuXG5tZW51IHtcbiAgQGV4dGVuZCAlcmVzZXQtYmxvY2s7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbiAgQGV4dGVuZCAlcmVzZXQtcGFkZGluZztcbn1cblxubmF2IHtcbiAgQGV4dGVuZCAlcmVzZXQtYmxvY2s7XG59XG5cbnAge1xuICBAZXh0ZW5kICVyZXNldC1tYXJnaW47XG59XG5cbnByZSB7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbn1cblxuc2VjdGlvbiB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuXG4iLCJmb3JtIHtcblxuICBmaWVsZHNldCB7XG4gICAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xuICAgIEBleHRlbmQgJXJlc2V0LXBhZGRpbmc7XG4gICAgQGV4dGVuZCAlcmVzZXQtYm9yZGVyO1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIEBleHRlbmQgJXJlc2V0LXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAga2V5Z2VuIHtcbiAgfVxufVxuIiwiaDEge1xuICBAZXh0ZW5kICVyZXNldC1tYXJnaW47XG59XG5cbmgyIHtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xufVxuXG5oMyB7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbn1cblxuaDQge1xuICBAZXh0ZW5kICVyZXNldC1tYXJnaW47XG59XG5cbmg1IHtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xufVxuXG5oNiB7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbn1cbiIsImEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjphY3RpdmUge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuYWJiciB7XG59XG5cbmIge1xufVxuXG5iZGkge1xufVxuXG5iZG8ge1xufVxuXG5jaXRlIHtcbiAgQGV4dGVuZCAlcmVzZXQtZm9udC1zdHlsZTtcbn1cblxuY29kZSB7XG59XG5cbmRlbCB7XG59XG5cbmRmbiB7XG4gIEBleHRlbmQgJXJlc2V0LWZvbnQtc3R5bGU7XG59XG5cbmVtIHtcbiAgQGV4dGVuZCAlcmVzZXQtZm9udC1zdHlsZTtcbn1cblxuaSB7XG4gIEBleHRlbmQgJXJlc2V0LWZvbnQtc3R5bGU7XG59XG5cbmlucyB7XG59XG5cbmtiZCB7XG59XG5cbm1hcmsge1xufVxuXG5tZXRlciB7XG59XG5cbm91dHB1dCB7XG59XG5cbnByb2dyZXNzIHtcbn1cblxucSB7XG4gIEBleHRlbmQgJXJlc2V0LXF1b3Rlcztcbn1cblxucnVieSB7XG5cbiAgcnAge1xuICB9XG5cbiAgcnQge1xuICB9XG59XG5cbnMge1xufVxuXG5zYW1wIHtcbn1cblxuc21hbGwge1xufVxuXG5zcGFuIHtcbn1cblxuc3Ryb25nIHtcbn1cblxuc3ViIHtcbn1cblxuc3VwIHtcbn1cblxudGltZSB7XG59XG5cbnUge1xufVxuXG52YXIge1xuICBAZXh0ZW5kICVyZXNldC1mb250LXN0eWxlO1xufVxuIiwiYnV0dG9uIHtcbiAgQGV4dGVuZCAlcmVzZXQtYnV0dG9uO1xufVxuXG5jb21tYW5kIHtcbn1cblxuaW5wdXQge1xuXG4gICZbdHlwZT10ZXh0XSxcbiAgJlt0eXBlPWVtYWlsXSxcbiAgJlt0eXBlPXBhc3N3b3JkXXtcbiAgICBAZXh0ZW5kICVyZXNldC1pbnB1dDtcbiAgfVxuXG4gICZbdHlwZT1zdWJtaXRdIHtcbiAgICBAZXh0ZW5kICVyZXNldC1idXR0b247XG4gIH1cbn1cblxubGFiZWwge1xufVxuXG5zZWxlY3Qge1xuICBAZXh0ZW5kICVyZXNldC1tYXJnaW47XG5cbiAgb3B0Z3JvdXAge1xuXG4gICAgb3B0aW9uIHtcbiAgICB9XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICBAZXh0ZW5kICVyZXNldC1pbnB1dDtcbn1cbiIsInVsIHtcbiAgQGV4dGVuZCAlcmVzZXQtbGlzdDtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xuICBAZXh0ZW5kICVyZXNldC1wYWRkaW5nO1xuXG4gIGxpIHtcbiAgICBAZXh0ZW5kICVyZXNldC1saXN0O1xuICB9XG59XG5cbm9sIHtcbiAgQGV4dGVuZCAlcmVzZXQtbGlzdDtcbiAgQGV4dGVuZCAlcmVzZXQtbWFyZ2luO1xuICBAZXh0ZW5kICVyZXNldC1wYWRkaW5nO1xuXG4gIGxpIHtcbiAgICBAZXh0ZW5kICVyZXNldC1saXN0O1xuICB9XG59XG5cbiIsImFyZWEge1xufVxuXG5hdWRpbyB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuXG5jYW52YXMge1xuICBAZXh0ZW5kICVyZXNldC1ibG9jaztcbn1cblxuZW1iZWQge1xuICBAZXh0ZW5kICVyZXNldC1ibG9jaztcbn1cblxuZmlndXJlIHtcbiAgQGV4dGVuZCAlcmVzZXQtYmxvY2s7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcblxuICBmaWdjYXB0aW9uIHtcbiAgICBAZXh0ZW5kICVyZXNldC1ibG9jaztcbiAgfVxufVxuXG5ociB7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbn1cblxuaWZyYW1lIHtcbiAgQGV4dGVuZCAlcmVzZXQtYmxvY2s7XG4gIEBleHRlbmQgJXJlc2V0LWJvcmRlcjtcbn1cblxuaW1nIHtcbn1cblxubWFwIHtcbiAgXG4gIGFyZWEge1xuICB9XG59XG5cbm9iamVjdCB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuXG52aWRlbyB7XG4gIEBleHRlbmQgJXJlc2V0LWJsb2NrO1xufVxuIiwiLypcbipcbiogIEdsb2JhbCBCb3JkZXItQm94IE92ZXJyaWRlXG4qXG4qICBVbm5lY2Vzc2FyeSBpZiBCb3VyYm9uL05lYXQgYWxyZWFkeSBiZWluZyBsb2FkZWQuXG4qXG4qICAqIHtcbiogICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiogIH1cbipcbiovXG5odG1sIHtcbn1cblxuYm9keSB7XG4gIEBleHRlbmQgJXJlc2V0LW1hcmdpbjtcbiAgd2lkdGg6MTAwJTtcbn1cbiIsInRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGNhcHRpb24ge1xuICB9XG4gIGNvbGdyb3VwIHtcbiAgICBjb2wge1xuICAgIH1cbiAgfVxuICB0aGVhZCB7XG4gICAgdGgge1xuICAgICAgQGV4dGVuZCAlcmVzZXQtcGFkZGluZztcbiAgICB9XG4gIH1cbiAgdGJvZHkge1xuICAgIHRkIHtcbiAgICAgIEBleHRlbmQgJXJlc2V0LXBhZGRpbmc7XG4gICAgfVxuICB9XG4gIHRmb290IHtcbiAgICB0ZCB7XG4gICAgICBAZXh0ZW5kICVyZXNldC1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgeC1mb250LWZhY2UoJ2dseXBocycsICcvd3AtY29udGVudC90aGVtZXMvc3RvY2tyb3Zlci9mb250cy9nbHlwaHMvZm9udHMvZ2x5cGhzJywgJycpO1xuXG5AaW1wb3J0ICcuLi8uLi9mb250cy9nbHlwaHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2ZvbnRzL2dseXBocy9zdHlsZS5zY3NzJztcbiIsIiRpY29tb29uLWZvbnQtcGF0aDogXCJmb250c1wiICFkZWZhdWx0O1xuXG4kZ2x5cGgtLWZpbG06IFwiXFxmMDA4XCI7XG4kZ2x5cGgtLWZvbGRlcjogXCJcXGYwN2JcIjtcbiRnbHlwaC0tZm9sZGVyLS1vcGVuOiBcIlxcZjA3Y1wiO1xuJGdseXBoLS1waG9uZTogXCJcXGYwOTVcIjtcbiRnbHlwaC0tdHdpdHRlcjogXCJcXGYwOTlcIjtcbiRnbHlwaC0tZmFjZWJvb2s6IFwiXFxmMDlhXCI7XG4kZ2x5cGgtLWdvb2dsZS1wbHVzOiBcIlxcZjBkNVwiO1xuJGdseXBoLS1jYXJldC0tZG93bjogXCJcXGYwZDdcIjtcbiRnbHlwaC0tY2FyZXQtLXVwOiBcIlxcZjBkOFwiO1xuJGdseXBoLS1jYXJldC0tbGVmdDogXCJcXGYwZDlcIjtcbiRnbHlwaC0tY2FyZXQtLXJpZ2h0OiBcIlxcZjBkYVwiO1xuJGdseXBoLS1tYWlsOiBcIlxcZjBlMFwiO1xuJGdseXBoLS1lbWFpbDogXCJcXGYwZTBcIjtcbiRnbHlwaC0tYnVsbGV0OiBcIlxcZjExMVwiO1xuJGdseXBoLS1xdWVzdGlvbjogXCJcXGYxMjhcIjtcbiRnbHlwaC0taW5mbzogXCJcXGYxMjlcIjtcbiRnbHlwaC0tY2FsZW5kYXI6IFwiXFxmMTMzXCI7XG4kZ2x5cGgtLXdhcm5pbmc6IFwiXFxlMDAyXCI7XG4kZ2x5cGgtLW5ldzogXCJcXGUwNWVcIjtcbiRnbHlwaC0tY2xvc2U6IFwiXFxlMTRjXCI7XG4kZ2x5cGgtLWN1cnJlbmN5OiBcIlxcZTIyN1wiO1xuJGdseXBoLS1xdW90ZTogXCJcXGUyNDRcIjtcbiRnbHlwaC0tZWRpdDogXCJcXGUyNTRcIjtcbiRnbHlwaC0tYXJyb3ctLWRvd246IFwiXFxlMzEzXCI7XG4kZ2x5cGgtLWFycm93LS1sZWZ0OiBcIlxcZTMxNFwiO1xuJGdseXBoLS1hcnJvdy0tcmlnaHQ6IFwiXFxlMzE1XCI7XG4kZ2x5cGgtLWFycm93LS11cDogXCJcXGUzMTZcIjtcbiRnbHlwaC0tY2hlY2s6IFwiXFxlNWNhXCI7XG4kZ2x5cGgtLW1lbnU6IFwiXFxlNWQyXCI7XG4kZ2x5cGgtLWNoZWNrYm94LS1maWxsZWQ6IFwiXFxlODM0XCI7XG4kZ2x5cGgtLWNoZWNrYm94OiBcIlxcZTgzNVwiO1xuJGdseXBoLS1yYWRpbzogXCJcXGU4MzZcIjtcbiRnbHlwaC0tcmFkaW8tLWZpbGxlZDogXCJcXGU4MzdcIjtcbiRnbHlwaC0tZG9jdW1lbnQ6IFwiXFxlODczXCI7XG4kZ2x5cGgtLWhvbWU6IFwiXFxlODhhXCI7XG4kZ2x5cGgtLWxvY2s6IFwiXFxlODk3XCI7XG4kZ2x5cGgtLWNyZWRpdC1jYXJkOiBcIlxcZThhMVwiO1xuJGdseXBoLS1sb2NhdGlvbjogXCJcXGU4YjRcIjtcbiRnbHlwaC0tY2xvY2s6IFwiXFxlOGI1XCI7XG4kZ2x5cGgtLXNlYXJjaDogXCJcXGU4YjZcIjtcbiRnbHlwaC0tbGluZS1jaGFydDogXCJcXGU5MjJcIjtcbiRnbHlwaC0tcGxheTogXCJcXGU5MDBcIjtcblxuIiwiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2dseXBocyc7XG4gICAgc3JjOiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS9nbHlwaHMuZW90PzQ4MzQ4aycpO1xuICAgIHNyYzogICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vZ2x5cGhzLmVvdD80ODM0OGsjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L2dseXBocy50dGY/NDgzNDhrJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS9nbHlwaHMud29mZj80ODM0OGsnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vZ2x5cGhzLnN2Zz80ODM0OGsjZ2x5cGhzJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmdseXBoIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIGZvbnQtZmFtaWx5OiAnZ2x5cGhzJyAhaW1wb3J0YW50O1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmdseXBoLS1maWxtIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tZmlsbTtcbiAgICB9XG59XG4uZ2x5cGgtLWZvbGRlciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWZvbGRlcjtcbiAgICB9XG59XG4uZ2x5cGgtLWZvbGRlci0tb3BlbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWZvbGRlci0tb3BlbjtcbiAgICB9XG59XG4uZ2x5cGgtLXBob25lIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tcGhvbmU7XG4gICAgfVxufVxuLmdseXBoLS10d2l0dGVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tdHdpdHRlcjtcbiAgICB9XG59XG4uZ2x5cGgtLWZhY2Vib29rIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tZmFjZWJvb2s7XG4gICAgfVxufVxuLmdseXBoLS1nb29nbGUtcGx1cyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWdvb2dsZS1wbHVzO1xuICAgIH1cbn1cbi5nbHlwaC0tY2FyZXQtLWRvd24ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1jYXJldC0tZG93bjtcbiAgICB9XG59XG4uZ2x5cGgtLWNhcmV0LS11cCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWNhcmV0LS11cDtcbiAgICB9XG59XG4uZ2x5cGgtLWNhcmV0LS1sZWZ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tY2FyZXQtLWxlZnQ7XG4gICAgfVxufVxuLmdseXBoLS1jYXJldC0tcmlnaHQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1jYXJldC0tcmlnaHQ7XG4gICAgfVxufVxuLmdseXBoLS1tYWlsIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tbWFpbDtcbiAgICB9XG59XG4uZ2x5cGgtLWVtYWlsIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tZW1haWw7XG4gICAgfVxufVxuLmdseXBoLS1idWxsZXQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1idWxsZXQ7XG4gICAgfVxufVxuLmdseXBoLS1xdWVzdGlvbiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLXF1ZXN0aW9uO1xuICAgIH1cbn1cbi5nbHlwaC0taW5mbyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWluZm87XG4gICAgfVxufVxuLmdseXBoLS1jYWxlbmRhciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWNhbGVuZGFyO1xuICAgIH1cbn1cbi5nbHlwaC0td2FybmluZyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLXdhcm5pbmc7XG4gICAgfVxufVxuLmdseXBoLS1uZXcge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1uZXc7XG4gICAgfVxufVxuLmdseXBoLS1jbG9zZSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWNsb3NlO1xuICAgIH1cbn1cbi5nbHlwaC0tY3VycmVuY3kge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1jdXJyZW5jeTtcbiAgICB9XG59XG4uZ2x5cGgtLXF1b3RlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tcXVvdGU7XG4gICAgfVxufVxuLmdseXBoLS1lZGl0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tZWRpdDtcbiAgICB9XG59XG4uZ2x5cGgtLWFycm93LS1kb3duIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tYXJyb3ctLWRvd247XG4gICAgfVxufVxuLmdseXBoLS1hcnJvdy0tbGVmdCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWFycm93LS1sZWZ0O1xuICAgIH1cbn1cbi5nbHlwaC0tYXJyb3ctLXJpZ2h0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tYXJyb3ctLXJpZ2h0O1xuICAgIH1cbn1cbi5nbHlwaC0tYXJyb3ctLXVwIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tYXJyb3ctLXVwO1xuICAgIH1cbn1cbi5nbHlwaC0tY2hlY2sge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1jaGVjaztcbiAgICB9XG59XG4uZ2x5cGgtLW1lbnUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1tZW51O1xuICAgIH1cbn1cbi5nbHlwaC0tY2hlY2tib3gtLWZpbGxlZCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWNoZWNrYm94LS1maWxsZWQ7XG4gICAgfVxufVxuLmdseXBoLS1jaGVja2JveCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWNoZWNrYm94O1xuICAgIH1cbn1cbi5nbHlwaC0tcmFkaW8ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1yYWRpbztcbiAgICB9XG59XG4uZ2x5cGgtLXJhZGlvLS1maWxsZWQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1yYWRpby0tZmlsbGVkO1xuICAgIH1cbn1cbi5nbHlwaC0tZG9jdW1lbnQge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1kb2N1bWVudDtcbiAgICB9XG59XG4uZ2x5cGgtLWhvbWUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1ob21lO1xuICAgIH1cbn1cbi5nbHlwaC0tbG9jayB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWxvY2s7XG4gICAgfVxufVxuLmdseXBoLS1jcmVkaXQtY2FyZCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkZ2x5cGgtLWNyZWRpdC1jYXJkO1xuICAgIH1cbn1cbi5nbHlwaC0tbG9jYXRpb24ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1sb2NhdGlvbjtcbiAgICB9XG59XG4uZ2x5cGgtLWNsb2NrIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tY2xvY2s7XG4gICAgfVxufVxuLmdseXBoLS1zZWFyY2gge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1zZWFyY2g7XG4gICAgfVxufVxuLmdseXBoLS1saW5lLWNoYXJ0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRnbHlwaC0tbGluZS1jaGFydDtcbiAgICB9XG59XG4uZ2x5cGgtLXBsYXkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJGdseXBoLS1wbGF5O1xuICAgIH1cbn1cblxuIiwiQG1peGluIG1lbnUoJHZhcmlhbnQ6IGRlZmF1bHQpIHtcbiBcbiAgQGlmICgkdmFyaWFudCA9PSAnaW50ZXJuYWwnKSB7XG4gXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLWdyZXktbGlnaHQsIDMlKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDEuNzVlbSAxLjc1ZW0gMS43NWVtIDEuNzVlbSk7XG5cbiAgICAubWVudV9fbGlzdCB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG5cbiAgICAubWVudV9faGVhZGluZyB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgfVxuXG4gICAgLm1lbnVfX2l0ZW0ge1xuXG4gICAgICAmLm1lbnVfX2l0ZW0tLWFjdGl2ZSB7XG5cbiAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudV9fbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKC41ZW0gbnVsbCAuNWVtIG51bGwpO1xuICAgICAgY29sb3I6ICRjb2xvci10ZWFsLWRhcms7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDUuNjVlbSBudWxsIG51bGwgbnVsbCk7XG5cdH1cbiAgfVxufVxuXG5AbWl4aW4geC1ydGUge1xuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItdGVhbDtcbiAgfVxuXG4gIGgxIHtcbiAgICBAaW5jbHVkZSB4LWhlYWRpbmcoMSk7XG4gIH1cblxuICBoMiB7XG4gICAgQGluY2x1ZGUgeC1oZWFkaW5nKDIpO1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMmVtIDFlbSBudWxsIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBAaW5jbHVkZSB4LWhlYWRpbmcoMyk7XG5cbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGg0IHtcbiAgICBAaW5jbHVkZSB4LWhlYWRpbmcoNCk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKC41ZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGg1IHtcbiAgICBAaW5jbHVkZSB4LWhlYWRpbmcoNSk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICBvbCB7XG5cbiAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuICBcblxuXHQgIGxpIHtcblx0XHRAaW5jbHVkZSB4LWNvcHk7XG5cdFx0bGluZS1oZWlnaHQ6IDEuODtcblx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDAuNWVtIDEuMGVtKTtcblxuXHRcdCY6YmVmb3JlIHtcblx0XHQgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSkgXCIuIFwiO1xuXHRcdCAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG5cdFx0ICBjb2xvcjogJGNvbG9yLXRlYWw7XG5cdFx0ICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgLTAuNWVtKTtcblx0XHR9XG5cdCAgfVxuICB9XG5cbiAgdWwge1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG4gIFxuXG5cdCAgbGkge1xuXHRcdEBpbmNsdWRlIHgtY29weTtcblx0XHRsaW5lLWhlaWdodDogMS44O1xuXHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMC41ZW0gMi4wZW0pO1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdCAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tYnVsbGV0LCA2cHgsICRjb2xvci10ZWFsKTsgIFxuXHRcdCAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIC0zcHggbnVsbCBudWxsIC0yLjBlbSk7XG5cdFx0fVxuXHQgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIGF1dG8pO1xuXG4gICAgJi5sdHIge1xuXG4gICAgICB0ZCB7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgICAgdGQge1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDI1JSBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGRhcmtlbigkY29sb3ItZ3JleS1saWdodCwgMTAlKTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG5cbiAgICAgICAgdGQge1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSB4LWNvcHk7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCAxZW0gbnVsbCk7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgIHRkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygxZW0gbnVsbCAxZW0gbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGwge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgZHQge1xuICAgICAgQGluY2x1ZGUgeC1jb3B5O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgQGluY2x1ZGUgeC1jb3B5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRjb2xvci1ncmV5LWxpZ2h0O1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgMWVtIG51bGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcbiAgICAgIFxuICAgICAgZHQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRjb2xvci1ncmV5LWxpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCAxZW0gbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDE4KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG5cbiAgICAgICAgJjpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgeC1jb3B5O1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgQGluY2x1ZGUgcGFkZGluZygycHggMnB4IDJweCAycHgpO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICYuZmxvYXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMS41ZW0gMWVtIDFlbSBudWxsKTtcbiAgICB9XG4gIH1cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiBlbSgxNCk7XG4gIH1cblxuICAucmVzcG9uc2l2ZS1pZnJhbWUge1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSAwKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDU2LjUlIG51bGwgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIDFlbSBudWxsKTtcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDEwMCUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgfVxufVxuXG5AbWl4aW4geC1jb3B5KCR2YXJpYW50OiAnZGVmYXVsdCcpIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDoxLjg7XG4gIGNvbG9yOiAkY29sb3ItZ3JleS1kYXJrO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY29sb3ItdGVhbDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItdGVhbCwgMTAlKTtcbiAgICB9XG4gIH1cblxuICBAaWYoJHZhcmlhbnQ9PVwiaW52ZXJ0ZWRcIikge1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnQ7XG4gIH1cbn1cblxuQG1peGluIHgtaGVhZGluZygkbGV2ZWwsICR2YXJpYW50OiAnZGVmYXVsdCcpIHtcblxuICBAaWYoJGxldmVsPT0xKSB7XG4gICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleS1kYXJrO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcCkge1xuICAgICAgZm9udC1zaXplOiBlbSg0MCk7XG4gICAgfVxuICB9XG5cbiAgQGlmKCRsZXZlbD09Mikge1xuICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogJGNvbG9yLWdyZXktZGFyaztcbiAgfVxuXG4gIEBpZigkbGV2ZWw9PTMpIHtcbiAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgQGlmKCRsZXZlbD09NCkge1xuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBAaWYoJGxldmVsPT01KSB7XG4gICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gIH1cblxuICBAaWYoJGxldmVsPT1wYWdlKSB7XG4gICAgQGluY2x1ZGUgeC1oZWFkaW5nKDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JleTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCAuNWVtIG51bGwpO1xuICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgLjVlbSBudWxsKTtcbiAgfVxuXG4gIEBpZigkdmFyaWFudD09XCJpbnZlcnRlZFwiKSB7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0LWludmVydDtcbiAgfVxufVxuXG5AbWl4aW4geC1idXR0b24oJGljb246IG5vbmUsICRjZW50ZXJlZDogZmFsc2UsICR2YXJpYW50OiBkZWZhdWx0LCAkc2l6ZTogZGVmYXVsdCkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLXRlYWwsIDEpO1xuICBjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSAxZW0gLjVlbSAxZW0pO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxNTBtcyAkZWFzZS1pbi1vdXQtcXVhZCk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKGxpZ2h0ZW4oJGNvbG9yLXRlYWwsIDUlKSwgMSk7XG4gIH1cblxuICBAaWYgKCAkaWNvbiAhPSAnbm9uZScgKSB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHgtaWNvbigkaWNvbiwgMThweCwgJGNvbG9yLXRleHQtaW52ZXJ0KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAzcHggbnVsbCBudWxsIDRweCk7XG4gICAgfVxuICB9XG5cbiAgQGlmICggJGNlbnRlcmVkID09IHRydWUgKSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIDUwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICB9XG5cbiAgQGlmICggJGNlbnRlcmVkID09IGZhbHNlICkge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpO1xuICB9XG5cbiAgQGlmICggJHZhcmlhbnQgPT0gJ2ludmVydGVkJyApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGV4dC1pbnZlcnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10ZXh0LWludmVydDtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZWFsLWRhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICggJHZhcmlhbnQgPT0gJ2RhcmsnICkge1xuICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItdGVhbC1kYXJrLCAxKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKGxpZ2h0ZW4oJGNvbG9yLXRlYWwtZGFyaywgNSUpLCAxKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCAkdmFyaWFudCA9PSAnZGlzYWJsZWQnICkge1xuICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItdGVhbC1kaXNhYmxlZCwgMSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItdGVhbC1kaXNhYmxlZCwgMSk7XG4gICAgfVxuICB9XG5cbiAgQGlmKCAkc2l6ZSA9PSAnbGFyZ2UnICkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDBweCBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0aWxlKCR2YXJpYW50OiBkZWZhdWx0KSB7XG4gIEBpbmNsdWRlIHNpemUoMjIwcHggMjIwcHgpO1xuICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgNTAlKTtcbiAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIC0xMTBweCk7XG4gIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3Itd2hpdGUsIC4wNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuXG4gIC50aWxlX19pbWFnZSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDE1cHggbnVsbCBudWxsIDUwJSk7XG4gICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIC03NXB4KTtcbiAgICBAaW5jbHVkZSBzaXplKDE1MHB4IDE1MHB4KTtcbiAgfVxuXG4gIC50aWxlX19jb250ZW50IHtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0O1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTBweCBudWxsIG51bGwgMTAwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC50aWxlX19oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnRpbGVfX2NvcHkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC50aWxlX19jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcblxuICAgIC50aWxlX19jdGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkdmFyaWFudCA9PSAnaW52ZXJ0ZWQnKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktZGFyaztcblxuICAgIC50aWxlX19oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1kYXJrO1xuICAgIH1cblxuICAgIC50aWxlX19jb3B5IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JleS1kYXJrO1xuICAgIH1cbiAgfVxufVxuXG4iLCIuYXBwbGljYXRpb24ge1xuICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG4gIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItdGVhbCwgMSk7XG59XG4iLCIubWFpbiB7XG4gIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3Itd2hpdGUsIDEpO1xufVxuIiwiLmhlYWRlciB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgei1pbmRleDogMTA7XG4gIEBpbmNsdWRlIHNpemUoMTAwJSAkaGVpZ2h0LWhlYWRlci1wYWxtKTtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcblxuICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwLWRvd24pIHtcblxuICAgIC5oZWFkZXJfX2lubmVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCAyLjUlIG51bGwgMi41JSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHsgXG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlICRoZWlnaHQtaGVhZGVyLWRlc2spO1xuXG4gICAgLmhlYWRlcl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKGVtKDEwMDApKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5sb2dvIHtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgLmxvZ29fX2xpbmsge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBAaW5jbHVkZSBzaXplKGF1dG8gJGhlaWdodC1oZWFkZXItcGFsbSk7XG4gIH1cblxuICAubG9nb19faGVhZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICAubG9nb19fbGluayB7XG4gICAgICBAaW5jbHVkZSBzaXplKGF1dG8gJGhlaWdodC1oZWFkZXItZGVzayk7XG4gICAgfVxuICB9XG59XG4iLCIudG9nZ2xlIHtcblxuICAmLnRvZ2dsZS0tbmF2aWdhdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgLnRvZ2dsZV9faW5uZXIge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIEBpbmNsdWRlIHNpemUoYXV0byAkaGVpZ2h0LWhlYWRlci1wYWxtKTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnRvZ2dsZV9fYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1tZW51LCA0MHB4LCAkY29sb3Itd2hpdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYudG9nZ2xlLS1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItYmxhY2spO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgbnVsbCAuNWVtKTtcblxuICAgICAgLnRvZ2dsZV9faW5uZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICBAaW5jbHVkZSBzaXplKGF1dG8gJGhlaWdodC1oZWFkZXItZGVzayk7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC50b2dnbGVfX2J1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tc2VhcmNoLCAzMnB4LCAkY29sb3Itd2hpdGUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDI1MG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFzaWRlIHtcbiAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKGxpZ2h0ZW4oJGNvbG9yLWdyZXktZGFyaywgMTAlKSwgMSk7XG4gIHotaW5kZXg6IDU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcC1kb3duKSB7XG4gICAgQGluY2x1ZGUgc2l6ZShlbSgyODApIDEwMCUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIG51bGwgMCAwKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRoZWlnaHQtaGVhZGVyLXBhbG0gbnVsbCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24odHJhbnNmb3JtLCA1MDBtcywgJGVhc2UtaW4tb3V0LXF1YWQpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAuYXNpZGVfX2lubmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLWJsYWNrLCAxKTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCA1MCUgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCBlbSgtNTAwKSBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHNpemUoYXV0byAkaGVpZ2h0LWhlYWRlci1kZXNrKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxufVxuIiwiLm5hdmlnYXRpb24ge1xuXG4gIC5uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gIH1cbiAgXG4gIC5uYXZpZ2F0aW9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIGF1dG8pO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSAxZW0gLjVlbSAxZW0pO1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMjUwbXMgJGVhc2UtaW4tb3V0LXF1YWQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcC1kb3duKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDQuNWVtIG51bGwgbnVsbCBudWxsKTtcblxuICAgIC5uYXZpZ2F0aW9uX19pdGVtIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDApO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDBweCAxMDAlKTtcbiAgICAgICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci1ibGFjaywgMSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDI1MG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgIH1cblxuICAgICAgJi5uYXZpZ2F0aW9uX19pdGVtLS1hY3RpdmUge1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIDAgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0cHggMTAwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci10ZWFsLCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLWJsYWNrLCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci1ibGFjayk7XG4gICAgQGluY2x1ZGUgc2l6ZShhdXRvICRoZWlnaHQtaGVhZGVyLWRlc2spO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVpZ2h0LWhlYWRlci1kZXNrO1xuXG4gICAgLm5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmOmhvdmVye1xuXG4gICAgICAgIC5uYXZpZ2F0aW9uX190ZXh0IHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSA0cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgPiAuc3VibmF2aWdhdGlvbiB7XG5cbiAgICAgICAgICAuc3VibmF2aWdhdGlvbl9faW5uZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAyNTBtcyAkZWFzZS1pbi1vdXQtcXVhZCk7XG4gICAgICAgICAgICB3aWR0aDogZW0oMjAwKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5uYXZpZ2F0aW9uX19pdGVtLS1hY3RpdmUge1xuXG4gICAgICAgIC5uYXZpZ2F0aW9uX190ZXh0IHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSA0cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMCAxZW0gMCAxZW0pO1xuICAgIH1cblxuICAgIC5uYXZpZ2F0aW9uX190ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaXRpYWwgMCAtLjZlbSAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgwIDRweCk7XG4gICAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItdGVhbCwgMSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDI1MG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zdWJuYXZpZ2F0aW9uIHtcblxuICAuc3VibmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLjRyZW0gMXJlbSBudWxsIG51bGwpO1xuICAgIGZvbnQtc2l6ZTogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDI1MG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWFycm93LS1kb3duLCAyNHB4LCAkY29sb3Itd2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJuYXZpZ2F0aW9uX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIGF1dG8pO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSAxZW0gLjVlbSAxLjVlbSk7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0LWludmVydDtcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJi5zdWJuYXZpZ2F0aW9uLS1hY3RpdmUge1xuXG4gICAgLnN1Ym5hdmlnYXRpb25fX3RvZ2dsZSB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZWFsO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJuYXZpZ2F0aW9uX19pbm5lciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC1oZWlnaHQgNTAwbXMgJGVhc2UtaW4tb3V0LXF1YWQpO1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcC1kb3duKSB7XG5cbiAgICAuc3VibmF2aWdhdGlvbl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihtYXgtaGVpZ2h0IDI1MG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuXG4gICAgLnN1Ym5hdmlnYXRpb25fX3RvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zdWJuYXZpZ2F0aW9uX19pbm5lciB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIH1cblxuICAgIC5zdWJuYXZpZ2F0aW9uX19saXN0IHtcbiAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZChsaWdodGVuKCRjb2xvci1ncmV5LWRhcmssIDEwJSksIDEpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG5cbiAgICAuc3VibmF2aWdhdGlvbl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgICBcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDApO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgwcHggMTAwJSk7XG4gICAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItdGVhbCwgMSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEwMG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoNHB4IDEwMCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZm9ybSB7XG5cbiAgLmZvcm1fX21lc3NhZ2VzLS1lcnJvciB7XG5cdGNvbG9yOiByZWQ7XG4gIH1cbiAgLmZvcm1fX21lc3NhZ2VzLS1zdWNjZXNzIHtcblx0Y29sb3I6IGdyZWVuO1xuICB9XG5cbiAgLmZvcm1fX3NhdmluZ3Mge1xuICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIGNvbG9yOiBncmVlbjtcbiAgfVxuIFxuICAmLmZvcm0tLXNlYXJjaCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsICgkaGVpZ2h0LWhlYWRlci1wYWxtICsgLjVlbSkgMCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMWVtIDFlbSBudWxsIDFlbSk7XG5cbiAgICAuZm9ybV9fZmllbGQge1xuXG4gICAgICAmLmZvcm1fX2ZpZWxkLS1zZWFyY2gge1xuXG4gICAgICAgIC5mb3JtX19pbnB1dCB7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDJlbSk7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkZGluZygwIDJlbSAwIC41ZW0pO1xuXG4gICAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyguMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZvcm1fX2ZpZWxkLS1zdWJtaXQge1xuXG4gICAgICAgIC5mb3JtX19zdWJtaXQge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxcmVtIDFyZW0gMXJlbSBudWxsKTtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDJyZW0gMnJlbSk7XG4gICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgIFxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLXNlYXJjaCwgMjRweCwgIzEzN2NiNCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xMDAlKSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgJGhlaWdodC1oZWFkZXItZGVzayAwIG51bGwgMCk7XG4vKiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAzZW0pOyovXG4gICAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLXRlYWwsIDEpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNDAwbXMgJGVhc2UtaW4tb3V0LXF1aW50KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyguNWVtIC41ZW0gLjVlbSAuNWVtKTtcblxuICAgICAgLmZvcm1fX2ZpZWxkIHtcblxuICAgICAgICAmLmZvcm1fX2ZpZWxkLS1zdWJtaXQge1xuXG4gICAgICAgICAgLmZvcm1fX3N1Ym1pdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLjVyZW0gLjVyZW0gLjVyZW0gbnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLS1oZWxwLXNlYXJjaCB7XG4gXG4gICAgLmZvcm1fX2ZpZWxkIHtcblxuICAgICAgJi5mb3JtX19maWVsZC0tc2VhcmNoIHtcblxuICAgICAgICAuZm9ybV9faW5wdXQge1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAyZW0pO1xuICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMCAyZW0gMCAuNWVtKTtcblx0XHQgIEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgLjVlbSBudWxsKTtcblxuICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoLjFlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5mb3JtX19maWVsZC0tc3VibWl0IHtcblxuICAgICAgICAuZm9ybV9fc3VibWl0IHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNXJlbSAycmVtIDFyZW0gbnVsbCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgycmVtIDJyZW0pO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1zZWFyY2gsIDI0cHgsICRjb2xvci10ZWFsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMTAlIDNlbSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTAlKSk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIG51bGwgbnVsbCk7XG5cbiAgICAgIC5mb3JtX19maWVsZCB7XG5cbiAgICAgICAgJi5mb3JtX19maWVsZC0tc3VibWl0IHtcblxuICAgICAgICAgIC5mb3JtX19zdWJtaXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDByZW0gMHJlbSAuNXJlbSBudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmZvcm0tLXNpZ24taW4ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoZW0oNTAwKSk7XG5cbiAgICAuZm9ybV9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMWVtIG51bGwgMWVtKTtcbiAgICB9XG5cbiAgICAuZm9ybV9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSB4LWhlYWRpbmcoMSwgJ2ludmVydGVkJyk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKC41ZW0gbnVsbCAuNWVtIG51bGwpO1xuICAgICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci10ZWFsLWRhcmssIDEpO1xuICAgIH1cblxuICAgIC5mb3JtX19mb3JtIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMWVtIDFlbSAxZW0gMWVtKTtcbiAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItZ3JleS1saWdodCwgMSk7XG4gICAgfVxuXG4gICAgLmZvcm1fX2ZpZWxkIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxLjVlbSBudWxsIG51bGwgbnVsbCk7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgJi5mb3JtX19maWVsZC0tZm9yZ290LXBhc3N3b3JkIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKC4yNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG5cbiAgICAgICAgLmZvcm1fX2xpbmsge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLXNpZ24taW4ge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oLjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG5cdCAgXG5cdCAgJi5mb3JtX190ZXh0LS1lbWFpbCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbiguMjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0ICB9XG4gICAgfVxuXG4gICAgLmZvcm1fX2lucHV0IHtcbiAgICAgICZbdHlwZT10ZXh0XSxcbiAgICAgICZbdHlwZT1lbWFpbF0sXG4gICAgICAmW3R5cGU9cGFzc3dvcmRdIHtcblxuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUgYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMWVtIC41ZW0gMWVtIC41ZW0pO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMjUwbXMsICRlYXNlLWluLXF1aW50KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1ncmV5LWxpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yLCAyNTBtcywgJGVhc2UtaW4tb3V0LXF1YWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgfiAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMS41ZW0gMCBudWxsIG51bGwpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSwgMjUwbXMsICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci10ZWFsLWRhcms7XG5cbiAgICAgICAgICB+IC5mb3JtX19sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6dmFsaWQge1xuXG4gICAgICAgICAgfiAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJlt0eXBlPXJhZGlvXSxcbiAgICAgICZbdHlwZT1jaGVja2JveF0ge1xuXG4gICAgICAgIH4gLmZvcm1fX2xhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbiggcmVsYXRpdmUsIDFweCBudWxsIG51bGwgbnVsbCApO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtX19zdWJtaXQge1xuICAgICAgQGluY2x1ZGUgeC1idXR0b24oJGdseXBoLS1hcnJvdy0tcmlnaHQsIGZhbHNlLCAnZGFyaycpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi5mb3JtLS1yZWdpc3RlciB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcihlbSg3NTApKTtcblxuICAgIC5mb3JtX19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxZW0gbnVsbCAxZW0pO1xuICAgIH1cblxuICAgIC5mb3JtX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIHgtaGVhZGluZygxLCAnaW52ZXJ0ZWQnKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSBudWxsIC41ZW0gbnVsbCk7XG4gICAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLXRlYWwtZGFyaywgMSk7XG4gICAgfVxuXG4gICAgLmZvcm1fX2NvcHkge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygxZW0gMWVtIDAgMWVtKTtcbiAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItZ3JleS1saWdodCwgMSk7XG5cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybV9fZm9ybSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKDFlbSAxZW0gMWVtIDFlbSk7XG4gICAgfVxuXG4gICAgLmZvcm1fX2ZpZWxkIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLWZvcmdvdC1wYXNzd29yZCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbiguMjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuXG4gICAgICAgIC5mb3JtX19saW5rIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRlYWwtZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZvcm1fX2ZpZWxkLS1zdWJzY3JpcHRpb24tcGxhbi1kZXNjIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRtYXJnaW4tdG9wOiA1ZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDI0ZW07XG5cdFx0cGFkZGluZzogMTBweCA2cHggMTBweCAxMHB4O1xuXHRcdHdpZHRoOiAxOS44ZW07XG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzlBOUE5QTtcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdHotaW5kZXg6IDk5O1xuXG5cdFx0dWwge1xuXHRcdCAgbGkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIC41ZW0pO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHQgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWJ1bGxldCwgNnB4KTsgIFxuXHRcdFx0ICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgLTNweCBudWxsIG51bGwgLTEuNWVtKTtcblx0XHRcdH1cblx0XHQgIH1cblx0XHR9XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLXN1YnNjcmlwdGlvbi1wbGFuLWRlc2MtdW5saW1pdGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRtYXJnaW4tdG9wOiAyMGVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAzMGVtO1xuXHRcdHBhZGRpbmc6IDEwcHggNnB4IDEwcHggMTBweDtcblx0XHR3aWR0aDogMTkuOGVtO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICM5QTlBOUE7XG5cdFx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHR6LWluZGV4OiA5OTtcblxuXHRcdHVsIHtcblx0XHQgIGxpIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgbnVsbCAuNWVtKTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0ICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1idWxsZXQsIDZweCk7ICBcblx0XHRcdCAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIC0zcHggbnVsbCBudWxsIC0xLjVlbSk7XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFx0fVxuICAgICAgfVxuXG4gICAgICAmLmZvcm1fX2ZpZWxkLS1zdG9jay1yb3Zlci1kZXNjLXN0ZXAzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRtYXJnaW4tdG9wOiAxNmVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAxMmVtO1xuXHRcdHBhZGRpbmc6IDEwcHggNnB4IDEwcHggMTBweDtcblx0XHR3aWR0aDogMTkuOGVtO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICM5QTlBOUE7XG5cdFx0LW1vei1ib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHR6LWluZGV4OiA5OTtcblxuXHRcdHVsIHtcblx0XHQgIGxpIHtcblx0XHRcdEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgbnVsbCAuNWVtKTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0ICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1idWxsZXQsIDZweCk7ICBcblx0XHRcdCAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIC0zcHggbnVsbCBudWxsIC0xLjVlbSk7XG5cdFx0XHR9XG5cdFx0ICB9XG5cdFx0fVxuICAgICAgfVxuXG4gICAgICAmLmZvcm1fX2ZpZWxkLS1yZXNlYXJjaC1yZXBvcnRzLWRlc2Mtc3RlcDMge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdG1hcmdpbi10b3A6IDE2ZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDEyZW07XG5cdFx0cGFkZGluZzogMTBweCA2cHggMTBweCAxMHB4O1xuXHRcdHdpZHRoOiAxOS44ZW07XG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzlBOUE5QTtcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdHotaW5kZXg6IDk5O1xuXG5cdFx0dWwge1xuXHRcdCAgbGkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIC41ZW0pO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHQgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWJ1bGxldCwgNnB4KTsgIFxuXHRcdFx0ICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgLTNweCBudWxsIG51bGwgLTEuNWVtKTtcblx0XHRcdH1cblx0XHQgIH1cblx0XHR9XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLXN0b2NrLXJvdmVyLWRlc2Mtc3RlcDQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdG1hcmdpbi10b3A6IDEyLjVlbTtcblx0XHRtYXJnaW4tbGVmdDogMzNlbTtcblx0XHRwYWRkaW5nOiAxMHB4IDZweCAxMHB4IDEwcHg7XG5cdFx0d2lkdGg6IDE5LjhlbTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjOUE5QTlBO1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0ei1pbmRleDogOTk7XG5cblx0XHR1bCB7XG5cdFx0ICBsaSB7XG5cdFx0XHRAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIG51bGwgLjVlbSk7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdCAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tYnVsbGV0LCA2cHgpOyAgXG5cdFx0XHQgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCAtM3B4IG51bGwgbnVsbCAtMS41ZW0pO1xuXHRcdFx0fVxuXHRcdCAgfVxuXHRcdH1cbiAgICAgIH1cblxuICAgICAgJi5mb3JtX19maWVsZC0tcmVzZWFyY2gtcmVwb3J0cy1kZXNjLXN0ZXA0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRtYXJnaW4tdG9wOiAxMi41ZW07XG5cdFx0bWFyZ2luLWxlZnQ6IDMzZW07XG5cdFx0cGFkZGluZzogMTBweCA2cHggMTBweCAxMHB4O1xuXHRcdHdpZHRoOiAxOS44ZW07XG5cdFx0Ym9yZGVyOiAycHggc29saWQgIzlBOUE5QTtcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdHotaW5kZXg6IDk5O1xuXG5cdFx0dWwge1xuXHRcdCAgbGkge1xuXHRcdFx0QGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIC41ZW0pO1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHQgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWJ1bGxldCwgNnB4KTsgIFxuXHRcdFx0ICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgLTNweCBudWxsIG51bGwgLTEuNWVtKTtcblx0XHRcdH1cblx0XHQgIH1cblx0XHR9XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLXN1cHBvcnQtcGxhbi1kZXNjIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRtYXJnaW4tdG9wOiA0MmVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAzMmVtO1xuXHRcdHBhZGRpbmc6IDEwcHggNnB4IDEwcHggMTBweDtcblx0XHR3aWR0aDogMTVlbTtcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjOUE5QTlBO1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogOHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0ei1pbmRleDogOTk7XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLWNvbXBhcmUtcGxhbnMge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCAuNGVtKTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG5cbiAgICAgICAgLmZvcm1fX2xpbmsge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLWluZm8taWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAuMmVtO1xuICAgICAgICBsZWZ0OiAuM2VtO1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogMjVlbSkge1xuXHRcdCAgZGlzcGxheTogbm9uZTtcblx0XHR9XG4gICAgICB9XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLXNpZ24taW4ge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oLjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG5cblx0ICAmLmZvcm1fX3RleHQtLWVtYWlsIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKC4yNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHQgIH1cblxuICAgICAgJi5mb3JtX19maWVsZC0tb3RoZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG5cdCAgJi5mb3JtX19maWVsZC0tcGF5LWJ5LWNoZWNrIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG5cbiAgICAgICAgLmZvcm1fX2xpbmsge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgIH1cblxuICAgIC5mb3JtX19maWVsZHNldCB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMmVtIG51bGwgbnVsbCBudWxsKTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtX19maWVsZHNldC1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDJlbSBudWxsIG51bGwgbnVsbCk7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybV9fbGVnZW5kIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLmZvcm1fX2lucHV0IHtcbiAgICAgICZbdHlwZT10ZXh0XSxcbiAgICAgICZbdHlwZT1lbWFpbF0sXG4gICAgICAmW3R5cGU9cGFzc3dvcmRdIHtcblxuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUgYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMWVtIC41ZW0gMWVtIC41ZW0pO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oLjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAyNTBtcywgJGVhc2UtaW4tcXVpbnQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yLWdyZXktbGlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IsIDI1MG1zLCAkZWFzZS1pbi1vdXQtcXVhZCk7XG4gICAgICAgIH1cblxuICAgICAgICB+IC5mb3JtX19sYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xZW0gMCBudWxsIG51bGwpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSwgMjUwbXMsICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci10ZWFsLWRhcms7XG5cbiAgICAgICAgICB+IC5mb3JtX19sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6dmFsaWQge1xuXG4gICAgICAgICAgfiAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJlt0eXBlPXJhZGlvXSxcbiAgICAgICZbdHlwZT1jaGVja2JveF0ge1xuXG4gICAgICAgIH4gLmZvcm1fX2xhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbiggcmVsYXRpdmUsIDFweCBudWxsIG51bGwgbnVsbCApO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZvcm1fX2lucHV0LS1zZWxlY3Qge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygxZW0gLjVlbSAxZW0gLjVlbSk7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbiguNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDI1MG1zLCAkZWFzZS1pbi1xdWludCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci1ncmV5LWxpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5mb3JtX19zdWJtaXQge1xuICAgICAgQGluY2x1ZGUgeC1idXR0b24oJGdseXBoLS1hcnJvdy0tcmlnaHQsIGZhbHNlLCAnZGFyaycpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvcm1fX3N1Ym1pdC0tdXBkYXRlIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgbnVsbCAtMWVtKTtcbiAgICAgIEBpbmNsdWRlIHgtYnV0dG9uKCRnbHlwaC0tYXJyb3ctLXJpZ2h0LCBmYWxzZSwgJ2RhcmsnKTtcbiAgICAgIHdpZHRoOiAxMDcuNSU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcblxuICAgICAgLmZvcm1fX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgMCBudWxsIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS0tc3BsaXQge1xuXG4gICAgLmZvcm1fX2Zvcm0ge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygwIDAgMCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwLWRvd24pIHsgXG5cbiAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbigtMi41ZW0gbnVsbCBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cblx0XG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogNjIuNDM3NWVtKSB7XG5cdFx0Ji5mb3JtLS1zcGxpdCAucHJvZ3Jlc3Mge1xuXHRcdFx0bWFyZ2luLXRvcDogLTIuNWVtO1xuXHRcdH1cblx0fVxuXG5cblx0QG1lZGlhIHNjcmVlbiBhbmQobWluLXdpZHRoOiA2Mi41ZW0pIHtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0LmZvcm1fX2Zvcm0ge1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdFx0LmZvcm1fX2ZpZWxkc2V0IHtcblx0XHRcdHBhZGRpbmc6IDFlbTtcblx0XHR9XG5cdFx0LmZvcm1fX3JlZ2lvbiB7XG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxLjE2NTA5JTtcblx0XHRcdFx0d2lkdGg6IDQ5LjQxNzQ1JTtcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0LmZvcm1fX2ZpZWxkc2V0IHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA1ZW07XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1ZW07XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA0LjIxNTIxJTtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEuMTY1MDklO1xuXHRcdFx0XHR3aWR0aDogNDUuMjAyMjQlO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mb3JtX19zdWJtaXQge1xuXHRcdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdFx0fVxuXHRcdC5mb3JtX19zdWJtaXQtLXVwZGF0ZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjVlbTtcblx0XHR9XG5cdFx0LmZvcm1fX2ZpZWxkLmZvcm1fX2ZpZWxkLS1zdWJtaXQge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDFlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXHRcdH1cblx0fVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgXG5cbiAgICAgIC5mb3JtX19mb3JtIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLmZvcm1fX2ZpZWxkc2V0IHtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZygxZW0gMWVtIDFlbSAxZW0pO1xuICAgICAgfVxuXG4gICAgICAuZm9ybV9fcmVnaW9uIHtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcblxuICAgICAgICAgIC5mb3JtX19maWVsZHNldCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMCAwIDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKDVlbSBudWxsIDVlbSBudWxsKTtcbiAgICAgICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTEpO1xuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtX19maWVsZCB7XG5cbiAgICAgICAgJi5mb3JtX19maWVsZC0tc3VibWl0IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIDFlbSBudWxsIDFlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm1fX3N1Ym1pdCB7XG4gICAgICAgIEBpbmNsdWRlIG1hcmdpbiguNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgLmZvcm1fX3N1Ym1pdC0tdXBkYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKC41ZW0gbnVsbCBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJi5mb3JtLS1zcGxpdC0tbG9naW4ge1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogNjIuNDM3NWVtKSB7XG5cdC5mb3JtIHtcblx0XHQmLmZvcm0tLXNwbGl0LS1sb2dpbiAucHJvZ3Jlc3Mge1xuXHRcdFx0bWFyZ2luLXRvcDogLTIuNWVtO1xuXHRcdH1cblx0fSB9XG5cblxuXHRAbWVkaWEgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYyLjVlbSkge1xuXHQgIG1heC13aWR0aDogbm9uZTtcblx0ICAuZm9ybV9fZm9ybSB7XG5cdFx0cGFkZGluZzogMDtcblx0ICB9XG5cdCAgLmZvcm1fX2ZpZWxkc2V0IHtcblx0XHRwYWRkaW5nOiAxZW07XG5cdCAgfVxuXHQgIC5mb3JtX19yZWdpb24ge1xuXHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEuMTY1MDklO1xuXHRcdFx0d2lkdGg6IDI5LjQxNzQ1JTtcblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdH1cblx0XHRcdC5mb3JtX19maWVsZHNldCB7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA1ZW07XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogNWVtO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDQuMjE1MjElO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi1yaWdodDogMS4xNjUwOSU7XG5cdFx0XHR3aWR0aDogNjUuMjAyMjQlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0ICB9XG5cdCAgLmZvcm1fX3N1Ym1pdCB7XG5cdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdCAgfVxuXHQgIC5mb3JtX19zdWJtaXQtLXVwZGF0ZSB7XG5cdFx0bWFyZ2luLXRvcDogMC41ZW07XG5cdCAgfVxuXHQgIC5mb3JtX19maWVsZC5mb3JtX19maWVsZC0tc3VibWl0IHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDFlbTtcblx0XHRwYWRkaW5nLWxlZnQ6IDFlbTtcblx0ICB9XG5cdH1cbiAgfVxuXG4gICYuZm9ybS0tc2luZ2xlLWxpbmUge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDEwZW0gbnVsbCk7XG5cbiAgICAuZm9ybV9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgeC1jb250YWluZXIoMTAwMHB4KTtcbiAgICB9XG5cbiAgICAuZm9ybV9fZm9ybSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKDBlbSAwZW0gMGVtIDBlbSk7XG4gICAgfVxuXG4gICAgLmZvcm1fX2ZpZWxkIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxLjVlbSBudWxsIG51bGwgbnVsbCk7XG5cbiAgICAgICYuZm9ybV9fZmllbGQtLXNpbmdsZS1saW5lIHtcblx0ICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG5cdFx0ICBoZWlnaHQ6IDMwcHg7XG5cdFx0ICB3aWR0aDogODAlO1xuXHRcdCAgcGFkZGluZy1yaWdodDogMTAwcHg7XG5cdCAgfVxuXG4gICAgICAmLmZvcm1fX2ZpZWxkLS1zaW5nbGUtbGluZS1idXR0b24ge1xuXHQgICAgICBib3JkZXI6IDFweCBzb2xpZDtcblx0XHQgIGhlaWdodDogMzBweDtcblx0XHQgIHdpZHRoOiAxMDBweDtcblx0XHQgIHBhZGRpbmctbGVmdDogLTEwMHB4O1xuICAgICAgICB9XG5cdCAgfVxuICB9XG4gIFtkYXRhLWJyYWludHJlZS1pZD1cImNob29zZS1hLXdheS10by1wYXlcIl17XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblx0Zm9udC1zaXplOiAxNnB4O1xuICB9XG4gIFxufVxuIiwiLm1lbnUge1xuXG4gICYubWVudS0taGVhZGVyIHtcblxuICAgIC5tZW51X19pdGVtIHtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuXG4gICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLW9yYW5nZSk7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLW9yYW5nZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG5cbiAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgjNDE0MTQxKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oLjVlbSAxZW0gLjVlbSAxZW0pO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyguNWVtIDFlbSAuNWVtIDFlbSk7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEwMG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwLWRvd24pIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3ItYmxhY2spO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgbnVsbCAxZW0pO1xuXG4gICAgICAubWVudV9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBzaXplKGF1dG8gJGhlaWdodC1oZWFkZXItZGVzayk7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC5tZW51X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMCAuNWVtIDAgLjVlbSk7XG5cbiAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG5cbiAgICAgICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkY29sb3Itb3JhbmdlLCAyMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcblxuICAgICAgICAgICAgLm1lbnVfX2xpbmsge1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRjb2xvci1ncmV5LWRhcmssIDIwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKDAgMCAwIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubWVudS0tZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG5cbiAgICAubWVudV9fbGlzdCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm1lbnVfX2l0ZW0ge1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcblxuICAgICAgICAubWVudV9fbGluayB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpbmsge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LWludmVydDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgIC5tZW51X19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIC41ZW0gbnVsbCAuNWVtKTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1lbnUtLXNvY2lhbCB7XG5cbiAgICAubWVudV9fbGlzdCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm1lbnVfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmLm1lbnVfX2l0ZW0tLWZhY2Vib29rIHtcblxuICAgICAgICAubWVudV9fbGluayB7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1mYWNlYm9vaywgMjRweCwgJGNvbG9yLXRleHQtaW52ZXJ0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubWVudV9faXRlbS0teW91dHViZSB7XG5cdFx0d2lkdGg6IDI4cHg7XG5cdCAgXG4gICAgICAgIC5tZW51X19saW5rIHtcblx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmLm1lbnVfX2l0ZW0tLXR3aXR0ZXIge1xuXG4gICAgICAgIC5tZW51X19saW5rIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLXR3aXR0ZXIsIDI0cHgsICRjb2xvci10ZXh0LWludmVydCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVudV9faXRlbS0tZ29vZ2xlcGx1cyB7XG5cbiAgICAgICAgLm1lbnVfX2xpbmsge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tZ29vZ2xlLXBsdXMsIDI0cHgsICRjb2xvci10ZXh0LWludmVydCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYubWVudV9faXRlbS0tZW1haWwge1xuXG4gICAgICAgIC5tZW51X19saW5rIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLW1haWwsIDI0cHgsICRjb2xvci10ZXh0LWludmVydCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCAuMjVlbSBudWxsIC4yNWVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiBcbiAgJi5tZW51LS1hYm91dC11cyB7XG4gXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGNvbG9yLWdyZXktbGlnaHQsIDMlKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDEuNzVlbSAwIDEuNzVlbSAxLjc1ZW0pO1xuXG4gICAgLm1lbnVfX2xpc3Qge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuXG4gICAgLm1lbnVfX2hlYWRpbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgIH1cblxuICAgIC5tZW51X19pdGVtIHtcblxuICAgICAgJi5tZW51X19pdGVtLS1hY3RpdmUge1xuXG4gICAgICAgIC5tZW51X19saW5rIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnVfX2xpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyguNWVtIG51bGwgLjVlbSBudWxsKTtcbiAgICAgIGNvbG9yOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbig1LjY1ZW0gbnVsbCBudWxsIG51bGwpO1xuXHR9XG5cbiAgfVxuXG4gICYubWVudS0taGVscCB7XG4gICAgQGluY2x1ZGUgbWVudShpbnRlcm5hbCk7XG5cblxuICAgIC5tZW51X19pdGVtIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1mb2xkZXIsIDE4cHgsICRjb2xvci10ZWFsLWRhcmspO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgMnB4IG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgJi5tZW51X19pdGVtLS10b2dnbGVkIHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tZm9sZGVyLS1vcGVuLCAxOHB4LCAkY29sb3ItdGVhbC1kYXJrKTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgMnB4IG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnN1Ym1lbnUge1xuXG4gICYuc3VibWVudS0taGVscCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5zdWJtZW51X19pdGVtIHtcblxuICAgICAgJi5zdWJtZW51X19pdGVtLS1hY3RpdmUge1xuXG4gICAgICAgIC5zdWJtZW51X19saW5rIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc3VibWVudV9faXRlbS0tdG9nZ2xlZCwgJi5zdWJtZW51X19pdGVtLS1hY3RpdmUge1xuXG4gICAgICAgIC5zdWJzdWJtZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJtZW51X19saW5rIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSBudWxsIC41ZW0gbnVsbCk7XG4gICAgICBjb2xvcjogJGNvbG9yLXRlYWwtZGFyaztcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIH1cbiAgfVxufVxuIiwiLnN1YnN1Ym1lbnUge1xuXG4gICYuc3Vic3VibWVudS0taGVscCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCBudWxsIC41ZW0pO1xuXG4gICAgLnN1YnN1Ym1lbnVfX2l0ZW0ge1xuXG4gICAgICAmLnN1YnN1Ym1lbnVfX2l0ZW0tLWFjdGl2ZSB7XG5cbiAgICAgICAgLnN1YnN1Ym1lbnVfX2xpbmsge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3Vic3VibWVudV9fbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKC41ZW0gbnVsbCAuNWVtIG51bGwpO1xuICAgICAgY29sb3I6ICRjb2xvci10ZWFsLWRhcms7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICB9XG4gIH1cblxuICAmLnN1YnN1Ym1lbnUtLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIi5zbGlkZSB7XG5cbiAgLnNsaWRlX19pbm5lciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDUwMHB4KTtcbiAgfVxuXG4gIC5zbGlkZV9faGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JleS1kYXJrO1xuICB9XG5cbiAgLnNsaWRlX19jb3B5IHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSB4LWNvcHk7XG4gIH1cblxuICAuc2xpZGVfX2N0YSB7XG5cbiAgICBAaW5jbHVkZSB4LWJ1dHRvbigkZ2x5cGgtLWFycm93LS1yaWdodCwgdHJ1ZSk7XG4gIH1cblxuICAuc2xpZGVfX2ZpZ3VyZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnNsaWRlX19saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuc2xpZGVfX2ltYWdlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcblxuICAgIC5zbGlkZV9fY29udGVudCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNsaWRlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMzIpO1xuICAgIH1cblxuICAgIC5zbGlkZV9fY3RhIHtcbiAgICAgIEBpbmNsdWRlIHgtYnV0dG9uKCRnbHlwaC0tYXJyb3ctLXJpZ2h0LCBmYWxzZSk7XG5cblxuICAgIH1cblxuICAgIC5zbGlkZV9faW1hZ2Uge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDJlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcblxuICAgIC5zbGlkZV9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMDBweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMzUwcHgpO1xuICAgIH1cblxuICAgIC5zbGlkZV9fY29udGVudCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgMCk7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgMWVtIG51bGwgbnVsbCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDUwJSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICB9XG5cbiAgICAuc2xpZGVfX2ZpZ3VyZSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoNTAlIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbGxlY3Rpb24ge1xuXG4gICYuY29sbGVjdGlvbi0tZmVhdHVyZXMge1xuICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgjMTk1RjhDLCAxKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKC41ZW0gbnVsbCAuNWVtIG51bGwpO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCRtcS1sYXAtZG93bikge1xuXHQgIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSBudWxsIC41ZW0gbnVsbCk7XG4gICAgfVxuXHRcblx0QGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoLjVlbSBudWxsIC41ZW0gbnVsbCk7XG4gICAgfVxuXHRcbiAgICAuY29sbGVjdGlvbl9faXRlbSB7XG5cbiAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgIC50aWxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGVhbC1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsZWN0aW9uLS1mZWF0dXJlLWRlc2NyaXB0aW9ucyB7XG4gICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLXRlYWwtZGFyaywgMSk7XG5cdEBpbmNsdWRlIHBhZGRpbmcoMWVtIDAgM2VtIDApO1xuICB9XG5cbiAgJi5jb2xsZWN0aW9uLS1wbGFucyB7XG4gICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci1ncmV5LWxpZ2h0LCAxKTtcblxuICAgIC5jb2xsZWN0aW9uX19jdGEge1xuICAgICAgQGluY2x1ZGUgeC1idXR0b24obm9uZSwgdHJ1ZSwgaW52ZXJ0ZWQpO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDIuNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMCBudWxsIDAgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsZWN0aW9uLS1wbGFuLWRlc2NyaXB0aW9ucyB7XG4gICAgQGluY2x1ZGUgcGFkZGluZygxZW0gbnVsbCAxZW0gbnVsbCk7XG4gICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci1ncmV5LWxpZ2h0LCAxKTtcblxuICAgIC5jb2xsZWN0aW9uX19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwMHB4KTtcbiAgICB9XG5cbiAgICAuY29sbGVjdGlvbl9fY3RhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDVlbSBudWxsKTtcbiAgICB9XG4gIH1cblxuICAmLmNvbGxlY3Rpb24tLXRlc3RpbW9uaWFscyB7XG4gICAgQGluY2x1ZGUgcGFkZGluZyguNWVtIG51bGwgLjVlbSBudWxsKTtcblxuICAgIC5jb2xsZWN0aW9uX19pdGVtIHtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcCkge1xuICAgICAgLmNvbGxlY3Rpb25fX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzaXplKGF1dG8gMjUwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY29sbGVjdGlvbi0tcmVjZW50LW5ld3Mge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMi41ZW0gbnVsbCA1ZW0gbnVsbCk7XG5cbiAgICAuY29sbGVjdGlvbl9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSB4LWhlYWRpbmcocGFnZSk7XG4gICAgfVxuICAgIFxuICAgIC5jb2xsZWN0aW9uX19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgLmNvbGxlY3Rpb25fX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDIuNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMDBweCk7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKDAgbnVsbCBudWxsIG51bGwpO1xuXG4gICAgICAuY29sbGVjdGlvbl9faGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMzIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY29sbGVjdGlvbi0tZm9jdXMtYXJlYXMge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMi41ZW0gbnVsbCAyLjVlbSBudWxsKTtcblxuICAgIC5jb2xsZWN0aW9uX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigyLjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAuY29sbGVjdGlvbl9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgeC1jb250YWluZXIoMTAwMHB4KTtcbiAgICB9XG4gICAgXG4gICAgLmNvbGxlY3Rpb25fX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgeC1oZWFkaW5nKHBhZ2UpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIHNpemUoOTAlIDFweCk7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCBhdXRvIG51bGwgYXV0byk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRjb2xvci1ncmV5LWxpZ2h0O1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIDIuNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcbiAgICAgIFxuICAgICAgLmNvbGxlY3Rpb25fX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oNGVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyg1ZW0gbnVsbCA1ZW0gbnVsbCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qcG9zaXRpb24gb24gYmFubmVyIG9uIGhvbWVwYWdlKi9cclxuLmhvbWVwYWdlX19oZXJvIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9zdG9ja3JvdmVyL21lZGlhL2ltYWdlcy9uZXctaGVyby13aWRlLmpwZycpO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMCUgNDAlO1xyXG4gIGhlaWdodDogNjBWSDsgXHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gIGNvbG9yOiAjMjAyMDIwOyAgXHJcbiAgXHJcbiAgYSB7IGNvbG9yOiAjZWVlOyB9XHJcbiBcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xyXG5cdFx0ICBhIHsgY29sb3I6ICNmZmY7IH1cclxuXHR9IFxyXG4gIFxyXG4gICAgLyogaXBhZCBwcm8gb25seSAqL1xyXG4gXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpICB7IFxyXG5cdGhlaWdodDogNzJ2aDtcclxuXHR9XHJcblx0XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiA0NTBweCkge1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMzAlIDQwJTtcclxuXHRcdGhlaWdodDogNjZ2aDtcclxuXHRcdG1pbi1oZWlnaHQ6IDQyMHB4O1xyXG5cdH1cclxuXHRcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogNDUwcHgpIHtcclxuXHRcdGhlaWdodDogNzJ2aDtcclxuXHRcdG1pbi1oZWlnaHQ6IDMyMHB4O1xyXG5cdH1cclxufVxyXG5cclxuLypjaGFuZ2UgY29sb3Igb24gaG92ZXIgZm9yIGhvbWVwYWdlIGxpbmtzKi9cclxuI2hvbWVwYWdlX2hlcm8gYTpob3ZlciB7IGNvbG9yOiAjY2NjOyB9XHJcblxyXG4vKnN0eWxlcyBmb3IgbGlua3MgZm9yIHNhbGVzL2Jsb2dzL2V0YyBvbiBob21lcGFnZSAqL1xyXG4uaG9tZXBhZ2VfYmFubmVyX2xpbmsge1xyXG4gICAgcGFkZGluZy10b3A6IDM2dmg7IFxyXG5cdHBhZGRpbmctcmlnaHQ6IDYydnc7XHJcblx0Zm9udC1zaXplOiBjYWxjKDE4cHggKyAuN3Z3KTtcclxuXHRmb250LXdlaWdodDo2MDA7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcbiBcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDE4cHggKyAuN3Z3KTtcclxuXHRcdHBhZGRpbmctdG9wOiAzNnZoO1x0XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiA2MnZ3O1xyXG5cdH0gIFxyXG5cclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1ODBweCkge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDE4cHggKyAuMnZ3KTtcclxuXHRcdHBhZGRpbmctdG9wOiA0NnZoO1x0XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdH0gIFxyXG5cdFxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0NTBweCkge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDE2cHggKyAuMnZ3KTtcclxuXHR9XHJcblx0XHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzYwcHgpIHtcclxuXHRcdGZvbnQtc2l6ZTogY2FsYygxNHB4ICsgLjJ2dyk7XHJcblx0XHRwYWRkaW5nLXRvcDo0MHZoO1xyXG5cdH1cclxuXHRcclxufVx0XHJcbiAgXHJcblxyXG4vKnBvc2l0aW9uIG9mIFwiZm9yIGluZGVwZW5kZW50IHRoaW5rZXJzXCIgKHRpdGxlKSAqLyAgXHJcbi5ob21lcGFnZV9iYW5uZXJfdGl0bGUge1xyXG5cdGZvbnQtc2l6ZTogY2FsYyg4cHggKyAydncpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0cGFkZGluZy1sZWZ0OiAxMHZ3O1xyXG5cdHBhZGRpbmctdG9wOiAzdmg7XHJcblxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XHJcblx0XHRmb250LXNpemU6IGNhbGMoMTBweCArIDJ2dyk7XHJcblx0XHRwYWRkaW5nLXRvcDogMnZoO1x0XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDMwdnc7XHJcblx0fVx0XHJcblx0XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcclxuXHRcdGZvbnQtc2l6ZTogY2FsYygxMHB4ICsgMnZ3KTtcclxuXHRcdHBhZGRpbmctdG9wOiAuNXZoO1x0XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDB2dztcclxuXHR9XHJcbn1cclxuXHJcbi8qcG9zaXRpb24gb2YgXCJpbnNpZ2h0cyBhbmQgdG9vbHMuLi5cIiAoc3VidGl0bGUpICovICBcclxuLmhvbWVwYWdlX2Jhbm5lcl9zdWJ0aXRsZSB7XHJcblx0Zm9udC1zaXplOiBjYWxjKDhweCArIDEuMnZ3KTtcclxuXHRmb250LXdlaWdodDogNjAwO1xyXG5cdHBhZGRpbmctdG9wOiAuNXZoO1xyXG5cdHBhZGRpbmctbGVmdDogMTB2dztcclxuXHRcclxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDEwcHggKyAxdncpO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxMHZ3O1x0XHJcblx0XHRwYWRkaW5nLXRvcDogLjV2aFxyXG5cdH0gIFxyXG5cdFxyXG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcblx0XHRmb250LXNpemU6IGNhbGMoOHB4ICsgMXZ3KTtcclxuXHRcdHBhZGRpbmctbGVmdDogMHZ3O1x0XHJcblx0XHRwYWRkaW5nLXRvcDogLjI1dmg7XHJcblx0fSAgXHJcbn0gIFxyXG4gIFxyXG4gXHJcbiBcclxuLmhvbWVwYWdlX19mZWF0dXJlcyB7XHJcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICB3aWR0aDogODUlO1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuXHJcbi5zY2hlZF9tYWludCB7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGJvdHRvbTozMHB4O1xyXG5cdHJpZ2h0OiAzMHB4O1xyXG5cdGZvbnQtc2l6ZTogY2FsYygxMHB4ICsgLjV2dyk7XHJcblx0XHJcblx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuXHRcdGJvdHRvbTogMTIwcHg7XHJcblx0XHRyaWdodDogNTh2dztcclxuXHRcdFx0XHJcblx0fVxyXG5cdFxyXG59XHJcbi8qKlxyXG4uaG9tZXBhZ2VfX2ZlYXR1cmVzX3RhYmxldHtcclxuXHR3aWR0aDogNjUwcHg7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uaG9tZXBhZ2VfX2ZlYXR1cmVzX3Bob25le1xyXG5cdHdpZHRoOiAzNTBweDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuKiovXHJcblxyXG4uaG9tZXBhZ2VfX2ZlYXR1cmVfYnV0dG9uIHtcclxuICAvKipoZWlnaHQ6IDQuMTI1ZW07KiovXHJcbiAgaGVpZ2h0OiAzLjJlbTtcclxuICBwYWRkaW5nOiAuMmVtIDRlbSAwIDRlbTtcclxufVxyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDBlbSkge1xyXG4gICAgLmhvbWVwYWdlX19mZWF0dXJlX2J1dHRvbiBpbWd7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHR9XHJcbiAgfVxyXG5cclxuLmhvbWVwYWdlX19mZWF0dXJlX2J1dHRvbl9zZWFyY2gge1xyXG4gIHdpZHRoOiA2LjVlbTtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDYuNWVtO1xyXG4gICAgcGFkZGluZzogLjVlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjVlbSkge1xyXG4gIC5ob21lcGFnZV9fZmVhdHVyZV9idXR0b25fc2VhcmNoIHtcclxuICAgIHdpZHRoOiA2LjVlbTtcclxuICAgIHBhZGRpbmc6IC4yZW0gMCAwIDFlbTtcclxuICB9XHJcbn1cclxuXHJcbi5ob21lcGFnZV9fZmVhdHVyZV9idXR0b25fY29tcGFyZSB7XHJcbiAgd2lkdGg6IDguMjVlbTtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDguMjVlbTtcclxuICAgIHBhZGRpbmc6IC41ZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi41ZW0pIHtcclxuICAuaG9tZXBhZ2VfX2ZlYXR1cmVfYnV0dG9uX2NvbXBhcmUge1xyXG4gICAgd2lkdGg6IDguMjVlbTtcclxuICAgIHBhZGRpbmc6IC4yZW0gMCAwIDFlbTtcclxuICB9XHJcbn1cclxuXHJcbi5ob21lcGFnZV9fZmVhdHVyZV9idXR0b25faW52ZXN0aWdhdGUge1xyXG4gIHdpZHRoOiA5LjVlbTtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDkuNWVtO1xyXG4gICAgcGFkZGluZzogLjNlbSAuNWVtIC4yZW0gLjVlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjVlbSkge1xyXG4gIC5ob21lcGFnZV9fZmVhdHVyZV9idXR0b25faW52ZXN0aWdhdGUge1xyXG4gICAgd2lkdGg6IDkuNzVlbTtcclxuICAgIHBhZGRpbmc6IC40ZW0gMCAwIDFlbTtcclxuICB9XHJcbn1cclxuXHJcbi5ob21lcGFnZV9fZmVhdHVyZV9idXR0b25fcGxhbiB7XHJcbiAgd2lkdGg6IDUuNWVtO1xyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogNC41ZW07XHJcbiAgICBwYWRkaW5nOiAuNWVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNWVtKSB7XHJcbiAgLmhvbWVwYWdlX19mZWF0dXJlX2J1dHRvbl9wbGFuIHtcclxuICAgIHdpZHRoOiA1LjVlbTtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDFlbTtcclxuICB9XHJcbn1cclxuIiwiLmZvb3RlciB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci10ZWFsLCAxKTtcblxuICAuZm9vdGVyX19pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkZGluZyg3LjVlbSBudWxsIDIuNWVtIG51bGwpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIuNWVtIG51bGwgbnVsbCA1MCUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgY29udGVudDpcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKGVtKDUwKSBlbSg1MCkpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoJy93cC1jb250ZW50L3RoZW1lcy9zdG9ja3JvdmVyL21lZGlhL2ltYWdlcy9sb2dvLS1zbWFsbC5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuIiwiLm1vZGFsIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA1MDtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgMCAwIDApO1xuICBAaW5jbHVkZSBzaXplKDEwMCUgMTAwJSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSwgMjUwbXMgJGVhc2UtaW4tb3V0LXF1YWQpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLXRlYWwsIC45NSk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSAxMDAlKTtcbiAgfVxuXG4gIC5tb2RhbF9faW5uZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApKTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gIH1cblxuICAubW9kYWxfX2Nsb3NlIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgLTJweCA3cHggbnVsbCBudWxsKTtcbiAgICBmb250LXNpemU6IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1jbG9zZSwgNTBweCwgJGNvbG9yLXRleHQtaW52ZXJ0KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAubW9kYWxfX2Nsb3NlIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwcHggMjBweCBudWxsIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICB6LWluZGV4OiA1O1xuXG4gICAgLm1vZGFsX19jbG9zZSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKC0yNTBweCBudWxsIG51bGwgMjMwcHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWNsb3NlLCA2MHB4LCAkY29sb3ItdGV4dC1pbnZlcnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubW9kYWwtLWVtYmVkIHtcblxuICAgIC5tb2RhbF9faW5uZXIge1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSAwKTtcbiAgICBwYWRkaW5nLXRvcDogNTYlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDEwMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcbiAgICAgIFxuICAgICAgLm1vZGFsX19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNzUwcHggYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcoNDIwcHggbnVsbCBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICAgIC5tb2RhbF9fY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oLTI2NXB4IG51bGwgbnVsbCAzNzBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIudGlsZSB7XG5cbiAgJi50aWxlLS1mZWF0dXJlcyB7XG4gICAgQGluY2x1ZGUgdGlsZShkZWZhdWx0KTtcbiAgfVxuICBcbiAgJi50aWxlLS1wbGFucyB7XG4gICAgQGluY2x1ZGUgdGlsZShpbnZlcnRlZCk7XG4gICAgYm9yZGVyOiBub25lO1xuXHRoZWlnaHQ6IDEzNXB4O1xuXG4gICAgLnRpbGVfX2N0YSAge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoOTAlIG51bGwpO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgYXV0byBudWxsIGF1dG8pO1xuICAgICAgbWF4LXdpZHRoOiA1MDBweDtcblxuICAgICAgLnRpbGVfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIDApO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCBhdXRvIG51bGwgLTQ1cHgpO1xuICAgICAgfVxuXG4gICAgICAudGlsZV9fY29udGVudCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgfVxufVxuIiwiLnNwb3Qge1xuXG4gICYuc3BvdC0tZm9jdXMtYXJlYXMge1xuXG4gICAgLnNwb3RfX2ZpZ3VyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIFxuICAgIC5zcG90X19pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMHB4IGF1dG8pO1xuICAgIH1cblxuICAgIC5zcG90X19jYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIHgtaGVhZGluZyg1KTtcbiAgICB9XG5cbiAgICAuc3BvdF9fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG5cbiAgICAuc3BvdF9fY29weSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgeC1ydGU7XG4gICAgfVxuXG4gICAgLnNwb3RfX2hlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgeC1oZWFkaW5nKDIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcbiAgICAgIFxuICAgICAgLnNwb3RfX2ZpZ3VyZSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKGVtKDUwKSBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIC5zcG90X19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDE4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNwb3QtLWNvbXBhcmUge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMi41ZW0gbnVsbCBudWxsIG51bGwpO1xuXG4gICAgLnNwb3RfX2lubmVyIHtcbiAgICAgIEBpbmNsdWRlIHgtY29udGFpbmVyKDEwMDBweCk7XG4gICAgfVxuXG4gICAgLnNwb3RfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCAyLjVlbSBudWxsKTtcbiAgICB9XG5cbiAgICAuc3BvdF9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSB4LWhlYWRpbmcocGFnZSk7XG4gICAgfVxuXG4gICAgLnNwb3RfX2N0YSB7XG4gICAgICBAaW5jbHVkZSB4LWJ1dHRvbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCA3LjVlbSBudWxsKTtcblxuICAgICAgLnNwb3RfX2N0YSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uIChhYnNvbHV0ZSwgbnVsbCAwIG51bGwgYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMjAlIGF1dG8pO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyg1ZW0gbnVsbCA1ZW0gbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgJi5zcG90LS1mZWF0dXJlLWRlc2NyaXB0aW9ucyB7XG5cbiAgICAuc3BvdF9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwJSk7XG4gICAgfVxuXG4gICAgLnNwb3RfX2ZpZ3VyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNwb3RfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuc3BvdF9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGVtKDI1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0O1xuICAgIH1cbiAgICBcbiAgICAuc3BvdF9fY29weSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHgtY29weSgnaW52ZXJ0ZWQnKTtcblxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIG51bGwgMWVtKTtcbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLjZlbSBudWxsIG51bGwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tYnVsbGV0LCA4cHgsICRjb2xvci10ZXh0LWludmVydCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBtYXJnaW4oLjI1ZW0gbnVsbCBudWxsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNwb3RfX2NvbnRlbnQge1xuICAgIH1cblxuICAgIC5zcG90X19jdGEge1xuICAgICAgQGluY2x1ZGUgeC1idXR0b24oJGdseXBoLS1hcnJvdy0tcmlnaHQsIGZhbHNlLCAnaW52ZXJ0ZWQnKTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigyZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICAgIC5zcG90X19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAwcHgpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAzNTBweCk7XG4gICAgICB9XG5cbiAgICAgIC5zcG90X19jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCAxZW0gbnVsbCBudWxsKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg2NiUgYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIH1cblxuICAgICAgLnNwb3RfX2ZpZ3VyZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDApO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDM1JSBhdXRvKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3BvdC0tcmVjZW50LW5ld3Mge1xuXG4gICAgLnNwb3RfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgbnVsbCAuNWVtKTtcbiAgICB9XG5cbiAgICAuc3BvdF9faGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSB4LWhlYWRpbmcoMik7XG4gICAgfVxuXG4gICAgLnNwb3RfX2NvcHkge1xuICAgICAgQGluY2x1ZGUgeC1jb3B5O1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnNwb3RfX2N0YSB7XG4gICAgICBAaW5jbHVkZSB4LWJ1dHRvbigkZ2x5cGgtLWFycm93LS1yaWdodCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcCkge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIDQuNWVtKTtcbiAgICB9XG4gIH1cblxuICAmLnNwb3QtLXJlY2VudC1uZXdzIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tZG9jdW1lbnQsIDY1cHgsICRjb2xvci10ZWFsKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIC0xLjJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zcG90LS1vdGhlciB7XG5cbiAgICAuc3BvdF9fY29weSB7XG4gICAgICBAaW5jbHVkZSB4LWNvcHk7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG5cbiAgICAuc3BvdF9fY3RhIHtcbiAgICAgIEBpbmNsdWRlIHgtYnV0dG9uKCRnbHlwaC0tYXJyb3ctLXJpZ2h0LCBmYWxzZSwgZGVmYXVsdCwgbGFyZ2UpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG4gIH1cblxuICAmLnNwb3QtLW90aGVyIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gIH1cblxuICAmLnNwb3QtLXdlZWtseS1tYXJrZXQtYnJpZWYge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1saW5lLWNoYXJ0LCA2NXB4LCAkY29sb3ItdGVhbCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAtMS4yZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3BvdC0tcHJvZHVjdC1uZXdzIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tY2FsZW5kYXIsIDY1cHgsICRjb2xvci10ZWFsKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIC0xLjJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zcG90LS1wcm9kdWN0LWZlYXR1cmVzIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tbmV3LCA2NXB4LCAkY29sb3ItdGVhbCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAtMS4yZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3BvdC0tdmlkZW9zIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tcGxheSwgNjVweCwgJGNvbG9yLXRlYWwpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTEuMmVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNwb3QtLXBsYW4tZGVzY3JpcHRpb25zIHtcblxuICAgIC5zcG90X19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNTAwcHgpO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg5MCUgYXV0byk7XG4gICAgfVxuICAgIFxuICAgIC5zcG90X19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIHgtaGVhZGluZygyKTtcbiAgICB9XG5cbiAgICAuc3BvdF9fY29weSB7XG4gICAgICBAaW5jbHVkZSB4LXJ0ZTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbiguNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG5cbiAgICAuc3BvdF9fY3RhIHtcbiAgICAgIEBpbmNsdWRlIHgtYnV0dG9uKCRnbHlwaC0tZWRpdCwgZmFsc2UsIGRlZmF1bHQsIGxhcmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi50ZXN0aW1vbmlhbCB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIG51bGwpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cbiAgLnRlc3RpbW9uaWFsX19pbm5lciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLnRlc3RpbW9uaWFsX19xdW90ZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLXF1b3RlLCA3NXB4LCAkY29sb3ItZ3JleSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0uNWVtIG51bGwgbnVsbCAtLjI1ZW0pO1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1xdW90ZSwgNzVweCwgJGNvbG9yLWdyZXkpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0uNWVtIC0uMjVlbSBudWxsIG51bGwpO1xuICAgICAgb3BhY2l0eTogLjI7XG4gICAgfVxuICB9XG5cbiAgLnRlc3RpbW9uaWFsX19tZXRhIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbF9fYXV0aG9yIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcMjAxNFwiO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIC4yNWVtIG51bGwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgLnRlc3RpbW9uaWFsX19pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcCkge1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcblxuICAgIC50ZXN0aW1vbmlhbF9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg3NTBweCBhdXRvKTtcbiAgICB9XG5cbiAgICAudGVzdGltb25pYWxfX3F1b3RlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb21wb25lbnRzIHtcblxuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLnRhYmxlLCAudGFibGVfbmV3IHtcblxuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIEBpbmNsdWRlIG1hcmdpbihudWxsIG51bGwgMi41ZW0gbnVsbCk7XG4gIH1cblxuICAmLnRhYmxlLS1hY3RpdmUge1xuXG4gICAgLnRhYmxlX19oZWFkaW5nIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoMTgwZGVnKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlX190YWJsZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyNTAwcHg7XG4gICAgfVxuICB9XG5cbiAgLnRhYmxlX19pbm5lciB7XG4gICAgQGluY2x1ZGUgeC1jb250YWluZXIoMTAwMHB4KTtcbiAgfVxuXG4gIC50YWJsZV9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgeC1oZWFkaW5nKDIpO1xuICAgIGNvbG9yOiAkY29sb3ItdGVhbDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgLy9AaW5jbHVkZSB4LWljb24oJGdseXBoLS1hcnJvdy0tdXAsIDI0cHgsICRjb2xvci10ZWFsKVxuICAgICAgLy9AaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgNHB4IG51bGwgbnVsbCBudWxsKTtcbiAgICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwbXMgJGVhc2UtaW4tb3V0LXF1YWQpO1xuICAgIH1cbiAgfVxuXG4gIC50YWJsZV9fdGFibGUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgLy9tYXgtaGVpZ2h0OiAwO1xuICAgIC8vb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvL0BpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDE1MG1zICRlYXNlLWluLW91dC1xdWFkKTtcbiAgfVxuXG4gIC50YWJsZV9fcm93IHtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgIH1cbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkIGRhcmtlbigkY29sb3ItZ3JleS1saWdodCwgMTAlKTtcbiAgfVxuXG4gIC50YWJsZV9fY2VsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgcGFkZGluZyguNWVtIG51bGwgLjVlbSBudWxsKTtcbiAgICBAaW5jbHVkZSB4LXJ0ZTtcblxuICAgIC5nbHlwaCB7XG4gICAgICBmb250LXNpemU6IGVtKDMyKTtcblxuICAgICAgJi5nbHlwaC0tY2hlY2sge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRlYWw7XG4gICAgICB9XG5cbiAgICAgICYuZ2x5cGgtLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmV5O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcoMS41ZW0gMWVtIDFlbSBudWxsKTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcblx0ICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBkYXJrZW4oJGNvbG9yLWdyZXktbGlnaHQsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCBkYXJrZW4oJGNvbG9yLWdyZXktbGlnaHQsIDEwJSk7XG5cdCAgYm9yZGVyLXJpZ2h0OiAxcHggZGFzaGVkIGRhcmtlbigkY29sb3ItZ3JleS1saWdodCwgMTAlKTtcbiAgICAvLyAgICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLW9yYW5nZSwgLjAyKTtcbiAgICB9XG5cdFxuXHQmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggZGFzaGVkIGRhcmtlbigkY29sb3ItZ3JleS1saWdodCwgMTAlKTtcblx0ICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgZGFya2VuKCRjb2xvci1ncmV5LWxpZ2h0LCAxMCUpO1xuICAgIC8vICAgIEBpbmNsdWRlIHgtYmFja2dyb3VuZCgkY29sb3Itb3JhbmdlLCAuMDIpO1xuICAgIH1cbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgMi41ZW0gbnVsbCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbXEtcGFsbS1kb3duKSB7XG5cbiAgICAudGFibGVfX2NlbGwge1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNTAlIGF1dG8pO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggZGFzaGVkIGRhcmtlbigkY29sb3ItZ3JleS1saWdodCwgMTAlKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC02MCUpKTtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDUwJSBhdXRvKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nbHlwaCB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNjAlKSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIC01cHgpO1xuICAgICAgICAgIGNvbnRlbnQ6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3N0b2Nrcm92ZXIvbWVkaWEvaW1hZ2VzL2ljb24tYmFzaWMtLWdyYXlzY2FsZS5zdmcnKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICdFc3NlbnRpYWxzJztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMHB4IGF1dG8pO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTBweCBudWxsIG51bGwgLTVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg1MCUgYXV0byk7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgZGFya2VuKCRjb2xvci1ncmV5LWxpZ2h0LCAxMCUpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTYwJSkpO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoNTAlIGF1dG8pO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdseXBoIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCA1MCUpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC02MCUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgLTVweCk7XG4gICAgICAgICAgY29udGVudDogdXJsKCcvd3AtY29udGVudC90aGVtZXMvc3RvY2tyb3Zlci9tZWRpYS9pbWFnZXMvaWNvbi1iYXNpYzItZ3JheXNjYWxlLnN2ZycpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgY29udGVudDogJ1ByZW1pdW0nO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwcHggYXV0byk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMHB4IG51bGwgbnVsbCAtNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBzaXplKDUwJSBhdXRvKTtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBkYXJrZW4oJGNvbG9yLWdyZXktbGlnaHQsIDEwJSk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNjAlKSk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSg1MCUgYXV0byk7XG4gICAgICAgIH1cblxuICAgICAgICAuZ2x5cGgge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDUwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTYwJSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBudWxsIG51bGwgbnVsbCAtNXB4KTtcbiAgICAgICAgICBjb250ZW50OiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9zdG9ja3JvdmVyL21lZGlhL2ltYWdlcy9pY29uLXByZW1pdW0tLWdyYXlzY2FsZS5zdmcnKTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICdQcmVtaXVtIFBsdXMnO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwcHggYXV0byk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMHB4IG51bGwgbnVsbCAtNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXApIHtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCBudWxsIDcuNWVtIG51bGwpO1xuICAgIH1cblxuICAgIC50YWJsZV9fcm93IHtcblxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuXG4gICAgICAgIC50YWJsZV9fY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMDBweCBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICAgICAgICBjb250ZW50OiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9zdG9ja3JvdmVyL21lZGlhL2ltYWdlcy9pY29uLWJhc2ljLS1ncmF5c2NhbGUuc3ZnJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMjVweCBudWxsIG51bGwgNTAlKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMHB4IGF1dG8pO1xuICAgICAgICAgICAgICBjb250ZW50OiAnRXNzZW50aWFscyc7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMTAwcHggbnVsbCBudWxsIDUwJSk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgICAgICAgY29udGVudDogdXJsKCcvd3AtY29udGVudC90aGVtZXMvc3RvY2tyb3Zlci9tZWRpYS9pbWFnZXMvaWNvbi1iYXNpYzItZ3JheXNjYWxlLnN2ZycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTI1cHggbnVsbCBudWxsIDUwJSk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDBweCBhdXRvKTtcbiAgICAgICAgICAgICAgY29udGVudDogJ1ByZW1pdW0nO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTEwMHB4IG51bGwgbnVsbCA1MCUpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3N0b2Nrcm92ZXIvbWVkaWEvaW1hZ2VzL2ljb24tcHJlbWl1bS0tZ3JheXNjYWxlLnN2ZycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTI1cHggbnVsbCBudWxsIDUwJSk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDBweCBhdXRvKTtcbiAgICAgICAgICAgICAgY29udGVudDogJ1ByZW1pdW0gUGx1cyc7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlX19jZWxsIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg1NSUgYXV0byk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNSUgYXV0byk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNSUgYXV0byk7XG4gICAgLy8gICAgQGluY2x1ZGUgeC1iYWNrZ3JvdW5kKCRjb2xvci1vcmFuZ2UsIC4wMik7XG4gICAgICB9XG5cdCAgXG5cdCAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE1JSBhdXRvKTtcbiAgICAgLy8gICBAaW5jbHVkZSB4LWJhY2tncm91bmQoJGNvbG9yLW9yYW5nZSwgLjAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbXEtZGVzaykge1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDVlbSBudWxsKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250ZW50IHtcbiAgQGluY2x1ZGUgcGFkZGluZygyLjVlbSBudWxsIDIuNWVtIG51bGwpO1xuXG4gIC5jb250ZW50X19pbm5lciB7XG4gICAgQGluY2x1ZGUgeC1jb250YWluZXIoMTAwMHB4KTtcbiAgfVxuXG4gIC5jb250ZW50X19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB4LWhlYWRpbmcocGFnZSk7XG4gIH1cblxuICAuY29udGVudF9fY29weSB7XG4gICAgQGluY2x1ZGUgeC1ydGU7XG4gIH1cblxuICAuY29udGVudF9fc2F2aW5ncyB7XG4gICAgY29sb3I6IGdyZWVuO1xuICB9XG4gXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZyg1ZW0gbnVsbCA1ZW0gbnVsbCk7XG4gIH1cblxuICAmLmNvbnRlbnQtLXRhZ3MsXG4gICYuY29udGVudC0tYXV0aG9yIHtcblxuICAgIC5jb250ZW50X19pbm5lciB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX2N0YSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLjY1ZW0gMCBudWxsIG51bGwpO1xuICAgICAgY29sb3I6ICRjb2xvci10ZWFsO1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcCkge1xuXG4gICAgICAuY29udGVudF9fY3RhIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDJlbSAwIG51bGwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXAtZG93bikge1xuXHQucHJpY2luZ1Jvd0hlYWRpbmcgeyBcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5wcmljaW5nUXVhcnRlcmx5IHsgXG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXRvcDogMWVtICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcblx0fVxuXG5cdC5wcmljaW5nWWVhcmx5IHsgXG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLXRvcDogMWVtICFpbXBvcnRhbnQ7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcblx0fVxuICAgIC5wcmljaW5nWWVhcmx5OjpiZWZvcmV7XG5cdFx0Y29udGVudDogXCJZZWFybHkgXCI7XG5cdH1cblx0LnByaWNpbmcyWWVhciB7IFxuXHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1ib3R0b206IDBlbSAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IDFlbSAhaW1wb3J0YW50O1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG5cdH1cbiAgICAucHJpY2luZzJZZWFyOjpiZWZvcmV7XG5cdFx0Y29udGVudDogXCIyIFllYXIgXCI7XG5cdH1cbiAgICAucHJpY2luZ1JlZ3VsYXJQcmljZSB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgXG5cdFx0cGFkZGluZy1ib3R0b206IDBlbSAhIGltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNpbmdSZWd1bGFyUHJpY2U6OmJlZm9yZXtcblx0XHRjb250ZW50OiBcIlJlZ3VsYXIgUHJpY2U6IFwiO1xuXHR9XG4gICAgLnByaWNpbmdEaXNjb3VudCB7XG5cdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgXG5cdFx0cGFkZGluZy1ib3R0b206IDBlbSAhIGltcG9ydGFudDtcblx0XHRtYXJnaW4tdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnByaWNpbmdEaXNjb3VudDo6YmVmb3Jle1xuXHRcdGNvbnRlbnQ6IFwiRGlzY291bnQ6IFwiO1xuXHR9XG4gICAgLnByaWNpbmdTYXZpbmdzIHtcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBcblx0XHRwYWRkaW5nLWJvdHRvbTogMWVtICEgaW1wb3J0YW50O1xuXHRcdG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucHJpY2luZ1NhdmluZ3M6OmJlZm9yZXtcblx0XHRjb250ZW50OiBcIlNhdmluZ3M6IFwiO1xuXHR9XG4gIH1cbn1cbiIsIi5wcm9ncmVzcyB7XG5cbiAgLnByb2dyZXNzX19saXN0IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucHJvZ3Jlc3NfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1taWQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBAaW5jbHVkZSBzaXplKDUwcHggNTBweCk7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gLjVlbSAxZW0gLjVlbSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDo1MCU7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgaGVpZ2h0OjFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktbWlkO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnByb2dyZXNzX19pdGVtLS1jb21wbGV0ZWQge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRlYWwtZGFyaztcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS1taWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5wcm9ncmVzc19faXRlbS0tYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGFuaW1hdGlvbihvc2NpbGF0ZSAxLjVzIGluZmluaXRlKTtcbiAgICB9XG5cbiAgICAmLnByb2dyZXNzX19pdGVtLS1jaGVjayB7XG4gICAgICBcbiAgICAgIHNwYW4ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tY2hlY2ssIDMwcHgsICRjb2xvci13aGl0ZSk7ICBcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIG51bGwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1xLWRlc2spIHtcblxuICAgIC5wcm9ncmVzc19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAxZW0gbnVsbCAxZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLmxheW91dCB7XG5cbiAgJi5sYXlvdXQtLWhvbWUge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDVlbSBudWxsKTtcbiAgfVxuXG4gICYubGF5b3V0LS1zaWRlYmFyIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICAgIC5sYXlvdXRfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgeC1jb250YWluZXIoMTAwMHB4KTtcbiAgICAgIH1cblxuICAgICAgLmxheW91dF9fcmVnaW9uIHtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0KDEpO1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxheW91dC0tYmFzaWMge1xuXG4gICAgLmxheW91dF9fcmVnaW9uIHtcbiAgICAgIEBpbmNsdWRlIHBhZGRpbmcobnVsbCBudWxsIDVlbSBudWxsKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbXEtbGFwLWRvd24pIHtcblxuICAgICAgLmxheW91dF9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgbnVsbCBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCA1MCUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxheW91dC0tcmVnaXN0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNGN0Y5RkE7XG5cbiAgICAuY29udGVudF9fY3RhIHtcbiAgICAgIEBpbmNsdWRlIHgtYnV0dG9uKG5vbmUsIGZhbHNlLCBkaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1xLWxhcC1kb3duKSB7XG5cbiAgICAgIC5sYXlvdXRfX2lubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgICAgICBAaW5jbHVkZSBwYWRkaW5nKDIuNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgLnByb2dyZXNzIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDUwJSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIG51bGwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCAxMGVtIG51bGwpO1xuXG4gICAgICAubGF5b3V0X19pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIHgtY29udGFpbmVyKDEwMDBweCk7XG4gICAgICB9XG5cbiAgICAgIC5sYXlvdXRfX3JlZ2lvbiB7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkZGluZyg1ZW0gbnVsbCA1ZW0gbnVsbCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubGF5b3V0LS1zcGxpdCB7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWRkaW5nKG51bGwgbnVsbCAwIG51bGwpO1xuXG4gICAgICAuY29udGVudF9faW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4obnVsbCAwIG51bGwgMCk7XG5cbiAgICAgIH1cblxuICAgICAgJisgLmZvcm1fX2ZpZWxkc2V0IHtcbiAgICAgICAgQGluY2x1ZGUgbWFyZ2luKDAgbnVsbCBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgcGFkZGluZyhudWxsIG51bGwgMCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgLmxheW91dF9fcmVnaW9uIHtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDI0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmRlZmluaXRpb25zIHtcblxuICAuZGVmaW5pdGlvbnNfX2lubmVyIHtcbiAgICBAaW5jbHVkZSB4LWNvbnRhaW5lcigxMDAwcHgpO1xuICB9XG5cbiAgLmRlZmluaXRpb25zX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB4LWhlYWRpbmcoMik7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDJlbSBudWxsIG51bGwgbnVsbCk7XG4gIH1cbiAgXG4gIC5kZWZpbml0aW9uc19fbGlzdCB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDFlbSBudWxsIG51bGwgbnVsbCk7XG4gIH1cblxuICAuZGVmaW5pdGlvbnNfX3Rlcm0ge1xuICAgIEBpbmNsdWRlIHgtY29weTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICB9XG4gIH1cbiAgXG4gIC5kZWZpbml0aW9uc19fZGVmaW5pdGlvbiB7XG4gICAgQGluY2x1ZGUgeC1jb3B5O1xuICB9XG59XG5cbiIsIi5jb21tZW50cy10aXRsZSB7XG4gIEBpbmNsdWRlIG1hcmdpbigycmVtIG51bGwgbnVsbCBudWxsKTtcbn1cblxuLmNvbW1lbnQtbGlzdCB7XG5cbiAgLmNvbW1lbnQtYXV0aG9yIHtcbiAgICBcbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY29tbWVudC1tZXRhZGF0YSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgLmNvbW1lbnQge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMWVtIG51bGwgbnVsbCBudWxsKTtcblxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAkY29sb3ItZ3JleS1saWdodDtcbiAgICB9XG5cbiAgICAmLmRlcHRoLTIge1xuICAgICAgQGluY2x1ZGUgbWFyZ2luKG51bGwgbnVsbCBudWxsIDFlbSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtYXdhaXRpbmctbW9kZXJhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jb21tZW50LWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hcmdpbigxZW0gbnVsbCAxZW0gbnVsbCk7XG4gIH1cblxuICAucmVwbHkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uY29tbWVudC1yZXNwb25kIHtcbiAgQGluY2x1ZGUgbWFyZ2luKDJlbSBudWxsIG51bGwgbnVsbCk7XG4gIEBpbmNsdWRlIHBhZGRpbmcoMmVtIG51bGwgbnVsbCBudWxsKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmV5LWxpZ2h0O1xufVxuXG4uY29tbWVudC1mb3JtIHtcblxuICAuY29tbWVudC1mb3JtLXVybCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jb21tZW50LW5vdGVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JleS1saWdodDtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yLWdyZXktbGlnaHQ7XG4gICAgQGluY2x1ZGUgcGFkZGluZygxZW0gLjVlbSAxZW0gLjVlbSk7XG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xuICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIEBpbmNsdWRlIG1hcmdpbiguNWVtIG51bGwgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCwgMjUwbXMsICRlYXNlLWluLXF1aW50KTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci10ZWFsLWRhcms7XG4gICAgfVxuICB9XG4gIGlucHV0IHtcbiAgICAmW3R5cGU9dGV4dF0sXG4gICAgJlt0eXBlPWVtYWlsXSxcbiAgICAmW3R5cGU9cGFzc3dvcmRdIHtcblxuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygxZW0gLjVlbSAxZW0gLjVlbSk7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oLjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsLCAyNTBtcywgJGVhc2UtaW4tcXVpbnQpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZXktbGlnaHQ7XG4gICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGNvbG9yLWdyZXktbGlnaHQ7XG5cbiAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciwgMjUwbXMsICRlYXNlLWluLW91dC1xdWFkKTtcbiAgICAgIH1cblxuICAgICAgfiAuZm9ybV9fbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTFlbSAwIG51bGwgbnVsbCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRlYWwtZGFyaztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5LCAyNTBtcywgJGVhc2UtaW4tb3V0LXF1YWQpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRjb2xvci10ZWFsLWRhcms7XG5cbiAgICAgICAgfiAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjp2YWxpZCB7XG5cbiAgICAgICAgfiAuZm9ybV9fbGFiZWwge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN1Ym1pdCB7XG4gICAgICBAaW5jbHVkZSB4LWJ1dHRvbigkZ2x5cGgtLWFycm93LS1yaWdodCwgZmFsc2UsICdkYXJrJyk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi5hcHBsaWNhdGlvbiB7XG5cbiAgJi5hY3RpdmUtLW5hdmlnYXRpb24ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuYXNpZGUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZTNkKDAlLCAwLCAwKSk7XG4gICAgfVxuXG4gICAgLnRvZ2dsZSB7XG5cbiAgICAgICYudG9nZ2xlLS1uYXZpZ2F0aW9uIHtcblxuICAgICAgICAudG9nZ2xlX19idXR0b24ge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tY2xvc2UsIDQwcHgsICRjb2xvci13aGl0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUtLXNlYXJjaCB7XG5cbiAgICAudG9nZ2xlIHtcblxuICAgICAgJi50b2dnbGUtLXNlYXJjaCB7XG5cbiAgICAgICAgLnRvZ2dsZV9fYnV0dG9uIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLXNlYXJjaCwgMzJweCwgJGNvbG9yLXRlYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtIHtcblxuICAgICAgJi5mb3JtLS1zZWFyY2gge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwJSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlLS1tb2RhbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5tb2RhbCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLWlkLTE3MTIge1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1sYXAtZG93bikge1xuXG4gICAgLmxheW91dF9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIG51bGwgbnVsbCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgcGFkZGluZygyLjVlbSBudWxsIG51bGwgbnVsbCk7XG4gICAgfVxuXG4gICAgLnByb2dyZXNzIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCA1MCUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtcS1kZXNrKSB7XG5cbiAgICAuY29udGVudCB7XG5cbiAgICAgIC5jb250ZW50X19oZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnRfX2NvcHkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9ncmVzcyB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMSk7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG4gIH1cbn1cblxuLm5ld3NwYXBlcnJvdmVyIHtcbiAgbWFyZ2luLXRvcDogMy4wZW07XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxLjE2NTA5JTtcbiAgd2lkdGg6IDIzJSAhaW1wb3J0YW50O1xufVxuXG4uaW5kaWNlc3N1bW1hcnkge1xuICBAaW5jbHVkZSBtYXJnaW4oMS41ZW0gbnVsbCAyLjVlbSBudWxsKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMS4xNjUwOSU7XG4gIHdpZHRoOiAzNCUgIWltcG9ydGFudDtcbn1cblxuLmNvbW1vZGl0aWVzc3VtbWFyeSB7XG4gIEBpbmNsdWRlIG1hcmdpbigxLjVlbSBudWxsIDIuNWVtIG51bGwpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxLjE2NTA5JTtcbiAgd2lkdGg6IDM0JSAhaW1wb3J0YW50O1xufVxuXG5AaW5jbHVkZSBtZWRpYSgkbXEtbGFwKSB7XG5cbiAgLmluZGljZXNzdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICB9XG5cbiAgLmNvbW1vZGl0aWVzc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgfVxufVxuXG4vL2NvbG9yc1xuJGNvbG9yX3BpY3Rvbl9ibHVlX2FwcHJveDogIzUwYjdlZDtcbiR3aGl0ZTogd2hpdGU7XG5cbi51cGdyYWRlU2lnblVwIHtcblx0cGFkZGluZy10b3A6IDEuNWVtO1xuXHRwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG4udXBncmFkZVNpZ25VcFRleHQge1xuXHRwYWRkaW5nOiAuNWVtIDJlbSAuNWVtIDJlbTtcblx0YmFja2dyb3VuZDogJGNvbG9yX3BpY3Rvbl9ibHVlX2FwcHJveDtcblx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDE4cHg7XG59XG4uZW1haWxQcmVmZXJlbmNlc0NoZWNrYm94TGlzdCB7XG5cdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4uZW1haWxQcmVmZXJlbmNlc0NoZWNrYm94VGV4dCB7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0d2lkdGg6IDY4MHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbi5lbWFpbFByZWZlcmVuY2VzSW5wdXRUZXh0IHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR0b3A6IDE0cHg7XG5cdGxlZnQ6IDM2cHg7XG5cdHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZW1haWxQcmVmZXJlbmNlc0RvZyB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRsZWZ0OiAyMHB4O1xufVxuLmVtYWlsUHJlZmVyZW5jZXNCb3JkZXJMaW5lIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbi5lbWFpbFByZWZlcmVuY2VzU3VibWl0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRsZWZ0OiAyMHB4O1xuXHRwYWRkaW5nOiAuNWVtIDJlbSAuNWVtIDJlbTtcblx0YmFja2dyb3VuZDogJGNvbG9yX3BpY3Rvbl9ibHVlX2FwcHJveDtcblx0Y29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDE4cHg7XG59XG5cbi8vIGNzcyBmb3IgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgcHJldmlvdXMgYW5kIG5leHQgbGlua3MgaW4gcmVzb3VyY2VzIC0+IGhlbHBcbi5wcmV2X2xpbmtfdGV4dCwgLm5leHRfbGlua190ZXh0LCAubGVmdF9ibG9nX3RleHQsIC5yaWdodF9ibG9nX3RleHQge1xuXHRtYXJnaW46IDAgMCAxZW0gMDtcblx0bWF4LXdpZHRoOjQ4JTtcblx0YmFja2dyb3VuZC1jb2xvcjogIzEzN2NiNDtcblx0Ym9yZGVyOiBub25lO1xuXHRjb2xvcjogI2ZmZmZmZjtcblx0Ym9yZGVyLXJhZGl1czoxMHB4O1xuXHRmb250LXdlaWdodDogOTAwO1xuXHRmb250LXNpemU6IC45ZW07XG5cdFxuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHRcdFxuXHRcdC50b29sdGlwIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHQudG9vbHRpcDpob3ZlcjphZnRlcntcblx0XHRcdGJhY2tncm91bmQ6IzU1NTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHRcdGNvbnRlbnQ6YXR0cih0aXRsZSk7XG5cdFx0XHR9XG5cdFx0LnRvb2x0aXA6aG92ZXI6YmVmb3JlIHtcblx0XHRcdGJvcmRlcjpzb2xpZDtcblx0XHRcdGJvcmRlci1jb2xvcjogIzU1NSB0cmFuc3BhcmVudDtcblx0XHRcdGNvbnRlbnQ6XCJcIjtcblx0XHRcdH1cblxuXHRcdFx0XG5cdH1cdFxuXHRcbi5sZWZ0X2Jsb2dfdGV4dCwgLnJpZ2h0X2Jsb2dfdGV4dCB7XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiA0NSU7XG5cdGhlaWdodDogOTBweDtcblx0XG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTQwcHgpICB7IFxuXHRoZWlnaHQ6IDEyMHB4O1x0XG5cdH1cdFxufVxuLmxlZnRfYmxvZ190ZXh0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1sZWZ0OiBjYWxjKDIwcHggLSAydncpO1x0XG5cdH1cblx0XHRcbi5sZWZ0X2Jsb2dfbmF2IHtcblx0bWFyZ2luLWxlZnQ6IGNhbGMoMjBweCAtIDJ2dyk7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR3aWR0aDogMTAwJTtcbi8qXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjsqL1xuXHRwYWRkaW5nOiAxMHB4IDAgNXB4IDEwcHg7XG5cdHRleHQtYWxpZ246bGVmdDtcblxuICY6YmVmb3JlIHtcblx0XHRkaXNwbGF5OmlubGluZTtcblx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRAaW5jbHVkZSB4LWljb24oJGdseXBoLS1hcnJvdy0tbGVmdCwgMjRweCwgJGNvbG9yLXdoaXRlKTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4LCAtMnB4KTtcblx0XHRtYXJnaW46IDAgMCAwIC0xMHB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cdFxufVxuLmxlZnRfZmlyc3RfYmxvZyB7XG5cdG1hcmdpbjogYXV0bztcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdHdpZHRoOiAxMDAlO1xuLypcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmOyovXG5cdHBhZGRpbmc6IDEwcHggMCA1cHggMTVweDtcblx0dGV4dC1hbGlnbjpsZWZ0O1xufVxuXG4ubGVmdF9ibG9nX3RpdGxlIHtcblx0cGFkZGluZzogMCAxMHB4IDAgMjBweDtcblx0bWFyZ2luOiBhdXRvO1xuXHRmb250LXNpemU6IDE2cHg7XG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xufVxuXG4ucmlnaHRfYmxvZ190ZXh0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoMjBweCAtIDJ2dyk7XHRcbn1cblxuLnJpZ2h0X2Jsb2dfbmF2IHtcblx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoMjBweCAtMnZ3KTtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1x0XHRcblx0XHR3aWR0aDogMTAwJTtcblx0XHQvKmJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1x0Ki9cblx0XHRwYWRkaW5nOiAxMHB4IDEwcHggNXB4IDA7XG5cdFx0dGV4dC1hbGlnbjpyaWdodDtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0QGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tYXJyb3ctLXJpZ2h0LCAyNHB4LCAkY29sb3Itd2hpdGUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cdFxuXHRcbi5yaWdodF9ibG9nX3RpdGxlIHtcblx0cGFkZGluZzogMCAxMHB4IDAgMzBweDtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRtYXJnaW46IGF1dG87XG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1x0XG59XG4ucHJldl9saW5rX3RleHQge1xuXHRwYWRkaW5nOiAuOGVtIDIuNWVtIC43ZW0gMmVtO1xuXHRmbG9hdDogbGVmdDtcblx0bWF4LXdpZHRoOiA0OCU7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZTtcblx0XHRcdEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWFycm93LS1sZWZ0LCAzMHB4LCAkY29sb3Itd2hpdGUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcbiAgICAgIH1cblxuXG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTAwMHB4KSAgeyBcblx0cGFkZGluZzogMTVweCAxMHB4O1xuXHRtYXJnaW46IDE1cHg7XG5cdGZvbnQtc2l6ZTogLjg1ZW07XG5cdG1heC13aWR0aDogNDQlO1x0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZTtcblx0XHRcdEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWFycm93LS1sZWZ0LCAzMHB4LCAkY29sb3Itd2hpdGUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcbiAgICAgIH1cblx0fVx0ICBcblx0ICBcblx0QG1lZGlhIHNjcmVlbiBhbmQobWF4LXdpZHRoOiA0ODBweCkgIHsgXG5cdHBhZGRpbmc6IDEwcHggNXB4O1xuXHRtYXJnaW46IDEwcHg7XG5cdGZvbnQtc2l6ZTogLjc1ZW07XG5cdG1heC13aWR0aDogNDIlO1x0XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRkaXNwbGF5OmlubGluZTtcblx0XHRcdEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWFycm93LS1sZWZ0LCAxNXB4LCAkY29sb3Itd2hpdGUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuICAgICAgfVxuXHR9XHQgIFx0ICBcbn1cblx0XG4ubmV4dF9saW5rX3RleHQge1xuXHRwYWRkaW5nOiAuOGVtIDJlbSAuN2VtIDIuNWVtO1xuXHRmbG9hdDogcmlnaHQ7XG5cdFx0JjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OmlubGluZTtcblx0XHRcdEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWFycm93LS1yaWdodCwgMzBweCwgJGNvbG9yLXdoaXRlKTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG4gICAgIH1cblx0IFxuXHRAbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDEwMDBweCkgIHsgXG5cdHBhZGRpbmc6IDE1cHggMTBweDtcblx0bWFyZ2luOiAxNXB4O1xuXHRmb250LXNpemU6IC44NWVtO1xuXHRtYXgtd2lkdGg6IDQ0JTtcdFxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRkaXNwbGF5OmlubGluZTtcblx0XHRcdEBpbmNsdWRlIHgtaWNvbigkZ2x5cGgtLWFycm93LS1yaWdodCwgMzBweCwgJGNvbG9yLXdoaXRlKTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG4gICAgICB9XG5cdH1cdCBcblx0IFxuXHRAbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDQ4MHB4KSAgeyBcblx0cGFkZGluZzogMTBweCA1cHg7XG5cdG1hcmdpbjogMTBweDtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0bWF4LXdpZHRoOiA0MiU7XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6aW5saW5lO1xuXHRcdFx0QGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tYXJyb3ctLXJpZ2h0LCAxNXB4LCAkY29sb3Itd2hpdGUpO1xuXHRcdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcbiAgICAgfVx0XG5cdH1cdCAgXHQgXG5cdCBcblx0fVxuXG5cbi8vIHN0eWxlcyBmb3IgY29tcGFyZSBwbGFucyBzbGlkZXMgYXQgL3BsYW5zXG5cblxuXG4uY29sbGVjdGlvbl9faW5uZXIucGxhbnNfY29tcGFyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRAbWVkaWEgc2NyZWVuIGFuZChtaW4td2lkdGg6IDEwMDApIHsgZGlzcGxheTogaW5saW5lLWJsb2NrO31cbn1cbi5wbGFuc19fbWFpbnRleHQge1xuXG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTEwMHB4KSAgeyBcblx0XHR3aWR0aDogOTAlO1xuXHRcdG1hcmdpbjogYXV0bztcblx0fVxuXG59XG4gIFxuLnBsYW5zX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuXHR3aWR0aDogMjIlO1xuXHRtaW4td2lkdGg6IDI1MHB4O1xuXHRtYXJnaW46YXV0byA2MHB4IGF1dG8gMjBweDtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTAwMHB4KSB7XHRcblx0XHRcdHdpZHRoOiAyMiU7XG5cdFx0XHRtaW4td2lkdGg6IDI1MHB4O1xuXHRcdFx0bWFyZ2luOmF1dG8gNjBweCBhdXRvIDIwcHg7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG5cdFxuXHRAbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDEwMDBweCkge1x0XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWluLXdpZHRoOiAyNTBweDtcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdH1cdFxuXHRcblx0LnBsYW5fZGV0YWlscyB7IFxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTAwMHB4KSB7IFxuXHRcdFx0aGVpZ2h0OiA2NTBweDtcdFx0XHRcblx0XHR9XG5cdFx0XG5cblx0LnRpbGVfY29tcGFyZSAudGlsZS0tcGxhbnMge1xuXHRcdFxuXHRcdC50aWxlX2ZpZ3VyZSB7IFxuXHRcdFx0d2lkdGg6IDIyMHB4O1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRoZWlnaHQ6IDEzNXB4OyBcblx0XHRcdH1cblxuXHRcdFx0LnRpbGVfX2NvbnRlbnQge1xuXHRcdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXHRcblx0XHR9XHRcblx0XHRcblx0fVxuXG4gICAgYTpob3ZlciB7IGNvbG9yOiAjMjJhNGU4OyB9XG5cblx0YSB7IGNvbG9yOiAjMjJhNGU4OyB9XG5cdFxuXHRcblxuXHR1bCB7XG5cdCAgICBtYXJnaW46IDMwcHggYXV0bztcblx0fVxuXHRcblx0dWwgbGkge1xuXHRcdGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcblx0XHRmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXHRcblx0dWwgbGk6YmVmb3JlIHsgXG5cdCAgICBmb250LWZhbWlseTogZ2x5cGhzO1xuXHQgICAgY29udGVudDogJ1xcZjExMSc7XG5cdCAgICBjb2xvcjogIzUwYjdlZDtcblx0XHRmb250LXNpemU6IDhweDtcblx0XHRwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cdH0gXG5cdFxuXHRwIHsgXG5cdCAgICBtYXJnaW46IDEwcHggYXV0bztcblx0XHRmb250LXNpemU6IDE0cHg7XG4gICAgfTtcblx0XG5cdC5jdGFfYnV0dG9uIHtcblx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICAgIG1hcmdpbjogLjVlbSAwIDAgMDtcblx0XHRiYWNrZ3JvdW5kOiAjNTBiN2VkO1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZzogLjVlbSAxZW07XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdFxuXHRcdGEsIGE6aG92ZXIgeyBjb2xvcjogI2ZmZjsgfVxuXHRcdDpob3ZlciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXHRcdFxuXHRcdDphZnRlciB7IFxuXHQgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblx0ICAgICAgICBmb250LWZhbWlseTogZ2x5cGhzO1xuXHQgICAgICAgIGNvbnRlbnQ6IFwiXFxlMjU0XCI7IFxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XHRcdFxuXHQgICAgfVxuXHR9XG5cdFxuXHQuY3RhX3RleHRfbGluayB7XG5cdCAgICBtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRmb250LXNpemU6IDE0cHg7XHRcblx0fVxuXHRcblx0XHRAbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDEwMDBweCkgIHsgXG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdHdpZHRoOiA2MCU7XG5cdFx0bWluLXdpZHRoOiAyNTBweDtcblx0XHRtYXgtd2lkdGg6IDQwMHB4O1xuXHR9XG5cdFxufVxuXG5cblxuLy9iYWNrMnRvcCBhcnJvdyBmb3Igc2luZ2xlLWhlbHAgcGFnZXMgXG4vLyBodG1sIGluIHNpbmdsZS1oZWxwLnBocCwganMgaW4gX21lbnUtaGVscC5qc1xuXG4jYmFjazJUb3Age1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogOTk5O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdGZvbnQtc2l6ZTogLjllbTtcblx0bGluZS1oZWlnaHQ6IDI1cHg7XG5cdHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM3Q0I0O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJvcmRlci1yYWRpdXM6MTBweDtcblx0cG9zaXRpb246IGZpeGVkO1xuLy8gICAgYm90dG9tOiAzMDBweDsvL1xuXHR0b3A6IDEyMHB4O1xuICAgIHJpZ2h0OiAxMCU7XG5cblx0aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBiN2VkO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cdEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTQwMHB4KSAgeyBcblx0cmlnaHQ6IDMlO1x0XG5cdGZvbnQtc2l6ZTogLjg1ZW07XG5cdH1cblxuXHRcblx0QG1lZGlhIHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMDAwcHgpICB7IFxuXHR0b3A6IDEwcHg7XG5cdHJpZ2h0OiAyJTtcdFxuXHRmb250LXNpemU6IC43NWVtO1xuXHR9XG5cdFxuXHRcblx0XG59XG5cblxuLy8gcGxhbiBkZXNjcmlwdGlvbiBwYWdlIHNwZWNpZmljIHN0eWxlc1xuXG4ucGxhbi1kZXNjci10ZXh0IHtcbiAgICBtYXJnaW46IDMwcHggYXV0byAzMHB4IDQwcHg7XG5cdGNvbG9yOiAjMjcyNzI3O1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4ucGxhbi1kZXNjci1ub3RlIHtcblx0Zm9udC1zaXplOiA4MCU7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDIwcHggYXV0byAzMHB4IDQwcHg7XG59XG5cbi5wbGFuLXByaWNlcyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDMwcHggNDBweDtcdFxufVxuLy8gc2VhcmNoIHBhZ2UgY3VzdG9taXphdGlvbnMgZm9yIGdjc2UgcmVzdWx0c1xuLmdjc2Utc2VhcmNoYm94IHtcblx0d2lkdGg6IDgwJTtcblx0bWFyZ2luOiBhdXRvIGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQuZ3NjLXRhYmxlLXJlc3VsdCwgLmdzYy10aHVtYm5haWwtaW5zaWRlLCAuZ3NjLXVybC10b3Age1xuXHRcdHBhZGRpbmctbGVmdDowO1xuXHRcdH1cblx0XG59XG5cblxuXG4vLyBzZWN0b3JzIGFuZCBzdG9ja3MgZm9ybWF0dGluZyB1bmRlciBoZWxwXG5cbnRhYmxlLnRpY2tlclRhYmxlIHRyLnRpY2tlckhlYWRlciB0ZCB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbnRhYmxlLnRpY2tlclRhYmxlIHRyLnRpY2tlckhlYWRlciB0ZDpmaXJzdC1jaGlsZCB7IHdpZHRoOiAyMCU7IH1cblxuXG4vL3N1cnZleS1mb3JtIHN0eWxlc1xuLmNvbnRlbnQgLmNvbnRlbnRfX2NvcHkgLnN1cnZleS1mb3JtIHtcblx0Y29sb3I6ICM0OTQ5NDk7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Zm9udC1mYW1pbHk6IGFyaWFsO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHR3aWR0aDogOTAlO1xuXHRtYXJnaW4tbGVmdDogMTAlO1xuXG5cdFxuXHRwIHtcblx0Y29sb3I6ICM0OTQ5NDk7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Zm9udC1mYW1pbHk6IGFyaWFsO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHRtYXJnaW4tbGVmdDogMSU7XG5cdG1hcmdpbi10b3A6IDQwcHg7XG5cdH1cblx0XG5cdFxuXHRmb3JtIHsgXG5cdFxuXHRcdC5mb3JtLWhlYWRlciB7IHBhZGRpbmc6IDVweDsgfVxuXHRcblx0XHRwIHsgbWFyZ2luOiAxMHB4IDEwcHggMHB4IDEwcHg7IH1cblx0fVxuXG5cblx0XG5cdFxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuXHRcdG1hcmdpbjogMTVweCAxNXB4IDE1cHggMHB4O1xuXHR9XG5cblx0XHRcblx0aW5wdXRbdHlwZT1yYWRpb10ge1xuXHRcdG1hcmdpbi1sZWZ0OiAwcHg7XG5cdFx0fVxuXHRcblx0XHRcdFxuXHRpbnB1dFt0eXBlPW51bWJlcl0ge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHR3aWR0aDogODBweDtcblx0XHRmb250LXNpemU6IC45ZW07XG5cdFx0Jjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0aW5wdXRbdHlwZT10ZXh0YXJlYV0ge1xuXHRcdG1hcmdpbjogMTBweCAxMHB4IDVweCAtNXB4O1xuXHRcdHBhZGRpbmc6IDVweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuXHRcdH1cblx0XHRcblx0b3B0aW9uIHtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGNvbG9yOiAjNDk0OTQ5O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0cGFkZGluZzogNXB4IDEwcHg7XG5cdH1cblx0Lm11bHRpbGluZSB7XG5cdFx0bWFyZ2luOiA1cHggNXB4IDEwcHggN3B4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuXHRcdFxuXHRcdHRleHRhcmVhLm11bHRpbGluZSB7XG5cdFx0XHRtYXJnaW46IDEwcHggMTBweCA1cHggLTVweDtcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG5cdFx0fVxuXG5cdH1cblx0XG5cdC5zZWxlY3QtYm94IHsgXG5cdCAgICBzZWxlY3Qge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IFxuXHRcdGxpbmUtaGVpZ2h0OiAyO1xuXHRcdG1hcmdpbi1sZWZ0OiA3cHg7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdHdpZHRoOiAzNjBweDtcblx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdH0gXG5cdFx0fVxuXHRcdFxuXHQuc2VsZWN0LWl0ZW1zIGRpdiwgLnNlbGVjdC1zZWxlY3RlZCB7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHRtYXJnaW46IDEwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDI7XG5cdFx0fVxuXG5cdFxuXHQuc2luZ2xlbGluZSB7XG5cdFx0bWFyZ2luOiA1cHggNXB4IDEwcHggN3B4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcblx0XHRib3JkZXI6IDFweCBzb2xpZCBibGFjaztcblx0fVx0XG5cdC5mb3JtLW5vdGUge1xuXHRcdG1hcmdpbjogMCAwIDQwcHggMHB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHR9XG5cdFxuXG5cdC5zdWJtaXRib3gge1xuXHRcdG1hcmdpbjogNDBweCA0MCUgMCA0MCU7XG5cdFx0d2lkdGg6IDE1JTtcblx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzUwYjdlZDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG59XG5cbnRoLnN1cnZleS1yZXN1bHRzIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMHB4LCAtNDVweCkgcm90YXRlKDMxNWRlZyk7IFxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLy93aHkgc3RvY2tyb3ZlciBsZWZ0IG1lbnVcbi5sYXlvdXQubGF5b3V0LS1zaWRlYmFyIC5sYXlvdXRfX3JlZ2lvbi53aHktc3Ige1xuXG5cdHNlY3Rpb24ubWVudS5tZW51LS1hYm91dC11cyB7XG5cdFx0cGFkZGluZy1sZWZ0OiAxLjI1ZW07XG5cdFx0cGFkZGluZy1yaWdodDogLjc1ZW07XG5cdFx0bWFyZ2luLXJpZ2h0OiAwJTtcblx0fVxuXG59XG5cbi8vIGdvb2dsZWFwaSBzZWFyY2ggc3R5bGVzXG4uc2VhcmNoX25leHQgYnV0dG9uIHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nOiAxMHB4IDMwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICM1MGI3ZWQ7XG5cdGNvbG9yOiAjZmZmO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFxuXHQmOmFmdGVye1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRAaW5jbHVkZSB4LWljb24oJGdseXBoLS1hcnJvdy0tcmlnaHQsIDI4cHgsICRjb2xvci13aGl0ZSk7XHRcdFxuXHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cbn1cblxuLnNlYXJjaF9wcmV2IGJ1dHRvbiB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwYWRkaW5nOiAxMHB4IDMwcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICM1MGI3ZWQ7XG5cdGNvbG9yOiAjZmZmO1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFxuXHQmOmJlZm9yZXtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0QGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tYXJyb3ctLWxlZnQsIDI4cHgsICRjb2xvci13aGl0ZSk7XHRcdFxuXHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cbn1cblxuLnNlYXJjaF9kcm9wZG93biBidXR0b24ge1xuXHRwYWRkaW5nOiAycHggMTBweDtcblx0YmFja2dyb3VuZDogIzRkOTBGRTtcblx0Ym9yZGVyLWNvbG9yOiAjMzA3OWVkO1xuXHR3aWR0aDogMTIlO1xuXHRtYXJnaW4tbGVmdDogMTBweDtcblx0JjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgQGluY2x1ZGUgeC1pY29uKCRnbHlwaC0tc2VhcmNoLCAxOHB4LCAkY29sb3Itd2hpdGUpO1xuXHRcdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOiAwIDAgM3B4IDA7XHRcdFxuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdH1cbn1cblxuLmZvcm0uZm9ybS0taGVscC1zZWFyY2ggeyB6LWluZGV4OiAwO31cblxuLnNlYXJjaF9wYWdlIHtcblx0Ym9yZGVyOiAzcHggc29saWQgI2NjYztcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0cGFkZGluZzogNHB4O1xuXHRtYXJnaW46IDQwcHggYXV0bztcblx0d2lkdGg6IDk1JTsgXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0XG5cdGlucHV0IHtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0d2lkdGg6IDkwJTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogNXB4O1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0fVxuXHRcblx0YnV0dG9uIHtcblx0XG5cdGJhY2tncm91bmQ6ICM0ZDkwRkU7XG5cdGJvcmRlci1jb2xvcjogIzMwNzllZDtcblx0d2lkdGg6IDclO1xuXHRtYXJnaW46IDVweCAxMHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZsb2F0OiByaWdodDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXHQmOmJlZm9yZSB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuICAgICAgICBAaW5jbHVkZSB4LWljb24oJGdseXBoLS1zZWFyY2gsIDE4cHgsICRjb2xvci13aGl0ZSk7XG5cdFx0dmVydGljYWwtYWxpZ246bWlkZGxlO1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6IDAgMCAzcHggMDtcdFx0XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0fVxuXHR9XG5cbn1cblxuXG4uY29udGVudF9fY29weSBvbCAuaGVscC1zZWFyY2gge1xuXHRoMyBsaSB7IG1hcmdpbi1sZWZ0OiAwLjVlbTsgbWFyZ2luLWJvdHRvbTogMDsgZm9udC13ZWlnaHQ6IDkwMDsgZm9udC1zaXplOiAxOHB4OyBtYXJnaW4tdG9wOiAxZW07IH1cblx0cCB7IG1hcmdpbi10b3A6IDA7IH1cbn1cblxuXG5cbi8vbGliZXJhdGVkIHN0b2NrIHRyYWRlciBzdHlsZXNcbmgxLmNvbnRlbnRfX2hlYWRpbmcubHN0IHtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDYwMHB4KSAgeyBcblx0bWFyZ2luLXRvcDogNDBweDtcdFxuXHR9XG5cdFxufVx0IFxuXG4ubHN0LWxvZ28gaW1nLmF0dGFjaG1lbnQtcG9zdC10aHVtYm5haWwuc2l6ZS1wb3N0LXRodW1ibmFpbC53cC1wb3N0LWltYWdlIHsgXG5cdG1heC13aWR0aDogMTgwcHg7XG5cdHdpZHRoOiBjYWxjKDEyMHB4ICsgNHZ3KTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiBjYWxjKDQwcHggKyAyNXZ3KTtcblx0dG9wOiBjYWxjKDIwcHggKyAxMnZoKTtcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpICB7IFxuXHRyaWdodDogY2FsYygyMHB4ICsgMTB2dyk7XG5cdHRvcDogY2FsYygyMHB4ICsgMTJ2aCk7XG5cdH1cdFx0XG5cblx0XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgIHsgXG5cdFx0cmlnaHQ6IGNhbGMoMjBweCArIDN2dyk7XG5cdFx0dG9wOiBjYWxjKDEwcHggKyAydmgpO1xuXHR9XHRcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgIHsgXG5cdFx0cmlnaHQ6IGNhbGMoMjBweCk7XG5cdFx0dG9wOiBjYWxjKDIwcHgpO1xuXHR9XG5cdFxuXG59XG5cbi8vdmFsdWUgc3RvY2sgZ3VpZGUgc3R5bGVzXG5oMS5jb250ZW50X19oZWFkaW5nLnZzZyB7XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQobWF4LXdpZHRoOiA2MDBweCkgIHsgXG5cdG1hcmdpbi10b3A6IDQwcHg7XHRcblx0fVxuXHRcbn1cdCBcblxuLnZzZy1sb2dvIGltZy53cC1wb3N0LWltYWdlIHsgXG5cdG1heC13aWR0aDogNDUwcHg7XG5cdGhlaWdodDogYXV0bztcblxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzAwcHgpICB7IFxuXHR3aWR0aDogNDUwcHg7XG5cdH1cdFx0XG5cdFxuXHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkgIHsgXG5cdHdpZHRoOiA3NXZ3O1xuXHR9XHRcdFxuXG59XG5cblxuXG5cbi8vYWZmaWxpYXRlIGZvcm1cblx0LmFmZmlsaWF0ZSB7XG5cdFx0bWFyZ2luOiAxNXB4IGF1dG87XG5cdFx0d2lkdGg6IDkwJTtcblx0XHRwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0XHRmb250LXNpemU6IDE4cHg7IFxuXHRcdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdFx0Zm9udC1mYW1pbHk6IGFyaWFsO1xuXHRcblx0XHQuYWZmaWxpYXRlLXN1Ym1pdGJveCB7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG8gMTBweCBhdXRvO1xuXHRcdHdpZHRoOiA3MCU7XG5cdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogIzU4OTBlMztcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRib3JkZXItcmFkaXVzOiAwcHg7XG5cdH1cdFx0XG5cdFx0XG5cdFx0aW5wdXQgeyBcblx0XHRcdHdpZHRoOiAxMDAlOyBcblx0XHRcdGxpbmUtaGVpZ2h0OiAxOHB4OyBcblx0XHRcdHBhZGRpbmc6IDEwcHg7IFxuXHRcdFx0bWFyZ2luOiA1cHggYXV0byAxNXB4IGF1dG87XG5cdFx0XHRcblxuXG5cdFx0XHR9XG5cdFx0XG5cdFx0bGFiZWwgeyBcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7IFxuXHRcdFx0cGFkZGluZzogMjBweCAwIDE1cHggMDtcblx0XHRcdH0gXG5cdFx0XG5cdFx0dGV4dGFyZWEge1xuXHRcdFx0bWFyZ2luOiA1cHggYXV0bztcblx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHR3aWR0aDogMTAwJTsgXG5cdFx0fVxuXHR9XG5cblxuXG5cblxuXG4vL2JlY29tZSBhbiBhZmZpbGlhdGUgcGFnZSBjc3Ncbi5hZmZpbGlhdGUtYmFubmVyIHsgXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIwLzA0L3dvbWFuLWF0LWRlc2stb2N0LTIwMTkuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGhlaWdodDogNTBWSDsgXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIGNvbG9yOiAjMjAyMDIwOyAgXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG5cdGhlaWdodDogMzB2aDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHtcblx0aGVpZ2h0OiA0MHZoO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICB9ICBcbiAgXG5cbiAgLmJhbm5lcl90ZXh0IHtcblx0cGFkZGluZy10b3A6NnZoOyBcblx0Y29sb3I6ICMxMTE7IFxuXHRwYWRkaW5nLWxlZnQ6IDV2dzsgXG5cdHBhZGRpbmctcmlnaHQ6IDQ1dnc7IFxuXHRmb250LXdlaWdodDogNjAwOyBcblx0Zm9udC1zaXplOiBjYWxjKCAyNnB4ICsgLjV2dyApOyBcblx0XG4gIEBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogMTUwMHB4KSAgeyBcblx0Zm9udC1zaXplOiBjYWxjKCAyMnB4ICsgLjV2dyApOyBcblx0cGFkZGluZy10b3A6IDZ2aDtcblx0fVx0XG5cdFxuICBcbiAgQG1lZGlhIHNjcmVlbiBhbmQobWF4LXdpZHRoOiA3MDBweCkgIHsgXG5cdGZvbnQtc2l6ZTogY2FsYyggMThweCArIC41dncgKTsgXG5cdHBhZGRpbmctdG9wOiA0dmg7XG5cdHBhZGRpbmctbGVmdDogMnZ3O1xuXHRwYWRkaW5nLXJpZ2h0OiAzNXZ3O1xuXHR9XHRcbn1cbiB9XG5cbi5jb2xsYXBzaWJsZSB7ICBcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY29sb3I6ICM0NDQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMThweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmFjdGl2ZSwgLmNvbGxhcHNpYmxlOmhvdmVyLCAuZmFxX2NvbnRlbnQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xufVxuXG4uZmFxX2NvbnRlbnQge1xuICBwYWRkaW5nOiAxMHB4IDE4cHggMTBweCAxOHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xufVxuXG4vL2JlY29tZSBhbiBhZmZpbGlhdGUgcGFnZVxuLmFmZmlsaWF0ZS1mYXEge1xuXHR3aWR0aDogODAlO1xufVxuXG5cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QWlEV0ksa0JBQWtCLENBQWxCLFFBQWtCO0VxQ1ZwQixFQUFFO0lBQ0EsVUFBVSxFRFFDLE9BQU87RUNOcEIsR0FBRztJQUNELFVBQVUsRUFBRSxPQUEyQjtFQUV6QyxJQUFJO0lBQ0YsVUFBVSxFREVDLE9BQU87O0FwQ1NsQixlQUFlLENBQWYsUUFBZTtFcUNsQmpCLEVBQUU7SUFDQSxVQUFVLEVEUUMsT0FBTztFQ05wQixHQUFHO0lBQ0QsVUFBVSxFQUFFLE9BQTJCO0VBRXpDLElBQUk7SUFDRixVQUFVLEVERUMsT0FBTzs7QXBDcUJsQixVQUFVLENBQVYsUUFBVTtFcUM5QlosRUFBRTtJQUNBLFVBQVUsRURRQyxPQUFPO0VDTnBCLEdBQUc7SUFDRCxVQUFVLEVBQUUsT0FBMkI7RUFFekMsSUFBSTtJQUNGLFVBQVUsRURFQyxPQUFPOztBSVBwQixBQUFBLElBQUksQ0FBQztFQUNILFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQUVELEFBQ0UsQ0FERCxFQUFELENBQUMsQUFFRSxPQUFPLEVBRlYsQ0FBQyxBQUdFLFFBQVEsQ0FBQztFQUNSLFVBQVUsRUFBRSxPQUFPLEdBQ3BCOztBZVpMOzs7OztHQUtHO0FDTEg7Ozs7O0dBS0c7QUNMSDs7R0FFRztBQ0ZIOzs7Ozs7O0dBT0c7QUNQSDs7Ozs7Ozs7R0FRRztBQ1JIOzs7Ozs7R0FNRztBQ05IOzs7Ozs7R0FNRztBQ05IOzs7R0FHRztBTUhILEFMQUEsTUtBTSxFQU9OLEtBQUssQ0FRRixBQUFBLElBQUMsQ0FBRCxNQUFDLEFBQUEsRUxmYztFQUNoQixVQUFVLEVBQUUsSUFBSSxHQUNqQjs7QUNFRCxBREFBLE9D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 */
