/*!**********************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/sass/pages/listing.scss ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************/

.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }


.breadcrumb-item + .breadcrumb-item:before {
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-variant: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }


.breadcrumb-item + .breadcrumb-item:before {
  font-family: "Font Awesome 6 Pro";
  font-weight: 300; }

.card {
  --bs-card-spacer-y: 16px;
  --bs-card-spacer-y: 1rem;
  --bs-card-spacer-x: 16px;
  --bs-card-spacer-x: 1rem;
  --bs-card-title-spacer-y: 8px;
  --bs-card-title-spacer-y: 0.5rem;
  --bs-card-title-color: ;
  --bs-card-subtitle-color: ;
  --bs-card-border-width: var(--bs-border-width);
  --bs-card-border-color: var(--bs-border-color-translucent);
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-box-shadow: ;
  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
  --bs-card-cap-padding-y: 8px;
  --bs-card-cap-padding-y: 0.5rem;
  --bs-card-cap-padding-x: 16px;
  --bs-card-cap-padding-x: 1rem;
  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
  --bs-card-cap-color: ;
  --bs-card-height: ;
  --bs-card-color: ;
  --bs-card-bg: var(--bs-body-bg);
  --bs-card-img-overlay-padding: 16px;
  --bs-card-img-overlay-padding: 1rem;
  --bs-card-group-margin: 12px;
  --bs-card-group-margin: 0.75rem;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: var(--bs-card-height);
  color: var(--bs-body-color);
  word-wrap: break-word;
  background-color: var(--bs-card-bg);
  background-clip: border-box;
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  border-radius: var(--bs-card-border-radius); }
  .card > hr {
    margin-right: 0;
    margin-left: 0; }
  .card > .list-group {
    border-top: inherit;
    border-bottom: inherit; }
    .card > .list-group:first-child {
      border-top-width: 0;
      border-top-left-radius: var(--bs-card-inner-border-radius);
      border-top-right-radius: var(--bs-card-inner-border-radius); }
    .card > .list-group:last-child {
      border-bottom-width: 0;
      border-bottom-right-radius: var(--bs-card-inner-border-radius);
      border-bottom-left-radius: var(--bs-card-inner-border-radius); }
  .card > .card-header + .list-group,
  .card > .list-group + .card-footer {
    border-top: 0; }

.card-body {
  flex: 1 1 auto;
  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
  color: var(--bs-card-color); }

.card-title {
  margin-bottom: var(--bs-card-title-spacer-y);
  color: var(--bs-card-title-color); }

.card-subtitle {
  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
  margin-bottom: 0;
  color: var(--bs-card-subtitle-color); }

.card-text:last-child {
  margin-bottom: 0; }

.card-link + .card-link {
  margin-left: var(--bs-card-spacer-x); }

.card-header {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  margin-bottom: 0;
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-header:first-child {
    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0; }

.card-footer {
  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
  color: var(--bs-card-cap-color);
  background-color: var(--bs-card-cap-bg);
  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color); }
  .card-footer:last-child {
    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius); }

.card-header-tabs {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
  border-bottom: 0; }
  .card-header-tabs .nav-link.active {
    background-color: var(--bs-card-bg);
    border-bottom-color: var(--bs-card-bg); }

.card-header-pills {
  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x)); }

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: var(--bs-card-img-overlay-padding);
  border-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-top,
.card-img-bottom {
  width: 100%; }

.card-img,
.card-img-top {
  border-top-left-radius: var(--bs-card-inner-border-radius);
  border-top-right-radius: var(--bs-card-inner-border-radius); }

.card-img,
.card-img-bottom {
  border-bottom-right-radius: var(--bs-card-inner-border-radius);
  border-bottom-left-radius: var(--bs-card-inner-border-radius); }

.card-group > .card {
  margin-bottom: var(--bs-card-group-margin); }

.tease-grid picture {
  z-index: 1; }

.tease-grid .badge-wrapper {
  z-index: 2;
  pointer-events: none; }

.tease-grid .badge a,
.tease-grid .card-title a {
  text-decoration: none;
  pointer-events: all; }
  .tease-grid .badge a:hover, .tease-grid .badge a:focus,
  .tease-grid .card-title a:hover,
  .tease-grid .card-title a:focus {
    text-decoration: underline; }

.tease-simple a {
  z-index: 1; }

.tease-simple-realisations:hover .card-overlay {
  transform: rotateX(0); }

.tease-simple-realisations .card-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-decoration: none;
  text-shadow: 0 0 4px #000;
  text-shadow: 0 0 0.25rem #000;
  background: rgba(8, 39, 66, 0.5);
  transition: transform ease .3s;
  transform: rotateX(90deg);
  transform-origin: bottom; }

.tease {
  width: 100%; }

.breadcrumb {
  --bs-breadcrumb-padding-x: 0;
  --bs-breadcrumb-padding-y: 0;
  --bs-breadcrumb-margin-bottom: 16px;
  --bs-breadcrumb-margin-bottom: 1rem;
  --bs-breadcrumb-font-size: 12px;
  --bs-breadcrumb-font-size: 0.75rem;
  --bs-breadcrumb-bg: ;
  --bs-breadcrumb-border-radius: ;
  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
  --bs-breadcrumb-item-padding-x: 8px;
  --bs-breadcrumb-item-padding-x: 0.5rem;
  --bs-breadcrumb-item-active-color: #082742;
  display: flex;
  flex-wrap: wrap;
  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
  margin-bottom: var(--bs-breadcrumb-margin-bottom);
  font-size: var(--bs-breadcrumb-font-size);
  list-style: none;
  background-color: var(--bs-breadcrumb-bg);
  border-radius: var(--bs-breadcrumb-border-radius); }

.breadcrumb-item + .breadcrumb-item {
  padding-left: var(--bs-breadcrumb-item-padding-x); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: left;
    padding-right: var(--bs-breadcrumb-item-padding-x);
    color: var(--bs-breadcrumb-divider-color);
    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */; }

.breadcrumb-item.active {
  color: var(--bs-breadcrumb-item-active-color); }

.breadcrumbs {
  position: relative;
  max-width: 100vw;
  margin-right: -12px;
  margin-right: -0.75rem;
  margin-left: -12px;
  margin-left: -0.75rem; }
  .breadcrumbs .breadcrumb {
    flex-wrap: nowrap;
    padding: 12px;
    padding: 0.75rem;
    margin: unset;
    overflow-x: auto; }
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      position: absolute;
      top: 0;
      display: block;
      height: 100%;
      pointer-events: none;
      content: ""; }
    .breadcrumbs .breadcrumb:before {
      left: 0;
      width: 16px;
      width: 1rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color) 0, var(--alpha-breadcrumbs-mobile-shadow-color-end)); }
    .breadcrumbs .breadcrumb:after {
      right: 0;
      width: 32px;
      width: 2rem;
      background-image: linear-gradient(90deg, var(--alpha-breadcrumbs-mobile-shadow-color-end) 0, var(--alpha-breadcrumbs-mobile-shadow-color)); }
  .breadcrumbs.on-featured {
    --alpha-breadcrumbs-mobile-shadow-color: #000;
    --alpha-breadcrumbs-mobile-shadow-color-end: rgba(0, 0, 0, 0);
    top: var(--featured-image-height);
    z-index: 10;
    transform: translateY(-100%); }
    .breadcrumbs.on-featured .breadcrumb {
      --bs-breadcrumb-divider-color: currentcolor;
      --bs-breadcrumb-item-active-color: currentcolor; }
      .breadcrumbs.on-featured .breadcrumb:before, .breadcrumbs.on-featured .breadcrumb:after {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=75)";
        opacity: .75; }

.breadcrumbs-on-featured:not(.has-transparent-header) .breadcrumbs {
  top: calc(var(--header-height) + var(--featured-image-height));
  transition: top .3s ease; }

.breadcrumbs-on-featured.search .content-wrapper {
  padding-top: 32px;
  padding-top: 2rem; }

.breadcrumb-item {
  white-space: nowrap; }
  .breadcrumb-item + .breadcrumb-item:before {
    content: "\f105";
    margin-right: 0;
    line-height: var(--bs-body-line-height); }
  .breadcrumb-item + .breadcrumb-item:before {
    float: unset;
    padding-right: 4px;
    padding-right: .25rem; }
  .breadcrumb-item.active span {
    font-weight: 700; }

.pagination-information {
  font-size: 12.8px;
  font-size: .8rem; }

.pagination .page-item {
  display: flex; }

.pagination .page-link {
  display: flex;
  align-items: center; }

@media (min-width: 576px) {
  .card-group {
    display: flex;
    flex-flow: row wrap; }
    .card-group > .card {
      flex: 1 0;
      margin-bottom: 0; }
      .card-group > .card + .card {
        margin-left: 0;
        border-left: 0; }
      .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-top,
        .card-group > .card:not(:last-child) .card-header {
          border-top-right-radius: 0; }
        .card-group > .card:not(:last-child) .card-img-bottom,
        .card-group > .card:not(:last-child) .card-footer {
          border-bottom-right-radius: 0; }
      .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-top,
        .card-group > .card:not(:first-child) .card-header {
          border-top-left-radius: 0; }
        .card-group > .card:not(:first-child) .card-img-bottom,
        .card-group > .card:not(:first-child) .card-footer {
          border-bottom-left-radius: 0; } }

@media (min-width: 768px) {
    .breadcrumbs .breadcrumb:before, .breadcrumbs .breadcrumb:after {
      display: none; } }

@media (max-width: 575.98px) {
    .pagination .page-link.dots {
      padding: .375rem; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdGluZy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQVlBO0VBT0UscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsb0JBQW9CO0VBQ3BCLGNBQWM7RUFDZCxtQ0FBbUM7RUFDbkMsa0NBQWtDOzs7QUFrQnBDO0VBQ0UsaUNBQWlDO0VBQ2pDLGdCQUFnQjs7O0FBakNsQjtFQU9FLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2QsbUNBQW1DO0VBQ25DLGtDQUFrQzs7O0FBa0JwQztFQUNFLGlDQUFpQztFQUNqQyxnQkFBZ0I7OztBQWpDbEI7RUFPRSxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixvQkFBb0I7RUFDcEIsY0FBYztFQUNkLG1DQUFtQztFQUNuQyxrQ0FBa0M7OztBQWtCcEM7RUFDRSxpQ0FBaUM7RUFDakMsZ0JBQWdCOztBQ3pDbEI7RUFFRSx3QkFBeUM7RUFBekMsd0JBQXlDO0VBQ3pDLHdCQUF5QztFQUF6Qyx3QkFBeUM7RUFDekMsNkJBQXFEO0VBQXJELGdDQUFxRDtFQUNyRCx1QkFBK0M7RUFDL0MsMEJBQXFEO0VBQ3JELDhDQUFpRDtFQUNqRCwwREFBaUQ7RUFDakQsZ0RBQW1EO0VBQ25ELHNCQUE2QztFQUM3QyxxRkFBK0Q7RUFDL0QsNEJBQW1EO0VBQW5ELCtCQUFtRDtFQUNuRCw2QkFBbUQ7RUFBbkQsNkJBQW1EO0VBQ25ELHNEQUFxQztFQUNyQyxxQkFBMkM7RUFDM0Msa0JBQXFDO0VBQ3JDLGlCQUFtQztFQUNuQywrQkFBNkI7RUFDN0IsbUNBQStEO0VBQS9ELG1DQUErRDtFQUMvRCw0QkFBaUQ7RUFBakQsK0JBQWlEO0VBR2pELGtCQUFrQjtFQUNsQixhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLFlBQVk7RUFDWiw2QkFBaUQ7RUFDakQsMkJBQThDO0VBQzlDLHFCQUFxQjtFQUNyQixtQ0FBbUQ7RUFDbkQsMkJBQTJCO0VBQzNCLHFFQUF5SDtFQ2pCdkgsMkNEa0I0RTtFQWpDaEY7SUFxQ0ksZUFBZTtJQUNmLGNBQWM7RUF0Q2xCO0lBMENJLG1CQUFtQjtJQUNuQixzQkFBc0I7SUEzQzFCO01BOENNLG1CQUFtQjtNQ3RCckIsMEREdUJnRztNQ3RCaEcsMkREc0JnRztJQS9DcEc7TUFtRE0sc0JBQXNCO01DYnhCLDhERGNtRztNQ2JuRyw2RERhbUc7RUFwRHZHOztJQTRESSxhQUFhOztBQUlqQjtFQUdFLGNBQWM7RUFDZCx3REFBb0c7RUFDcEcsMkJBQThDOztBQUdoRDtFQUNFLDRDQUF3RTtFQUN4RSxpQ0FBMEQ7O0FBRzVEO0VBQ0Usc0RBQWlGO0VBQ2pGLGdCQUFnQjtFQUNoQixvQ0FBZ0U7O0FBR2xFO0VBQ0UsZ0JBQWdCOztBQUdsQjtFQU1JLG9DQUEwRDs7QUFROUQ7RUFDRSxrRUFBd0g7RUFDeEgsZ0JBQWdCO0VBQ2hCLCtCQUFzRDtFQUN0RCx1Q0FBMkQ7RUFDM0QsNEVBQWdJO0VBTGxJO0lDdEZJLHdGRDhGa0s7O0FBSXRLO0VBQ0Usa0VBQXdIO0VBQ3hILCtCQUFzRDtFQUN0RCx1Q0FBMkQ7RUFDM0QseUVBQTZIO0VBSi9IO0lDbEdJLHdGRHlHa0s7O0FBU3RLO0VBQ0UsdURBQWlGO0VBQ2pGLHNEQUFpRjtFQUNqRixzREFBZ0Y7RUFDaEYsZ0JBQWdCO0VBSmxCO0lBT0ksbUNBQW1EO0lBQ25ELHNDQUFzRDs7QUFJMUQ7RUFDRSx1REFBaUY7RUFDakYsc0RBQWdGOztBQUlsRjtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsMkNBQTRFO0VDMUkxRSxpREQySXdGOztBQUc1Rjs7O0VBR0UsV0FBVzs7QUFHYjs7RUMzSUksMERENkk0RjtFQzVJNUYsMkRENEk0Rjs7QUFHaEc7O0VDbElJLDhERG9JK0Y7RUNuSS9GLDZERG1JK0Y7O0FBUW5HO0VBSUksMENBQW9FOztBRWxMdEU7RUNORSxVQUFVOztBRE1aO0VDRkUsVUFBVTtFQUNWLG9CQUFvQjs7QURDdEI7O0VDS0kscUJBQXFCO0VBQ3JCLG1CQUFtQjtFRE52Qjs7O0lDVU0sMEJBQTBCOztBRFZoQztFRU5FLFVBQVU7O0FGTVo7RUdMSSxxQkFBcUI7O0FIS3pCO0VHREUsa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsU0FBUztFQUNULE9BQU87RUFDUCxVQUFVO0VBQ1YsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQix1QkFBdUI7RUFDdkIsV0NiUTtFRGNSLHFCQUFxQjtFQUNyQix5QkVnWHVDO0VGaFh2Qyw2QkVnWHVDO0VGL1d2QyxnQ0duQnVEO0VIb0J2RCw4QkFBOEI7RUFDOUIseUJBQXlCO0VBQ3pCLHdCQUF3Qjs7QUhUNUI7RUFDRSxXQUFXOztBT2RiO0VBRUUsNEJBQXVEO0VBQ3ZELDRCQUF1RDtFQUN2RCxtQ0FBK0Q7RUFBL0QsbUNBQStEO0VDMlIzRCwrQkFuRStCO0VBbUUvQixrQ0FuRStCO0VEdE5uQyxvQkFBeUM7RUFDekMsK0JBQStEO0VBQy9ELHdEQUErRDtFQUMvRCxtQ0FBaUU7RUFBakUsc0NBQWlFO0VBQ2pFLDBDQUF1RTtFQUd2RSxhQUFhO0VBQ2IsZUFBZTtFQUNmLHNFQUFnSTtFQUNoSSxpREFBa0Y7RUMrUTlFLHlDQW5FK0I7RUQxTW5DLGdCQUFnQjtFQUNoQix5Q0FBK0Q7RVJBN0QsaURRQ3dGOztBQUc1RjtFQUdJLGlEQUFtRjtFQUh2RjtJQU1NLFdBQVc7SUFDWCxrREFBb0Y7SUFDcEYseUNBQTBFO0lBQzFFLHVGQUF1Tjs7QUFUN047RUFjSSw2Q0FBa0Y7O0FFbkN0RjtFQUNFLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJBQWdEO0VBQWhELHNCQUFnRDtFQUNoRCxrQkFBK0M7RUFBL0MscUJBQStDO0VBSmpEO0lBT0ksaUJBQWlCO0lBQ2pCLGFKb0d3QztJSXBHeEMsZ0JKb0d3QztJSW5HeEMsYUFBYTtJQUNiLGdCQUFnQjtJQVZwQjtNQWNNLGtCQUFrQjtNQUNsQixNQUFNO01BQ04sY0FBYztNQUNkLFlBQVk7TUFDWixvQkFBb0I7TUFDcEIsV0FBVztJQW5CakI7TUF1Qk0sT0FBTztNQUNQLFdBQVc7TUFBWCxXQUFXO01BQ1gsMElBQTBJO0lBekJoSjtNQTZCTSxRQUFRO01BQ1IsV0FBVztNQUFYLFdBQVc7TUFDWCwwSUFBMEk7RUEvQmhKO0lBNkNJLDZDQUF3QztJQUN4Qyw2REFBNEM7SUFDNUMsaUNBQWlDO0lBQ2pDLFdBQVc7SUFDWCw0QkFBNEI7SUFqRGhDO01Bb0RNLDJDQUE4QjtNQUM5QiwrQ0FBa0M7TUFyRHhDO1FBeURRLGlFQUFZO1FBQVosWUFBWTs7QUFNcEI7RUFHTSw4REFBOEQ7RUFDOUQsd0JBQXdCOztBQUo5QjtFQVVNLGlCSktVO0VJTFYsaUJKS1U7O0FJQWhCO0VBQ0UsbUJBQW1CO0VGMURyQjtJVnVFRSxnQmF6Rm1DO0liMEhqQyxlWTNDbUU7SVo2Q25FLHVDQUF1QztFVTFHM0M7SUVnRU0sWUFBWTtJQUNaLGtCQUFxQjtJQUFyQixxQkFBcUI7RUFSM0I7SUFjTSxnQkFBZ0I7O0FFOUZ0QjtFQUNFLGlCQUFnQjtFQUFoQixnQkFBZ0I7O0FBR2xCO0VBRUksYUFBYTs7QUFGakI7RUFNSSxhQUFhO0VBQ2IsbUJBQW1COztBQ29EbkI7RWR1SEo7SUFRSSxhQUFhO0lBQ2IsbUJBQW1CO0lBVHZCO01BY00sU0FBWTtNQUNaLGdCQUFnQjtNQWZ0QjtRQWtCUSxjQUFjO1FBQ2QsY0FBYztNQW5CdEI7UUNuSkksMEJENEtrQztRQzNLbEMsNkJEMktrQztRQXpCdEM7O1VBOEJZLDBCQUEwQjtRQTlCdEM7O1VBbUNZLDZCQUE2QjtNQW5DekM7UUNySUkseUJENktvQztRQzVLcEMsNEJENEtvQztRQXhDeEM7O1VBNkNZLHlCQUF5QjtRQTdDckM7O1VBa0RZLDRCQUE0QixJQUM3Qjs7QWMxS1A7SUg3REo7TUF1Q1EsYUFBYSxJQUNkOztBR2tDSDtJRHhFSjtNQVdRLGdCQUFnQixJQUNqQiIsInNvdXJjZXMiOlsid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy92ZW5kb3JzL2ZvbnRhd2Vzb21lL2Fic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vc2VyZW5pdHljb2FjaGluc3RpdHV0LXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vc2VyZW5pdHljb2FjaGluc3RpdHV0LXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy90ZWFzZXMvX3RlYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vc2VyZW5pdHljb2FjaGluc3RpdHV0LXRoZW1lLy4vbm9kZV9tb2R1bGVzL0BuZW1hdGlzL3dwLWFscGhhL2Fzc2V0cy9zYXNzL3RlYXNlcy9tb2Rlcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy90ZWFzZXMvbW9kZXMvX3NpbXBsZS5zY3NzIiwid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy90ZWFzZXMvbW9kZXMvX3JlYWxpc2F0aW9ucy5zY3NzIiwid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL2Fzc2V0cy9zYXNzL2Fic3RyYWN0cy92YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zZXJlbml0eWNvYWNoaW5zdGl0dXQtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zZXJlbml0eWNvYWNoaW5zdGl0dXQtdGhlbWUvLi9jb25maWcvdGhlbWUueWFtbCIsIndlYnBhY2s6Ly9zZXJlbml0eWNvYWNoaW5zdGl0dXQtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2JyZWFkY3J1bWIuc2NzcyIsIndlYnBhY2s6Ly9zZXJlbml0eWNvYWNoaW5zdGl0dXQtdGhlbWUvLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly9zZXJlbml0eWNvYWNoaW5zdGl0dXQtdGhlbWUvLi9ub2RlX21vZHVsZXMvQG5lbWF0aXMvd3AtYWxwaGEvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwid2VicGFjazovL3NlcmVuaXR5Y29hY2hpbnN0aXR1dC10aGVtZS8uL25vZGVfbW9kdWxlcy9AbmVtYXRpcy93cC1hbHBoYS9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc2VyZW5pdHljb2FjaGluc3RpdHV0LXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkdXNlLWZhLXBybzogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZhLWljb24tc3RhbmRhbG9uZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4lZmEsXG4lZmFzLFxuJWZhcixcbiVmYWwsXG4lZmFkLFxuJWZhdCxcbiVmYWIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuJWZhLWljb24tc3RhbmRhbG9uZSB7XG4gIEBpbmNsdWRlIGZhLWljb24tc3RhbmRhbG9uZSAoKTtcbn1cblxuJWZhLFxuJWZhcyB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4lZmFyIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbiVmYWwge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuJWZhdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA2IFByb1wiO1xuICBmb250LXdlaWdodDogMTAwO1xufVxuXG4lZmFiIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDYgQnJhbmRzXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBmb250LWF3ZXNvbWUoJGNvZGUpIHtcbiAgQGV4dGVuZCAlZmEtaWNvbi1zdGFuZGFsb25lO1xuXG4gIEBpZiAkdXNlLWZhLXBybyB7XG4gICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXBybygkY29kZSk7XG4gIH0gQGVsc2Uge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgICBAZXh0ZW5kICVmYTtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiAkY29kZTtcbiAgfVxuXG4gIEBjb250ZW50O1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXBybygkY29kZSkge1xuICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXNvbGlkKCRjb2RlKTtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1wcm8tc29saWQoJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYXM7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby1yZWd1bGFyKCRjb2RlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgQGV4dGVuZCAlZmFyO1xuICBjb250ZW50OiBmYS1jb250ZW50KCRjb2RlKTtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1wcm8tbGlnaHQoJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYWw7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLXByby10aGluKCRjb2RlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgQGV4dGVuZCAlZmF0O1xuICBjb250ZW50OiBmYS1jb250ZW50KCRjb2RlKTtcbn1cblxuQG1peGluIGZvbnQtYXdlc29tZS1wcm8tYnJhbmQoJGNvZGUpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIGZvbnQtZmFtaWx5LW5vLW1pc3NpbmctZ2VuZXJpYy1mYW1pbHkta2V5d29yZFxuICBAZXh0ZW5kICVmYWI7XG4gIGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGNvZGUpO1xufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLWJlZm9yZSgkY29kZSwgJGZsb2F0aW5nOiBmYWxzZSwgJGZhLXN0eWxlOiBcInNvbGlkXCIsICRtYXJnaW46IC4yNWVtKSB7XG4gICY6OmJlZm9yZSB7XG4gICAgQGlmICRmYS1zdHlsZSA9PSBcInJlZ3VsYXJcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXJlZ3VsYXIoJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwibGlnaHRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWxpZ2h0KCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcInRoaW5cIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLXRoaW4oJGNvZGUpO1xuICAgIH0gQGVsc2UgaWYgJGZhLXN0eWxlID09IFwiYnJhbmRcIiB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtcHJvLWJyYW5kKCRjb2RlKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtYXdlc29tZSgkY29kZSk7XG4gICAgfVxuXG4gICAgQGlmICRmbG9hdGluZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG5cbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYnMtYm9keS1saW5lLWhlaWdodCk7XG5cbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gZm9udC1hd2Vzb21lLWFmdGVyKCRjb2RlLCAkZmxvYXRpbmc6IGZhbHNlLCAkZmEtc3R5bGU6IFwic29saWRcIiwgJG1hcmdpbjogLjI1ZW0pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpZiAkZmEtc3R5bGUgPT0gXCJyZWd1bGFyXCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1yZWd1bGFyKCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcImxpZ2h0XCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1saWdodCgkY29kZSk7XG4gICAgfSBAZWxzZSBpZiAkZmEtc3R5bGUgPT0gXCJ0aGluXCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby10aGluKCRjb2RlKTtcbiAgICB9IEBlbHNlIGlmICRmYS1zdHlsZSA9PSBcImJyYW5kXCIge1xuICAgICAgQGluY2x1ZGUgZm9udC1hd2Vzb21lLXByby1icmFuZCgkY29kZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUoJGNvZGUpO1xuICAgIH1cblxuICAgIEBpZiAkZmxvYXRpbmcge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWJzLWJvZHktbGluZS1oZWlnaHQpO1xuXG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmNhcmQge1xuICAvLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC1jc3MtdmFyc1xuICAtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15OiAjeyRjYXJkLXNwYWNlci15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteDogI3skY2FyZC1zcGFjZXIteH07XG4gIC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXk6ICN7JGNhcmQtdGl0bGUtc3BhY2VyLXl9O1xuICAtLSN7JHByZWZpeH1jYXJkLXRpdGxlLWNvbG9yOiAjeyRjYXJkLXRpdGxlLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1zdWJ0aXRsZS1jb2xvcjogI3skY2FyZC1zdWJ0aXRsZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoOiAjeyRjYXJkLWJvcmRlci13aWR0aH07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiAjeyRjYXJkLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1czogI3skY2FyZC1ib3JkZXItcmFkaXVzfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiAjeyRjYXJkLWJveC1zaGFkb3d9O1xuICAtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICN7JGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteTogI3skY2FyZC1jYXAtcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14OiAjeyRjYXJkLWNhcC1wYWRkaW5nLXh9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1iZzogI3skY2FyZC1jYXAtYmd9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcjogI3skY2FyZC1jYXAtY29sb3J9O1xuICAtLSN7JHByZWZpeH1jYXJkLWhlaWdodDogI3skY2FyZC1oZWlnaHR9O1xuICAtLSN7JHByZWZpeH1jYXJkLWNvbG9yOiAjeyRjYXJkLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1iZzogI3skY2FyZC1iZ307XG4gIC0tI3skcHJlZml4fWNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogI3skY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nfTtcbiAgLS0jeyRwcmVmaXh9Y2FyZC1ncm91cC1tYXJnaW46ICN7JGNhcmQtZ3JvdXAtbWFyZ2lufTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBjYXJkLWNzcy12YXJzXG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtaW4td2lkdGg6IDA7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8yMjc0MCNpc3N1ZWNvbW1lbnQtMzA1ODY4MTA2XG4gIGhlaWdodDogdmFyKC0tI3skcHJlZml4fWNhcmQtaGVpZ2h0KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1iZyk7XG4gIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXJhZGl1cykpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KHZhcigtLSN7JHByZWZpeH1jYXJkLWJveC1zaGFkb3cpKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwIHtcbiAgICBib3JkZXItdG9wOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IGluaGVyaXQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9Y2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKSk7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIER1ZSB0byBzcGVjaWZpY2l0eSBvZiB0aGUgYWJvdmUgc2VsZWN0b3IgKGAuY2FyZCA+IC5saXN0LWdyb3VwYCksIHdlIG11c3RcbiAgLy8gdXNlIGEgY2hpbGQgc2VsZWN0b3IgaGVyZSB0byBwcmV2ZW50IGRvdWJsZSBib3JkZXJzLlxuICA+IC5jYXJkLWhlYWRlciArIC5saXN0LWdyb3VwLFxuICA+IC5saXN0LWdyb3VwICsgLmNhcmQtZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbi5jYXJkLWJvZHkge1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgZm9yIGRlY2tzIGFuZCBncm91cHMgc28gdGhhdCBjYXJkIGJsb2NrcyB0YWtlIHVwXG4gIC8vIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGUsIGVuc3VyaW5nIGZvb3RlcnMgYXJlIGFsaWduZWQgdG8gdGhlIGJvdHRvbS5cbiAgZmxleDogMSAxIGF1dG87XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLXNwYWNlci15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1zcGFjZXIteCk7XG4gIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jb2xvcik7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpO1xuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtY29sb3IpO1xufVxuXG4uY2FyZC1zdWJ0aXRsZSB7XG4gIG1hcmdpbi10b3A6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtdGl0bGUtc3BhY2VyLXkpKTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLXN1YnRpdGxlLWNvbG9yKTtcbn1cblxuLmNhcmQtdGV4dDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNhcmQtbGluayB7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGxpbmstaG92ZXItZGVjb3JhdGlvbiA9PSB1bmRlcmxpbmUsIG5vbmUsIG51bGwpO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tI3skcHJlZml4fWNhcmQtc3BhY2VyLXgpO1xuICB9XG59XG5cbi8vXG4vLyBPcHRpb25hbCB0ZXh0dWFsIGNhcHNcbi8vXG5cbi5jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1wYWRkaW5nLXgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmVzIHRoZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gb2YgPGhOPlxuICBjb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLWJnKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgdmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykgMCAwKTtcbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy15KSB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KTtcbiAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWNhcC1iZyk7XG4gIGJvcmRlci10b3A6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tI3skcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpIHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWNhcmQtYmcpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLSN7JHByZWZpeH1jYXJkLWJnKTtcbiAgfVxufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWNhcmQtY2FwLXBhZGRpbmcteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tbGVmdDogY2FsYygtLjUgKiB2YXIoLS0jeyRwcmVmaXh9Y2FyZC1jYXAtcGFkZGluZy14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vIENhcmQgaW1hZ2Vcbi5jYXJkLWltZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLSN7JHByZWZpeH1jYXJkLWltZy1vdmVybGF5LXBhZGRpbmcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKHZhcigtLSN7JHByZWZpeH1jYXJkLWlubmVyLWJvcmRlci1yYWRpdXMpKTtcbn1cblxuLmNhcmQtaW1nLFxuLmNhcmQtaW1nLXRvcCxcbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctdG9wIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG4uY2FyZC1pbWcsXG4uY2FyZC1pbWctYm90dG9tIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXModmFyKC0tI3skcHJlZml4fWNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cykpO1xufVxuXG5cbi8vXG4vLyBDYXJkIGdyb3Vwc1xuLy9cblxuLmNhcmQtZ3JvdXAge1xuICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gIC8vIHRvIGRpc3BsYXkgcHJvcGVybHkuXG4gID4gLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1jYXJkLWdyb3VwLW1hcmdpbik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vIFRoZSBjaGlsZCBzZWxlY3RvciBhbGxvd3MgbmVzdGVkIGAuY2FyZGAgd2l0aGluIGAuY2FyZC1ncm91cGBcbiAgICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICAgID4gLmNhcmQge1xuICAgICAgLy8gRmxleGJ1Z3MgIzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy00XG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICArIC5jYXJkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBIYW5kbGUgcm91bmRlZCBjb3JuZXJzXG4gICAgICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcblxuICAgICAgICAgIC5jYXJkLWltZy10b3AsXG4gICAgICAgICAgLmNhcmQtaGVhZGVyIHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3RcbiAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuY2FyZC1pbWctYm90dG9tLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gcmVwbGFjZSBuZWdhdGl2ZSB2YWx1ZXMgd2l0aCAwXG5AZnVuY3Rpb24gdmFsaWQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgJHJldHVybjogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkcmFkaXVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciB7XG4gICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgbWF4KCR2YWx1ZSwgMCkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sICR2YWx1ZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGJvcmRlci1yYWRpdXMtbWl4aW5zXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxuICBAZWxzZSBpZiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cyAhPSBmYWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3Atc3RhcnQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1lbmQtcmFkaXVzKCRyYWRpdXM6ICRib3JkZXItcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXJhZGl1cy1taXhpbnNcbiIsIkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvY2FyZFwiO1xuXG5AaW1wb3J0IFwibW9kZXMvZ3JpZFwiO1xuQGltcG9ydCBcIm1vZGVzL2xpc3RcIjtcbkBpbXBvcnQgXCJtb2Rlcy9zaW1wbGVcIjtcbkBpbXBvcnQgXCJtb2Rlcy9yZWFsaXNhdGlvbnNcIjtcblxuQGVhY2ggJHRlYXNlIGluICR0ZWFzZXMge1xuICAudGVhc2UtI3skdGVhc2V9IHtcbiAgICBAZXh0ZW5kICV0ZWFzZS0jeyR0ZWFzZX0gIW9wdGlvbmFsO1xuICB9XG59XG5cbi50ZWFzZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuIiwiQG1peGluIG1ha2UtdGVhc2UtZ3JpZCB7XG4gIHBpY3R1cmUge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuYmFkZ2Utd3JhcHBlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIC5iYWRnZSxcbiAgLmNhcmQtdGl0bGUge1xuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuJXRlYXNlLWdyaWQge1xuICBAaW5jbHVkZSBtYWtlLXRlYXNlLWdyaWQoKTtcbn1cbiIsIkBtaXhpbiBtYWtlLXRlYXNlLXNpbXBsZSB7XG4gIGEge1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuJXRlYXNlLXNpbXBsZSB7XG4gIEBpbmNsdWRlIG1ha2UtdGVhc2Utc2ltcGxlKCk7XG59XG4iLCJAbWl4aW4gbWFrZS10ZWFzZS1zaW1wbGUtcmVhbGlzYXRpb25zIHtcbiAgJjpob3ZlcntcbiAgICAuY2FyZC1vdmVybGF5IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKTtcbiAgICB9XG4gIH1cbiAgLmNhcmQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogJHRlYXNlLW92ZXJsYXktdGV4dC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1zaGFkb3c6ICR0ZWFzZS1vdmVybGF5LXRleHQtc2hhZG93O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHRlYXNlLW92ZXJsYXktYmctY29sb3IsICR0ZWFzZS1vdmVybGF5LWJnLW9wYWNpdHkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIC4zcztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgfVxufVxuXG4ldGVhc2Utc2ltcGxlLXJlYWxpc2F0aW9ucyB7XG4gIEBpbmNsdWRlIG1ha2UtdGVhc2Utc2ltcGxlLXJlYWxpc2F0aW9ucygpO1xufVxuIiwiLy8tLS0tLS0gQm9vdHN0cmFwXG4vLy0tLS0tIENvbG9yIHN5c3RlbVxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbG9yLXZhcmlhYmxlc1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuXG4kZm9udC13ZWlnaHQtYm9sZGVyOiA3MDA7XG5cbiRhbHBoYS1zdXJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcblxuLy8tLS0tLSBCdXR0b25zICsgRm9ybXNcblxuLy8gPT0gRmVhdHVyZWQgSW1hZ2VcbiRob21lLWZlYXR1cmVkLWltYWdlLWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWFkbWluYmFyLWhlaWdodCkpO1xuJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktb3BhY2l0eTogLjM7XG4kZmVhdHVyZWQtaW1hZ2Utb3ZlcmxheS1jb2xvcjogJGJsYWNrO1xuJGFscGhhLW92ZXJsYXktb3BhY2l0eTogMDtcbiRzaHJ1bmstbG9nby1oZWlnaHQtcmF0aW86IC40O1xuJGNvbnRlbnQtYWJvdmUtdGV4dC1jb2xvcjogJHByaW1hcnk7XG5cbi8vLS0tLS0gVG9wYmFyXG4kdG9wLWJhci1kZWZhdWx0LWJnLWNvbG9yOiAkc2Vjb25kYXJ5O1xuXG4vLy0tLS0tIE5hdnNcbi8vICRuYXYtbGluay1mb250LXNpemU6IG51bGwgO1xuJG5hdi1saW5rLWNvbG9yOiAkcHJpbWFyeTtcbi8vICRuYXYtbGluay1ob3Zlci1jb2xvcjogJHByaW1hcnkgO1xuXG4vLy0tLS0tLSBXcCBBbHBoYVxuLy8tLS0tLSBUb29sc1xuLy8gJHRlYXNlczogKFwiZ3JpZFwiLCBcImxpc3RcIikgO1xuXG4vLy0tLS0tIEhlYWRlclxuJGhlYWRlci1iZzogJHNlY29uZGFyeSA7XG5cbi8vID09PSBMb2dvXG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tY29sb3I6IGZhbHNlO1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLXNoYWRvdy1jb2xvcjogZmFsc2U7XG5cbi8vLS0tLS0gRmVhdHVyZWQgSW1hZ2VcbiRob21lLWZlYXR1cmVkLWltYWdlLXRleHQtdHJhbnNpdGlvbjogZmFsc2U7XG4kZmVhdHVyZWQtaW1hZ2Utb3ZlcmxheS1vcGFjaXR5OiAwO1xuXG4vLyAtLS0tLSBDb250cmFzdFxuJG1pbi1jb250cmFzdC1yYXRpbzogMS41O1xuXG4vLyAtLS0tLSBaLWluZGV4XG4kYWxwaGEtei1pbmRleGVzOiAoMSwgMik7XG5cbi8vLS0tLS0tIFNxdWFyZVxuJHNoYXBlczogKFwic3F1YXJlXCIsIFwiY2lyY2xlXCIpO1xuXG4vLyA9PT0gUmVzcG9uc2l2ZSBtZWRpYXMgd2l0aCBmaXhlZCByYXRpb1xuJG1lZGlhLXJhdGlvczogKCgxIDEpLCAoNCAzKSwgKDMgMiksICgxNiA5KSwgKDIxIDkpKTtcblxuLy8tLS0tLS0gRm9udHMgb3B0aW1pemF0aW9uXG4vLy0tLS0tIEZvbnRBd2Vzb21lIEljb25zXG4vLyBoZXJlIHlvdSBjYW4gYWRkIGFsbCB0aGUgaWNvbnMgeW91IG5lZWQgdG8gdXNlIGluc2lkZSB5b3VyIHRoZW1lXG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL3ZhcmlhYmxlc1wiO1xuLy8kY3VzdG9tLXVzZWQtZmEtaWNvbnM6IChmb250LWF3ZXNvbWUtZmxhZzogJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZywgZm9ydC1hd2Vzb21lOiAkZmEtdmFyLWZvcnQtYXdlc29tZSk7XG4kY3VzdG9tLXVzZWQtZmEtaWNvbnM6IChcbiAgXCJwaG9uZVwiOiAkZmEtdmFyLWNpcmNsZS1waG9uZS1mbGlwLFxuICBcImNoZWNrLWJhZGdlc1wiOiAkZmEtdmFyLWJhZGdlLWNoZWNrLFxuICBcInNob3BwaW5nLWNhcnRcIjogJGZhLXZhci1zaG9wLFxuICBcImJhbGxvdC1jaGVja1wiOiAkZmEtdmFyLWJhbGxvdC1jaGVjayxcbiAgXCJib29rLW9wZW4tY292ZXJcIjogJGZhLXZhci1ib29rLW9wZW4tY292ZXIsXG4gIFwiY2lyY2xlLXBob25lXCI6ICRmYS12YXItY2lyY2xlLXBob25lLFxuICBcInVzZXJcIjogJGZhLXZhci11c2VyLFxuICBcImxvY2F0aW9uLXBpblwiOiAkZmEtdmFyLWxvY2F0aW9uLXBpbixcbiAgXCJwZW4tdG8tc3F1YXJlXCI6ICRmYS12YXItcGVuLXRvLXNxdWFyZSxcbiAgXCJzcXVhcmUtcGVuXCI6ICRmYS12YXItc3F1YXJlLXBlbixcbiAgXCJicmllZmNhc2VcIjogJGZhLXZhci1icmllZmNhc2UsXG4gIFwibW9iaWxlXCI6ICRmYS12YXItbW9iaWxlLFxuICBcImVudmVsb3BlXCI6ICRmYS12YXItZW52ZWxvcGUsXG4pO1xuXG4vLy0tLS0tLSBQYXJyYWxheFxuJGFzcC1vdmVybGF5LWJnLW9wYWNpdHk6IDA7XG5cbi8vLS0tLS0tIEZvb3RlclxuJGZvb3Rlci1iZzogJHNlY29uZGFyeTtcbiRkYXJrLWJnLWNvbG9yOiAkc2Vjb25kYXJ5O1xuXG5cbi8vLS0tLS0gVG9wIGJhciBpY29uc1xuJHRvcC1iYXItaWNvbnM6IChcbiAgXCJib29rLW9wZW4tY292ZXJcIjogJGZhLXZhci1ib29rLW9wZW4tY292ZXIsXG4gIFwidXNlclwiOiAkZmEtdmFyLXVzZXIsXG4gIFwiZW52ZWxvcGVcIjogJGZhLXZhci1lbnZlbG9wZSxcbik7XG4kdG9wLWJhci1pY29ucy1tYXJnaW46IC4yNXJlbTtcbiR0b3AtYmFyLWljb25zLWZhLXZhcmlhbnQ6IFwibGlnaHRcIjtcbiIsIkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwifkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJ+QGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL3ZhcmlhYmxlc1wiO1xuXG4kdGhlbWUtYXNzZXQtcGF0aDogXCIuLi9pbWFnZXNcIiAhZGVmYXVsdDtcbiRmb250cy1wYXRoOiBcImZvbnRzXCIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIENvbG9yIHN5c3RlbVxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjdmN2Y3ICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjOWQ5ZDlkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMGEwYTBhICFkZWZhdWx0O1xuJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xuJG5lbWF0aXMtdmlvbGV0OiAjNzExOTZmICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogIzAwNWRhYSAhZGVmYXVsdDtcbiRwdXJwbGU6ICM3MDFlNmUgIWRlZmF1bHQ7XG4kZ3JlZW46ICMwMWFlM2MgIWRlZmF1bHQ7XG4kcmVkOiAjZGMzNTQ1ICFkZWZhdWx0O1xuJHllbGxvdzogI2ZmYzEwNyAhZGVmYXVsdDtcbiRjeWFuOiAjMGRjYWYwICFkZWZhdWx0O1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3JzLW1hcFxuJGNvbG9yczogKFxuICBcImJsdWVcIjogJGJsdWUsXG4gIFwicHVycGxlXCI6ICRwdXJwbGUsXG4gIFwiZ3JlZW5cIjogJGdyZWVuLFxuICBcIndoaXRlXCI6ICR3aGl0ZSxcbiAgXCJncmF5LTEwMFwiOiAkZ3JheS0xMDAsXG4gIFwiZ3JheS01MDBcIjogJGdyYXktNTAwLFxuICBcImdyYXktOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9yLXZhcmlhYmxlc1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiRkZWZhdWx0LXRoZW1lLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG4gIFwic3VjY2Vzc1wiOiAkc3VjY2VzcyxcbiAgXCJpbmZvXCI6ICRpbmZvLFxuICBcIndhcm5pbmdcIjogJHdhcm5pbmcsXG4gIFwiZGFuZ2VyXCI6ICRkYW5nZXIsXG4gIFwibGlnaHRcIjogJGxpZ2h0LFxuICBcImRhcmtcIjogJGRhcmtcbikgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZSgkZGVmYXVsdC10aGVtZS1jb2xvcnMsICR0aGVtZS1jb2xvcnMpO1xuXG4vLyBUaGUgY29udHJhc3QgcmF0aW8gdG8gcmVhY2ggYWdhaW5zdCB3aGl0ZSwgdG8gZGV0ZXJtaW5lIGlmIGNvbG9yIGNoYW5nZXMgZnJvbSBcImxpZ2h0XCIgdG8gXCJkYXJrXCIuIEFjY2VwdGFibGUgdmFsdWVzIGZvciBXQ0FHIDIuMCBhcmUgMywgNC41IGFuZCA3LlxuJG1pbi1jb250cmFzdC1yYXRpbzogNC41ICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIGNvbG9yIGNvbnRyYXN0IGZ1bmN0aW9uLlxuJGNvbG9yLWNvbnRyYXN0LWRhcms6ICRncmF5LTkwMCAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBPcHRpb25zXG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFNwYWNpbmdcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LCAvLyA0cHhcbiAgMjogJHNwYWNlciAqIC41LCAvLyA4cHhcbiAgMzogJHNwYWNlciAqIC43NSwgLy8gMTJweFxuICA0OiAkc3BhY2VyLCAvLyAxNnB4XG4gIDU6ICRzcGFjZXIgKiAxLjI1LCAvLyAyMHB4XG4gIDY6ICRzcGFjZXIgKiAxLjUsIC8vIDI0cHhcbiAgNzogJHNwYWNlciAqIDEuNzUsIC8vIDI4cHhcbiAgODogJHNwYWNlciAqIDIsIC8vIDMycHhcbiAgOTogJHNwYWNlciAqIDMsIC8vIDQ4cHhcbiAgMTA6ICRzcGFjZXIgKiA0LCAvLyA2NHB4XG4gIDExOiAkc3BhY2VyICogNSAvLyA4MHB4XG4pICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBEYXJrIFN0eWxlXG4kZGFyay1iZy1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZGFyay10eHQtY29sb3I6ICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBMaWdodCBTdHlsZVxuJGxpZ2h0LWJnLWNvbG9yOiAkZGFyay10eHQtY29sb3IgIWRlZmF1bHQ7XG4kbGlnaHQtdHh0LWNvbG9yOiAkZGFyay1iZy1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS0tLS0gSGVhZGVyXG4kaGVhZGVyLWJnOiAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy8tLS0tLS0gRm9vdGVyXG4kZm9vdGVyLWJnOiByZ2JhKCRwcmltYXJ5LCAuMSkgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWJnOiAkZm9vdGVyLWJnICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBMaW5rc1xuJGxpbmstY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGxpbmstc2hhZGUtcGVyY2VudGFnZTogMjAlICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6IHNoaWZ0LWNvbG9yKCRsaW5rLWNvbG9yLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSAhZGVmYXVsdDtcblxuLy8gR3JpZCBjb2x1bW5zXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQ29udGFpbmVyIHBhZGRpbmdcbiRjb250YWluZXItcGFkZGluZy14OiAkZ3JpZC1ndXR0ZXItd2lkdGggLyAyICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBDb21wb25lbnRzXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogcmdiYSgkZ3JheS05MDAsIC4xNSkgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBhc3BlY3QtcmF0aW9zXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBoZWFkaW5ncy12YXJpYWJsZXNcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAkc3BhY2VyICogMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0gQnV0dG9ucyArIEZvcm1zXG4kYnRuLWNvbG9yczogKFxuICBcInByaW1hcnlcIjogbnVsbCxcbiAgXCJzZWNvbmRhcnlcIiA6IG51bGxcbikgIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6IC4xMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE5hdnNcbi8vLS0tLS0gU2hhcmVkIHZhcmlhYmxlc1xuJG5hdi1jb2xvci1hY2NlbnQ6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb3RzdHJhcCB2YXJpYWJsZXNcbiRuYXYtbGluay1mb250LXNpemU6IG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstY29sb3I6ICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiB0aW50LWNvbG9yKCRwcmltYXJ5LCAzMCUpICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQWxwaGEgdmFyaWFibGVzXG4kbmF2LWNvbG9yLWhvdmVyLWZpcnN0LWxldmVsOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWN1cnJlbnQ6ICRuYXYtY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuJG5hdi1jb2xvci1jdXJyZW50LWZpcnN0LWxldmVsOiAkbmF2LWNvbG9yLWN1cnJlbnQgIWRlZmF1bHQ7XG4kbmF2LWNvbG9yLWFuY2VzdG9yOiBzaGFkZS1jb2xvcigkbmF2LWNvbG9yLWFjY2VudCwgMjAlKSAhZGVmYXVsdDtcbiRuYXYtY29sb3ItYW5jZXN0b3ItZmlyc3QtbGV2ZWw6ICRuYXYtY29sb3ItYW5jZXN0b3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE5hdmJhclxuJHN1Ym1lbnUtYmctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXk6IDMgKiAkc3BhY2VyIC8gNCAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1tYXJnaW4teDogbnVsbCAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1tYXJnaW4teTogbnVsbCAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtY29sb3I6ICRuYXYtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIERyb3Bkb3duc1xuXG4vLy0tLS0tLSBQYWdpbmF0aW9uXG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBNb2RhbHNcbiRtb2RhbC1iYWNrZHJvcC1iZzogYmxhY2sgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG5cbi8vIE1vZGFsIFZpZGVvXG4kbW9kYWwtdmlkZW8tYnRuLWNsb3NlLWJnLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRtb2RhbC12aWRlby1idG4tY2xvc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEltYWdlIHRodW1ibmFpbHMgJiBQaWN0dXJlXG5cbi8vLS0tLS0tIEJyZWFkY3J1bWJzXG4kYnJlYWRjcnVtYi1mb250LXNpemU6IC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE9mZmNhbnZhc1xuJG9mZmNhbnZhcy1ib2R5LWJhY2tkcm9wLWNvbG9yOiByZ2JhKCRtb2RhbC1iYWNrZHJvcC1iZywgJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy13aWRlLXNjcmVlbi1icmVha3BvaW50OiB4eGwgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIE9mZmNhbnZhcyBkZXNrdG9wXG4kb2ZmY2FudmFzLWRhcmstbW9kZS1sb2dvLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWRlc2t0b3Atd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1sb2dvLXdpZHRoOiA2Ni42NiUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWhlYWRlci1hbGlnbmVtZW50OiBjZW50ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1ib3JkZXItYmc6IHJnYmEoJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1jb2xvciwgJG9mZmNhbnZhcy1ncmlkLWJvcmRlci1vcGFjaXR5KSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXR5cGU6IHNvbGlkICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItb3BhY2l0eTogLjEgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLWJnOiByZ2JhKCRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLWNvbG9yLCAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1vcGFjaXR5KTtcbiRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXN0eWxlOiAkb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWJvcmRlci1zaXplICRvZmZjYW52YXMtZ3JpZC1maXJzdC1sdmwtYm9yZGVyLXR5cGUgJG9mZmNhbnZhcy1ncmlkLWZpcnN0LWx2bC1ib3JkZXItY29sb3ItYmcgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtZmlyc3QtbHZsLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLWZpcnN0LXRodW1iLXdpZHRoOiA3NSUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1mb250LXNpemU6IDEuMTI1cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLWxpbmUtaGVpZ2h0OiAxLjI1ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1pY29uLXNpemU6IC44cmVtICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ncmlkLXN1Ym1lbnUtaXRlbS1pbWFnZS1ib3gtc2hhZG93OiAwIDAgMS41cmVtIC43NXJlbSByZ2JhKCRzZWNvbmRhcnksIC4yNSkgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWdyaWQtc3VibWVudS1pdGVtLWhvdmVyLWltYWdlLWJveC1zaGFkb3c6IHZhcigtLWJzLWJveC1zaGFkb3cpO1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1maXJzdC1sdmwtbWVudS1pdGVtLWJvcmRlci1vcGFjaXR5OiAuMTUgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLXN0eWxlOiAxcHggc29saWQgcmdiYSgkb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLWNvbG9yLCAkb2ZmY2FudmFzLWZpcnN0LWx2bC1tZW51LWl0ZW0tYm9yZGVyLW9wYWNpdHkpO1xuXG4vLy0tLS0tLS0gT2ZmY2FudmFzIGRlc2t0b3AgTWVnYSBTdWJtZW51XG4kb2ZmY2FudmFzLXN1Ym1lbnUtaXRlbS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtc3VibWVudS1pdGVtLWJvcmRlci1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi10ZXh0LWNvbG9yKSAhZGVmYXVsdDtcbiRvZmZjYW52YXMtc3VibWVudS1pdGVtLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkICRvZmZjYW52YXMtc3VibWVudS1pdGVtLWJvcmRlci1jb2xvcjtcblxuXG4vLy0tLS0tLSBNZWdhIE1lbnVcbiRtZWdhbWVudS1iZy1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi1iZy1jb2xvcik7XG4kbWVnYW1lbnUtcGFkZGluZy15OiAxcmVtICFkZWZhdWx0O1xuJG1lZ2FtZW51LXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1wYWRkaW5nLXk6IC41cmVtICFkZWZhdWx0O1xuJG1lZ2FtZW51LXRpdGxlLXBhZGRpbmcteDogMXJlbSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1jb2xvcjogdmFyKC0tdGhlbWUtc2tpbi10ZXh0LWNvbG9yKSAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtdGl0bGUtaG92ZXItY29sb3I6ICRuYXYtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRtZWdhbWVudS10aXRsZS1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRtZWdhbWVudS1waWN0dXJlLWhhcy1vdmVybGF5OiB0cnVlICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJG1lZ2FtZW51LW92ZXJsYXktYmctb3BhY2l0eTogLjUgIWRlZmF1bHQ7XG4kbWVnYW1lbnUtb3ZlcmxheS1iZy1jb2xvci1yYmc6IHJnYmEoJG1lZ2FtZW51LW92ZXJsYXktYmctY29sb3IsICRtZWdhbWVudS1vdmVybGF5LWJnLW9wYWNpdHkpICFkZWZhdWx0O1xuJG1lZ2FtZW51LXBpY3R1cmUtYm9yZGVyLXJhZGl1czogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFuY2hvciBvZmZzZXRcbiRhbmNob3Itb2Zmc2V0OiAxcmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBXcCBBbHBoYVxuLy8gbG9nb1xuJGxvZ28tcGFkZGluZy15OiAkbmF2YmFyLXBhZGRpbmcteSAhZGVmYXVsdDtcblxuLy8tLS0tLSBCb290c3RyYXAgY29sb3JzIGNsZWFudXBcbiRicy1ncmF5cy10by1rZWVwOiAoKSAhZGVmYXVsdDtcbiRicy1ncmF5cy10by1yZW1vdmU6IChcIjIwMFwiLCBcIjMwMFwiLCBcIjQwMFwiLCBcIjUwMFwiLCBcIjcwMFwiKSAhZGVmYXVsdDtcbiRicy1jb2xvcnMtdG8ta2VlcDogKCkgIWRlZmF1bHQ7XG4kYnMtY29sb3JzLXRvLXJlbW92ZTogKFwiaW5kaWdvXCIsIFwicGlua1wiLCBcInJlZFwiLCBcInllbGxvd1wiLCBcImdyZWVuXCIsIFwidGVhbFwiLCBcImN5YW5cIiwgXCJsaWdodFwiLCBcImRhcmtcIikgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gQm9vdHN0cmFwIHV0aWxpdGllcyBjbGVhbnVwXG4kYnMtdXRpbGl0aWVzLXRvLXJlbW92ZTogKFwiYmctb3BhY2l0eVwiKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBIZWxwZXJzXG4vLy0tLS0gU2VwYXJhdGUgdGl0bGVcbiRzZXBhcmF0ZS10aXRsZS13aWR0aDogODBweCAhZGVmYXVsdDtcbiRzZXBhcmF0ZS10aXRsZS1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLSBUcmFuc3BhcmVudCBiYWNrZ3JvdW5kc1xuJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcy1vdmVycmlkZXM6ICgpICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllczogKFxuICAxMDogLjEsXG4gIDI1OiAuMjUsXG4gIGxpZ2h0OiAuMjUsXG4gIDM1OiAuMzUsXG4gIDUwOiAuNSxcbiAgbWVkaXVtOiAuNSxcbiAgNjU6IC42NSxcbiAgNzU6IC43NSxcbiAgc3Ryb25nOiAuNzUsXG4gIDkwOiAuOVxuKSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1iZy1vcGFjaXRpZXM6IG1hcC1tZXJnZSgkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzLCAkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzLW92ZXJyaWRlcyk7XG4kdHJhbnNwYXJlbnQtYmctY29sb3JzOiAocHJpbWFyeTogJHRyYW5zcGFyZW50LWJnLW9wYWNpdGllcywgc2Vjb25kYXJ5OiAkdHJhbnNwYXJlbnQtYmctb3BhY2l0aWVzKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBUb29sc1xuLy8gQ29uZmlndXJhdGlvbiAoYWN0aXZhdGUgb25seSB0aG9zZSBuZWVkZWQpXG4kdGVhc2VzOiAoXCJncmlkXCIsIFwibGlzdFwiLCBcInNpbXBsZVwiLCBcInNpbXBsZS1yZWFsaXNhdGlvbnNcIikgIWRlZmF1bHQ7XG4kZm9ybXM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRvcCBCYXJcbiR0b3AtYmFyLWhpZGUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtZGVza3RvcDogJHRvcC1iYXItaGlkZS1vbi1zY3JvbGwtbW9iaWxlICFkZWZhdWx0O1xuJHRvcC1iYXItcGFkZGluZy14OiAkY29udGFpbmVyLXBhZGRpbmcteCAhZGVmYXVsdDtcbiR0b3AtYmFyLXBhZGRpbmcteTogLjVyZW0gIWRlZmF1bHQ7XG4kdG9wLWJhci1oZWlnaHQ6IGlmKG51bGwgIT0gaW5kZXgoJG1lbnVzLCBcInNlY29uZGFyeVwiKSwgMi41cmVtLCAxLjVyZW0pICFkZWZhdWx0O1xuJHRvcC1iYXItb3BhY2l0eTogMSAhZGVmYXVsdDtcbiR0b3AtYmFyLXNvY2lhbC1saW5rcy1tYXJnaW46IG1hcC1nZXQoJHNwYWNlcnMsIDQpICFkZWZhdWx0O1xuJHRvcC1iYXItZGVmYXVsdC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcC1iYXItdHJhbnNwYXJlbnQtaGVhZGVyLWJnLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8tLS0tLSBIZWFkZXJcbiRoZWFkZXItYnRuLWljb246ICRmYS12YXItcGhvbmUtYWx0ICFkZWZhdWx0O1xuJGhlYWRlci1idG4tZmEtc3R5bGU6IFwic29saWRcIiAhZGVmYXVsdDtcbiRoZWFkZXItYnRuLXNob3ctdGV4dC1icmVha3BvaW50OiAkZGVza3RvcC1icmVha3BvaW50ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEZlYXR1cmVkIGltYWdlXG4kZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0OiA1MHZoICFkZWZhdWx0O1xuJGhvbWUtZmVhdHVyZWQtaW1hZ2UtaGVpZ2h0OiA1MHZoICFkZWZhdWx0O1xuJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJGZlYXR1cmVkLWltYWdlLW92ZXJsYXktb3BhY2l0eTogLjMgIWRlZmF1bHQ7XG4kaG9tZS1mZWF0dXJlZC1pbWFnZS10ZXh0LXRyYW5zaXRpb246IHRydWUgIWRlZmF1bHQ7XG4kaG9tZS1mZWF0dXJlZC1pbWFnZS10ZXh0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS41cyAhZGVmYXVsdDtcblxuLy8tLS0tLSBDb250ZW50IEFib3ZlXG4kY29udGVudC1hYm92ZS10ZXh0LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaGFwZXNcbi8vIHBvc3NpYmxlIHNoYXBlcyBhcmU6IChzcXVhcmUsIGNpcmNsZSwgdHJpYW5nbGUsIGxvemVuZ2UpXG4vLyBwb3NzaWJsZSB1bml0cyBhcmU6IChyZW06IDFyZW0sIGVtOiAxZW0sIHZ3OiAyLjV2dylcbiRzaGFwZXM6IChjaXJjbGUpICFkZWZhdWx0O1xuJHNoYXBlcy11bml0czogKHJlbTogMXJlbSkgIWRlZmF1bHQ7XG4kc2hhcGVzLWRlZmF1bHQtdW5pdDogbnRoKG50aCgkc2hhcGVzLXVuaXRzLCAxKSwgMikgIWRlZmF1bHQ7XG4kc2hhcGVzLW1heC1tdWx0aXBsaWVyOiAxMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBUZXh0IGNvbnRyYXN0XG4kYWxwaGEtZW5hYmxlLWJ0bi1jbG9zZS10ZXh0LWNvbnRyYXN0LWNvbG9yczogZmFsc2UgIWRlZmF1bHQ7XG4kYWxwaGEtYnRuLWNsb3NlLXRleHQtY29udHJhc3QtY29sb3JzOiAkdGhlbWUtY29sb3JzICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRleHQgc2hhZG93XG4kYWxwaGEtdGV4dC1zaGFkb3ctY29sb3I6IGNvbG9yLWNvbnRyYXN0KHdoaXRlKSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1yYWRpdXM6IC41cmVtICFkZWZhdWx0O1xuJGFscGhhLXRleHQtc2hhZG93LXJhZGl1cy1zbTogLjI1cmVtICFkZWZhdWx0O1xuJGFscGhhLXRleHQtc2hhZG93LXJhZGl1cy1sZzogMXJlbSAhZGVmYXVsdDtcbiRhbHBoYS10ZXh0LXNoYWRvdy1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tIE92ZXJsYXlcbiRhbHBoYS1vdmVybGF5LWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmcgIWRlZmF1bHQ7XG4kYWxwaGEtb3ZlcmxheS1vcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSAhZGVmYXVsdDtcbiRhbHBoYS1vdmVybGF5LWNvbG9yczogKCkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gWiBpbmRleFxuJGFscGhhLXotaW5kZXhlczogKDEsIDIsIDEwKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTaWRlYmFyXG4kc2lkZWJhcjogZmFsc2UgIWRlZmF1bHQ7XG4kc2lkZWJhci1iZy1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHNpZGViYXItcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMykgIWRlZmF1bHQ7XG4kc2lkZWJhci1ib3JkZXItcmFkaXVzOiAuMzc1cmVtICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0cy1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDYpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LWNvbnRlbnQtc3BhY2VyOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC10aXRsZS1zcGFjZXI6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHNpZGViYXItd2lkZ2V0LXRpdGxlLWZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlYmFyLXdpZGdldC1saXN0LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLSBTdXJ0aXRsZVxuJGFscGhhLXN1cnRpdGxlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXNpemUtZGVza3RvcDogJGFscGhhLXN1cnRpdGxlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGFscGhhLXN1cnRpdGxlLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS1tYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRhbHBoYS1zdXJ0aXRsZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuXG4vLy0tLS0tIENvcHlyaWdodFxuJGFscGhhLWNvcHlyaWdodC1mb250LXNpemU6IC44MjVyZW0gIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstaG92ZXItY29sb3I6IHZhcigtLXRoZW1lLXNraW4tdGV4dC1jb2xvcikgIWRlZmF1bHQ7XG4kYWxwaGEtY29weXJpZ2h0LWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy0tLS0tIE5hdmlnYXRpb25zXG4vLy0tLS0gQ29tbW9uXG4kbmF2LWxpbmstYWZ0ZXItaGVpZ2h0OiAycHggIWRlZmF1bHQ7XG5cbi8vLS0tLSBDZW50ZXJcbiRuYXYtY2VudGVyLWxvZ28tcGFkZGluZy14OiAxcmVtICFkZWZhdWx0O1xuJG5hdi1jZW50ZXItbG9nby1wYWRkaW5nLXk6IDAgIWRlZmF1bHQ7XG5cbi8vLS0tLSBTdWJtZW51IG1vcnBoXG4kc3VibWVudS1tb3JwaC1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1ib3JkZXItcmFkaXVzOiAuNXJlbSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYmctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWRyb3Bkb3duLWxpc3QtYm94LXNoYWRvdzogdmFyKC0tYnMtYm94LXNoYWRvdykgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1kcm9wZG93bi1saXN0LWFycm93LWhlaWdodDogLjc1cmVtICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtZHJvcGRvd24tbGlzdC1hcnJvdy1sZWZ0OiA1cmVtICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtYWN0aXZlLW1lbnUtYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiRzdWJtZW51LW1vcnBoLWFuY2VzdG9ycy1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1jb2xvcjogJG5hdi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1ob3Zlci1jb2xvcjogJG5hdi1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym1lbnUtbW9ycGgtbGluay1jb2xvci1jdXJyZW50OiAkbmF2LWNvbG9yLWN1cnJlbnQgIWRlZmF1bHQ7XG4kc3VibWVudS1tb3JwaC1saW5rLWNvbG9yLWFuY2VzdG9yOiAkbmF2LWNvbG9yLWFuY2VzdG9yICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJyZWFkY3J1bWJzXG4kYnJlYWRjcnVtYi1tb2JpbGUtc2hhZG93LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLW1vYmlsZS1zaGFkb3ctY29sb3I6ICRib2R5LWJnICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItb24tZmVhdHVyZWQtbW9iaWxlLXNoYWRvdy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRlYXNlXG4kdGVhc2UtYmFkZ2UtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0ZWFzZS1iYWRnZS1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG5cbiR0ZWFzZS1vdmVybGF5LXRleHQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0ZWFzZS1vdmVybGF5LXRleHQtc2hhZG93OiAwIDAgLjI1cmVtICMwMDA7XG4kdGVhc2Utb3ZlcmxheS1iZy1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiR0ZWFzZS1vdmVybGF5LWJnLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBXb29Db21tZXJjZVxuXG4kd2MtcHJpbWFyeTogJHByaW1hcnkgIWRlZmF1bHQ7XG4kd29vY29tbWVyY2U6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHdjLWdyZWVuOiAkc3VjY2VzcyAhZGVmYXVsdDtcbiR3Yy1yZWQ6ICRkYW5nZXIgIWRlZmF1bHQ7XG4kd2Mtb3JhbmdlOiAkd2FybmluZyAhZGVmYXVsdDtcbiR3Yy1ibHVlOiAkaW5mbyAhZGVmYXVsdDtcbiR3Yy1wcmltYXJ5LXRleHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1zZWNvbmRhcnk6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2Mtc2Vjb25kYXJ5LXRleHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1oaWdobGlnaHQ6ICNiM2FmNTQgIWRlZmF1bHQ7XG4kd2MtaGlnaGxpZ2h0LXRleHQ6ICR3aGl0ZSAhZGVmYXVsdDtcbiR3Yy1jb250ZW50LWJnOiAjZmZmICFkZWZhdWx0O1xuJHdjLXN1YnRleHQ6ICM3Njc2NzYgIWRlZmF1bHQ7XG5cbiR3Yy1zdG9jay1pbi1zdG9jay1jb2xvcjogJHdjLWdyZWVuICFkZWZhdWx0O1xuJHdjLXN0b2NrLWxvdy1zdG9jay1jb2xvcjogJHdjLW9yYW5nZSAhZGVmYXVsdDtcbiR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWNvbG9yOiAkd2Mtb3JhbmdlICFkZWZhdWx0O1xuJHdjLXN0b2NrLW91dC1vZi1zdG9jay1jb2xvcjogJHdjLXJlZCAhZGVmYXVsdDtcblxuJHdjLXN0b2NrLWluLXN0b2NrLWljb246ICRmYS12YXItY2lyY2xlLWNoZWNrICFkZWZhdWx0O1xuJHdjLXN0b2NrLWxvdy1zdG9jay1pY29uOiAkZmEtdmFyLWNoYXJ0LWxpbmUtZG93biAhZGVmYXVsdDtcbiR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWljb246ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQgIWRlZmF1bHQ7XG4kd2Mtc3RvY2stb3V0LW9mLXN0b2NrLWljb246ICRmYS12YXItY2lyY2xlLXhtYXJrICFkZWZhdWx0O1xuXG4vLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBvbGQgJHdvb2NvbW1lcmNlICYgJHdvb2NvbW1lcmNlU2lkZWJhciB2YXJpYWJsZXNcbkBpZiB0eXBlLW9mKCR3b29jb21tZXJjZSkgPT0gXCJib29sXCIge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZSB2YXJpYWJsZSBhcyBib29sIGlzIGRlcHJlY2F0ZWQsIHVzZSB3b29jb21tZXJjZS5lbmFibGVkIGluIHdvb2NvbW1lcmNlLnlhbWwgaW5zdGVhZC5cIjtcbiAgJHdvb2NvbW1lcmNlOiBtYXAtZXh0ZW5kKG1hcC1nZXQoJGNvbmZpZy1kZWZhdWx0cywgXCJ3b29jb21tZXJjZVwiKSwgKGVuYWJsZWQ6ICR3b29jb21tZXJjZSkpO1xuICAkd29vY29tbWVyY2UtZW5hYmxlZDogbWFwLWdldC1kZWVwKCR3b29jb21tZXJjZSwgXCJlbmFibGVkXCIpO1xufVxuXG5AaWYgdmFyaWFibGUtZXhpc3RzKHdvb2NvbW1lcmNlU2lkZWJhcikge1xuICBAd2FybiBcIlVzYWdlIG9mICR3b29jb21tZXJjZVNpZGViYXIgdmFyaWFibGUgZGVwcmVjYXRlZCwgdXNlICR3b29jb21tZXJjZS1zaWRlYmFyIGluc3RlYWQuXCI7XG4gICR3b29jb21tZXJjZS1zaWRlYmFyOiAkd29vY29tbWVyY2VTaWRlYmFyO1xufVxuXG4vLyBBY2NvdW50XG4kYWNjb3VudC1uYXZpZ2F0aW9uLWljb25zOiAoXG4gIGRhc2hib2FyZDogJGZhLXZhci1ob21lLFxuICBvcmRlcnM6ICRmYS12YXItZG9sbHksXG4gIHN1YnNjcmlwdGlvbnM6ICRmYS12YXItY2xvY2stcm90YXRlLWxlZnQsXG4gIG1lbWJlcnNoaXBzOiAkZmEtdmFyLXVzZXItY3Jvd24sXG4gIGRvd25sb2FkczogJGZhLXZhci1kb3dubG9hZCxcbiAgZWRpdC1hZGRyZXNzOiAkZmEtdmFyLW1hcC1tYXJrZXItZWRpdCxcbiAgcGF5bWVudC1tZXRob2RzOiAkZmEtdmFyLWNyZWRpdC1jYXJkLFxuICBlZGl0LWFjY291bnQ6ICRmYS12YXItdXNlci1lZGl0LFxuICBib29raW5nczogJGZhLXZhci1jYWxlbmRhci1hbHQsXG4gIGN1c3RvbWVyLWxvZ291dDogJGZhLXZhci1zaWduLW91dFxuKSAhZGVmYXVsdDtcblxuLy8gQXR0cmlidXRlc1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWZvbnQtc2l6ZTogLjlyZW0gIWRlZmF1bHQ7XG4kd2MtcHJvZHVjdC1hdHRyaWJ1dGUtZXZlbi1iZzogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHdjLXByb2R1Y3QtYXR0cmlidXRlLWxhYmVsLWNvbG9yOiAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cbi8vIEF2YWlsYWJpbGl0eVxuJHdjLXN0b2NrLWZvbnQtc2l6ZTogLjhyZW0gIWRlZmF1bHQ7XG4kd2Mtc3RvY2staWNvbi13aWR0aDogJGZhLWZ3LXdpZHRoICFkZWZhdWx0O1xuJHdjLXN0b2NrLWljb24tZm9udC1zaXplOiAkZmEtc2l6ZS1zY2FsZS1iYXNlICFkZWZhdWx0O1xuJHdjLXN0b2NrLWluZm86IChcbiAgaW4tc3RvY2s6IChjb2xvcjogJHdjLXN0b2NrLWluLXN0b2NrLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2staW4tc3RvY2staWNvbiksXG4gIGxvdy1zdG9jazogKGNvbG9yOiAkd2Mtc3RvY2stbG93LXN0b2NrLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2stbG93LXN0b2NrLWljb24pLFxuICBhdmFpbGFibGUtb24tYmFja29yZGVyOiAoY29sb3I6ICR3Yy1zdG9jay1hdmFpbGFibGUtb24tYmFja29yZGVyLWNvbG9yLCBpY29uOiAkd2Mtc3RvY2stYXZhaWxhYmxlLW9uLWJhY2tvcmRlci1pY29uKSxcbiAgb3V0LW9mLXN0b2NrOiAoY29sb3I6ICR3Yy1zdG9jay1vdXQtb2Ytc3RvY2stY29sb3IsIGljb246ICR3Yy1zdG9jay1vdXQtb2Ytc3RvY2staWNvbiksXG4pICFkZWZhdWx0O1xuXG5cbi8vLS0tLS0gQWRkIHRvIENhcnQgYnV0dG9uXG4kYnRuLWFkZHRvY2FydC1iZzogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnRuLWFkZHRvY2FydC1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWhvdmVyLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWhvdmVyLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tYWRkdG9jYXJ0LWljb25zOiAoXG4gIHNpbXBsZTogJGZhLXZhci1zaG9wcGluZy1iYXNrZXQsXG4gIGdyb3VwZWQ6ICRmYS12YXItZXllLFxuICB2YXJpYWJsZTogJGZhLXZhci1jb2dzLFxuICBib29raW5nOiAkZmEtdmFyLWNhbGVuZGFyLWRheXMsXG4pICFkZWZhdWx0O1xuXG4vLy0tLS0tIEJvb2tpbmdcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItdWktYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWNvbG9yOiBjb2xvci1jb250cmFzdCgkd2MtYm9va2luZy1kYXRlcGlja2VyLXVpLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stb2RkLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1ob3Zlci1iZzogc2hhZGUtY29sb3IoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmcsIDIwJSkgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLW9kZC1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1vZGQtYmcpICFkZWZhdWx0O1xuJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kd2MtYm9va2luZy1kYXRlcGlja2VyLWJsb2NrLWV2ZW4taG92ZXItYmc6IHNoYWRlLWNvbG9yKCR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1iZywgMjAlKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWRhdGVwaWNrZXItYmxvY2stZXZlbi1jb2xvcjogY29sb3ItY29udHJhc3QoJHdjLWJvb2tpbmctZGF0ZXBpY2tlci1ibG9jay1ldmVuLWJnKSAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWNvc3QtYmc6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1ib29raW5nLWNvc3QtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR3Yy1ib29raW5nLWNvc3QtYmcpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFByaWNlIENvbG9yXG4kd2MtcHJpY2UtY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kd2MtZGVsLXByaWNlLWNvbG9yOiByZ2JhKCRncmF5LTUwMCwgLjYpICFkZWZhdWx0O1xuXG4vLy0tLS0tIERpc2NvdW50IGJhZGdlXG4kYmFkZ2Utb25zYWxlLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJGJhZGdlLW9uc2FsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1pbmkgQ2FydFxuJG1pbmljYXJ0LWNvdW50ZXItYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtY291bnRlci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG1pbmljYXJ0LXRvdGFsLWJnOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuJG1pbmljYXJ0LXRvdGFsLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbWluaWNhcnQtaXRlbS1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kbWluaWNhcnQtcXR5LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8tLS0tLSBDYXJ0XG4kY2FydC1idG4tYWN0aW9ucy1iZzogJHByaW1hcnkgIWRlZmF1bHQ7XG4kY2FydC1idG4tY2hlY2tvdXQtYmc6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gTWVzc2FnZVxuJHdjLW1lc3NhZ2UtYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1tZXNzYWdlLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR3Yy1tZXNzYWdlLWljb24tY29sb3I6ICRncmVlbiAhZGVmYXVsdDtcblxuJHdjLWluZm8tYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1pbmZvLWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR3Yy1pbmZvLWljb24tY29sb3I6ICRibHVlICFkZWZhdWx0O1xuXG4kd2MtZXJyb3ItYmctY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcbiR3Yy1lcnJvci1jb2xvcjogJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kd2MtZXJyb3ItaWNvbi1jb2xvcjogcmVkICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNpZGViYXJcbiR3Yy1zaWRlYmFyLW1vYmlsZS1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1tb2JpbGUtYmFjay10b3Atb2Zmc2V0LXk6IDNyZW0gIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jb2xvcjogcmdiYSgkcHJpbWFyeSwgLjEpICFkZWZhdWx0O1xuJHdjLWZpbHRlci10b2dnbGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtZmlsdGVyLXRvZ2dsZXItYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWJnOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kd2MtY2F0LWxpbmstaG92ZXItYmc6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHdjLWNhdC1saW5rLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tbGluay1jb2xvcjogJG5hdi1jb2xvci1jdXJyZW50ICFkZWZhdWx0O1xuJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHdjLXNpZGViYXItY3VycmVudC10ZXJtLWxpbmstY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstY29sb3I6ICRuYXYtY29sb3ItYW5jZXN0b3IgIWRlZmF1bHQ7XG4kd2Mtc2lkZWJhci1jdXJyZW50LXRlcm0tcGFyZW50LWxpbmstaG92ZXItY29sb3I6IHRpbnQtY29sb3IoJHdjLXNpZGViYXItY3VycmVudC10ZXJtLXBhcmVudC1saW5rLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuXG4vLy0tLS0tIFRvcCBiYXIgaWNvbnNcbi8vLS0tLS0gVG9wIGJhciBpY29uc1xuJHRvcC1iYXItaWNvbnM6IChjb250YWN0OiAkZmEtdmFyLWVudmVsb3BlLCBwaG9uZTogJGZhLXZhci1waG9uZS1hbHQpICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbnMtbWFyZ2luOiAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9wLWJhci1pY29ucy1mYS12YXJpYW50OiBcInNvbGlkXCIgIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29uczogJHRvcC1iYXItaWNvbnMgIWRlZmF1bHQ7XG4kd2MtdG9wLWJhci1pY29ucy1tYXJnaW46ICR0b3AtYmFyLWljb25zLW1hcmdpbiAhZGVmYXVsdDtcbiR3Yy10b3AtYmFyLWljb25zLWZhLXZhcmlhbnQ6ICR0b3AtYmFyLWljb25zLWZhLXZhcmlhbnQgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gVGVhc2VcbiR3Yy10ZWFzZS1wcm9kdWN0LWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1ib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstcGFkZGluZzogbWFwLWdldCgkc3BhY2VycywgMikgIWRlZmF1bHQ7XG4kd2MtdGVhc2UtcHJvZHVjdC1saW5rLWltYWdlLXBhZGRpbmc6ICR3Yy10ZWFzZS1wcm9kdWN0LWxpbmstcGFkZGluZyAqIC0xICFkZWZhdWx0O1xuJHdjLXRlYXNlLXByb2R1Y3QtaG92ZXItYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTb2NpYWwgc2hhcmUgaWNvbnNcbiRzb2NpYWwtc2hhcmUtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRwcmltYXJ5LCAuNSkgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIFdQTUxcbiR3cG1sLWRldjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFscGhhIGJsb2Nrc1xuLy8tLS0tLSBGYWNlYm9vayB2aWRlb1xuJGFscGhhLWZiLXZpZGVvLWxvYWRlci1iZy1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYWxwaGEtZmItdmlkZW8tbG9hZGVyLWNvbG9yOiBjb2xvci1jb250cmFzdCgkYWxwaGEtZmItdmlkZW8tbG9hZGVyLWJnLWNvbG9yKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBHb29nbGUgUmV2aWV3c1xuJGdvb2dsZS1yZXZpZXdzLWJvcmRlci10b3A6IDZweCBzb2xpZCAjNGZjZTZhICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLWJvcmRlci1yYWRpdXM6IC4xNXJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1sb2dvLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLXNjb3JlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1yYXRpbmctc3Rhci1jb2xvcjogI2U3NzExYiAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1yYXRpbmctY291bnQtY29sb3I6ICM3YTdhN2EgIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtei1pbmRleDogMjAwMCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQ6IDJyZW0gIWRlZmF1bHQ7XG4kZ29vZ2xlLXJldmlld3Mtb2Zmc2V0LWJvdHRvbTogJGdvb2dsZS1yZXZpZXdzLW9mZnNldCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQtbGVmdDogJGdvb2dsZS1yZXZpZXdzLW9mZnNldCAhZGVmYXVsdDtcbiRnb29nbGUtcmV2aWV3cy1vZmZzZXQtcmlnaHQ6ICRnb29nbGUtcmV2aWV3cy1vZmZzZXQgIWRlZmF1bHQ7XG4kZ29vZ2xlLWJhZGdlLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuJGdvb2dsZS1yZXZpZXdzLWJhZGdlLWhpZGUtb24tbW9iaWxlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy0tLS0tIEhlcm8gYmFubmVyXG4kYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXk6IDMuNXJlbSAhZGVmYXVsdDtcbiRhbHBoYS1oZXJvLWJhbm5lci1vZmZzZXQtdG9wOiAkYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LXkgIWRlZmF1bHQ7XG4kYWxwaGEtaGVyby1iYW5uZXItb2Zmc2V0LWJvdHRvbTogJGFscGhhLWhlcm8tYmFubmVyLW9mZnNldC15ICFkZWZhdWx0O1xuXG4vLy0tLS0tIEljb25cbiRpY29uLWJsb2NrLWljb24tY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0tIE1hcFxuJGFscGhhLW1hcC1kZWZhdWx0LWhlaWdodDogMjUwcHggIWRlZmF1bHQ7XG4kYWxwaGEtbWFwLWRlZmF1bHQtaGVpZ2h0LWxnOiAkYWxwaGEtbWFwLWRlZmF1bHQtaGVpZ2h0ICogMiAhZGVmYXVsdDtcblxuLy8tLS0tLSBSYXRpbmdcbiRhbHBoYS1yYXRpbmctc3Rhci1vbi1jb2xvcjogJHllbGxvdyAhZGVmYXVsdDtcbiRhbHBoYS1yYXRpbmctc3Rhci1vZmYtY29sb3I6ICRncmF5LTEwMCAhZGVmYXVsdDtcblxuLy8tLS0tLSBSZWluc3VyYW5jZVxuLy8tLS0tIFNvdWJhIE1hZ2Fzc2Egc3R5bGVzXG4kc291YmEtcmVpbnN1cmFuY2UtY29sb3JzOiAocHJpbWFyeSwgc2Vjb25kYXJ5KSAhZGVmYXVsdDtcbiRzb3ViYS1yZWluc3VyYW5jZS10b3Atb2Zmc2V0OiAycmVtICFkZWZhdWx0O1xuXG4vLy0tLS0tIFNlcnZpY2VzXG4kc2VydmljZXMtYmctaG92ZXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvci1saWdodDogJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLWNvbG9yLWRhcms6ICRzZXJ2aWNlcy1iZy1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1iZy1ob3Zlci1vcGFjaXR5OiAxICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLW9wYWNpdHktbGlnaHQ6ICRzZXJ2aWNlcy1iZy1ob3Zlci1vcGFjaXR5ICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJnLWhvdmVyLW9wYWNpdHktZGFyazogLjIgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEFscGhhIG1vZHVsZXNcbi8vLS0tLS0gQ29tbW9uXG4kbG9hZGluZy1tb2R1bGVzLWJnLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtbG9hZGVyLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtbG9hZGVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRsb2FkaW5nLW1vZHVsZXMtei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLS0tLS0gRGVmYXVsdFxuLy8tLS0tIFBhZ2Ugc2Nyb2xsXG4kaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQ6IDE1dmggIWRlZmF1bHQ7XG4kcGFnZS1zY3JvbGwtbGlzdGVuZXItaGVpZ2h0OiAkaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQgLyAyICFkZWZhdWx0O1xuJHBhZ2Utc2Nyb2xsLWxpc3RlbmVyLWhlaWdodC1kZXNrdG9wOiAkaG9tZS1wYWdlLXNjcm9sbC1saXN0ZW5lci1oZWlnaHQgLyAzICFkZWZhdWx0O1xuXG4vLy0tLS0tIE9wdGlvbmFsXG4vLy0tLS0gQmFjayB0byB0b3BcbiRiYWNrLXRvLXRvcC1vZmZzZXQteDogMXJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC1vZmZzZXQteTogMXJlbSAhZGVmYXVsdDtcbiRiYWNrLXRvLXRvcC1kZWZhdWx0LWJ1dHRvbi10cmFuc2xhdGUteTogJGJhY2stdG8tdG9wLW9mZnNldC15ICogLTIgIWRlZmF1bHQ7XG5cbi8vLS0tLSBIZWFkZXIgc3RhdGVzXG4vLy0tLSBTaHJ1bmsgbG9nb1xuJHNocnVuay1sb2dvLWhlaWdodC1yYXRpbzogLjggIWRlZmF1bHQ7XG5cbi8vLS0tLSBSYW5nZSBzbGlkZXJcbiRyYW5nZS1zbGlkZXItd3JhcHBlci1oZWlnaHQ6IDNyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBSb3VzcXVpbGxlXG4kcm91c3F1aWxsZS1iYW5uZXItbG9nby1tYXJnaW46IDAgYXV0byAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbi10YWJsZXQ6IDAgYXV0byBtYXAtZ2V0KCRzcGFjZXJzLCA4KSAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLW1hcmdpbi1tb2JpbGU6IDAgYXV0byBtYXAtZ2V0KCRzcGFjZXJzLCA0KSAhZGVmYXVsdDtcbiRyb3VzcXVpbGxlLWJhbm5lci1sb2dvLWhlaWdodDogJGxvZ28taGVpZ2h0ICFkZWZhdWx0O1xuJHJvdXNxdWlsbGUtYmFubmVyLWxvZ28tbWF4LWhlaWdodDogNXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFNlcnZpY2VzIEJ1dHRvblxuJHNlcnZpY2VzLWJ1dHRvbi1tb2JpbGUtb2Zmc2V0OiAuNXJlbSAhZGVmYXVsdDtcbiRzZXJ2aWNlcy1idXR0b24tZGVza3RvcC1vZmZzZXQtZW5kOiAyLjVyZW0gIWRlZmF1bHQ7XG4kc2VydmljZXMtYnV0dG9uLWZvb3Rlci1wYWRkaW5nLWJvdHRvbTogNC41cmVtICFkZWZhdWx0O1xuJHNlcnZpY2VzLWJ1dHRvbi1iYWNrLXRvLXRvcC1vZmZzZXQtYm90dG9tOiAkc2VydmljZXMtYnV0dG9uLWZvb3Rlci1wYWRkaW5nLWJvdHRvbSArIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLSBTd2lwZXJcbiRzd2lwZXItdGhlbWUtY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJHN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tIFRyYW5zcGFyZW50IEhlYWRlclxuJHRyYW5zcGFyZW50LWhlYWRlci1iZy1jb2xvcjogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgJGdyYXktNzAwLCB0cmFuc3BhcmVudCkgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXRleHQtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLXNoYWRvdy1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItc2hhZG93LXJhZGl1czogLjEyNXJlbSAhZGVmYXVsdDtcbiR0cmFuc3BhcmVudC1oZWFkZXItbG9nby1jb2xvcjogJHRyYW5zcGFyZW50LWhlYWRlci10ZXh0LWNvbG9yICFkZWZhdWx0O1xuJHRyYW5zcGFyZW50LWhlYWRlci1sb2dvLXNoYWRvdy1jb2xvcjogJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNwYXJlbnQtaGVhZGVyLWxvZ28tc2hhZG93LXJhZGl1czogJHRyYW5zcGFyZW50LWhlYWRlci1zaGFkb3ctcmFkaXVzICFkZWZhdWx0O1xuXG4vLy0tLS0gSW1hZ2UgR2FsbGVyeVxuLy8gXCJvdmVybGF5XCIsIFwiZGVmYXVsdC1vcGFjaXR5XCIsIFwiaG92ZXItb3BhY2l0eVwiLCBcImN1c3RvbVwiXG4kaW1hZ2UtZ2FsbGVyeS1hbmltYXRpb24tdHlwZTogXCJvdmVybGF5XCIgIWRlZmF1bHQ7XG5cbi8vLS0tIE9wYWNpdHlcbiRpbWFnZS1nYWxsZXJ5LWltYWdlLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuXG4vLy0tLSBPdmVybGF5XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1vcGFjaXR5OiAuMTUgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoMTI1JSkgY29udHJhc3QoMTI1JSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBzY2FsZSguNSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb246ICRmYS12YXItc2VhcmNoLXBsdXMgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWljb24tc3R5bGU6IFwicmVndWxhclwiICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pY29uLW9wYWNpdHk6IC44NSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi10ZXh0LXNoYWRvdzogMCAwIC4xMjVyZW0gcmdiYShibGFjaywgLjc1KSAhZGVmYXVsdDtcbiRpbWFnZS1nYWxsZXJ5LW92ZXJsYXktaWNvbi10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEuNXJlbSkgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLW9mZnNldDogLjEgIWRlZmF1bHQ7XG4kaW1hZ2UtZ2FsbGVyeS1vdmVybGF5LWltYWdlLXNjYWxlOiAxICsgJGltYWdlLWdhbGxlcnktb3ZlcmxheS1pbWFnZS1vZmZzZXQgIWRlZmF1bHQ7XG5cbi8vLS0tLSBMZWFmbGV0IE1hcFxuJG1hcC1tYXJrZXItY29sb3ItZGVmYXVsdDogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRtYXAtbWFya2VyLWNvbG9yLWxvYWRpbmc6IGdyYXkgIWRlZmF1bHQ7XG4kbWFwLW1hcmtlci1jb2xvci1hY3RpdmU6ICRwcmltYXJ5ICFkZWZhdWx0O1xuXG4vLy0tLS0gTWFzb25yeVxuJG1hc29ucnktZ2FsbGVyeS1nYXA6IC43NXJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIFdvb0NvbW1lcmNlIFNlYXJjaCBPdmVybGF5XG4kc2VhcmNoLW92ZXJsYXktYmctY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWJnLW9wYWNpdHk6IC4yNSAhZGVmYXVsdDtcbiRzZWFyY2gtb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoLjEyNXJlbSkgIWRlZmF1bHQ7XG4kc2VhcmNoLW92ZXJsYXktZm9ybS1mb250LXNpemU6IC45cmVtICFkZWZhdWx0O1xuJHNlYXJjaC1vdmVybGF5LWZvcm0tYm9yZGVyLXJhZGl1czogLjI1cmVtICFkZWZhdWx0O1xuXG4vLy0tLS0gV29vQ29tbWVyY2UgUmV2aWV3IGZvcm1cbiR3b29jb21tZXJjZS1yZXZpZXctZm9ybS1zdGFycy1mb250c2l6ZTogMnJlbSAhZGVmYXVsdDtcblxuLy8tLS0tLS0gR3V0ZW5iZXJnIGJsb2Nrc1xuLy8tLS0tLSBSYW5rIE1hdGhcbi8vLS0tLSBGQVFcbiRyYW5rLW1hdGgtZmFxLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3gtc2hhZG93OiAwIC41cmVtIC41cmVtIC0uMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLWJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJHNwYWNlcnMsIDEpICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtYm9yZGVyLWNvbG9yOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1ib3JkZXI6IDFweCBzb2xpZCAkcmFuay1tYXRoLWZhcS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1pdGVtLXBhZGRpbmc6IG1hcC1nZXQoJHNwYWNlcnMsIDMpICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24tZ2FwOiBtYXAtZ2V0KCRzcGFjZXJzLCAyKSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLXBhZGRpbmctYm90dG9tOiAkcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1nYXAgIWRlZmF1bHQ7XG4kcmFuay1tYXRoLWZhcS1xdWVzdGlvbi1ib3JkZXItY29sb3I6ICRyYW5rLW1hdGgtZmFxLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWJvcmRlci1ib3R0b206ICRyYW5rLW1hdGgtZmFxLWJvcmRlciAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb246ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24taWNvbi1jb2xvcjogJHNlY29uZGFyeSAhZGVmYXVsdDtcbiRyYW5rLW1hdGgtZmFxLXF1ZXN0aW9uLWljb24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJHJhbmstbWF0aC1mYXEtcXVlc3Rpb24taWNvbi1vZmZzZXQtdG9wOiAuMnJlbSAhZGVmYXVsdDtcblxuLy8tLS0tIEltYWdlXG4kZ3V0ZW5iZXJnLWltYWdlLXJhdGlvczogKFwiMVwiLCBcIjQvM1wiLCBcIjMvNFwiLCBcIjMvMlwiLCBcIjIvM1wiLCBcIjE2LzlcIiwgXCI5LzE2XCIpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBGb250cyBvcHRpbWl6YXRpb25cbi8vLS0tLS0gRm9udEF3ZXNvbWUgaWNvbnNcbiRmb250LWZhLXBybzogXCJGb250IEF3ZXNvbWUgNiBQcm9cIjtcbiRmb250LWZhLWJyYW5kczogXCJGb250IEF3ZXNvbWUgNiBCcmFuZHNcIjtcbi8vIHNlZSAuLi92ZW5kb3JzL19mb250YXdlc29tZS5zY3NzIGZvciBpY29ucyBwcm9jZXNzaW5nXG4vLyBzZWUgLi4vdmVuZG9ycy9fZm9udGF3ZXNvbWUtaWNvbnMuc2NzcyBmb3IgYXZhaWxhYmxlIGljb25zICYgaWNvbnMgZ3JvdXBzXG4vLyAkY3VzdG9tLXVzZWQtZmEtaWNvbnM6IChmb250LWF3ZXNvbWUtZmxhZzogJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZywgcGx1czogJGZhLXZhci1wbHVzKTtcbiRjdXN0b20tdXNlZC1mYS1pY29uczogKCkgIWRlZmF1bHQ7XG4vLyAkdXNlZC1mYS1pY29ucy1ncm91cHM6IChhY2NvbW1vZGF0aW9ucywgd29vY29tbWVyY2UpO1xuJHVzZWQtZmEtaWNvbnMtZ3JvdXBzOiAoKSAhZGVmYXVsdDtcblxuLy8tLS0tLSBJY29ucyBsaXN0XG4kYWxwaGEtZmEtaWNvbnMtbGlzdDogKCkgIWRlZmF1bHQ7XG4kYWxwaGEtZmEtaWNvbnMtbGlzdC1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYWxwaGEtZmEtaWNvbnMtbGlzdC1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kYWxwaGEtZmEtaWNvbnMtbGlzdC1jb2xvcnM6ICgpICFkZWZhdWx0O1xuXG4vLy0tLS0tLSBTbGlja1xuJHNsaWNrLWZvbnQtcGF0aDogXCJ+c2xpY2stY2Fyb3VzZWwvc2xpY2svZm9udHMvXCI7XG4kc2xpY2stZm9udC1mYW1pbHk6ICRmb250LWZhLXBybztcblxuLy8tLS0tLS0gQ0Y3IEVmZmVjdFxuJGNvbG9yLWZvcm0tZmlsbGVkOiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRmb3JtLWd1dHRlcjogLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLS0tLS0tIEJvb3RzdHJhcCBSZXNwb25zaXZlIEltYWdlIFJhdGlvXG4vLyBtdXN0IGJlIGEgbGlzdCBvZiByYXRpb3MgZm9ybWF0dGVkIGxpa2UgdGhpczogKDEgMSksICg0IDMpLCAoMyAyKSwgKDE2IDkpLCAoMjEgOSlcbiRtZWRpYS1yYXRpb3M6ICgpICFkZWZhdWx0O1xuIiwiJHRoZW1lOiAoJ2NvbG9ycyc6ICgncHJpbWFyeSc6ICNCQTk2NEUsJ3NlY29uZGFyeSc6ICMwODI3NDIsJ2JvZHknOiAjMDgyNzQyLCdib2R5X2JnJzogI2ZmZmZmZiwpLCdsb2dvJzogKCdoZWlnaHQnOiBcIjUuNzVyZW1cIiwpLCd0eXBvZ3JhcGh5JzogKCdmb250JzogKCdmYW1pbHlfc2Fuc19zZXJpZic6IEJhcmxvdywnc2l6ZSc6IFwiMS4wNjNyZW1cIiwnd2VpZ2h0JzogNDAwLCksJ2hlYWRpbmdzJzogKCdjb2xvcic6IG51bGwsJ2ZvbnQnOiAoJ2ZhbWlseSc6IEJhcmxvdywnd2VpZ2h0JzogNTAwLCksJ3NpemVzJzogKCdoMSc6IFwiMi41cmVtXCIsJ2gyJzogXCIycmVtXCIsJ2gzJzogXCIxLjc1cmVtXCIsJ2g0JzogXCIxLjVyZW1cIiwnaDUnOiBcIjEuMjVyZW1cIiwnaDYnOiBcIjFyZW1cIiwpLCdob21lX3NpemVzJzogKCdoMSc6IFwiMy43NXJlbVwiLCdoMic6IFwiMi44cmVtXCIsJ2gzJzogXCIyLjJyZW1cIiwnaDQnOiBcIjEuODdyZW1cIiwnaDUnOiBcIjEuNTZyZW1cIiwpLCksKSwpOyIsIi5icmVhZGNydW1iIHtcbiAgLy8gc2Nzcy1kb2NzLXN0YXJ0IGJyZWFkY3J1bWItY3NzLXZhcnNcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXg6ICN7JGJyZWFkY3J1bWItcGFkZGluZy14fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXk6ICN7JGJyZWFkY3J1bWItcGFkZGluZy15fTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAjeyRicmVhZGNydW1iLW1hcmdpbi1ib3R0b219O1xuICBAaW5jbHVkZSByZnMoJGJyZWFkY3J1bWItZm9udC1zaXplLCAtLSN7JHByZWZpeH1icmVhZGNydW1iLWZvbnQtc2l6ZSk7XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItYmc6ICN7JGJyZWFkY3J1bWItYmd9O1xuICAtLSN7JHByZWZpeH1icmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICN7JGJyZWFkY3J1bWItYm9yZGVyLXJhZGl1c307XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogI3skYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteDogI3skYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteH07XG4gIC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICN7JGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yfTtcbiAgLy8gc2Nzcy1kb2NzLWVuZCBicmVhZGNydW1iLWNzcy12YXJzXG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1wYWRkaW5nLXkpIHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLXBhZGRpbmcteCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLW1hcmdpbi1ib3R0b20pO1xuICBAaW5jbHVkZSBmb250LXNpemUodmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZm9udC1zaXplKSk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWJnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyh2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzKSk7XG59XG5cbi5icmVhZGNydW1iLWl0ZW0ge1xuICAvLyBUaGUgc2VwYXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYnMgKGJ5IGRlZmF1bHQsIGEgZm9yd2FyZC1zbGFzaDogXCIvXCIpXG4gICsgLmJyZWFkY3J1bWItaXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLXBhZGRpbmcteCk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IC8vIFN1cHByZXNzIGlubGluZSBzcGFjaW5ncyBhbmQgdW5kZXJsaW5pbmcgb2YgdGhlIHNlcGFyYXRvclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItaXRlbS1wYWRkaW5nLXgpO1xuICAgICAgY29sb3I6IHZhcigtLSN7JHByZWZpeH1icmVhZGNydW1iLWRpdmlkZXItY29sb3IpO1xuICAgICAgY29udGVudDogdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyKSkgI3tcIi8qIHJ0bDpcIn0gdmFyKC0tI3skcHJlZml4fWJyZWFkY3J1bWItZGl2aWRlciwgZXNjYXBlLXN2ZygkYnJlYWRjcnVtYi1kaXZpZGVyLWZsaXBwZWQpKSAje1wiKi9cIn07XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS0jeyRwcmVmaXh9YnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcik7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cbiIsIkBpbXBvcnQgXCJ+Ym9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiO1xuXG4uYnJlYWRjcnVtYnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIG1hcmdpbi1yaWdodDogY2FsYygjeyRjb250YWluZXItcGFkZGluZy14fSAqIC0xKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoI3skY29udGFpbmVyLXBhZGRpbmcteH0gKiAtMSk7XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHBhZGRpbmc6ICRjb250YWluZXItcGFkZGluZy14O1xuICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yKSAwLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yLWVuZCkpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3ItZW5kKSAwLCB2YXIoLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yKSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIC5icmVhZGNydW1iIHtcbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm9uLWZlYXR1cmVkIHtcbiAgICAtLWFscGhhLWJyZWFkY3J1bWJzLW1vYmlsZS1zaGFkb3ctY29sb3I6ICN7JGJyZWFkY3J1bWItb24tZmVhdHVyZWQtbW9iaWxlLXNoYWRvdy1jb2xvcn07XG4gICAgLS1hbHBoYS1icmVhZGNydW1icy1tb2JpbGUtc2hhZG93LWNvbG9yLWVuZDogI3tyZ2JhKCRicmVhZGNydW1iLW9uLWZlYXR1cmVkLW1vYmlsZS1zaGFkb3ctY29sb3IsIDApfTtcbiAgICB0b3A6IHZhcigtLWZlYXR1cmVkLWltYWdlLWhlaWdodCk7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblxuICAgIC5icmVhZGNydW1iIHtcbiAgICAgIC0tYnMtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICAtLWJzLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6IGN1cnJlbnRjb2xvcjtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5icmVhZGNydW1icy1vbi1mZWF0dXJlZCB7XG4gICY6bm90KC5oYXMtdHJhbnNwYXJlbnQtaGVhZGVyKSB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1oZWFkZXItaGVpZ2h0KSArIHZhcigtLWZlYXR1cmVkLWltYWdlLWhlaWdodCkpO1xuICAgICAgdHJhbnNpdGlvbjogdG9wIC4zcyBlYXNlO1xuICAgIH1cbiAgfVxuXG4gICYuc2VhcmNoIHtcbiAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRzcGFjZXJzLCA4KTtcbiAgICB9XG4gIH1cbn1cblxuLmJyZWFkY3J1bWItaXRlbSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtIHtcbiAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUtYmVmb3JlKCRmYS12YXItYW5nbGUtcmlnaHQsIGZhbHNlLCBcImxpZ2h0XCIsIDApO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC4yNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gZnVuY3Rpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBmYS1jb250ZW50OiBjb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4vLyBmYS1kaXZpZGU6IE9yaWdpbmFsbHkgb2J0YWluZWQgZnJvbSB0aGUgQm9vdHN0cmFwIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcFxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyOiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbi8vXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAyMSBUd2l0dGVyLCBJbmMuXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTEtMjAyMSBUaGUgQm9vdHN0cmFwIEF1dGhvcnNcbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5AZnVuY3Rpb24gZmEtZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEwKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAsIDEsIC0xKTtcbiAgJGRpdmlkZW5kOiBhYnMoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3I6IGFicygkZGl2aXNvcik7XG4gICRxdW90aWVudDogMDtcbiAgJHJlbWFpbmRlcjogJGRpdmlkZW5kO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yIFwiQ2Fubm90IGRpdmlkZSBieSAwXCI7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDEge1xuICAgIEByZXR1cm4gJGRpdmlkZW5kO1xuICB9XG4gIEB3aGlsZSAkcmVtYWluZGVyID49ICRkaXZpc29yIHtcbiAgICAkcXVvdGllbnQ6ICRxdW90aWVudCArIDE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAtICRkaXZpc29yO1xuICB9XG4gIEBpZiAkcmVtYWluZGVyID4gMCBhbmQgJHByZWNpc2lvbiA+IDAge1xuICAgICRyZW1haW5kZXI6IGZhLWRpdmlkZSgkcmVtYWluZGVyICogMTAsICRkaXZpc29yLCAkcHJlY2lzaW9uIC0gMSkgKiAuMTtcbiAgfVxuICBAcmV0dXJuICgkcXVvdGllbnQgKyAkcmVtYWluZGVyKSAqICRzaWduO1xufVxuIiwiLnBhZ2luYXRpb24taW5mb3JtYXRpb24ge1xuICBmb250LXNpemU6IC44cmVtO1xufVxuXG4ucGFnaW5hdGlvbiB7XG4gIC5wYWdlLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAucGFnZS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICYuZG90cyB7XG4gICAgICAgIHBhZGRpbmc6IC4zNzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/