@charset "UTF-8";
/**
 * Master SCSS File (AQNA)
 * Version 2.0.1
 * Built with foundation-sites 6.4.3
 */
/* Custom Functions (not Foundation-based) */
/* // Generates List of Headings Automatically // */
/* // Modified version of @https://github.com/agorilla/sass-functions/blob/master/_map-get-prev.scss // */
/* // Function to get previous map item // */
/**
 * Foundation for Sites
 * Version 6.6.3
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/* Aquent Mixins */
/* Aquent Background Classes Mixin */
/* Loading Graphic */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=54.125em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%;
  height: 100%;
  margin: auto;
  scroll-behavior: smooth; }

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

body {
  padding: 0;
  margin: 0;
  background: #f3f0eb;
  font-family: "PT Serif", serif;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  height: 100%;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 3.125rem; }

select {
  box-sizing: border-box;
  width: 100%;
  border-radius: 3.125rem; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 3.125rem;
  background: transparent;
  line-height: 1; }

pre {
  overflow: auto; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

figure {
  margin: 0; }

iframe {
  width: 100%;
  border: 0; }

.row {
  max-width: 81.25rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 54.125em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column, .columns, .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

.column.row.row, .row.row.columns {
  float: none; }

.row .column.row.row, .row .row.row.columns {
  margin-right: 0;
  margin-left: 0;
  padding-right: 0;
  padding-left: 0; }

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

.small-offset-0 {
  margin-left: 0%; }

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

.small-offset-1 {
  margin-left: 8.33333%; }

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

.small-offset-2 {
  margin-left: 16.66667%; }

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

.small-offset-3 {
  margin-left: 25%; }

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

.small-offset-4 {
  margin-left: 33.33333%; }

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

.small-offset-5 {
  margin-left: 41.66667%; }

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

.small-offset-6 {
  margin-left: 50%; }

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

.small-offset-7 {
  margin-left: 58.33333%; }

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

.small-offset-8 {
  margin-left: 66.66667%; }

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

.small-offset-9 {
  margin-left: 75%; }

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

.small-offset-10 {
  margin-left: 83.33333%; }

.small-12 {
  width: 100%; }

.small-offset-11 {
  margin-left: 91.66667%; }

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

.small-collapse > .column, .small-collapse > .columns {
  padding-right: 0;
  padding-left: 0; }

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

.small-uncollapse > .column, .small-uncollapse > .columns {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered, .small-push-0, .small-pull-0 {
  position: static;
  margin-right: 0;
  margin-left: 0; }
  .small-uncentered, .small-uncentered:last-child:not(:first-child), .small-push-0, .small-push-0:last-child:not(:first-child), .small-pull-0, .small-pull-0:last-child:not(:first-child) {
    float: left;
    clear: none; }
  .small-uncentered:last-child:not(:first-child), .small-push-0:last-child:not(:first-child), .small-pull-0:last-child:not(:first-child) {
    float: right; }

@media print, screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered, .medium-push-0, .medium-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .medium-uncentered, .medium-uncentered:last-child:not(:first-child), .medium-push-0, .medium-push-0:last-child:not(:first-child), .medium-pull-0, .medium-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .medium-uncentered:last-child:not(:first-child), .medium-push-0:last-child:not(:first-child), .medium-pull-0:last-child:not(:first-child) {
      float: right; } }

@media print, screen and (min-width: 54.125em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered, .large-push-0, .large-pull-0 {
    position: static;
    margin-right: 0;
    margin-left: 0; }
    .large-uncentered, .large-uncentered:last-child:not(:first-child), .large-push-0, .large-push-0:last-child:not(:first-child), .large-pull-0, .large-pull-0:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .large-uncentered:last-child:not(:first-child), .large-push-0:last-child:not(:first-child), .large-pull-0:last-child:not(:first-child) {
      float: right; } }

.column-block {
  margin-bottom: 1.25rem; }
  .column-block > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 81.25rem;
  margin-left: auto;
  margin-right: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-container {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    @media print, screen and (min-width: 40em) {
      .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

.grid-x {
  display: flex;
  flex-flow: row wrap; }

.cell {
  flex: 0 0 auto;
  min-height: 0px;
  min-width: 0px;
  width: 100%; }
  .cell.auto {
    flex: 1 1 0px; }
  .cell.shrink {
    flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    flex-basis: auto; } }

@media print, screen and (min-width: 54.125em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 54.125em) {
  .grid-x > .large-auto {
    flex: 1 1 0px;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.625rem;
  margin-right: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.9375rem;
      margin-right: -0.9375rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 1.25rem);
    margin-left: 0.625rem;
    margin-right: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.875rem);
      margin-left: 0.9375rem;
      margin-right: 0.9375rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 1.25rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 1.25rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 1.25rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 1.25rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 1.25rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 1.25rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 1.25rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 1.25rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 1.25rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.875rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 54.125em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.875rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.875rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.875rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.875rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.875rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.875rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.875rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.875rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.875rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.875rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.875rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.875rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.625rem;
  margin-left: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; } }

.grid-padding-x > .cell {
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media print, screen and (min-width: 54.125em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 1.25rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 1.25rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 1.25rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 1.25rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 1.25rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 1.25rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 1.25rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 1.25rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.875rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

@media print, screen and (min-width: 54.125em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.875rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.875rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.875rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.875rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.875rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.875rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.875rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.875rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media print, screen and (min-width: 54.125em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 54.125em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media print, screen and (min-width: 54.125em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

@media print, screen and (min-width: 54.125em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 0.9375rem); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 0.9375rem); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 0.9375rem); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 0.9375rem); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 0.9375rem); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 0.9375rem); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 0.9375rem); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 0.9375rem); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 0.9375rem); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 0.9375rem); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 0.9375rem); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 0.9375rem); } }

.grid-y {
  display: flex;
  flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex-basis: auto; } }
  @media print, screen and (min-width: 54.125em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media print, screen and (min-width: 54.125em) {
    .grid-y > .large-auto {
      flex: 1 1 0px;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }

.grid-padding-y > .cell {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.9375rem;
      padding-bottom: 0.9375rem; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 54.125em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: flex;
  flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media print, screen and (min-width: 54.125em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: flex;
    flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  width: auto;
  overflow: hidden;
  position: relative;
  flex-wrap: nowrap;
  align-items: stretch;
  height: 100vh; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh; } }

@media print, screen and (min-width: 54.125em) {
  .grid-y.large-grid-frame {
    width: auto;
    overflow: hidden;
    position: relative;
    flex-wrap: nowrap;
    align-items: stretch;
    height: 100vh; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media print, screen and (min-width: 54.125em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.625rem;
  margin-bottom: -0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.9375rem;
      margin-bottom: -0.9375rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 1.25rem);
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.875rem);
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 1.25rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 1.25rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 1.25rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 1.25rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 1.25rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 1.25rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 1.25rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 1.25rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 1.25rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 1.25rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 1.25rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.875rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.875rem); } }
  @media print, screen and (min-width: 54.125em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.875rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.875rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.875rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.875rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.875rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.875rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.875rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.875rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.875rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.875rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.875rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.875rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 1.25rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }
  @media print, screen and (min-width: 54.125em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.875rem); } }

@media print, screen and (min-width: 54.125em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.875rem); } }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
dl.icon-list dt,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  margin-bottom: 1.875rem;
  font-size: inherit;
  line-height: 1.5;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: 600;
  line-height: inherit; }

small {
  font-size: 0.875rem;
  line-height: inherit; }

h1, .h1,
h2, .h2,
h3, .h3,
h4,
dl.icon-list dt, .h4,
h5, .h5, .stats-2col h3, .stats-2col h4, .stats-2col dl.icon-list dt, dl.icon-list .stats-2col dt, .stats-2col h5, .stats-2col h6,
h6, .h6 {
  font-family: "neue-haas-unica", sans-serif;
  font-style: normal;
  font-weight: 600;
  color: #000;
  text-rendering: optimizeLegibility; }
  h1 small, .h1 small,
  h2 small, .h2 small,
  h3 small, .h3 small,
  h4 small,
  dl.icon-list dt small, .h4 small,
  h5 small, .h5 small, .stats-2col h3 small, .stats-2col h4 small, .stats-2col dl.icon-list dt small, dl.icon-list .stats-2col dt small, .stats-2col h5 small, .stats-2col h6 small,
  h6 small, .h6 small {
    line-height: 0;
    color: inherit; }

h1, .h1 {
  font-size: 2.375rem;
  line-height: 1;
  margin-top: 0;
  margin-bottom: 1.875rem; }

h2, .h2 {
  font-size: 1.875rem;
  line-height: 1.06667;
  margin-top: 0;
  margin-bottom: 1.875rem; }

h3, .h3 {
  font-size: 1.875rem;
  line-height: 1.06667;
  margin-top: 0;
  margin-bottom: 1.875rem; }


h4,
dl.icon-list dt, .h4 {
  font-size: 1.875rem;
  line-height: 1.06667;
  margin-top: 0;
  margin-bottom: 1.875rem; }

h5, .h5, .stats-2col h3, .stats-2col h4, .stats-2col dl.icon-list dt, dl.icon-list .stats-2col dt, .stats-2col h5, .stats-2col h6 {
  font-size: 1.5rem;
  line-height: 1.08333;
  margin-top: 0;
  margin-bottom: 1.875rem; }

h6, .h6 {
  font-size: 1.25rem;
  line-height: 1.1;
  margin-top: 0;
  margin-bottom: 1.875rem; }

@media print, screen and (min-width: 40em) {
  h1, .h1 {
    font-size: 3.4375rem;
    line-height: 1.09091;
    margin-bottom: 1.875rem; }
  h2, .h2 {
    font-size: 3.125rem;
    line-height: 1.1;
    margin-bottom: 1.875rem; }
  h3, .h3 {
    font-size: 2.5rem;
    line-height: 1.125;
    margin-bottom: 1.875rem; }
  
  h4,
  dl.icon-list dt, .h4 {
    font-size: 2rem;
    line-height: 1.15625;
    margin-bottom: 1.875rem; }
  h5, .h5, .stats-2col h3, .stats-2col h4, .stats-2col dl.icon-list dt, dl.icon-list .stats-2col dt, .stats-2col h5, .stats-2col h6 {
    font-size: 1.5625rem;
    line-height: 1.2;
    margin-bottom: 1.875rem; }
  h6, .h6 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin-bottom: 1.875rem; } }

@media print, screen and (min-width: 54.125em) {
  h1, .h1 {
    font-size: 3.9375rem;
    line-height: 1.07937;
    margin-bottom: 1.875rem; }
  h2, .h2 {
    font-size: 3.4375rem;
    line-height: 1.09091;
    margin-bottom: 1.875rem; }
  h3, .h3 {
    font-size: 2.8125rem;
    line-height: 1.11111;
    margin-bottom: 1.875rem; }
  
  h4,
  dl.icon-list dt, .h4 {
    font-size: 2.1875rem;
    line-height: 1.14286;
    margin-bottom: 1.875rem; }
  h5, .h5, .stats-2col h3, .stats-2col h4, .stats-2col dl.icon-list dt, dl.icon-list .stats-2col dt, .stats-2col h5, .stats-2col h6 {
    font-size: 1.5625rem;
    line-height: 1.2;
    margin-bottom: 1.875rem; }
  h6, .h6 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin-bottom: 1.875rem; } }

a {
  line-height: inherit;
  color: #000;
  text-decoration: none;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1a1919; }
  a img {
    border: 0; }

hr {
  clear: both;
  max-width: 81.25rem;
  height: 0;
  margin: 1rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 0.0625rem solid #ACA39A;
  border-left: 0; }

ul,
ol,
dl {
  margin-bottom: 1.875rem;
  list-style-position: outside;
  line-height: 1.5; }

li {
  font-size: inherit; }

ul {
  margin-left: 1.25rem;
  list-style-type: disc; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0;
    font-weight: 600; }

blockquote {
  margin: 0 0 1.875rem;
  padding: 0;
  border-left: none; }
  blockquote, blockquote p {
    line-height: 1.5;
    color: #cd4d10; }

abbr, abbr[title] {
  border-bottom: 0.0625rem dotted #000;
  cursor: help;
  text-decoration: none; }

figure {
  margin: 0; }

kbd {
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  background-color: #D7D2CB;
  font-family: "Overpass Mono", monospace;
  color: #000;
  border-radius: 3.125rem; }

.subheader, .eyebrow {
  margin-top: 0;
  margin-bottom: 1.875rem;
  font-weight: 400;
  line-height: 1.4;
  color: #6E6259; }

.lead, .hero p:not(.eyebrow), .live-stats-wrapper figcaption {
  font-size: 1.25rem;
  line-height: 1.6; }

.stat {
  font-size: 1.25rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

ul.no-bullet, ol.no-bullet {
  margin-left: 0;
  list-style: none; }

.cite-block, cite {
  display: block;
  color: #222;
  font-size: 0.875rem; }
  .cite-block:before, cite:before {
    content: "— "; }

.code-inline, code {
  border: 0.0625rem solid #5E514D;
  background-color: #D7D2CB;
  font-family: "Overpass Mono", monospace;
  font-weight: 400;
  color: #000;
  display: inline;
  max-width: 100%;
  word-wrap: break-word;
  padding: 0.125rem 0.3125rem 0.0625rem; }

.code-block {
  border: 0.0625rem solid #5E514D;
  background-color: #D7D2CB;
  font-family: "Overpass Mono", monospace;
  font-weight: 400;
  color: #000;
  display: block;
  overflow: auto;
  white-space: pre;
  padding: 1rem;
  margin-bottom: 1.5rem; }

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

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

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

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

@media print, screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media print, screen and (min-width: 54.125em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    -webkit-print-color-adjust: economy;
            color-adjust: economy;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #5E514D;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; }
  .print-break-inside {
    page-break-inside: auto; } }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.6875rem;
  margin: 0 0 1.25rem;
  padding: 0.625rem;
  border: 0.0625rem solid #ACA39A;
  border-radius: 0;
  background-color: transparent;
  box-shadow: none;
  font-family: "PT Serif", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 0.0625rem solid #D7D2CB;
    background-color: #fff;
    box-shadow: 0 0 0.0625rem #0077C8;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #D7D2CB;
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type='search'] {
  box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #83786F; }

::-moz-placeholder {
  color: #83786F; }

::placeholder {
  color: #83786F; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1.25rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.625rem;
  margin-right: 1.25rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.625rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  color: #000; }
  label.middle {
    margin: 0 0 1.25rem;
    padding: 0.6875rem 0; }

.help-text {
  margin-top: -0.625rem;
  font-size: 0.8125rem;
  font-style: normal;
  color: #000; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1.25rem; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  padding: 0 1rem;
  border: 0.0625rem solid #D7D2CB;
  background: #f3f0eb;
  color: #000;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    height: 2.6875rem;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 1rem; }

.input-group .input-group-button {
  display: table-cell; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.625rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 0.0625rem solid #5E514D; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.6875rem;
  margin: 0 0 1.25rem;
  padding: 0.625rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0.0625rem solid #ACA39A;
  border-radius: 0;
  background-color: transparent;
  font-family: "PT Serif", serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #000;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%280, 119, 200%29'></polygon></svg>");
  background-origin: content-box;
  background-position: right -1.25rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.875rem;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 0.0625rem solid #D7D2CB;
    background-color: #fff;
    box-shadow: 0 0 0.0625rem #0077C8;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
  select:disabled {
    background-color: #D7D2CB;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #ba2e16;
  background-color: #f8eae8; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #ba2e16; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #ba2e16; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #ba2e16; }

.is-invalid-label {
  color: #ba2e16; }

.form-error {
  display: none;
  margin-top: -0.625rem;
  margin-bottom: 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #ba2e16; }
  .form-error.is-visible {
    display: block; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 0.625rem;
    margin-bottom: 0.625rem;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -0.625rem; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: calc(100% - 0.625rem); }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -3.75rem; }
  .button-group.primary .button, .button-group.primary .button.disabled, .button-group.primary .button[disabled], .button-group.primary .button.disabled:hover, .button-group.primary .button[disabled]:hover, .button-group.primary .button.disabled:focus, .button-group.primary .button[disabled]:focus {
    background-color: #0077C8;
    color: #fff; }
  .button-group.primary .button:hover, .button-group.primary .button:focus {
    background-color: #005fa0;
    color: #fff; }
  .button-group.secondary .button, .button-group.secondary .button.disabled, .button-group.secondary .button[disabled], .button-group.secondary .button.disabled:hover, .button-group.secondary .button[disabled]:hover, .button-group.secondary .button.disabled:focus, .button-group.secondary .button[disabled]:focus {
    background-color: #cd4d10;
    color: #fff; }
  .button-group.secondary .button:hover, .button-group.secondary .button:focus {
    background-color: #a43e0d;
    color: #fff; }
  .button-group.success .button, .button-group.success .button.disabled, .button-group.success .button[disabled], .button-group.success .button.disabled:hover, .button-group.success .button[disabled]:hover, .button-group.success .button.disabled:focus, .button-group.success .button[disabled]:focus {
    background-color: #3adb76;
    color: #000; }
  .button-group.success .button:hover, .button-group.success .button:focus {
    background-color: #22bb5b;
    color: #000; }
  .button-group.warning .button, .button-group.warning .button.disabled, .button-group.warning .button[disabled], .button-group.warning .button.disabled:hover, .button-group.warning .button[disabled]:hover, .button-group.warning .button.disabled:focus, .button-group.warning .button[disabled]:focus {
    background-color: #ffae00;
    color: #000; }
  .button-group.warning .button:hover, .button-group.warning .button:focus {
    background-color: #cc8b00;
    color: #000; }
  .button-group.alert .button, .button-group.alert .button.disabled, .button-group.alert .button[disabled], .button-group.alert .button.disabled:hover, .button-group.alert .button[disabled]:hover, .button-group.alert .button.disabled:focus, .button-group.alert .button[disabled]:focus {
    background-color: #ba2e16;
    color: #fff; }
  .button-group.alert .button:hover, .button-group.alert .button:focus {
    background-color: #952512;
    color: #fff; }
  .button-group.hollow .button, .button-group.hollow .button:hover, .button-group.hollow .button:focus, .button-group.hollow .button.disabled, .button-group.hollow .button.disabled:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled], .button-group.hollow .button[disabled]:hover, .button-group.hollow .button[disabled]:focus {
    background-color: transparent; }
  .button-group.hollow .button, .button-group.hollow .button.disabled, .button-group.hollow .button[disabled], .button-group.hollow .button.disabled:hover, .button-group.hollow .button[disabled]:hover, .button-group.hollow .button.disabled:focus, .button-group.hollow .button[disabled]:focus {
    border: 0.0625rem solid #0077C8;
    color: #0077C8; }
  .button-group.hollow .button:hover, .button-group.hollow .button:focus {
    border-color: #003c64;
    color: #003c64; }
  .button-group.hollow.primary .button, .button-group.hollow.primary .button.disabled, .button-group.hollow.primary .button[disabled], .button-group.hollow.primary .button.disabled:hover, .button-group.hollow.primary .button[disabled]:hover, .button-group.hollow.primary .button.disabled:focus, .button-group.hollow.primary .button[disabled]:focus, .button-group.hollow .button.primary, .button-group.hollow .button.primary.disabled, .button-group.hollow .button.primary[disabled], .button-group.hollow .button.primary.disabled:hover, .button-group.hollow .button.primary[disabled]:hover, .button-group.hollow .button.primary.disabled:focus, .button-group.hollow .button.primary[disabled]:focus {
    border: 0.0625rem solid #0077C8;
    color: #0077C8; }
  .button-group.hollow.primary .button:hover, .button-group.hollow.primary .button:focus, .button-group.hollow .button.primary:hover, .button-group.hollow .button.primary:focus {
    border-color: #003c64;
    color: #003c64; }
  .button-group.hollow.secondary .button, .button-group.hollow.secondary .button.disabled, .button-group.hollow.secondary .button[disabled], .button-group.hollow.secondary .button.disabled:hover, .button-group.hollow.secondary .button[disabled]:hover, .button-group.hollow.secondary .button.disabled:focus, .button-group.hollow.secondary .button[disabled]:focus, .button-group.hollow .button.secondary, .button-group.hollow .button.secondary.disabled, .button-group.hollow .button.secondary[disabled], .button-group.hollow .button.secondary.disabled:hover, .button-group.hollow .button.secondary[disabled]:hover, .button-group.hollow .button.secondary.disabled:focus, .button-group.hollow .button.secondary[disabled]:focus {
    border: 0.0625rem solid #cd4d10;
    color: #cd4d10; }
  .button-group.hollow.secondary .button:hover, .button-group.hollow.secondary .button:focus, .button-group.hollow .button.secondary:hover, .button-group.hollow .button.secondary:focus {
    border-color: #672708;
    color: #672708; }
  .button-group.hollow.success .button, .button-group.hollow.success .button.disabled, .button-group.hollow.success .button[disabled], .button-group.hollow.success .button.disabled:hover, .button-group.hollow.success .button[disabled]:hover, .button-group.hollow.success .button.disabled:focus, .button-group.hollow.success .button[disabled]:focus, .button-group.hollow .button.success, .button-group.hollow .button.success.disabled, .button-group.hollow .button.success[disabled], .button-group.hollow .button.success.disabled:hover, .button-group.hollow .button.success[disabled]:hover, .button-group.hollow .button.success.disabled:focus, .button-group.hollow .button.success[disabled]:focus {
    border: 0.0625rem solid #3adb76;
    color: #3adb76; }
  .button-group.hollow.success .button:hover, .button-group.hollow.success .button:focus, .button-group.hollow .button.success:hover, .button-group.hollow .button.success:focus {
    border-color: #157539;
    color: #157539; }
  .button-group.hollow.warning .button, .button-group.hollow.warning .button.disabled, .button-group.hollow.warning .button[disabled], .button-group.hollow.warning .button.disabled:hover, .button-group.hollow.warning .button[disabled]:hover, .button-group.hollow.warning .button.disabled:focus, .button-group.hollow.warning .button[disabled]:focus, .button-group.hollow .button.warning, .button-group.hollow .button.warning.disabled, .button-group.hollow .button.warning[disabled], .button-group.hollow .button.warning.disabled:hover, .button-group.hollow .button.warning[disabled]:hover, .button-group.hollow .button.warning.disabled:focus, .button-group.hollow .button.warning[disabled]:focus {
    border: 0.0625rem solid #ffae00;
    color: #ffae00; }
  .button-group.hollow.warning .button:hover, .button-group.hollow.warning .button:focus, .button-group.hollow .button.warning:hover, .button-group.hollow .button.warning:focus {
    border-color: #805700;
    color: #805700; }
  .button-group.hollow.alert .button, .button-group.hollow.alert .button.disabled, .button-group.hollow.alert .button[disabled], .button-group.hollow.alert .button.disabled:hover, .button-group.hollow.alert .button[disabled]:hover, .button-group.hollow.alert .button.disabled:focus, .button-group.hollow.alert .button[disabled]:focus, .button-group.hollow .button.alert, .button-group.hollow .button.alert.disabled, .button-group.hollow .button.alert[disabled], .button-group.hollow .button.alert.disabled:hover, .button-group.hollow .button.alert[disabled]:hover, .button-group.hollow .button.alert.disabled:focus, .button-group.hollow .button.alert[disabled]:focus {
    border: 0.0625rem solid #ba2e16;
    color: #ba2e16; }
  .button-group.hollow.alert .button:hover, .button-group.hollow.alert .button:focus, .button-group.hollow .button.alert:hover, .button-group.hollow .button.alert:focus {
    border-color: #5d170b;
    color: #5d170b; }
  .button-group.clear .button, .button-group.clear .button:hover, .button-group.clear .button:focus, .button-group.clear .button.disabled, .button-group.clear .button.disabled:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled], .button-group.clear .button[disabled]:hover, .button-group.clear .button[disabled]:focus {
    border-color: transparent;
    background-color: transparent; }
  .button-group.clear .button, .button-group.clear .button.disabled, .button-group.clear .button[disabled], .button-group.clear .button.disabled:hover, .button-group.clear .button[disabled]:hover, .button-group.clear .button.disabled:focus, .button-group.clear .button[disabled]:focus {
    color: #0077C8; }
  .button-group.clear .button:hover, .button-group.clear .button:focus {
    color: #003c64; }
  .button-group.clear.primary .button, .button-group.clear.primary .button.disabled, .button-group.clear.primary .button[disabled], .button-group.clear.primary .button.disabled:hover, .button-group.clear.primary .button[disabled]:hover, .button-group.clear.primary .button.disabled:focus, .button-group.clear.primary .button[disabled]:focus, .button-group.clear .button.primary, .button-group.clear .button.primary.disabled, .button-group.clear .button.primary[disabled], .button-group.clear .button.primary.disabled:hover, .button-group.clear .button.primary[disabled]:hover, .button-group.clear .button.primary.disabled:focus, .button-group.clear .button.primary[disabled]:focus {
    color: #0077C8; }
  .button-group.clear.primary .button:hover, .button-group.clear.primary .button:focus, .button-group.clear .button.primary:hover, .button-group.clear .button.primary:focus {
    color: #003c64; }
  .button-group.clear.secondary .button, .button-group.clear.secondary .button.disabled, .button-group.clear.secondary .button[disabled], .button-group.clear.secondary .button.disabled:hover, .button-group.clear.secondary .button[disabled]:hover, .button-group.clear.secondary .button.disabled:focus, .button-group.clear.secondary .button[disabled]:focus, .button-group.clear .button.secondary, .button-group.clear .button.secondary.disabled, .button-group.clear .button.secondary[disabled], .button-group.clear .button.secondary.disabled:hover, .button-group.clear .button.secondary[disabled]:hover, .button-group.clear .button.secondary.disabled:focus, .button-group.clear .button.secondary[disabled]:focus {
    color: #cd4d10; }
  .button-group.clear.secondary .button:hover, .button-group.clear.secondary .button:focus, .button-group.clear .button.secondary:hover, .button-group.clear .button.secondary:focus {
    color: #672708; }
  .button-group.clear.success .button, .button-group.clear.success .button.disabled, .button-group.clear.success .button[disabled], .button-group.clear.success .button.disabled:hover, .button-group.clear.success .button[disabled]:hover, .button-group.clear.success .button.disabled:focus, .button-group.clear.success .button[disabled]:focus, .button-group.clear .button.success, .button-group.clear .button.success.disabled, .button-group.clear .button.success[disabled], .button-group.clear .button.success.disabled:hover, .button-group.clear .button.success[disabled]:hover, .button-group.clear .button.success.disabled:focus, .button-group.clear .button.success[disabled]:focus {
    color: #3adb76; }
  .button-group.clear.success .button:hover, .button-group.clear.success .button:focus, .button-group.clear .button.success:hover, .button-group.clear .button.success:focus {
    color: #157539; }
  .button-group.clear.warning .button, .button-group.clear.warning .button.disabled, .button-group.clear.warning .button[disabled], .button-group.clear.warning .button.disabled:hover, .button-group.clear.warning .button[disabled]:hover, .button-group.clear.warning .button.disabled:focus, .button-group.clear.warning .button[disabled]:focus, .button-group.clear .button.warning, .button-group.clear .button.warning.disabled, .button-group.clear .button.warning[disabled], .button-group.clear .button.warning.disabled:hover, .button-group.clear .button.warning[disabled]:hover, .button-group.clear .button.warning.disabled:focus, .button-group.clear .button.warning[disabled]:focus {
    color: #ffae00; }
  .button-group.clear.warning .button:hover, .button-group.clear.warning .button:focus, .button-group.clear .button.warning:hover, .button-group.clear .button.warning:focus {
    color: #805700; }
  .button-group.clear.alert .button, .button-group.clear.alert .button.disabled, .button-group.clear.alert .button[disabled], .button-group.clear.alert .button.disabled:hover, .button-group.clear.alert .button[disabled]:hover, .button-group.clear.alert .button.disabled:focus, .button-group.clear.alert .button[disabled]:focus, .button-group.clear .button.alert, .button-group.clear .button.alert.disabled, .button-group.clear .button.alert[disabled], .button-group.clear .button.alert.disabled:hover, .button-group.clear .button.alert[disabled]:hover, .button-group.clear .button.alert.disabled:focus, .button-group.clear .button.alert[disabled]:focus {
    color: #ba2e16; }
  .button-group.clear.alert .button:hover, .button-group.clear.alert .button:focus, .button-group.clear .button.alert:hover, .button-group.clear .button.alert:focus {
    color: #5d170b; }
  .button-group.no-gaps .button {
    margin-right: -0.0625rem; }
    .button-group.no-gaps .button + .button {
      border-left-color: transparent; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  .button-group.stacked.expanded, .button-group.stacked-for-small.expanded, .button-group.stacked-for-medium.expanded {
    margin-right: -0.625rem; }
    .button-group.stacked.expanded::before, .button-group.stacked.expanded::after, .button-group.stacked-for-small.expanded::before, .button-group.stacked-for-small.expanded::after, .button-group.stacked-for-medium.expanded::before, .button-group.stacked-for-medium.expanded::after {
      display: none; }
    .button-group.stacked.expanded .button:first-child:last-child, .button-group.stacked-for-small.expanded .button:first-child:last-child, .button-group.stacked-for-medium.expanded .button:first-child:last-child {
      width: calc(100% - 0.625rem); }
    .button-group.stacked.expanded .button:first-child:nth-last-child(2), .button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.stacked.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.stacked.expanded .button:first-child:nth-last-child(3), .button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.stacked.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.stacked.expanded .button:first-child:nth-last-child(4), .button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.stacked.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.stacked.expanded .button:first-child:nth-last-child(5), .button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.stacked.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -3.75rem; }
    .button-group.stacked.expanded .button:first-child:nth-last-child(6), .button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6), .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6), .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 0.625rem);
      margin-right: 0.625rem; }
      .button-group.stacked.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked-for-small.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):last-child, .button-group.stacked-for-medium.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -3.75rem; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 54.125em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }
  @media print, screen and (max-width: 54.12375em) {
    .button-group.stacked-for-medium.expanded {
      display: block; }
      .button-group.stacked-for-medium.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 2rem;
  padding: 2rem;
  border: 0.0625rem solid #000;
  border-radius: 0;
  position: relative;
  color: #000;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d1ecff; }
  .callout.secondary {
    background-color: #fce3d7; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fadcd6; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.close-button {
  position: absolute;
  z-index: 10;
  color: #83786F;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button.medium, .close-button {
    right: 1rem;
    top: 0.5rem;
    font-size: 2em;
    line-height: 1; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }
  .responsive-embed.square,
  .flex-video.square {
    padding-bottom: 100%; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  border-radius: 0;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  background: #0077C8;
  color: #fff; }
  .label.primary {
    background: #0077C8;
    color: #fff; }
  .label.secondary {
    background: #cd4d10;
    color: #fff; }
  .label.success {
    background: #3adb76;
    color: #000; }
  .label.warning {
    background: #ffae00;
    color: #000; }
  .label.alert {
    background: #ba2e16;
    color: #fff; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    display: table;
    content: ' '; }
  .pagination::after {
    clear: both; }
  .pagination li {
    margin-right: 0.0625rem;
    border-radius: 0;
    font-size: 0.875rem;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media print, screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0;
    color: #000; }
    .pagination a:hover,
    .pagination button:hover {
      background: #D7D2CB; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #0077C8;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #5E514D;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    padding: 0.1875rem 0.625rem;
    content: '\2026';
    color: #000; }

.sticky-container {
  position: relative; }

.sticky {
  position: relative;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5;
  width: 100%; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: relative;
  right: auto;
  left: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

html.is-reveal-open,
html.is-reveal-open body {
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none; }

.reveal-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1005;
  background-color: rgba(0, 0, 0, 0.666);
  overflow-y: scroll; }

.reveal {
  outline: none;
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 0.0625rem solid #5E514D;
  background-color: #fff;
  border-radius: 0;
  position: relative;
  top: 100px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: auto; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal {
      left: auto;
      right: auto;
      margin: 0 auto;
      width: 75%;
      max-width: 81.25rem; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 40em) {
    .reveal.tiny {
      left: auto;
      right: auto;
      margin: 0 auto;
      width: 30%;
      max-width: 81.25rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.small {
      left: auto;
      right: auto;
      margin: 0 auto;
      width: 50%;
      max-width: 81.25rem; } }
  @media print, screen and (min-width: 40em) {
    .reveal.large {
      left: auto;
      right: auto;
      margin: 0 auto;
      width: 90%;
      max-width: 81.25rem; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal {
      width: 75%;
      height: auto;
      min-height: auto;
      right: auto;
      left: auto;
      margin: 0 auto; } }
  .reveal.without-overlay {
    position: fixed; }
  @media print, screen and (max-width: 39.99875em) {
    .reveal.modal-popup {
      width: 75%; }
      .reveal.modal-popup.is-mobile {
        width: 100%; } }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  tbody,
  tfoot,
  thead {
    border: 0.0625rem solid #cec8bf;
    background-color: #f3f0eb; }
  caption {
    font-weight: 600;
    padding: 0.5rem 0.625rem 0.625rem; }
  tfoot,
  thead {
    background: #efeae4;
    color: #83786F; }
    tfoot tr,
    thead tr {
      background: transparent; }
    tfoot td,
    tfoot th,
    thead td,
    thead th {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: 600;
      text-align: left; }
  tbody tr:nth-child(odd), tbody tr:nth-child(odd) td, tbody tr:nth-child(odd) th {
    background-color: #e3e0db; }
  tbody td,
  tbody th {
    padding: 0.5rem 0.625rem 0.625rem; }

@media print, screen and (max-width: 54.12375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack td,
  table.stack th,
  table.stack tr {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover tr:hover {
  background-color: #efebe5; }

table.hover tr:nth-of-type(odd):hover {
  background-color: #e6dfd5; }

.table-scroll {
  overflow-x: auto; }
  .table-scroll table {
    width: auto; }

.tabs {
  margin: 0;
  border-bottom: #cd4d10;
  background: transparent;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' '; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.small-vertical > li {
  display: block;
  float: none;
  width: auto; }

@media print, screen and (min-width: 54.125em) {
  .large-flex {
    display: flex;
    flex-direction: row;
    min-height: 100%; }
    .large-flex .tabs-title {
      min-height: 100%; }
      .large-flex .tabs-title > a {
        display: flex;
        flex: 1;
        min-height: 100%;
        text-align: left;
        padding: 1.0625rem 0.09375rem;
        position: relative;
        top: 0.0625rem; }
        .large-flex .tabs-title > a:first-child {
          margin-left: 0; }
        .large-flex .tabs-title > a:last-child {
          margin-right: 2.5rem; }
      .large-flex .tabs-title > .is-active > a,
      .large-flex .tabs-title > .is-active > a:focus,
      .large-flex .tabs-title > .is-active > a:hover {
        border-bottom: 0.125rem solid #FF5F14; } }

.tabs > .tabs-title > a {
  color: #83786F;
  border-bottom: #FF5F14; }
  @media print, screen and (max-width: 39.99875em) {
    .tabs > .tabs-title > a {
      padding: 1rem; } }
  @media print, screen and (min-width: 40em) and (max-width: 54.12375em) {
    .tabs > .tabs-title > a {
      padding: 1.5rem; } }
  .tabs > .tabs-title > a:focus, .tabs > .tabs-title > a:hover {
    color: #000;
    border-bottom: 0.25rem solid #FF5F14;
    outline: none;
    position: relative;
    top: 0.0625rem; }

.tabs > .is-active > a,
.tabs > .is-active > a:focus,
.tabs > .is-active > a:hover,
.tabs > .is-active > a[aria-selected='true'] {
  color: #000;
  border-bottom: 0.25rem solid #FF5F14;
  outline: none;
  position: relative;
  top: 0.0625rem; }

.tabs-wrapper .tabs {
  border-bottom: 0.0625rem solid #ACA39A;
  margin-bottom: -0.3125rem; }

.tabs-title {
  text-align: center; }
  .tabs-title > a {
    display: block;
    padding: 1.0625rem 1.125rem;
    font-size: 0.875rem;
    font-weight: 500;
    font-family: "Overpass Mono", monospace;
    line-height: 1;
    color: transparent;
    text-transform: uppercase;
    text-decoration: none; }
    .tabs-title > a:hover, .tabs-title > a:active {
      background: transparent;
      color: #cd4d10; }
    .tabs-title > a:focus {
      background: transparent;
      color: #cd4d10;
      outline: none; }
    @media print, screen and (min-width: 54.125em) {
      .tabs-title > a.is-active {
        position: relative; } }
    .tabs-title > a.is-active:after {
      content: '';
      position: absolute;
      border-left: 1.25rem solid transparent;
      border-right: 1.25rem solid transparent;
      border-top: 1.25rem solid none;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%);
      bottom: -1.25rem; }

.tabs-content {
  border: 0;
  background: transparent;
  color: #000;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid none;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel[aria-hidden="false"], .tabs-panel.is-active {
    display: block;
    padding-left: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .tabs-panel .articles-wrapper {
      width: 100vw; } }

.thumbnail {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 1rem;
  border: solid 4px #fff;
  border-radius: 0;
  box-shadow: 0 0 0 0.0625rem rgba(0, 0, 0, 0.2);
  line-height: 0; }

a.thumbnail {
  transition: box-shadow 200ms ease-out; }
  a.thumbnail:hover, a.thumbnail:focus {
    box-shadow: 0 0 6px 0.0625rem rgba(0, 119, 200, 0.5); }
  a.thumbnail image {
    box-shadow: none; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 54.12375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 54.125em) {
  .show-for-medium-only {
    display: none !important; } }

@media print, screen and (min-width: 54.125em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 54.0625em) {
  .show-for-large {
    display: none !important; } }

@media print, screen and (min-width: 54.125em) and (max-width: 74.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 54.0625em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  background-color: #fff !important;
  border: blue solid 2px;
  clip: auto;
  clip-path: none;
  -webkit-clip-path: none;
  color: #000 !important;
  height: auto;
  overflow: visible;
  padding: .5rem 1rem;
  position: absolute !important;
  white-space: normal;
  width: auto;
  z-index: 1; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-right: auto;
  margin-left: auto; }

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

.align-left {
  justify-content: flex-start; }

.align-right {
  justify-content: flex-end; }

.align-center {
  justify-content: center; }

.align-justify {
  justify-content: space-between; }

.align-spaced {
  justify-content: space-around; }

.align-left.vertical.menu > li > a {
  justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  justify-content: center; }

.align-top {
  align-items: flex-start; }

.align-self-top {
  align-self: flex-start; }

.align-bottom {
  align-items: flex-end; }

.align-self-bottom {
  align-self: flex-end; }

.align-middle {
  align-items: center; }

.align-self-middle {
  align-self: center; }

.align-stretch {
  align-items: stretch; }

.align-self-stretch {
  align-self: stretch; }

.align-center-middle {
  justify-content: center;
  align-items: center;
  align-content: center; }

.small-order-1 {
  order: 1; }

.small-order-2 {
  order: 2; }

.small-order-3 {
  order: 3; }

.small-order-4 {
  order: 4; }

.small-order-5 {
  order: 5; }

.small-order-6 {
  order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    order: 1; }
  .medium-order-2 {
    order: 2; }
  .medium-order-3 {
    order: 3; }
  .medium-order-4 {
    order: 4; }
  .medium-order-5 {
    order: 5; }
  .medium-order-6 {
    order: 6; } }

@media print, screen and (min-width: 54.125em) {
  .large-order-1 {
    order: 1; }
  .large-order-2 {
    order: 2; }
  .large-order-3 {
    order: 3; }
  .large-order-4 {
    order: 4; }
  .large-order-5 {
    order: 5; }
  .large-order-6 {
    order: 6; } }

.flex-container {
  display: flex; }

.flex-child-auto {
  flex: 1 1 auto; }

.flex-child-grow {
  flex: 1 0 auto; }

.flex-child-shrink {
  flex: 0 1 auto; }

.flex-dir-row {
  flex-direction: row; }

.flex-dir-row-reverse {
  flex-direction: row-reverse; }

.flex-dir-column {
  flex-direction: column; }

.flex-dir-column-reverse {
  flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: flex; }
  .medium-flex-child-auto {
    flex: 1 1 auto; }
  .medium-flex-child-grow {
    flex: 1 0 auto; }
  .medium-flex-child-shrink {
    flex: 0 1 auto; }
  .medium-flex-dir-row {
    flex-direction: row; }
  .medium-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .medium-flex-dir-column {
    flex-direction: column; }
  .medium-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

@media print, screen and (min-width: 54.125em) {
  .large-flex-container {
    display: flex; }
  .large-flex-child-auto {
    flex: 1 1 auto; }
  .large-flex-child-grow {
    flex: 1 0 auto; }
  .large-flex-child-shrink {
    flex: 0 1 auto; }
  .large-flex-dir-row {
    flex-direction: row; }
  .large-flex-dir-row-reverse {
    flex-direction: row-reverse; }
  .large-flex-dir-column {
    flex-direction: column; }
  .large-flex-dir-column-reverse {
    flex-direction: column-reverse; } }

.text-hide {
  font: 0/0 a !important;
  color: transparent !important;
  text-shadow: none !important;
  background-color: transparent !important;
  border: 0 !important; }

.text-truncate {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  white-space: nowrap !important; }

.text-nowrap, .no-wrap {
  white-space: nowrap !important; }

.text-wrap {
  word-wrap: break-word !important; }

@media print, screen and (min-width: 40em) {
  .medium-text-hide {
    font: 0/0 a !important;
    color: transparent !important;
    text-shadow: none !important;
    background-color: transparent !important;
    border: 0 !important; }
  .medium-text-truncate {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap !important; }
  .medium-text-nowrap {
    white-space: nowrap !important; }
  .medium-text-wrap {
    word-wrap: break-word !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-text-hide {
    font: 0/0 a !important;
    color: transparent !important;
    text-shadow: none !important;
    background-color: transparent !important;
    border: 0 !important; }
  .large-text-truncate {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap !important; }
  .large-text-nowrap {
    white-space: nowrap !important; }
  .large-text-wrap {
    word-wrap: break-word !important; } }

.text-capitalize, .capitalize {
  text-transform: capitalize !important; }

@media print, screen and (min-width: 40em) {
  .medium-text-capitalize {
    text-transform: capitalize !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-text-capitalize {
    text-transform: capitalize !important; } }

.text-overline {
  text-decoration: overline !important; }

.text-underline {
  text-decoration: underline !important; }

.text-line-through {
  text-decoration: line-through !important; }

@media print, screen and (min-width: 40em) {
  .medium-text-overline {
    text-decoration: overline !important; }
  .medium-text-underline {
    text-decoration: underline !important; }
  .medium-text-line-through {
    text-decoration: line-through !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-text-overline {
    text-decoration: overline !important; }
  .large-text-underline {
    text-decoration: underline !important; }
  .large-text-line-through {
    text-decoration: line-through !important; } }

.font-wide {
  letter-spacing: 0; }

.font-normal {
  font-weight: 400; }

.font-bold {
  font-weight: 600; }

.font-italic {
  font-style: italic !important; }

@media print, screen and (min-width: 40em) {
  .medium-font-wide {
    letter-spacing: 0; }
  .medium-font-normal {
    font-weight: 400; }
  .medium-font-bold {
    font-weight: 600; }
  .medium-font-italic {
    font-style: italic !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-font-wide {
    letter-spacing: 0; }
  .large-font-normal {
    font-weight: 400; }
  .large-font-bold {
    font-weight: 600; }
  .large-font-italic {
    font-style: italic !important; } }

ul.list-disc {
  list-style-type: disc !important; }

ul.list-circle {
  list-style-type: circle !important; }

ul.list-square {
  list-style-type: square !important; }

@media print, screen and (min-width: 40em) {
  ul.medium-list-disc {
    list-style-type: disc !important; }
  ul.medium-list-circle {
    list-style-type: circle !important; }
  ul.medium-list-square {
    list-style-type: square !important; } }

@media print, screen and (min-width: 54.125em) {
  ul.large-list-disc {
    list-style-type: disc !important; }
  ul.large-list-circle {
    list-style-type: circle !important; }
  ul.large-list-square {
    list-style-type: square !important; } }

ol.list-decimal {
  list-style-type: decimal !important; }

ol.list-lower-alpha {
  list-style-type: lower-alpha !important; }

ol.list-lower-latin {
  list-style-type: lower-latin !important; }

ol.list-lower-roman {
  list-style-type: lower-roman !important; }

ol.list-upper-alpha {
  list-style-type: upper-alpha !important; }

ol.list-upper-latin {
  list-style-type: upper-latin !important; }

ol.list-upper-roman {
  list-style-type: upper-roman !important; }

@media print, screen and (min-width: 40em) {
  ol.medium-list-decimal {
    list-style-type: decimal !important; }
  ol.medium-list-lower-alpha {
    list-style-type: lower-alpha !important; }
  ol.medium-list-lower-latin {
    list-style-type: lower-latin !important; }
  ol.medium-list-lower-roman {
    list-style-type: lower-roman !important; }
  ol.medium-list-upper-alpha {
    list-style-type: upper-alpha !important; }
  ol.medium-list-upper-latin {
    list-style-type: upper-latin !important; }
  ol.medium-list-upper-roman {
    list-style-type: upper-roman !important; } }

@media print, screen and (min-width: 54.125em) {
  ol.large-list-decimal {
    list-style-type: decimal !important; }
  ol.large-list-lower-alpha {
    list-style-type: lower-alpha !important; }
  ol.large-list-lower-latin {
    list-style-type: lower-latin !important; }
  ol.large-list-lower-roman {
    list-style-type: lower-roman !important; }
  ol.large-list-upper-alpha {
    list-style-type: upper-alpha !important; }
  ol.large-list-upper-latin {
    list-style-type: upper-latin !important; }
  ol.large-list-upper-roman {
    list-style-type: upper-roman !important; } }

.rounded {
  border-radius: 5000px !important; }
  .rounded .switch-paddle {
    border-radius: 5000px !important; }
    .rounded .switch-paddle:after {
      border-radius: 50%; }

.radius {
  border-radius: 0.1875rem; }

@media print, screen and (min-width: 40em) {
  .medium-rounded {
    border-radius: 5000px !important; }
  .medium-radius {
    border-radius: 0.1875rem; } }

@media print, screen and (min-width: 54.125em) {
  .large-rounded {
    border-radius: 5000px !important; }
  .large-radius {
    border-radius: 0.1875rem; } }

.shadow {
  box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.25); }

@media print, screen and (min-width: 40em) {
  .medium-shadow {
    box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.25); } }

@media print, screen and (min-width: 54.125em) {
  .large-shadow {
    box-shadow: 0 0.3125rem 1.25rem 0 rgba(0, 0, 0, 0.25); } }

.arrow-down {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-bottom-width: 0;
  border-top-style: solid;
  border-color: #000 transparent transparent; }

.arrow-up {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #000; }

.arrow-right {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-right-width: 0;
  border-left-style: solid;
  border-color: transparent transparent transparent #000; }

.arrow-left {
  display: block;
  width: 0;
  height: 0;
  border: inset 0.4375rem;
  content: '';
  border-left-width: 0;
  border-right-style: solid;
  border-color: transparent #000 transparent transparent; }

.display-inline, .text-inline {
  display: inline !important; }

.display-inline-block {
  display: inline-block !important; }

.display-block, .line-break {
  display: block !important; }

.display-table {
  display: table !important; }

.display-table-cell {
  display: table-cell !important; }

@media print, screen and (min-width: 40em) {
  .medium-display-inline {
    display: inline !important; }
  .medium-display-inline-block {
    display: inline-block !important; }
  .medium-display-block {
    display: block !important; }
  .medium-display-table {
    display: table !important; }
  .medium-display-table-cell {
    display: table-cell !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-display-inline {
    display: inline !important; }
  .large-display-inline-block {
    display: inline-block !important; }
  .large-display-block {
    display: block !important; }
  .large-display-table {
    display: table !important; }
  .large-display-table-cell {
    display: table-cell !important; } }

.position-static {
  position: static !important; }

.position-relative {
  position: relative !important; }

.position-absolute {
  position: absolute !important; }

.position-fixed {
  position: fixed !important; }

.position-fixed-top {
  position: fixed !important;
  top: 0rem !important;
  right: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

.position-fixed-bottom {
  position: fixed !important;
  right: 0rem !important;
  bottom: 0rem !important;
  left: 0rem !important;
  z-index: 975; }

@media print, screen and (min-width: 40em) {
  .medium-position-static {
    position: static !important; }
  .medium-position-relative {
    position: relative !important; }
  .medium-position-absolute {
    position: absolute !important; }
  .medium-position-fixed {
    position: fixed !important; }
  .medium-position-fixed-top {
    position: fixed !important;
    top: 0rem !important;
    right: 0rem !important;
    left: 0rem !important;
    z-index: 975; }
  .medium-position-fixed-bottom {
    position: fixed !important;
    right: 0rem !important;
    bottom: 0rem !important;
    left: 0rem !important;
    z-index: 975; } }

@media print, screen and (min-width: 54.125em) {
  .large-position-static {
    position: static !important; }
  .large-position-relative {
    position: relative !important; }
  .large-position-absolute {
    position: absolute !important; }
  .large-position-fixed {
    position: fixed !important; }
  .large-position-fixed-top {
    position: fixed !important;
    top: 0rem !important;
    right: 0rem !important;
    left: 0rem !important;
    z-index: 975; }
  .large-position-fixed-bottom {
    position: fixed !important;
    right: 0rem !important;
    bottom: 0rem !important;
    left: 0rem !important;
    z-index: 975; } }

.border-none {
  border: none !important; }

@media print, screen and (min-width: 40em) {
  .medium-border-none {
    border: none !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-border-none {
    border: none !important; } }

.width-25 {
  width: 25% !important; }

.width-50 {
  width: 50% !important; }

.width-75 {
  width: 75% !important; }

.width-100 {
  width: 100% !important; }

.height-25 {
  height: 25% !important; }

.height-50 {
  height: 50% !important; }

.height-75 {
  height: 75% !important; }

.height-100 {
  height: 100% !important; }

.max-width-100 {
  max-width: 100% !important; }

.max-height-100 {
  max-height: 100% !important; }

@media print, screen and (min-width: 40em) {
  .medium-width-25 {
    width: 25% !important; }
  .medium-width-50 {
    width: 50% !important; }
  .medium-width-75 {
    width: 75% !important; }
  .medium-width-100 {
    width: 100% !important; }
  .medium-height-25 {
    height: 25% !important; }
  .medium-height-50 {
    height: 50% !important; }
  .medium-height-75 {
    height: 75% !important; }
  .medium-height-100 {
    height: 100% !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-width-25 {
    width: 25% !important; }
  .large-width-50 {
    width: 50% !important; }
  .large-width-75 {
    width: 75% !important; }
  .large-width-100 {
    width: 100% !important; }
  .large-height-25 {
    height: 25% !important; }
  .large-height-50 {
    height: 50% !important; }
  .large-height-75 {
    height: 75% !important; }
  .large-height-100 {
    height: 100% !important; } }

.margin-0 {
  margin: 0rem !important; }

.margin-top-0 {
  margin-top: 0rem !important; }

.margin-right-0 {
  margin-right: 0rem !important; }

.margin-bottom-0 {
  margin-bottom: 0rem !important; }

.margin-left-0 {
  margin-left: 0rem !important; }

.margin-horizontal-0 {
  margin-right: 0rem !important;
  margin-left: 0rem !important; }

.margin-vertical-0 {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important; }

.padding-0 {
  padding: 0rem !important; }

.padding-top-0 {
  padding-top: 0rem !important; }

.padding-right-0 {
  padding-right: 0rem !important; }

.padding-bottom-0 {
  padding-bottom: 0rem !important; }

.padding-left-0 {
  padding-left: 0rem !important; }

.padding-horizontal-0 {
  padding-right: 0rem !important;
  padding-left: 0rem !important; }

.padding-vertical-0 {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important; }

.margin-1 {
  margin: 1rem !important; }

.margin-top-1 {
  margin-top: 1rem !important; }

.margin-right-1 {
  margin-right: 1rem !important; }

.margin-bottom-1 {
  margin-bottom: 1rem !important; }

.margin-left-1 {
  margin-left: 1rem !important; }

.margin-horizontal-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }

.margin-vertical-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }

.padding-1 {
  padding: 1rem !important; }

.padding-top-1 {
  padding-top: 1rem !important; }

.padding-right-1 {
  padding-right: 1rem !important; }

.padding-bottom-1 {
  padding-bottom: 1rem !important; }

.padding-left-1 {
  padding-left: 1rem !important; }

.padding-horizontal-1 {
  padding-right: 1rem !important;
  padding-left: 1rem !important; }

.padding-vertical-1 {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important; }

.margin-2 {
  margin: 2rem !important; }

.margin-top-2 {
  margin-top: 2rem !important; }

.margin-right-2 {
  margin-right: 2rem !important; }

.margin-bottom-2 {
  margin-bottom: 2rem !important; }

.margin-left-2 {
  margin-left: 2rem !important; }

.margin-horizontal-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }

.margin-vertical-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }

.padding-2 {
  padding: 2rem !important; }

.padding-top-2 {
  padding-top: 2rem !important; }

.padding-right-2 {
  padding-right: 2rem !important; }

.padding-bottom-2 {
  padding-bottom: 2rem !important; }

.padding-left-2 {
  padding-left: 2rem !important; }

.padding-horizontal-2 {
  padding-right: 2rem !important;
  padding-left: 2rem !important; }

.padding-vertical-2 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important; }

.margin-3 {
  margin: 3rem !important; }

.margin-top-3 {
  margin-top: 3rem !important; }

.margin-right-3 {
  margin-right: 3rem !important; }

.margin-bottom-3 {
  margin-bottom: 3rem !important; }

.margin-left-3 {
  margin-left: 3rem !important; }

.margin-horizontal-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }

.margin-vertical-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }

.padding-3 {
  padding: 3rem !important; }

.padding-top-3 {
  padding-top: 3rem !important; }

.padding-right-3 {
  padding-right: 3rem !important; }

.padding-bottom-3 {
  padding-bottom: 3rem !important; }

.padding-left-3 {
  padding-left: 3rem !important; }

.padding-horizontal-3 {
  padding-right: 3rem !important;
  padding-left: 3rem !important; }

.padding-vertical-3 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important; }

.margin-4 {
  margin: 4rem !important; }

.margin-top-4 {
  margin-top: 4rem !important; }

.margin-right-4 {
  margin-right: 4rem !important; }

.margin-bottom-4 {
  margin-bottom: 4rem !important; }

.margin-left-4 {
  margin-left: 4rem !important; }

.margin-horizontal-4 {
  margin-right: 4rem !important;
  margin-left: 4rem !important; }

.margin-vertical-4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important; }

.padding-4 {
  padding: 4rem !important; }

.padding-top-4 {
  padding-top: 4rem !important; }

.padding-right-4 {
  padding-right: 4rem !important; }

.padding-bottom-4 {
  padding-bottom: 4rem !important; }

.padding-left-4 {
  padding-left: 4rem !important; }

.padding-horizontal-4 {
  padding-right: 4rem !important;
  padding-left: 4rem !important; }

.padding-vertical-4 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important; }

.margin-5 {
  margin: 5rem !important; }

.margin-top-5 {
  margin-top: 5rem !important; }

.margin-right-5 {
  margin-right: 5rem !important; }

.margin-bottom-5 {
  margin-bottom: 5rem !important; }

.margin-left-5 {
  margin-left: 5rem !important; }

.margin-horizontal-5 {
  margin-right: 5rem !important;
  margin-left: 5rem !important; }

.margin-vertical-5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important; }

.padding-5 {
  padding: 5rem !important; }

.padding-top-5 {
  padding-top: 5rem !important; }

.padding-right-5 {
  padding-right: 5rem !important; }

.padding-bottom-5 {
  padding-bottom: 5rem !important; }

.padding-left-5 {
  padding-left: 5rem !important; }

.padding-horizontal-5 {
  padding-right: 5rem !important;
  padding-left: 5rem !important; }

.padding-vertical-5 {
  padding-top: 5rem !important;
  padding-bottom: 5rem !important; }

.margin-6 {
  margin: 6rem !important; }

.margin-top-6 {
  margin-top: 6rem !important; }

.margin-right-6 {
  margin-right: 6rem !important; }

.margin-bottom-6 {
  margin-bottom: 6rem !important; }

.margin-left-6 {
  margin-left: 6rem !important; }

.margin-horizontal-6 {
  margin-right: 6rem !important;
  margin-left: 6rem !important; }

.margin-vertical-6 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important; }

.padding-6 {
  padding: 6rem !important; }

.padding-top-6 {
  padding-top: 6rem !important; }

.padding-right-6 {
  padding-right: 6rem !important; }

.padding-bottom-6 {
  padding-bottom: 6rem !important; }

.padding-left-6 {
  padding-left: 6rem !important; }

.padding-horizontal-6 {
  padding-right: 6rem !important;
  padding-left: 6rem !important; }

.padding-vertical-6 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important; }

.margin-7 {
  margin: 7rem !important; }

.margin-top-7 {
  margin-top: 7rem !important; }

.margin-right-7 {
  margin-right: 7rem !important; }

.margin-bottom-7 {
  margin-bottom: 7rem !important; }

.margin-left-7 {
  margin-left: 7rem !important; }

.margin-horizontal-7 {
  margin-right: 7rem !important;
  margin-left: 7rem !important; }

.margin-vertical-7 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important; }

.padding-7 {
  padding: 7rem !important; }

.padding-top-7 {
  padding-top: 7rem !important; }

.padding-right-7 {
  padding-right: 7rem !important; }

.padding-bottom-7 {
  padding-bottom: 7rem !important; }

.padding-left-7 {
  padding-left: 7rem !important; }

.padding-horizontal-7 {
  padding-right: 7rem !important;
  padding-left: 7rem !important; }

.padding-vertical-7 {
  padding-top: 7rem !important;
  padding-bottom: 7rem !important; }

.margin-8 {
  margin: 8rem !important; }

.margin-top-8 {
  margin-top: 8rem !important; }

.margin-right-8 {
  margin-right: 8rem !important; }

.margin-bottom-8 {
  margin-bottom: 8rem !important; }

.margin-left-8 {
  margin-left: 8rem !important; }

.margin-horizontal-8 {
  margin-right: 8rem !important;
  margin-left: 8rem !important; }

.margin-vertical-8 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important; }

.padding-8 {
  padding: 8rem !important; }

.padding-top-8 {
  padding-top: 8rem !important; }

.padding-right-8 {
  padding-right: 8rem !important; }

.padding-bottom-8 {
  padding-bottom: 8rem !important; }

.padding-left-8 {
  padding-left: 8rem !important; }

.padding-horizontal-8 {
  padding-right: 8rem !important;
  padding-left: 8rem !important; }

.padding-vertical-8 {
  padding-top: 8rem !important;
  padding-bottom: 8rem !important; }

@media print, screen and (min-width: 40em) {
  .medium-margin-0 {
    margin: 0rem !important; }
  .medium-margin-top-0 {
    margin-top: 0rem !important; }
  .medium-margin-right-0 {
    margin-right: 0rem !important; }
  .medium-margin-bottom-0 {
    margin-bottom: 0rem !important; }
  .medium-margin-left-0 {
    margin-left: 0rem !important; }
  .medium-margin-horizontal-0 {
    margin-right: 0rem !important;
    margin-left: 0rem !important; }
  .medium-margin-vertical-0 {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important; }
  .medium-padding-0 {
    padding: 0rem !important; }
  .medium-padding-top-0 {
    padding-top: 0rem !important; }
  .medium-padding-right-0 {
    padding-right: 0rem !important; }
  .medium-padding-bottom-0 {
    padding-bottom: 0rem !important; }
  .medium-padding-left-0 {
    padding-left: 0rem !important; }
  .medium-padding-horizontal-0 {
    padding-right: 0rem !important;
    padding-left: 0rem !important; }
  .medium-padding-vertical-0 {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-0 {
    margin: 0rem !important; }
  .large-margin-top-0 {
    margin-top: 0rem !important; }
  .large-margin-right-0 {
    margin-right: 0rem !important; }
  .large-margin-bottom-0 {
    margin-bottom: 0rem !important; }
  .large-margin-left-0 {
    margin-left: 0rem !important; }
  .large-margin-horizontal-0 {
    margin-right: 0rem !important;
    margin-left: 0rem !important; }
  .large-margin-vertical-0 {
    margin-top: 0rem !important;
    margin-bottom: 0rem !important; }
  .large-padding-0 {
    padding: 0rem !important; }
  .large-padding-top-0 {
    padding-top: 0rem !important; }
  .large-padding-right-0 {
    padding-right: 0rem !important; }
  .large-padding-bottom-0 {
    padding-bottom: 0rem !important; }
  .large-padding-left-0 {
    padding-left: 0rem !important; }
  .large-padding-horizontal-0 {
    padding-right: 0rem !important;
    padding-left: 0rem !important; }
  .large-padding-vertical-0 {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-1 {
    margin: 1rem !important; }
  .medium-margin-top-1 {
    margin-top: 1rem !important; }
  .medium-margin-right-1 {
    margin-right: 1rem !important; }
  .medium-margin-bottom-1 {
    margin-bottom: 1rem !important; }
  .medium-margin-left-1 {
    margin-left: 1rem !important; }
  .medium-margin-horizontal-1 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .medium-margin-vertical-1 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .medium-padding-1 {
    padding: 1rem !important; }
  .medium-padding-top-1 {
    padding-top: 1rem !important; }
  .medium-padding-right-1 {
    padding-right: 1rem !important; }
  .medium-padding-bottom-1 {
    padding-bottom: 1rem !important; }
  .medium-padding-left-1 {
    padding-left: 1rem !important; }
  .medium-padding-horizontal-1 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .medium-padding-vertical-1 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-1 {
    margin: 1rem !important; }
  .large-margin-top-1 {
    margin-top: 1rem !important; }
  .large-margin-right-1 {
    margin-right: 1rem !important; }
  .large-margin-bottom-1 {
    margin-bottom: 1rem !important; }
  .large-margin-left-1 {
    margin-left: 1rem !important; }
  .large-margin-horizontal-1 {
    margin-right: 1rem !important;
    margin-left: 1rem !important; }
  .large-margin-vertical-1 {
    margin-top: 1rem !important;
    margin-bottom: 1rem !important; }
  .large-padding-1 {
    padding: 1rem !important; }
  .large-padding-top-1 {
    padding-top: 1rem !important; }
  .large-padding-right-1 {
    padding-right: 1rem !important; }
  .large-padding-bottom-1 {
    padding-bottom: 1rem !important; }
  .large-padding-left-1 {
    padding-left: 1rem !important; }
  .large-padding-horizontal-1 {
    padding-right: 1rem !important;
    padding-left: 1rem !important; }
  .large-padding-vertical-1 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-2 {
    margin: 2rem !important; }
  .medium-margin-top-2 {
    margin-top: 2rem !important; }
  .medium-margin-right-2 {
    margin-right: 2rem !important; }
  .medium-margin-bottom-2 {
    margin-bottom: 2rem !important; }
  .medium-margin-left-2 {
    margin-left: 2rem !important; }
  .medium-margin-horizontal-2 {
    margin-right: 2rem !important;
    margin-left: 2rem !important; }
  .medium-margin-vertical-2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important; }
  .medium-padding-2 {
    padding: 2rem !important; }
  .medium-padding-top-2 {
    padding-top: 2rem !important; }
  .medium-padding-right-2 {
    padding-right: 2rem !important; }
  .medium-padding-bottom-2 {
    padding-bottom: 2rem !important; }
  .medium-padding-left-2 {
    padding-left: 2rem !important; }
  .medium-padding-horizontal-2 {
    padding-right: 2rem !important;
    padding-left: 2rem !important; }
  .medium-padding-vertical-2 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-2 {
    margin: 2rem !important; }
  .large-margin-top-2 {
    margin-top: 2rem !important; }
  .large-margin-right-2 {
    margin-right: 2rem !important; }
  .large-margin-bottom-2 {
    margin-bottom: 2rem !important; }
  .large-margin-left-2 {
    margin-left: 2rem !important; }
  .large-margin-horizontal-2 {
    margin-right: 2rem !important;
    margin-left: 2rem !important; }
  .large-margin-vertical-2 {
    margin-top: 2rem !important;
    margin-bottom: 2rem !important; }
  .large-padding-2 {
    padding: 2rem !important; }
  .large-padding-top-2 {
    padding-top: 2rem !important; }
  .large-padding-right-2 {
    padding-right: 2rem !important; }
  .large-padding-bottom-2 {
    padding-bottom: 2rem !important; }
  .large-padding-left-2 {
    padding-left: 2rem !important; }
  .large-padding-horizontal-2 {
    padding-right: 2rem !important;
    padding-left: 2rem !important; }
  .large-padding-vertical-2 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-3 {
    margin: 3rem !important; }
  .medium-margin-top-3 {
    margin-top: 3rem !important; }
  .medium-margin-right-3 {
    margin-right: 3rem !important; }
  .medium-margin-bottom-3 {
    margin-bottom: 3rem !important; }
  .medium-margin-left-3 {
    margin-left: 3rem !important; }
  .medium-margin-horizontal-3 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .medium-margin-vertical-3 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .medium-padding-3 {
    padding: 3rem !important; }
  .medium-padding-top-3 {
    padding-top: 3rem !important; }
  .medium-padding-right-3 {
    padding-right: 3rem !important; }
  .medium-padding-bottom-3 {
    padding-bottom: 3rem !important; }
  .medium-padding-left-3 {
    padding-left: 3rem !important; }
  .medium-padding-horizontal-3 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .medium-padding-vertical-3 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-3 {
    margin: 3rem !important; }
  .large-margin-top-3 {
    margin-top: 3rem !important; }
  .large-margin-right-3 {
    margin-right: 3rem !important; }
  .large-margin-bottom-3 {
    margin-bottom: 3rem !important; }
  .large-margin-left-3 {
    margin-left: 3rem !important; }
  .large-margin-horizontal-3 {
    margin-right: 3rem !important;
    margin-left: 3rem !important; }
  .large-margin-vertical-3 {
    margin-top: 3rem !important;
    margin-bottom: 3rem !important; }
  .large-padding-3 {
    padding: 3rem !important; }
  .large-padding-top-3 {
    padding-top: 3rem !important; }
  .large-padding-right-3 {
    padding-right: 3rem !important; }
  .large-padding-bottom-3 {
    padding-bottom: 3rem !important; }
  .large-padding-left-3 {
    padding-left: 3rem !important; }
  .large-padding-horizontal-3 {
    padding-right: 3rem !important;
    padding-left: 3rem !important; }
  .large-padding-vertical-3 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-4 {
    margin: 4rem !important; }
  .medium-margin-top-4 {
    margin-top: 4rem !important; }
  .medium-margin-right-4 {
    margin-right: 4rem !important; }
  .medium-margin-bottom-4 {
    margin-bottom: 4rem !important; }
  .medium-margin-left-4 {
    margin-left: 4rem !important; }
  .medium-margin-horizontal-4 {
    margin-right: 4rem !important;
    margin-left: 4rem !important; }
  .medium-margin-vertical-4 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important; }
  .medium-padding-4 {
    padding: 4rem !important; }
  .medium-padding-top-4 {
    padding-top: 4rem !important; }
  .medium-padding-right-4 {
    padding-right: 4rem !important; }
  .medium-padding-bottom-4 {
    padding-bottom: 4rem !important; }
  .medium-padding-left-4 {
    padding-left: 4rem !important; }
  .medium-padding-horizontal-4 {
    padding-right: 4rem !important;
    padding-left: 4rem !important; }
  .medium-padding-vertical-4 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-4 {
    margin: 4rem !important; }
  .large-margin-top-4 {
    margin-top: 4rem !important; }
  .large-margin-right-4 {
    margin-right: 4rem !important; }
  .large-margin-bottom-4 {
    margin-bottom: 4rem !important; }
  .large-margin-left-4 {
    margin-left: 4rem !important; }
  .large-margin-horizontal-4 {
    margin-right: 4rem !important;
    margin-left: 4rem !important; }
  .large-margin-vertical-4 {
    margin-top: 4rem !important;
    margin-bottom: 4rem !important; }
  .large-padding-4 {
    padding: 4rem !important; }
  .large-padding-top-4 {
    padding-top: 4rem !important; }
  .large-padding-right-4 {
    padding-right: 4rem !important; }
  .large-padding-bottom-4 {
    padding-bottom: 4rem !important; }
  .large-padding-left-4 {
    padding-left: 4rem !important; }
  .large-padding-horizontal-4 {
    padding-right: 4rem !important;
    padding-left: 4rem !important; }
  .large-padding-vertical-4 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-5 {
    margin: 5rem !important; }
  .medium-margin-top-5 {
    margin-top: 5rem !important; }
  .medium-margin-right-5 {
    margin-right: 5rem !important; }
  .medium-margin-bottom-5 {
    margin-bottom: 5rem !important; }
  .medium-margin-left-5 {
    margin-left: 5rem !important; }
  .medium-margin-horizontal-5 {
    margin-right: 5rem !important;
    margin-left: 5rem !important; }
  .medium-margin-vertical-5 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important; }
  .medium-padding-5 {
    padding: 5rem !important; }
  .medium-padding-top-5 {
    padding-top: 5rem !important; }
  .medium-padding-right-5 {
    padding-right: 5rem !important; }
  .medium-padding-bottom-5 {
    padding-bottom: 5rem !important; }
  .medium-padding-left-5 {
    padding-left: 5rem !important; }
  .medium-padding-horizontal-5 {
    padding-right: 5rem !important;
    padding-left: 5rem !important; }
  .medium-padding-vertical-5 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-5 {
    margin: 5rem !important; }
  .large-margin-top-5 {
    margin-top: 5rem !important; }
  .large-margin-right-5 {
    margin-right: 5rem !important; }
  .large-margin-bottom-5 {
    margin-bottom: 5rem !important; }
  .large-margin-left-5 {
    margin-left: 5rem !important; }
  .large-margin-horizontal-5 {
    margin-right: 5rem !important;
    margin-left: 5rem !important; }
  .large-margin-vertical-5 {
    margin-top: 5rem !important;
    margin-bottom: 5rem !important; }
  .large-padding-5 {
    padding: 5rem !important; }
  .large-padding-top-5 {
    padding-top: 5rem !important; }
  .large-padding-right-5 {
    padding-right: 5rem !important; }
  .large-padding-bottom-5 {
    padding-bottom: 5rem !important; }
  .large-padding-left-5 {
    padding-left: 5rem !important; }
  .large-padding-horizontal-5 {
    padding-right: 5rem !important;
    padding-left: 5rem !important; }
  .large-padding-vertical-5 {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-6 {
    margin: 6rem !important; }
  .medium-margin-top-6 {
    margin-top: 6rem !important; }
  .medium-margin-right-6 {
    margin-right: 6rem !important; }
  .medium-margin-bottom-6 {
    margin-bottom: 6rem !important; }
  .medium-margin-left-6 {
    margin-left: 6rem !important; }
  .medium-margin-horizontal-6 {
    margin-right: 6rem !important;
    margin-left: 6rem !important; }
  .medium-margin-vertical-6 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important; }
  .medium-padding-6 {
    padding: 6rem !important; }
  .medium-padding-top-6 {
    padding-top: 6rem !important; }
  .medium-padding-right-6 {
    padding-right: 6rem !important; }
  .medium-padding-bottom-6 {
    padding-bottom: 6rem !important; }
  .medium-padding-left-6 {
    padding-left: 6rem !important; }
  .medium-padding-horizontal-6 {
    padding-right: 6rem !important;
    padding-left: 6rem !important; }
  .medium-padding-vertical-6 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-6 {
    margin: 6rem !important; }
  .large-margin-top-6 {
    margin-top: 6rem !important; }
  .large-margin-right-6 {
    margin-right: 6rem !important; }
  .large-margin-bottom-6 {
    margin-bottom: 6rem !important; }
  .large-margin-left-6 {
    margin-left: 6rem !important; }
  .large-margin-horizontal-6 {
    margin-right: 6rem !important;
    margin-left: 6rem !important; }
  .large-margin-vertical-6 {
    margin-top: 6rem !important;
    margin-bottom: 6rem !important; }
  .large-padding-6 {
    padding: 6rem !important; }
  .large-padding-top-6 {
    padding-top: 6rem !important; }
  .large-padding-right-6 {
    padding-right: 6rem !important; }
  .large-padding-bottom-6 {
    padding-bottom: 6rem !important; }
  .large-padding-left-6 {
    padding-left: 6rem !important; }
  .large-padding-horizontal-6 {
    padding-right: 6rem !important;
    padding-left: 6rem !important; }
  .large-padding-vertical-6 {
    padding-top: 6rem !important;
    padding-bottom: 6rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-7 {
    margin: 7rem !important; }
  .medium-margin-top-7 {
    margin-top: 7rem !important; }
  .medium-margin-right-7 {
    margin-right: 7rem !important; }
  .medium-margin-bottom-7 {
    margin-bottom: 7rem !important; }
  .medium-margin-left-7 {
    margin-left: 7rem !important; }
  .medium-margin-horizontal-7 {
    margin-right: 7rem !important;
    margin-left: 7rem !important; }
  .medium-margin-vertical-7 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important; }
  .medium-padding-7 {
    padding: 7rem !important; }
  .medium-padding-top-7 {
    padding-top: 7rem !important; }
  .medium-padding-right-7 {
    padding-right: 7rem !important; }
  .medium-padding-bottom-7 {
    padding-bottom: 7rem !important; }
  .medium-padding-left-7 {
    padding-left: 7rem !important; }
  .medium-padding-horizontal-7 {
    padding-right: 7rem !important;
    padding-left: 7rem !important; }
  .medium-padding-vertical-7 {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-7 {
    margin: 7rem !important; }
  .large-margin-top-7 {
    margin-top: 7rem !important; }
  .large-margin-right-7 {
    margin-right: 7rem !important; }
  .large-margin-bottom-7 {
    margin-bottom: 7rem !important; }
  .large-margin-left-7 {
    margin-left: 7rem !important; }
  .large-margin-horizontal-7 {
    margin-right: 7rem !important;
    margin-left: 7rem !important; }
  .large-margin-vertical-7 {
    margin-top: 7rem !important;
    margin-bottom: 7rem !important; }
  .large-padding-7 {
    padding: 7rem !important; }
  .large-padding-top-7 {
    padding-top: 7rem !important; }
  .large-padding-right-7 {
    padding-right: 7rem !important; }
  .large-padding-bottom-7 {
    padding-bottom: 7rem !important; }
  .large-padding-left-7 {
    padding-left: 7rem !important; }
  .large-padding-horizontal-7 {
    padding-right: 7rem !important;
    padding-left: 7rem !important; }
  .large-padding-vertical-7 {
    padding-top: 7rem !important;
    padding-bottom: 7rem !important; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-8 {
    margin: 8rem !important; }
  .medium-margin-top-8 {
    margin-top: 8rem !important; }
  .medium-margin-right-8 {
    margin-right: 8rem !important; }
  .medium-margin-bottom-8 {
    margin-bottom: 8rem !important; }
  .medium-margin-left-8 {
    margin-left: 8rem !important; }
  .medium-margin-horizontal-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important; }
  .medium-margin-vertical-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important; }
  .medium-padding-8 {
    padding: 8rem !important; }
  .medium-padding-top-8 {
    padding-top: 8rem !important; }
  .medium-padding-right-8 {
    padding-right: 8rem !important; }
  .medium-padding-bottom-8 {
    padding-bottom: 8rem !important; }
  .medium-padding-left-8 {
    padding-left: 8rem !important; }
  .medium-padding-horizontal-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important; }
  .medium-padding-vertical-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-margin-8 {
    margin: 8rem !important; }
  .large-margin-top-8 {
    margin-top: 8rem !important; }
  .large-margin-right-8 {
    margin-right: 8rem !important; }
  .large-margin-bottom-8 {
    margin-bottom: 8rem !important; }
  .large-margin-left-8 {
    margin-left: 8rem !important; }
  .large-margin-horizontal-8 {
    margin-right: 8rem !important;
    margin-left: 8rem !important; }
  .large-margin-vertical-8 {
    margin-top: 8rem !important;
    margin-bottom: 8rem !important; }
  .large-padding-8 {
    padding: 8rem !important; }
  .large-padding-top-8 {
    padding-top: 8rem !important; }
  .large-padding-right-8 {
    padding-right: 8rem !important; }
  .large-padding-bottom-8 {
    padding-bottom: 8rem !important; }
  .large-padding-left-8 {
    padding-left: 8rem !important; }
  .large-padding-horizontal-8 {
    padding-right: 8rem !important;
    padding-left: 8rem !important; }
  .large-padding-vertical-8 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important; } }

/* Non-Foundation Includes */
.cf::before, .cf::after,
.clearfix::before,
.clearfix::after,
.group::before,
.group::after {
  display: table;
  content: ' '; }

.cf::after,
.clearfix::after,
.group::after {
  clear: both; }

.content {
  position: relative; }

.logo svg {
  fill: #FF5F14;
  display: block;
  transition: fill 250ms ease; }

.logo {
  border-bottom: 0;
  box-shadow: none;
  display: inline-block; }
  .logo:focus {
    outline: 0.125rem solid #0077C8;
    outline-offset: 0.3125rem; }
  .logo:active {
    outline: none; }
  .logo:hover {
    background-color: transparent; }
    .logo:hover svg {
      fill: #fff; }

@media print, screen and (min-width: 40em) {
  .panel-two-svg-logo {
    padding-left: 2rem; } }

.panel-two-svg-logo img {
  width: 75%; }
  @media print, screen and (min-width: 40em) {
    .panel-two-svg-logo img {
      width: 70%; } }

.site-header {
  position: relative; }
  .site-header .grid-container {
    position: relative; }

.top-nav {
  position: relative;
  top: 0;
  z-index: 10;
  width: 100%;
  outline: none; }
  .top-nav.has-snap-panel {
    position: absolute; }
  .top-nav .grid-container,
  .top-nav .row {
    max-width: 87.5rem; }
  .top-nav:focus {
    outline: none; }
  .top-nav ul.menu li {
    text-transform: uppercase; }
    .top-nav ul.menu li li {
      text-transform: none; }
    .top-nav ul.menu li .subheading {
      color: #FF5F14;
      font-weight: 600;
      display: block; }

.menu-bar {
  background-color: #1a1919;
  width: 100%;
  transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out;
  font-family: "neue-haas-unica", sans-serif;
  font-size: 1.0625rem;
  font-weight: 500;
  outline: none; }
  @media print, screen and (min-width: 54.125em) {
    .menu-bar {
      padding: 0; } }
  .menu-bar:focus {
    outline: none; }
  .menu-bar.active, .menu-bar.is-active, .menu-bar.is-stuck, .menu-bar:hover {
    transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out; }
  .menu-bar.has-snap-panel {
    background-color: transparent; }
    .menu-bar.has-snap-panel.active, .menu-bar.has-snap-panel.is-active, .menu-bar.has-snap-panel.is-stuck, .menu-bar.has-snap-panel:hover {
      background-color: rgba(26, 25, 25, 0.95);
      transition: background-color 0.2s ease-in-out, opacity 0.2s ease-in-out; }
      @media print, screen and (min-width: 54.125em) {
        .menu-bar.has-snap-panel.active, .menu-bar.has-snap-panel.is-active, .menu-bar.has-snap-panel.is-stuck, .menu-bar.has-snap-panel:hover {
          background-color: rgba(26, 25, 25, 0.8); } }
  .menu-bar ol,
  .menu-bar ul {
    margin: 0;
    list-style: none;
    font-weight: inherit; }
  .menu-bar a,
  .menu-bar button {
    border-bottom: 0;
    color: #fff;
    display: inline-block;
    font-size: inherit;
    text-decoration: none;
    font-weight: inherit; }
    .menu-bar a.active, .menu-bar a.is-active, .menu-bar a:active, .menu-bar a:focus, .menu-bar a:hover,
    .menu-bar button.active,
    .menu-bar button.is-active,
    .menu-bar button:active,
    .menu-bar button:focus,
    .menu-bar button:hover {
      color: #FF8F1C;
      background-color: initial; }
    .country-selector a:not(.button).is-active, .country-selector a:not(.button):active, .country-selector a:not(.button):focus, .country-selector a:not(.button):hover,
    .country-selector button.is-active,
    .country-selector button:active,
    .country-selector button:focus,
    .country-selector button:hover,
    .widescreen-menu a:not(.button).is-active,
    .widescreen-menu a:not(.button):active,
    .widescreen-menu a:not(.button):focus,
    .widescreen-menu a:not(.button):hover,
    .widescreen-menu button.is-active,
    .widescreen-menu button:active,
    .widescreen-menu button:focus,
    .widescreen-menu button:hover {
      text-decoration: underline; }
    .is-dropdown-submenu-parent > a:not(.button).is-active, .is-dropdown-submenu-parent > a:not(.button):active, .is-dropdown-submenu-parent > a:not(.button):focus, .is-dropdown-submenu-parent > a:not(.button):hover,
    .is-dropdown-submenu-parent > button.is-active,
    .is-dropdown-submenu-parent > button:active,
    .is-dropdown-submenu-parent > button:focus,
    .is-dropdown-submenu-parent > button:hover {
      text-decoration: none; }
  .menu-bar button {
    text-transform: inherit;
    line-height: inherit;
    cursor: pointer;
    border-radius: 0; }
  .menu-bar .top-bar-title {
    position: relative; }
  .menu-bar .site-title {
    height: 1.5625rem;
    position: relative;
    top: 0;
    z-index: 1; }
  .menu-bar .menu-toggle {
    background: transparent;
    border: none;
    margin: 0;
    padding: 0;
    width: 1.5625rem;
    height: 1.5625rem;
    position: relative;
    cursor: pointer;
    z-index: 2;
    border-bottom: 0.1875rem solid transparent;
    transition: border-bottom 250ms ease;
    display: none; }
    .menu-bar .menu-toggle::after, .menu-bar .menu-toggle::before {
      content: "";
      position: absolute;
      transition: background 250ms ease, -webkit-transform 250ms ease;
      transition: transform 250ms ease, background 250ms ease;
      transition: transform 250ms ease, background 250ms ease, -webkit-transform 250ms ease; }
    .menu-bar .menu-toggle:active, .menu-bar .menu-toggle:focus {
      background: transparent;
      border: none;
      outline: none; }
    .menu-bar .menu-toggle.inactive {
      border-bottom: 0.1875rem solid #FF5F14;
      transition: border-bottom 250ms ease; }
      .menu-bar .menu-toggle.inactive::after, .menu-bar .menu-toggle.inactive::before {
        height: 0.1875rem;
        width: 100%;
        left: 0;
        background: #FF5F14; }
      .menu-bar .menu-toggle.inactive::before {
        top: 50%;
        -webkit-transform: rotate(-180deg);
                transform: rotate(-180deg); }
      .menu-bar .menu-toggle.inactive::after {
        top: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
    .menu-bar .menu-toggle.is-active:after, .menu-bar .menu-toggle.is-active:before {
      height: 0.1875rem;
      width: 100%;
      top: 50%;
      left: 0;
      background: #fff;
      transition: background 250ms ease, -webkit-transform 250ms ease;
      transition: transform 250ms ease, background 250ms ease;
      transition: transform 250ms ease, background 250ms ease, -webkit-transform 250ms ease; }
    .menu-bar .menu-toggle.is-active:before {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .menu-bar .menu-toggle.is-active:after {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
  @media screen and (max-width: 54.12375em) {
    .menu-bar .top-bar-title {
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
    .menu-bar .menu-toggle {
      display: block;
      position: absolute;
      right: 0; }
    .menu-bar .touchscreen-menu {
      margin-top: 1rem; }
    .accordion > li {
      border-bottom: 0.0625rem solid rgba(94, 81, 77, 0.5);
      padding: 1rem 0; }
      .accordion > li a {
        display: block; }
      .accordion > li:last-child {
        border: none; }
    .is-accordion-submenu-parent > a {
      position: relative;
      padding-right: 1rem; }
      .is-accordion-submenu-parent > a::after {
        display: block;
        width: 0;
        height: 0;
        border: inset 4px;
        content: '';
        border-bottom-width: 0;
        border-top-style: solid;
        border-color: #D7D2CB transparent transparent;
        position: absolute;
        top: 50%;
        margin-top: -2px;
        right: 0; }
    .is-accordion-submenu-parent[aria-expanded="true"] > a::after {
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      -webkit-transform-origin: 50% 50%;
              transform-origin: 50% 50%; }
    .is-accordion-submenu {
      padding-right: 1rem; } }
  @media print, screen and (min-width: 54.125em) {
    .menu-bar .site-title {
      top: 0.5625rem;
      position: absolute;
      z-index: 3; }
    .menu-bar .widescreen-menu {
      margin: 1.33rem auto;
      text-align: center; }
      .menu-bar .widescreen-menu .menu > li > .is-dropdown-submenu {
        top: 100%; }
      .menu-bar .widescreen-menu .menu a,
      .menu-bar .widescreen-menu .menu button {
        outline: none; }
      .no-js .menu-bar .widescreen-menu .menu ul {
        display: none; }
      .menu-bar .widescreen-menu .menu-center {
        position: relative;
        z-index: 2;
        display: inline-block; }
      .menu-bar .widescreen-menu li {
        font-size: 0.875rem;
        line-height: 1.6;
        display: inline-block; }
      .menu-bar .widescreen-menu .is-dropdown-submenu-parent {
        position: relative; }
        .menu-bar .widescreen-menu .is-dropdown-submenu-parent .down-arrow {
          position: relative; }
          .menu-bar .widescreen-menu .is-dropdown-submenu-parent .down-arrow::after {
            display: block;
            width: 0;
            height: 0;
            border: inset 4px;
            content: '';
            border-bottom-width: 0;
            border-top-style: solid;
            border-color: #D7D2CB transparent transparent; }
          .menu-bar .widescreen-menu .is-dropdown-submenu-parent .down-arrow.below::after {
            position: absolute;
            left: 50%;
            -webkit-transform: translateX(-50%);
                    transform: translateX(-50%);
            top: 75%; }
          .menu-bar .widescreen-menu .is-dropdown-submenu-parent .down-arrow.after::after {
            right: 0;
            position: absolute;
            top: 50%;
            -webkit-transform: translateY(-50%);
                    transform: translateY(-50%); }
      .menu-bar .widescreen-menu .is-dropdown-submenu {
        padding: 0 0.625rem 0.625rem;
        position: absolute;
        top: 0;
        z-index: 1;
        display: none;
        border: none;
        background: #000;
        -webkit-transform: translate3d(0, 0, 0); }
        .menu-bar .widescreen-menu .is-dropdown-submenu > li {
          display: block; }
        .menu-bar .widescreen-menu .is-dropdown-submenu.js-dropdown-active {
          display: block; }
      .menu-bar .widescreen-menu .top-level-item {
        margin: 0 0.625rem; }
        .menu-bar .widescreen-menu .top-level-item > a {
          padding: 0.5625rem 0.625rem; }
      .menu-bar .widescreen-menu .subheading-parent:first-child .subheading {
        margin-top: 0; }
      .menu-bar .widescreen-menu .subheading {
        margin-top: 0.75rem; }
      .menu-bar .widescreen-menu .is-active {
        position: initial; }
        .menu-bar .widescreen-menu .is-active > .is-dropdown-submenu {
          display: block;
          padding-top: 0.625rem;
          margin-left: 0; }
          .menu-bar .widescreen-menu .is-active > .is-dropdown-submenu li {
            display: block;
            text-align: left;
            margin-bottom: 0; } }

.country-selector {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 0.875rem; }
  .country-selector a {
    position: relative;
    z-index: 4;
    display: block;
    width: 100%; }
  .country-selector .top-level-item:first-child,
  .country-selector .is-dropdown-submenu-parent:first-child {
    display: inline-block;
    margin-right: 0; }
  .country-selector .top-level-item:last-child,
  .country-selector .is-dropdown-submenu-parent:last-child {
    border-left: 0.0625rem solid #6E6259;
    padding-left: 0.75rem; }
    .country-selector .top-level-item:last-child > a,
    .country-selector .is-dropdown-submenu-parent:last-child > a {
      padding-right: 0.75rem; }

.no-js .is-dropdown-submenu {
  display: none !important; }

.utility-banner {
  position: relative;
  padding: 0.75rem 2rem 0.75rem 0.75rem;
  line-height: 1; }
  .utility-banner p {
    margin-bottom: 0;
    text-transform: none;
    display: inline-block; }
  .utility-banner a:not(.button) {
    font-weight: 600;
    display: inline-block;
    border-bottom: 0.0625rem solid; }
    .utility-banner a:not(.button):hover {
      border-bottom: 0.0625rem solid; }
  .utility-banner a,
  .utility-banner a:active,
  .utility-banner a:focus,
  .utility-banner a:hover {
    color: inherit; }
  .utility-banner .button {
    display: inline-block;
    width: auto; }
  .utility-banner .close-button {
    background-color: transparent;
    font-size: 1.375rem;
    border: 0.0625rem solid;
    margin-bottom: 0;
    padding: 0.125rem 0.375rem;
    top: 0.625rem; }
    .utility-banner .close-button:hover {
      border: 0.0625rem solid; }
  .utility-banner .button {
    border: 0.0625rem solid;
    margin-bottom: 0; }
    .utility-banner .button:hover {
      border: 0.0625rem solid; }

a.arrow:not(.button), button.arrow,
.button.arrow {
  position: relative; }
  a.arrow:not(.button)::after, button.arrow::after,
  .button.arrow::after {
    content: '';
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; }
  a.arrow:not(.button)::after, button.arrow::after,
  .button.arrow::after {
    width: 1.25rem;
    height: 0.625rem;
    margin-left: 0.625rem;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    transition: margin 250ms ease-out, background 250ms ease-out; }
  a.arrow:not(.button):focus::after, button.arrow:focus::after,
  .button.arrow:focus::after, a.arrow:not(.button):hover::after, button.arrow:hover::after,
  .button.arrow:hover::after {
    margin-left: 0.9375rem; }

a {
  background-color: transparent;
  color: #000;
  border-bottom: 0.0625rem solid #0077C8; }
  a:hover, a:active {
    background-color: #0077C8;
    color: #fff;
    transition: background-color 250ms ease-out, border-color 250ms ease-out, color 250ms ease-out;
    border-bottom: 0.0625rem solid inherit; }
  a.secondary:not(.button) {
    border-color: #fff;
    transition: background 250ms ease, color 250ms ease; }
    a.secondary:not(.button):focus, a.secondary:not(.button):hover, a.secondary:not(.button):active {
      background-color: #fff;
      color: #222; }
  a.arrow:not(.button) {
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    font-size: 0.875rem;
    background: none;
    text-decoration: none;
    padding-right: 2.5rem;
    border-bottom: 0; }
    a.arrow:not(.button)::after {
      background-color: #0077C8; }
    a.arrow:not(.button):focus, a.arrow:not(.button):hover, a.arrow:not(.button):active {
      color: #0077C8; }
      a.arrow:not(.button):focus::after, a.arrow:not(.button):hover::after, a.arrow:not(.button):active::after {
        background-color: #0077C8; }
    a.arrow:not(.button).reverse {
      position: relative;
      padding-left: 2.5rem;
      padding-right: 0; }
      a.arrow:not(.button).reverse::after {
        content: '';
        -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
                mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat; }
      a.arrow:not(.button).reverse::after {
        -webkit-transform: translateY(-50%) rotate(180deg);
                transform: translateY(-50%) rotate(180deg);
        left: 0;
        margin-right: 1.5625rem; }
      a.arrow:not(.button).reverse:focus::after, a.arrow:not(.button).reverse:hover::after {
        margin-left: 0.3125rem; }
    a.arrow:not(.button).down {
      position: relative;
      padding-right: 0; }
      a.arrow:not(.button).down::after {
        content: '';
        -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
                mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat; }
      a.arrow:not(.button).down::after {
        -webkit-transform: translateY(-50%) rotate(90deg);
                transform: translateY(-50%) rotate(90deg); }
      a.arrow:not(.button).down:focus::after, a.arrow:not(.button).down:hover::after {
        background-color: #fff;
        margin-top: 0.625rem;
        margin-left: 0.625rem; }
    a.arrow:not(.button).up {
      position: relative;
      padding-right: 0; }
      a.arrow:not(.button).up::after {
        content: '';
        -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
                mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25.8 12.9"><path d="M0 5.5h12v1.9H0z"/><path d="M11.9 12.9V11l11.4-4.5-11.4-4.6V0l13.9 5.6v1.6l-13.9 5.7zm12.9-6.6v.2-.2z"/></svg>');
        -webkit-mask-repeat: no-repeat;
                mask-repeat: no-repeat; }
      a.arrow:not(.button).up::after {
        -webkit-transform: translateY(-50%) rotate(-90deg);
                transform: translateY(-50%) rotate(-90deg); }
      a.arrow:not(.button).up:focus::after, a.arrow:not(.button).up:hover::after {
        margin-top: -0.625rem;
        margin-left: 0.625rem; }

/*
    For links that fill the entire space of the parent container
    (requires relative position on parent)
  */
.fill-space-link {
  border-bottom: initial;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0; }
  .fill-space-link:hover {
    border-bottom: initial;
    background-color: initial; }

/*
    For links that wrap text content (we want to avoid underlines on these)
  */
.block-link {
  border-bottom: 0;
  display: block;
  text-decoration: none;
  background-color: initial; }
  .block-link:hover {
    background-color: initial;
    border-bottom: 0;
    color: initial; }

.pagination [class^='pagination-'] {
  display: inline-block; }

.pagination a {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem;
  text-decoration: none;
  border-bottom: initial; }
  .pagination a:hover {
    border-bottom: initial; }

a.cta,
.cta a {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem; }

button,
.button {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem;
  background-color: #0077C8;
  border: 0.0625rem solid #0077C8;
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  line-height: 1;
  margin-bottom: 1rem;
  padding: 1.0625rem 1.125rem;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out; }
  button:focus, button:hover,
  .button:focus,
  .button:hover {
    background-color: #fff;
    border: 0.0625rem solid #0077C8;
    color: #000; }
    button:focus::after, button:hover::after,
    .button:focus::after,
    .button:hover::after {
      color: #0077C8; }
  button.hollow:focus, button.hollow:hover,
  .button.hollow:focus,
  .button.hollow:hover {
    background-color: transparent;
    color: #fff; }
  button.hollow.secondary,
  .button.hollow.secondary {
    background-color: transparent;
    color: #fff; }
    button.hollow.secondary:focus, button.hollow.secondary:hover,
    .button.hollow.secondary:focus,
    .button.hollow.secondary:hover {
      background-color: #0077C8;
      color: #fff; }
  button.arrow,
  .button.arrow {
    padding-right: 3.125rem; }
    button.arrow::after,
    .button.arrow::after {
      background-color: #fff; }
    button.arrow:focus::after, button.arrow:hover::after,
    .button.arrow:focus::after,
    .button.arrow:hover::after {
      background-color: #0077C8; }
  button.white,
  .button.white,
  .bg-secondary a.button,
  .bg-orange a.button,
  aside.panel:not(.dark) a.button {
    background-color: #fff;
    border: 0.0625rem solid #fff;
    color: #000; }
    button.white::after,
    .button.white::after,
    .bg-secondary a.button::after,
    .bg-orange a.button::after,
    aside.panel:not(.dark) a.button::after {
      background-color: #0077C8; }
    button.white:focus, button.white:hover,
    .button.white:focus,
    .bg-secondary a.button:focus,
    .bg-orange a.button:focus,
    aside.panel:not(.dark) a.button:focus,
    .button.white:hover,
    .bg-secondary a.button:hover,
    .bg-orange a.button:hover,
    aside.panel:not(.dark) a.button:hover {
      background-color: transparent;
      color: #fff; }
      button.white:focus::after, button.white:hover::after,
      .button.white:focus::after,
      .bg-secondary a.button:focus::after,
      .bg-orange a.button:focus::after,
      aside.panel:not(.dark) a.button:focus::after,
      .button.white:hover::after,
      .bg-secondary a.button:hover::after,
      .bg-orange a.button:hover::after,
      aside.panel:not(.dark) a.button:hover::after {
        background-color: #fff; }
    button.white.secondary,
    .button.white.secondary,
    .bg-secondary a.secondary.button,
    .bg-orange a.secondary.button,
    aside.panel:not(.dark) a.secondary.button {
      background-color: transparent;
      border: 0.0625rem solid #fff;
      color: #fff; }
      button.white.secondary::after,
      .button.white.secondary::after,
      .bg-secondary a.secondary.button::after,
      .bg-orange a.secondary.button::after,
      aside.panel:not(.dark) a.secondary.button::after {
        background-color: #fff; }
      button.white.secondary:focus, button.white.secondary:hover,
      .button.white.secondary:focus,
      .bg-secondary a.secondary.button:focus,
      .bg-orange a.secondary.button:focus,
      aside.panel:not(.dark) a.secondary.button:focus,
      .button.white.secondary:hover,
      .bg-secondary a.secondary.button:hover,
      .bg-orange a.secondary.button:hover,
      aside.panel:not(.dark) a.secondary.button:hover {
        background-color: #fff;
        color: #000; }
        button.white.secondary:focus::after, button.white.secondary:hover::after,
        .button.white.secondary:focus::after,
        .bg-secondary a.secondary.button:focus::after,
        .bg-orange a.secondary.button:focus::after,
        aside.panel:not(.dark) a.secondary.button:focus::after,
        .button.white.secondary:hover::after,
        .bg-secondary a.secondary.button:hover::after,
        .bg-orange a.secondary.button:hover::after,
        aside.panel:not(.dark) a.secondary.button:hover::after {
          background-color: #0077C8; }
  button.secondary,
  .button.secondary {
    background-color: #fff;
    color: #000; }
    button.secondary::after,
    .button.secondary::after {
      background-color: #0077C8; }
    button.secondary:focus, button.secondary:hover,
    .button.secondary:focus,
    .button.secondary:hover {
      background-color: #0077C8;
      color: #fff; }
      button.secondary:focus::after, button.secondary:hover::after,
      .button.secondary:focus::after,
      .button.secondary:hover::after {
        background-color: #fff; }
  button.small,
  .button.small {
    padding: 0.75rem 1.125rem; }
  button.chevron,
  .button.chevron,
  details.buttonish summary > span.button {
    padding-right: 2.8125rem;
    position: relative; }
    button.chevron::after,
    .button.chevron::after,
    details.buttonish summary > span.button::after {
      content: '';
      -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30.4 14.5"><path d="M15.9 14.5h-1.4L0 0h3.1l12.1 12.1L27.3 0h3.1L15.9 14.5z"/></svg>');
              mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30.4 14.5"><path d="M15.9 14.5h-1.4L0 0h3.1l12.1 12.1L27.3 0h3.1L15.9 14.5z"/></svg>');
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat; }
    button.chevron::after,
    .button.chevron::after,
    details.buttonish summary > span.button::after {
      background-color: #0077C8; }
    button.chevron::after,
    .button.chevron::after,
    details.buttonish summary > span.button::after {
      width: 1.25rem;
      height: 0.625rem;
      margin-left: 0.625rem;
      position: absolute;
      right: 1rem;
      top: 50%;
      -webkit-transform: rotate(0) translateY(-50%);
              transform: rotate(0) translateY(-50%);
      transition: top 250ms ease, background 250ms ease, -webkit-transform 250ms ease;
      transition: top 250ms ease, transform 250ms ease, background 250ms ease;
      transition: top 250ms ease, transform 250ms ease, background 250ms ease, -webkit-transform 250ms ease; }
    button.chevron.active::after, button.chevron:focus::after, button.chevron:active::after,
    .button.chevron.active::after,
    details.buttonish summary > span.active.button::after,
    details.buttonish[open] summary > span::after,
    .button.chevron:focus::after,
    details.buttonish summary > span.button:focus::after,
    .button.chevron:active::after,
    details.buttonish summary > span.button:active::after {
      -webkit-transform: rotate(-180deg);
              transform: rotate(-180deg);
      top: 1.1875rem; }
  button.podcast,
  .button.podcast {
    padding-right: 2.8125rem;
    position: relative; }
    button.podcast::after,
    .button.podcast::after {
      content: '';
      -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 24.3"><path d="M23 4c-2.5-2.5-5.9-4-9.5-4S6.5 1.4 4 4c-2.5 2.5-4 5.9-4 9.5 0 3.5 1.3 6.8 3.7 9.3l1-1C.3 17.1.4 9.6 5 5c2.3-2.3 5.3-3.5 8.5-3.5S19.8 2.8 22 5c4.6 4.6 4.7 12.1.2 16.9l1 1c2.4-2.5 3.7-5.8 3.7-9.3C27 9.9 25.6 6.5 23 4z"/><path d="M20 7c-1.7-1.7-4.1-2.7-6.5-2.7C11 4.3 8.7 5.2 7 7c-3.5 3.5-3.6 9.2-.2 12.8l1-1c-1.3-1.5-2.1-3.3-2.1-5.3 0-2.1.8-4 2.3-5.5s3.4-2.3 5.5-2.3 4 .8 5.5 2.3 2.3 3.4 2.3 5.5c0 2-.7 3.8-2.1 5.3l1 1c3.4-3.6 3.3-9.3-.2-12.8z"/><path d="M17.2 9.9c-2.1-2-5.3-2-7.3 0-1.9 1.9-2 5-.2 7l1-1c-.6-.7-.9-1.5-.9-2.4 0-1 .4-1.9 1.1-2.6 1.5-1.4 3.7-1.4 5.2 0 1.3 1.3 1.4 3.5.2 4.9l1 1c1.8-1.9 1.7-5-.1-6.9z"/><path d="M15.1 13.4c0-.9-.7-1.6-1.6-1.6-.9 0-1.6.7-1.6 1.6 0 .6.3 1.1.8 1.4h.1v9.4h1.5v-9.4h.1c.4-.2.7-.8.7-1.4z"/></svg>');
              mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 24.3"><path d="M23 4c-2.5-2.5-5.9-4-9.5-4S6.5 1.4 4 4c-2.5 2.5-4 5.9-4 9.5 0 3.5 1.3 6.8 3.7 9.3l1-1C.3 17.1.4 9.6 5 5c2.3-2.3 5.3-3.5 8.5-3.5S19.8 2.8 22 5c4.6 4.6 4.7 12.1.2 16.9l1 1c2.4-2.5 3.7-5.8 3.7-9.3C27 9.9 25.6 6.5 23 4z"/><path d="M20 7c-1.7-1.7-4.1-2.7-6.5-2.7C11 4.3 8.7 5.2 7 7c-3.5 3.5-3.6 9.2-.2 12.8l1-1c-1.3-1.5-2.1-3.3-2.1-5.3 0-2.1.8-4 2.3-5.5s3.4-2.3 5.5-2.3 4 .8 5.5 2.3 2.3 3.4 2.3 5.5c0 2-.7 3.8-2.1 5.3l1 1c3.4-3.6 3.3-9.3-.2-12.8z"/><path d="M17.2 9.9c-2.1-2-5.3-2-7.3 0-1.9 1.9-2 5-.2 7l1-1c-.6-.7-.9-1.5-.9-2.4 0-1 .4-1.9 1.1-2.6 1.5-1.4 3.7-1.4 5.2 0 1.3 1.3 1.4 3.5.2 4.9l1 1c1.8-1.9 1.7-5-.1-6.9z"/><path d="M15.1 13.4c0-.9-.7-1.6-1.6-1.6-.9 0-1.6.7-1.6 1.6 0 .6.3 1.1.8 1.4h.1v9.4h1.5v-9.4h.1c.4-.2.7-.8.7-1.4z"/></svg>');
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat; }
    button.podcast::after,
    .button.podcast::after {
      background-color: #0077C8; }
    button.podcast::after,
    .button.podcast::after {
      width: 1.25rem;
      height: 1.25rem;
      margin-left: 0.625rem;
      position: absolute;
      top: 0.9375rem; }

.open-button {
  cursor: pointer; }

.close-button {
  color: #1a1919;
  cursor: pointer;
  font-size: 2rem;
  line-height: 1;
  padding: 0.0625rem 0.375rem 0;
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  z-index: 1; }

.button-cloud .button {
  min-width: 100%; }
  @media print, screen and (min-width: 40em) {
    .button-cloud .button {
      min-width: auto;
      margin-right: 0.75rem; } }

details.buttonish {
  margin-left: 0;
  margin-bottom: 0; }
  details.buttonish summary {
    display: block;
    margin-left: 0;
    list-style: none; }
    details.buttonish summary::-webkit-details-marker {
      display: none; }
    details.buttonish summary > span.button {
      margin-bottom: 0; }
  details.buttonish[open] summary {
    margin-bottom: 1rem; }

.button-group {
  margin-bottom: 0; }


.bg-white {
  background-color: #fff; }


.bg-cream {
  background-color: #f3f0eb; }


.bg-neutral-1,
aside.panel.dark {
  background-color: #382E2C;
  color: #fff; }
  
  .bg-neutral-1 h1,
  aside.panel.dark h1,
  .bg-neutral-1 .h1,
  aside.panel.dark .h1 {
    color: inherit; }
  
  .bg-neutral-1 h2,
  aside.panel.dark h2,
  .bg-neutral-1 .h2,
  aside.panel.dark .h2 {
    color: inherit; }
  
  .bg-neutral-1 h3,
  aside.panel.dark h3,
  .bg-neutral-1 .h3,
  aside.panel.dark .h3 {
    color: inherit; }
  
  .bg-neutral-1 h4,
  aside.panel.dark h4,
  .bg-neutral-1 dl.icon-list dt,
  dl.icon-list .bg-neutral-1 dt,
  aside.panel.dark dl.icon-list dt,
  dl.icon-list aside.panel.dark dt,
  .bg-neutral-1 .h4,
  aside.panel.dark .h4 {
    color: inherit; }
  
  .bg-neutral-1 h5,
  aside.panel.dark h5,
  .bg-neutral-1 .h5,
  aside.panel.dark .h5,
  .bg-neutral-1 .stats-2col h3,
  .stats-2col .bg-neutral-1 h3,
  aside.panel.dark .stats-2col h3,
  .stats-2col aside.panel.dark h3,
  .bg-neutral-1 .stats-2col h4,
  .stats-2col .bg-neutral-1 h4,
  aside.panel.dark .stats-2col h4,
  .stats-2col aside.panel.dark h4,
  .bg-neutral-1 .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list .bg-neutral-1 dt,
  aside.panel.dark .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list aside.panel.dark dt,
  .bg-neutral-1 dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col .bg-neutral-1 dt,
  aside.panel.dark dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col aside.panel.dark dt,
  .bg-neutral-1 .stats-2col h5,
  .stats-2col .bg-neutral-1 h5,
  aside.panel.dark .stats-2col h5,
  .stats-2col aside.panel.dark h5,
  .bg-neutral-1 .stats-2col h6,
  .stats-2col .bg-neutral-1 h6,
  aside.panel.dark .stats-2col h6,
  .stats-2col aside.panel.dark h6 {
    color: inherit; }
  
  .bg-neutral-1 h6,
  aside.panel.dark h6,
  .bg-neutral-1 .h6,
  aside.panel.dark .h6 {
    color: inherit; }
  
  .bg-neutral-1 label,
  aside.panel.dark label {
    color: inherit; }
    
    .bg-neutral-1 label.error,
    aside.panel.dark label.error {
      color: inherit; }
  
  .bg-neutral-1 a:not(.button),
  aside.panel.dark a:not(.button) {
    color: inherit; }
    
    .bg-neutral-1 a:not(.button):active,
    aside.panel.dark a:not(.button):active,
    .bg-neutral-1 a:not(.button):focus,
    aside.panel.dark a:not(.button):focus,
    .bg-neutral-1 a:not(.button):hover,
    aside.panel.dark a:not(.button):hover {
      color: #fff; }
  
  .bg-neutral-1 .text-secondary,
  aside.panel.dark .text-secondary,
  .bg-neutral-1 .text-orange,
  aside.panel.dark .text-orange,
  .bg-neutral-1 dl.icon-list dt,
  dl.icon-list .bg-neutral-1 dt,
  aside.panel.dark dl.icon-list dt,
  dl.icon-list aside.panel.dark dt {
    color: #FF5F14; }
  
  .bg-neutral-1 .icon.orange,
  aside.panel.dark .icon.orange {
    background-color: #FF5F14; }
  
  .bg-neutral-1 .close-button:active,
  aside.panel.dark .close-button:active,
  .bg-neutral-1 .close-button:focus,
  aside.panel.dark .close-button:focus,
  .bg-neutral-1 .close-button:hover,
  aside.panel.dark .close-button:hover {
    color: inherit; }
  
  .bg-neutral-1 blockquote,
  aside.panel.dark blockquote {
    color: #FF5F14; }
    
    .bg-neutral-1 blockquote p,
    aside.panel.dark blockquote p {
      color: inherit; }
  
  .bg-neutral-1 cite,
  aside.panel.dark cite {
    color: #fff; }
  
  .bg-neutral-1 dl,
  aside.panel.dark dl,
  .bg-neutral-1 dt,
  aside.panel.dark dt,
  .bg-neutral-1 dd,
  aside.panel.dark dd {
    color: inherit; }
  
  .bg-neutral-1 p,
  aside.panel.dark p {
    color: inherit; }

.bg-black, .bg-onyx, .bg-very-dark-gray, .bg-dark-gray, .bg-medium-gray,
.bg-neutral-black {
  background-color: #222;
  color: #fff; }
  .bg-black h1, .bg-onyx h1, .bg-very-dark-gray h1, .bg-dark-gray h1, .bg-medium-gray h1, .bg-black .h1, .bg-onyx .h1, .bg-very-dark-gray .h1, .bg-dark-gray .h1, .bg-medium-gray .h1,
  .bg-neutral-black h1,
  .bg-neutral-black .h1 {
    color: inherit; }
  .bg-black h2, .bg-onyx h2, .bg-very-dark-gray h2, .bg-dark-gray h2, .bg-medium-gray h2, .bg-black .h2, .bg-onyx .h2, .bg-very-dark-gray .h2, .bg-dark-gray .h2, .bg-medium-gray .h2,
  .bg-neutral-black h2,
  .bg-neutral-black .h2 {
    color: inherit; }
  .bg-black h3, .bg-onyx h3, .bg-very-dark-gray h3, .bg-dark-gray h3, .bg-medium-gray h3, .bg-black .h3, .bg-onyx .h3, .bg-very-dark-gray .h3, .bg-dark-gray .h3, .bg-medium-gray .h3,
  .bg-neutral-black h3,
  .bg-neutral-black .h3 {
    color: inherit; }
  .bg-black h4, .bg-onyx h4, .bg-very-dark-gray h4, .bg-dark-gray h4, .bg-medium-gray h4, .bg-black dl.icon-list dt, dl.icon-list .bg-black dt, .bg-onyx dl.icon-list dt, dl.icon-list .bg-onyx dt, .bg-very-dark-gray dl.icon-list dt, dl.icon-list .bg-very-dark-gray dt, .bg-dark-gray dl.icon-list dt, dl.icon-list .bg-dark-gray dt, .bg-medium-gray dl.icon-list dt, dl.icon-list .bg-medium-gray dt, .bg-black .h4, .bg-onyx .h4, .bg-very-dark-gray .h4, .bg-dark-gray .h4, .bg-medium-gray .h4,
  .bg-neutral-black h4,
  .bg-neutral-black dl.icon-list dt,
  dl.icon-list .bg-neutral-black dt,
  .bg-neutral-black .h4 {
    color: inherit; }
  .bg-black h5, .bg-onyx h5, .bg-very-dark-gray h5, .bg-dark-gray h5, .bg-medium-gray h5, .bg-black .h5, .bg-onyx .h5, .bg-very-dark-gray .h5, .bg-dark-gray .h5, .bg-medium-gray .h5, .bg-black .stats-2col h3, .stats-2col .bg-black h3, .bg-onyx .stats-2col h3, .stats-2col .bg-onyx h3, .bg-very-dark-gray .stats-2col h3, .stats-2col .bg-very-dark-gray h3, .bg-dark-gray .stats-2col h3, .stats-2col .bg-dark-gray h3, .bg-medium-gray .stats-2col h3, .stats-2col .bg-medium-gray h3, .bg-black .stats-2col h4, .stats-2col .bg-black h4, .bg-onyx .stats-2col h4, .stats-2col .bg-onyx h4, .bg-very-dark-gray .stats-2col h4, .stats-2col .bg-very-dark-gray h4, .bg-dark-gray .stats-2col h4, .stats-2col .bg-dark-gray h4, .bg-medium-gray .stats-2col h4, .stats-2col .bg-medium-gray h4, .bg-black .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-black dt, .bg-onyx .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-onyx dt, .bg-very-dark-gray .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-very-dark-gray dt, .bg-dark-gray .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-dark-gray dt, .bg-medium-gray .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-medium-gray dt, .bg-black dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-black dt, .bg-onyx dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-onyx dt, .bg-very-dark-gray dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-very-dark-gray dt, .bg-dark-gray dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-dark-gray dt, .bg-medium-gray dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-medium-gray dt, .bg-black .stats-2col h5, .stats-2col .bg-black h5, .bg-onyx .stats-2col h5, .stats-2col .bg-onyx h5, .bg-very-dark-gray .stats-2col h5, .stats-2col .bg-very-dark-gray h5, .bg-dark-gray .stats-2col h5, .stats-2col .bg-dark-gray h5, .bg-medium-gray .stats-2col h5, .stats-2col .bg-medium-gray h5, .bg-black .stats-2col h6, .stats-2col .bg-black h6, .bg-onyx .stats-2col h6, .stats-2col .bg-onyx h6, .bg-very-dark-gray .stats-2col h6, .stats-2col .bg-very-dark-gray h6, .bg-dark-gray .stats-2col h6, .stats-2col .bg-dark-gray h6, .bg-medium-gray .stats-2col h6, .stats-2col .bg-medium-gray h6,
  .bg-neutral-black h5,
  .bg-neutral-black .h5,
  .bg-neutral-black .stats-2col h3,
  .stats-2col .bg-neutral-black h3,
  .bg-neutral-black .stats-2col h4,
  .stats-2col .bg-neutral-black h4,
  .bg-neutral-black .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list .bg-neutral-black dt,
  .bg-neutral-black dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col .bg-neutral-black dt,
  .bg-neutral-black .stats-2col h5,
  .stats-2col .bg-neutral-black h5,
  .bg-neutral-black .stats-2col h6,
  .stats-2col .bg-neutral-black h6 {
    color: inherit; }
  .bg-black h6, .bg-onyx h6, .bg-very-dark-gray h6, .bg-dark-gray h6, .bg-medium-gray h6, .bg-black .h6, .bg-onyx .h6, .bg-very-dark-gray .h6, .bg-dark-gray .h6, .bg-medium-gray .h6,
  .bg-neutral-black h6,
  .bg-neutral-black .h6 {
    color: inherit; }
  .bg-black label, .bg-onyx label, .bg-very-dark-gray label, .bg-dark-gray label, .bg-medium-gray label,
  .bg-neutral-black label {
    color: inherit; }
    .bg-black label.error, .bg-onyx label.error, .bg-very-dark-gray label.error, .bg-dark-gray label.error, .bg-medium-gray label.error,
    .bg-neutral-black label.error {
      color: inherit; }
  .bg-black a:not(.button), .bg-onyx a:not(.button), .bg-very-dark-gray a:not(.button), .bg-dark-gray a:not(.button), .bg-medium-gray a:not(.button),
  .bg-neutral-black a:not(.button) {
    color: inherit; }
    .bg-black a:not(.button):active, .bg-onyx a:not(.button):active, .bg-very-dark-gray a:not(.button):active, .bg-dark-gray a:not(.button):active, .bg-medium-gray a:not(.button):active, .bg-black a:not(.button):focus, .bg-onyx a:not(.button):focus, .bg-very-dark-gray a:not(.button):focus, .bg-dark-gray a:not(.button):focus, .bg-medium-gray a:not(.button):focus, .bg-black a:not(.button):hover, .bg-onyx a:not(.button):hover, .bg-very-dark-gray a:not(.button):hover, .bg-dark-gray a:not(.button):hover, .bg-medium-gray a:not(.button):hover,
    .bg-neutral-black a:not(.button):active,
    .bg-neutral-black a:not(.button):focus,
    .bg-neutral-black a:not(.button):hover {
      color: #fff; }
  .bg-black .text-secondary, .bg-onyx .text-secondary, .bg-very-dark-gray .text-secondary, .bg-dark-gray .text-secondary, .bg-medium-gray .text-secondary,
  .bg-black .text-orange,
  .bg-onyx .text-orange,
  .bg-very-dark-gray .text-orange,
  .bg-dark-gray .text-orange,
  .bg-medium-gray .text-orange,
  .bg-black dl.icon-list dt,
  dl.icon-list .bg-black dt,
  .bg-onyx dl.icon-list dt,
  dl.icon-list .bg-onyx dt,
  .bg-very-dark-gray dl.icon-list dt,
  dl.icon-list .bg-very-dark-gray dt,
  .bg-dark-gray dl.icon-list dt,
  dl.icon-list .bg-dark-gray dt,
  .bg-medium-gray dl.icon-list dt,
  dl.icon-list .bg-medium-gray dt,
  .bg-neutral-black .text-secondary,
  .bg-neutral-black .text-orange,
  .bg-neutral-black dl.icon-list dt,
  dl.icon-list .bg-neutral-black dt {
    color: #FF5F14; }
  .bg-black .icon.orange, .bg-onyx .icon.orange, .bg-very-dark-gray .icon.orange, .bg-dark-gray .icon.orange, .bg-medium-gray .icon.orange,
  .bg-neutral-black .icon.orange {
    background-color: #FF5F14; }
  .bg-black .close-button:active, .bg-onyx .close-button:active, .bg-very-dark-gray .close-button:active, .bg-dark-gray .close-button:active, .bg-medium-gray .close-button:active, .bg-black .close-button:focus, .bg-onyx .close-button:focus, .bg-very-dark-gray .close-button:focus, .bg-dark-gray .close-button:focus, .bg-medium-gray .close-button:focus, .bg-black .close-button:hover, .bg-onyx .close-button:hover, .bg-very-dark-gray .close-button:hover, .bg-dark-gray .close-button:hover, .bg-medium-gray .close-button:hover,
  .bg-neutral-black .close-button:active,
  .bg-neutral-black .close-button:focus,
  .bg-neutral-black .close-button:hover {
    color: inherit; }
  .bg-black blockquote, .bg-onyx blockquote, .bg-very-dark-gray blockquote, .bg-dark-gray blockquote, .bg-medium-gray blockquote,
  .bg-neutral-black blockquote {
    color: #FF5F14; }
    .bg-black blockquote p, .bg-onyx blockquote p, .bg-very-dark-gray blockquote p, .bg-dark-gray blockquote p, .bg-medium-gray blockquote p,
    .bg-neutral-black blockquote p {
      color: inherit; }
  .bg-black cite, .bg-onyx cite, .bg-very-dark-gray cite, .bg-dark-gray cite, .bg-medium-gray cite,
  .bg-neutral-black cite {
    color: #fff; }
  .bg-black dl, .bg-onyx dl, .bg-very-dark-gray dl, .bg-dark-gray dl, .bg-medium-gray dl, .bg-black dt, .bg-onyx dt, .bg-very-dark-gray dt, .bg-dark-gray dt, .bg-medium-gray dt, .bg-black dd, .bg-onyx dd, .bg-very-dark-gray dd, .bg-dark-gray dd, .bg-medium-gray dd,
  .bg-neutral-black dl,
  .bg-neutral-black dt,
  .bg-neutral-black dd {
    color: inherit; }
  .bg-black p, .bg-onyx p, .bg-very-dark-gray p, .bg-dark-gray p, .bg-medium-gray p,
  .bg-neutral-black p {
    color: inherit; }


.bg-primary-black {
  background-color: #1a1919;
  color: #fff; }
  
  .bg-primary-black h1,
  .bg-primary-black .h1 {
    color: inherit; }
  
  .bg-primary-black h2,
  .bg-primary-black .h2 {
    color: inherit; }
  
  .bg-primary-black h3,
  .bg-primary-black .h3 {
    color: inherit; }
  
  .bg-primary-black h4,
  .bg-primary-black dl.icon-list dt,
  dl.icon-list .bg-primary-black dt,
  .bg-primary-black .h4 {
    color: inherit; }
  
  .bg-primary-black h5,
  .bg-primary-black .h5,
  .bg-primary-black .stats-2col h3,
  .stats-2col .bg-primary-black h3,
  .bg-primary-black .stats-2col h4,
  .stats-2col .bg-primary-black h4,
  .bg-primary-black .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list .bg-primary-black dt,
  .bg-primary-black dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col .bg-primary-black dt,
  .bg-primary-black .stats-2col h5,
  .stats-2col .bg-primary-black h5,
  .bg-primary-black .stats-2col h6,
  .stats-2col .bg-primary-black h6 {
    color: inherit; }
  
  .bg-primary-black h6,
  .bg-primary-black .h6 {
    color: inherit; }
  
  .bg-primary-black label {
    color: inherit; }
    
    .bg-primary-black label.error {
      color: inherit; }
  
  .bg-primary-black a:not(.button) {
    color: inherit; }
    
    .bg-primary-black a:not(.button):active,
    .bg-primary-black a:not(.button):focus,
    .bg-primary-black a:not(.button):hover {
      color: #fff; }
  
  .bg-primary-black .text-secondary,
  .bg-primary-black .text-orange,
  .bg-primary-black dl.icon-list dt,
  dl.icon-list .bg-primary-black dt {
    color: #FF5F14; }
  
  .bg-primary-black .icon.orange {
    background-color: #FF5F14; }
  
  .bg-primary-black .close-button:active,
  .bg-primary-black .close-button:focus,
  .bg-primary-black .close-button:hover {
    color: inherit; }
  
  .bg-primary-black blockquote {
    color: #FF5F14; }
    
    .bg-primary-black blockquote p {
      color: inherit; }
  
  .bg-primary-black cite {
    color: #fff; }
  
  .bg-primary-black dl,
  .bg-primary-black dt,
  .bg-primary-black dd {
    color: inherit; }
  
  .bg-primary-black p {
    color: inherit; }

.bg-primary,
.bg-blue {
  background-color: #0077C8;
  color: #fff; }
  .bg-primary h1, .bg-primary .h1,
  .bg-blue h1,
  .bg-blue .h1 {
    color: inherit; }
  .bg-primary h2, .bg-primary .h2,
  .bg-blue h2,
  .bg-blue .h2 {
    color: inherit; }
  .bg-primary h3, .bg-primary .h3,
  .bg-blue h3,
  .bg-blue .h3 {
    color: inherit; }
  .bg-primary h4, .bg-primary dl.icon-list dt, dl.icon-list .bg-primary dt, .bg-primary .h4,
  .bg-blue h4,
  .bg-blue dl.icon-list dt,
  dl.icon-list .bg-blue dt,
  .bg-blue .h4 {
    color: inherit; }
  .bg-primary h5, .bg-primary .h5, .bg-primary .stats-2col h3, .stats-2col .bg-primary h3, .bg-primary .stats-2col h4, .stats-2col .bg-primary h4, .bg-primary .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-primary dt, .bg-primary dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-primary dt, .bg-primary .stats-2col h5, .stats-2col .bg-primary h5, .bg-primary .stats-2col h6, .stats-2col .bg-primary h6,
  .bg-blue h5,
  .bg-blue .h5,
  .bg-blue .stats-2col h3,
  .stats-2col .bg-blue h3,
  .bg-blue .stats-2col h4,
  .stats-2col .bg-blue h4,
  .bg-blue .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list .bg-blue dt,
  .bg-blue dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col .bg-blue dt,
  .bg-blue .stats-2col h5,
  .stats-2col .bg-blue h5,
  .bg-blue .stats-2col h6,
  .stats-2col .bg-blue h6 {
    color: inherit; }
  .bg-primary h6, .bg-primary .h6,
  .bg-blue h6,
  .bg-blue .h6 {
    color: inherit; }
  .bg-primary label,
  .bg-blue label {
    color: inherit; }
    .bg-primary label.error,
    .bg-blue label.error {
      color: inherit; }
  .bg-primary a:not(.button),
  .bg-blue a:not(.button) {
    color: inherit; }
    .bg-primary a:not(.button):active, .bg-primary a:not(.button):focus, .bg-primary a:not(.button):hover,
    .bg-blue a:not(.button):active,
    .bg-blue a:not(.button):focus,
    .bg-blue a:not(.button):hover {
      color: #fff; }
  .bg-primary .text-secondary,
  .bg-primary .text-orange,
  .bg-primary dl.icon-list dt,
  dl.icon-list .bg-primary dt,
  .bg-blue .text-secondary,
  .bg-blue .text-orange,
  .bg-blue dl.icon-list dt,
  dl.icon-list .bg-blue dt {
    color: #FF5F14; }
  .bg-primary .icon.orange,
  .bg-blue .icon.orange {
    background-color: #FF5F14; }
  .bg-primary .close-button:active, .bg-primary .close-button:focus, .bg-primary .close-button:hover,
  .bg-blue .close-button:active,
  .bg-blue .close-button:focus,
  .bg-blue .close-button:hover {
    color: inherit; }
  .bg-primary blockquote,
  .bg-blue blockquote {
    color: #FF5F14; }
    .bg-primary blockquote p,
    .bg-blue blockquote p {
      color: inherit; }
  .bg-primary cite,
  .bg-blue cite {
    color: #fff; }
  .bg-primary dl, .bg-primary dt, .bg-primary dd,
  .bg-blue dl,
  .bg-blue dt,
  .bg-blue dd {
    color: inherit; }
  .bg-primary p,
  .bg-blue p {
    color: inherit; }

.bg-secondary,
.bg-orange,
aside.panel:not(.dark) {
  background-color: #cd4d10;
  color: #fff; }
  .bg-secondary h1, .bg-secondary .h1,
  .bg-orange h1,
  aside.panel:not(.dark) h1,
  .bg-orange .h1,
  aside.panel:not(.dark) .h1 {
    color: inherit; }
  .bg-secondary h2, .bg-secondary .h2,
  .bg-orange h2,
  aside.panel:not(.dark) h2,
  .bg-orange .h2,
  aside.panel:not(.dark) .h2 {
    color: inherit; }
  .bg-secondary h3, .bg-secondary .h3,
  .bg-orange h3,
  aside.panel:not(.dark) h3,
  .bg-orange .h3,
  aside.panel:not(.dark) .h3 {
    color: inherit; }
  .bg-secondary h4, .bg-secondary dl.icon-list dt, dl.icon-list .bg-secondary dt, .bg-secondary .h4,
  .bg-orange h4,
  aside.panel:not(.dark) h4,
  .bg-orange dl.icon-list dt,
  dl.icon-list .bg-orange dt,
  aside.panel:not(.dark) dl.icon-list dt,
  dl.icon-list aside.panel:not(.dark) dt,
  .bg-orange .h4,
  aside.panel:not(.dark) .h4 {
    color: inherit; }
  .bg-secondary h5, .bg-secondary .h5, .bg-secondary .stats-2col h3, .stats-2col .bg-secondary h3, .bg-secondary .stats-2col h4, .stats-2col .bg-secondary h4, .bg-secondary .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .bg-secondary dt, .bg-secondary dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .bg-secondary dt, .bg-secondary .stats-2col h5, .stats-2col .bg-secondary h5, .bg-secondary .stats-2col h6, .stats-2col .bg-secondary h6,
  .bg-orange h5,
  aside.panel:not(.dark) h5,
  .bg-orange .h5,
  aside.panel:not(.dark) .h5,
  .bg-orange .stats-2col h3,
  .stats-2col .bg-orange h3,
  aside.panel:not(.dark) .stats-2col h3,
  .stats-2col aside.panel:not(.dark) h3,
  .bg-orange .stats-2col h4,
  .stats-2col .bg-orange h4,
  aside.panel:not(.dark) .stats-2col h4,
  .stats-2col aside.panel:not(.dark) h4,
  .bg-orange .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list .bg-orange dt,
  aside.panel:not(.dark) .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list aside.panel:not(.dark) dt,
  .bg-orange dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col .bg-orange dt,
  aside.panel:not(.dark) dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col aside.panel:not(.dark) dt,
  .bg-orange .stats-2col h5,
  .stats-2col .bg-orange h5,
  aside.panel:not(.dark) .stats-2col h5,
  .stats-2col aside.panel:not(.dark) h5,
  .bg-orange .stats-2col h6,
  .stats-2col .bg-orange h6,
  aside.panel:not(.dark) .stats-2col h6,
  .stats-2col aside.panel:not(.dark) h6 {
    color: inherit; }
  .bg-secondary h6, .bg-secondary .h6,
  .bg-orange h6,
  aside.panel:not(.dark) h6,
  .bg-orange .h6,
  aside.panel:not(.dark) .h6 {
    color: inherit; }
  .bg-secondary label,
  .bg-orange label,
  aside.panel:not(.dark) label {
    color: inherit; }
    .bg-secondary label.error,
    .bg-orange label.error,
    aside.panel:not(.dark) label.error {
      color: inherit; }
  .bg-secondary a:not(.button),
  .bg-orange a:not(.button),
  aside.panel:not(.dark) a:not(.button) {
    color: inherit; }
    .bg-secondary a:not(.button):active, .bg-secondary a:not(.button):focus, .bg-secondary a:not(.button):hover,
    .bg-orange a:not(.button):active,
    aside.panel:not(.dark) a:not(.button):active,
    .bg-orange a:not(.button):focus,
    aside.panel:not(.dark) a:not(.button):focus,
    .bg-orange a:not(.button):hover,
    aside.panel:not(.dark) a:not(.button):hover {
      color: #fff; }
  .bg-secondary .text-secondary,
  .bg-secondary .text-orange,
  .bg-secondary dl.icon-list dt,
  dl.icon-list .bg-secondary dt,
  .bg-orange .text-secondary,
  aside.panel:not(.dark) .text-secondary,
  .bg-orange .text-orange,
  aside.panel:not(.dark) .text-orange,
  .bg-orange dl.icon-list dt,
  dl.icon-list .bg-orange dt,
  aside.panel:not(.dark) dl.icon-list dt,
  dl.icon-list aside.panel:not(.dark) dt {
    color: #FF5F14; }
  .bg-secondary .icon.orange,
  .bg-orange .icon.orange,
  aside.panel:not(.dark) .icon.orange {
    background-color: #FF5F14; }
  .bg-secondary .close-button:active, .bg-secondary .close-button:focus, .bg-secondary .close-button:hover,
  .bg-orange .close-button:active,
  aside.panel:not(.dark) .close-button:active,
  .bg-orange .close-button:focus,
  aside.panel:not(.dark) .close-button:focus,
  .bg-orange .close-button:hover,
  aside.panel:not(.dark) .close-button:hover {
    color: inherit; }
  .bg-secondary blockquote,
  .bg-orange blockquote,
  aside.panel:not(.dark) blockquote {
    color: #FF5F14; }
    .bg-secondary blockquote p,
    .bg-orange blockquote p,
    aside.panel:not(.dark) blockquote p {
      color: inherit; }
  .bg-secondary cite,
  .bg-orange cite,
  aside.panel:not(.dark) cite {
    color: #fff; }
  .bg-secondary dl, .bg-secondary dt, .bg-secondary dd,
  .bg-orange dl,
  aside.panel:not(.dark) dl,
  .bg-orange dt,
  aside.panel:not(.dark) dt,
  .bg-orange dd,
  aside.panel:not(.dark) dd {
    color: inherit; }
  .bg-secondary p,
  .bg-orange p,
  aside.panel:not(.dark) p {
    color: inherit; }
  .bg-secondary a:not(.button),
  .bg-orange a:not(.button),
  aside.panel:not(.dark) a:not(.button) {
    border-color: #fff;
    transition: background 250ms ease, color 250ms ease; }
    .bg-secondary a:not(.button):focus, .bg-secondary a:not(.button):hover, .bg-secondary a:not(.button):active,
    .bg-orange a:not(.button):focus,
    aside.panel:not(.dark) a:not(.button):focus,
    .bg-orange a:not(.button):hover,
    aside.panel:not(.dark) a:not(.button):hover,
    .bg-orange a:not(.button):active,
    aside.panel:not(.dark) a:not(.button):active {
      background-color: #fff;
      color: #222; }
  .bg-secondary .illustrated-bullet:not(ul) > :first-child::before,
  .bg-secondary ul.illustrated-bullet li::before,
  .bg-orange .illustrated-bullet:not(ul) > :first-child::before,
  aside.panel:not(.dark) .illustrated-bullet:not(ul) > :first-child::before,
  .bg-orange ul.illustrated-bullet li::before,
  aside.panel:not(.dark) ul.illustrated-bullet li::before {
    background-color: #fff; }

.bg-cover {
  background-size: cover; }

.bg-repeat {
  background-repeat: repeat; }

.bg-repeat-x {
  background-repeat: repeat-x; }

.bg-repeat-y {
  background-repeat: repeat-y; }

.bg-no-repeat {
  background-repeat: no-repeat; }

.bg-pos-right {
  background-position: right; }

.bg-pos-center {
  background-position: 50% 50%; }

.bg-pos-bottom {
  background-position: bottom; }

strong.normal,
b.normal {
  font-weight: 400; }

strong.medium,
b.medium {
  font-weight: 500; }

.date,
time {
  color: #cd4d10;
  display: block; }
  .date.small,
  time.small {
    font-size: 1rem; }

.label,
label {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem;
  text-align: left; }

blockquote {
  font-family: "neue-haas-unica", sans-serif;
  font-style: italic;
  font-weight: 600;
  font-size: 2.1875rem;
  line-height: 1.2; }
  blockquote.small {
    font-size: 1.5625rem; }

cite {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-style: normal;
  margin-top: 1.5625rem; }
  cite::before {
    color: #FF5F14;
    position: relative;
    top: -0.0625rem; }

.font-neue-haas {
  font-family: "neue-haas-unica", sans-serif; }

.header-font-small {
  font-family: "neue-haas-unica", sans-serif;
  text-transform: uppercase;
  font-weight: 400;
  font-size: 0.875rem; }

.text-secondary,
.text-orange,
dl.icon-list dt {
  color: #cd4d10; }

.text-neutral-8 {
  color: #D7D2CB !important; }

.text-neutral-black {
  color: #222; }

small {
  line-height: 1.25; }

@media print, screen and (max-width: 39.99875em) {
  .lead, .hero p:not(.eyebrow), .live-stats-wrapper figcaption {
    font-size: 1rem; }
  blockquote {
    font-size: 1.5625rem;
    margin-bottom: 0; } }


.fixed-size-xx-small {
  font-size: xx-small; }


.fixed-size-x-small {
  font-size: x-small; }


.fixed-size-small {
  font-size: small; }


.fixed-size-medium {
  font-size: medium; }


.fixed-size-large {
  font-size: large; }


.fixed-size-x-large {
  font-size: x-large; }


.fixed-size-xx-large {
  font-size: xx-large; }

.numeral-panel {
  position: initial; }
  .numeral-panel:before {
    color: #cd4d10;
    content: "01";
    font-weight: 600;
    font-family: "neue-haas-unica", sans-serif;
    font-style: normal;
    font-size: 7.1875rem;
    position: absolute;
    top: -5rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%); }
  .numeral-panel-2 {
    position: initial; }
    .numeral-panel-2:before {
      color: #cd4d10;
      content: "02";
      font-weight: 600;
      font-family: "neue-haas-unica", sans-serif;
      font-style: normal;
      font-size: 7.1875rem;
      position: absolute;
      top: -5rem;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }
  .numeral-panel-3 {
    position: initial; }
    .numeral-panel-3:before {
      color: #cd4d10;
      content: "03";
      font-weight: 600;
      font-family: "neue-haas-unica", sans-serif;
      font-style: normal;
      font-size: 7.1875rem;
      position: absolute;
      top: -5rem;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%); }

.sidebar-search-form li.bordered-top {
  border-color: #000; }

.sidebar-search-form a {
  text-decoration: none;
  padding: 0.5rem 0; }
  .sidebar-search-form a.is-active {
    color: #cd4d10; }

.sidebar-search-form h3 {
  font-size: 1.25rem;
  line-height: 1.375;
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .sidebar-search-form h3 {
      font-size: 1.25rem;
      line-height: 1.5625;
      margin-bottom: 1.875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .sidebar-search-form h3 {
      font-size: 1.25rem;
      line-height: 1.5625;
      margin-bottom: 1.875rem; } }

.quick-browse h1, .quick-browse h2, .quick-browse h3, .quick-browse h4, .quick-browse dl.icon-list dt, dl.icon-list .quick-browse dt, .quick-browse h5, .quick-browse h6 {
  font-size: 1.5rem;
  line-height: 1.625;
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .quick-browse h1, .quick-browse h2, .quick-browse h3, .quick-browse h4, .quick-browse dl.icon-list dt, dl.icon-list .quick-browse dt, .quick-browse h5, .quick-browse h6 {
      font-size: 1.5625rem;
      line-height: 1.875;
      margin-bottom: 1.875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .quick-browse h1, .quick-browse h2, .quick-browse h3, .quick-browse h4, .quick-browse dl.icon-list dt, dl.icon-list .quick-browse dt, .quick-browse h5, .quick-browse h6 {
      font-size: 1.5625rem;
      line-height: 1.875;
      margin-bottom: 1.875rem; } }

.results-content h1, .results-content h2, .results-content h3, .results-content h4, .results-content dl.icon-list dt, dl.icon-list .results-content dt, .results-content h5, .results-content h6 {
  margin-bottom: 0; }

p.s-details-objectives {
  margin-bottom: 0; }

.s-details-objectives:first-letter {
  text-transform: capitalize; }

@media print, screen and (min-width: 40em) {
  .medium-text-nowrap {
    white-space: nowrap; } }

@media print, screen and (max-width: 39.99875em) {
  .small-display-block {
    display: block; } }

.icon {
  content: '';
  display: inline-block;
  border-bottom: 0;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: 50% 50%;
          mask-position: 50% 50%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  min-width: 1.25rem;
  min-height: 1.25rem;
  min-height: var(--size, 1.25rem);
  min-width: var(--size, 1.25rem);
  background-color: unset;
  mask-repeat: no-repeat;
  background-repeat: no-repeat; }
  .icon.small {
    min-height: 0.8125rem;
    min-width: 0.8125rem; }
  .icon:hover, .icon:focus, .icon:active {
    border-bottom: 0;
    background-color: transparent; }
  .icon.blue {
    background-color: #0077C8; }
    .icon.blue:hover, .icon.blue:active, .icon.blue:focus {
      background-color: #0077C8; }
  .icon.orange {
    background-color: #cd4d10; }
    .icon.orange:hover, .icon.orange:active, .icon.orange:focus {
      background-color: #cd4d10; }
  .icon.gray {
    background-color: #5E514D; }
    .icon.gray:hover, .icon.gray:active, .icon.gray:focus {
      background-color: #5E514D; }
  .icon.white {
    background-color: #fff; }
    .icon.white:hover, .icon.white:active, .icon.white:focus {
      background-color: #fff; }
  .icon.black {
    background-color: #000; }
    .icon.black:hover, .icon.black:active, .icon.black:focus {
      background-color: #000; }
  .check {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M6.1 21.3L.5 13.7l1.8-1.3 4.6 6.3L19.4.7 21.2 2 7.9 21.3z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><path d="M6.1 21.3L.5 13.7l1.8-1.3 4.6 6.3L19.4.7 21.2 2 7.9 21.3z"/></svg>'); }
  .envelope {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1792 710v794q0 66-47 113t-113 47H160q-66 0-113-47T0 1504V710q44 49 101 87 362 246 497 345 57 42 92.5 65.5t94.5 48 110 24.5h2q51 0 110-24.5t94.5-48 92.5-65.5q170-123 498-345 57-39 100-87zm0-294q0 79-49 151t-122 123q-376 261-468 325-10 7-42.5 30.5t-54 38-52 32.5-57.5 27-50 9h-2q-23 0-50-9t-57.5-27-52-32.5-54-38T639 1015q-91-64-262-182.5T172 690q-62-42-117-115.5T0 438q0-78 41.5-130T160 256h1472q65 0 112.5 47t47.5 113z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1792 710v794q0 66-47 113t-113 47H160q-66 0-113-47T0 1504V710q44 49 101 87 362 246 497 345 57 42 92.5 65.5t94.5 48 110 24.5h2q51 0 110-24.5t94.5-48 92.5-65.5q170-123 498-345 57-39 100-87zm0-294q0 79-49 151t-122 123q-376 261-468 325-10 7-42.5 30.5t-54 38-52 32.5-57.5 27-50 9h-2q-23 0-50-9t-57.5-27-52-32.5-54-38T639 1015q-91-64-262-182.5T172 690q-62-42-117-115.5T0 438q0-78 41.5-130T160 256h1472q65 0 112.5 47t47.5 113z"/></svg>'); }
  .external-link-square {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1408 928V448q0-26-19-45t-45-19H864q-42 0-59 39-17 41 14 70l144 144-534 534q-19 19-19 45t19 45l102 102q19 19 45 19t45-19l534-534 144 144q18 19 45 19 12 0 25-5 39-17 39-59zm256-512v960q0 119-84.5 203.5T1376 1664H416q-119 0-203.5-84.5T128 1376V416q0-119 84.5-203.5T416 128h960q119 0 203.5 84.5T1664 416z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1408 928V448q0-26-19-45t-45-19H864q-42 0-59 39-17 41 14 70l144 144-534 534q-19 19-19 45t19 45l102 102q19 19 45 19t45-19l534-534 144 144q18 19 45 19 12 0 25-5 39-17 39-59zm256-512v960q0 119-84.5 203.5T1376 1664H416q-119 0-203.5-84.5T128 1376V416q0-119 84.5-203.5T416 128h960q119 0 203.5 84.5T1664 416z"/></svg>'); }
  .facebook {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="19" height="18" viewBox="0 0 19 18" xmlns="http://www.w3.org/2000/svg"><path d="M9.435 0c-4.971 0-9 4.053-9 9.055 0 4.52 3.29 8.266 7.593 8.945v-6.328H5.743V9.055h2.285V7.06c0-2.27 1.343-3.523 3.4-3.523.984 0 2.014.177 2.014.177v2.228h-1.135c-1.118 0-1.466.699-1.466 1.415v1.698h2.496l-.399 2.617h-2.097V18c4.303-.68 7.594-4.425 7.594-8.945 0-5.002-4.03-9.055-9-9.055z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="19" height="18" viewBox="0 0 19 18" xmlns="http://www.w3.org/2000/svg"><path d="M9.435 0c-4.971 0-9 4.053-9 9.055 0 4.52 3.29 8.266 7.593 8.945v-6.328H5.743V9.055h2.285V7.06c0-2.27 1.343-3.523 3.4-3.523.984 0 2.014.177 2.014.177v2.228h-1.135c-1.118 0-1.466.699-1.466 1.415v1.698h2.496l-.399 2.617h-2.097V18c4.303-.68 7.594-4.425 7.594-8.945 0-5.002-4.03-9.055-9-9.055z"/></svg>'); }
  .fax {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M288 384q66 0 113 47t47 113v1088q0 66-47 113t-113 47H160q-66 0-113-47T0 1632V544q0-66 47-113t113-47h128zm1376 163q58 34 93 93t35 128v768q0 106-75 181t-181 75H672q-66 0-113-47t-47-113V96q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v163zm-736 989v-128q0-14-9-23t-23-9H768q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256v-128q0-14-9-23t-23-9H768q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256V896q0-14-9-23t-23-9H768q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm256 512v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256V896q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm256 512v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256V896q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm96-384V384h-160q-40 0-68-28t-28-68V128H640v512h896z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M288 384q66 0 113 47t47 113v1088q0 66-47 113t-113 47H160q-66 0-113-47T0 1632V544q0-66 47-113t113-47h128zm1376 163q58 34 93 93t35 128v768q0 106-75 181t-181 75H672q-66 0-113-47t-47-113V96q0-40 28-68t68-28h672q40 0 88 20t76 48l152 152q28 28 48 76t20 88v163zm-736 989v-128q0-14-9-23t-23-9H768q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256v-128q0-14-9-23t-23-9H768q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256V896q0-14-9-23t-23-9H768q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm256 512v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256V896q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm256 512v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256v-128q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm0-256V896q0-14-9-23t-23-9h-128q-14 0-23 9t-9 23v128q0 14 9 23t23 9h128q14 0 23-9t9-23zm96-384V384h-160q-40 0-68-28t-28-68V128H640v512h896z"/></svg>'); }
  .instagram {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="19" height="18" viewBox="0 0 19 18" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.657 1.625c2.405 0 2.692.008 3.637.053.878.038 1.354.19 1.672.31a2.973 2.973 0 011.71 1.709c.12.317.271.794.31 1.67.044.953.052 1.233.052 3.637s-.008 2.691-.053 3.636c-.038.877-.189 1.353-.31 1.67a2.973 2.973 0 01-1.71 1.71c-.317.12-.793.271-1.67.31-.954.045-1.233.052-3.638.052s-2.693-.007-3.638-.053c-.878-.038-1.354-.189-1.672-.31a2.973 2.973 0 01-1.709-1.708c-.12-.318-.272-.794-.31-1.67-.045-.954-.053-1.233-.053-3.637s.008-2.692.053-3.637c.038-.876.19-1.353.31-1.67a2.973 2.973 0 011.71-1.709c.317-.12.793-.272 1.67-.31.946-.045 1.234-.053 3.639-.053zm0-1.625c-2.45 0-2.753.008-3.714.053-.96.045-1.618.196-2.186.423a4.601 4.601 0 00-2.632 2.631C.906 3.682.747 4.332.71 5.292c-.053.96-.061 1.262-.061 3.712s.008 2.752.053 3.712c.045.96.197 1.61.416 2.184a4.601 4.601 0 002.632 2.631c.575.22 1.225.378 2.186.416.96.045 1.27.053 3.713.053s2.753-.008 3.714-.053c.96-.045 1.61-.197 2.185-.416a4.601 4.601 0 002.632-2.63c.22-.575.378-1.225.416-2.185.046-.96.053-1.27.053-3.712s0-2.752-.045-3.712c-.046-.96-.197-1.61-.416-2.185a4.601 4.601 0 00-2.632-2.63C14.98.256 14.33.097 13.37.06 12.41.008 12.1 0 9.657 0zm0 4.377a4.62 4.62 0 00-4.621 4.62 4.624 4.624 0 004.62 4.618 4.624 4.624 0 004.622-4.619 4.624 4.624 0 00-4.621-4.619zm0 7.628a3.004 3.004 0 01-3.003-3.001 3.004 3.004 0 013.003-3.001 3.004 3.004 0 013.002 3 3.004 3.004 0 01-3.002 3.002zm4.802-6.727a1.081 1.081 0 100-2.163 1.081 1.081 0 000 2.163z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="19" height="18" viewBox="0 0 19 18" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9.657 1.625c2.405 0 2.692.008 3.637.053.878.038 1.354.19 1.672.31a2.973 2.973 0 011.71 1.709c.12.317.271.794.31 1.67.044.953.052 1.233.052 3.637s-.008 2.691-.053 3.636c-.038.877-.189 1.353-.31 1.67a2.973 2.973 0 01-1.71 1.71c-.317.12-.793.271-1.67.31-.954.045-1.233.052-3.638.052s-2.693-.007-3.638-.053c-.878-.038-1.354-.189-1.672-.31a2.973 2.973 0 01-1.709-1.708c-.12-.318-.272-.794-.31-1.67-.045-.954-.053-1.233-.053-3.637s.008-2.692.053-3.637c.038-.876.19-1.353.31-1.67a2.973 2.973 0 011.71-1.709c.317-.12.793-.272 1.67-.31.946-.045 1.234-.053 3.639-.053zm0-1.625c-2.45 0-2.753.008-3.714.053-.96.045-1.618.196-2.186.423a4.601 4.601 0 00-2.632 2.631C.906 3.682.747 4.332.71 5.292c-.053.96-.061 1.262-.061 3.712s.008 2.752.053 3.712c.045.96.197 1.61.416 2.184a4.601 4.601 0 002.632 2.631c.575.22 1.225.378 2.186.416.96.045 1.27.053 3.713.053s2.753-.008 3.714-.053c.96-.045 1.61-.197 2.185-.416a4.601 4.601 0 002.632-2.63c.22-.575.378-1.225.416-2.185.046-.96.053-1.27.053-3.712s0-2.752-.045-3.712c-.046-.96-.197-1.61-.416-2.185a4.601 4.601 0 00-2.632-2.63C14.98.256 14.33.097 13.37.06 12.41.008 12.1 0 9.657 0zm0 4.377a4.62 4.62 0 00-4.621 4.62 4.624 4.624 0 004.62 4.618 4.624 4.624 0 004.622-4.619 4.624 4.624 0 00-4.621-4.619zm0 7.628a3.004 3.004 0 01-3.003-3.001 3.004 3.004 0 013.003-3.001 3.004 3.004 0 013.002 3 3.004 3.004 0 01-3.002 3.002zm4.802-6.727a1.081 1.081 0 100-2.163 1.081 1.081 0 000 2.163z"/></svg>'); }
  .linkedin {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 17.9"><path d="M12.7 15.3h2.7v-4.7c0-2.3-.5-4.1-3.2-4.1-1 0-2 .5-2.5 1.4V6.7H7v8.6h2.7V11c0-1.1.2-2.2 1.6-2.2 1.4 0 1.4 1.3 1.4 2.3v4.2zM2.4 4c0 .9.7 1.6 1.6 1.6S5.6 4.9 5.6 4 4.9 2.5 4 2.5 2.4 3.2 2.4 4zm.3 2.7v8.6h2.7V6.7H2.7zM1.3 0h15.3c.8 0 1.4.6 1.4 1.3v15.3c0 .7-.6 1.3-1.3 1.3H1.3c-.7 0-1.3-.6-1.3-1.3V1.3C0 .6.6 0 1.3 0z" fill-rule="evenodd" clip-rule="evenodd"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 17.9"><path d="M12.7 15.3h2.7v-4.7c0-2.3-.5-4.1-3.2-4.1-1 0-2 .5-2.5 1.4V6.7H7v8.6h2.7V11c0-1.1.2-2.2 1.6-2.2 1.4 0 1.4 1.3 1.4 2.3v4.2zM2.4 4c0 .9.7 1.6 1.6 1.6S5.6 4.9 5.6 4 4.9 2.5 4 2.5 2.4 3.2 2.4 4zm.3 2.7v8.6h2.7V6.7H2.7zM1.3 0h15.3c.8 0 1.4.6 1.4 1.3v15.3c0 .7-.6 1.3-1.3 1.3H1.3c-.7 0-1.3-.6-1.3-1.3V1.3C0 .6.6 0 1.3 0z" fill-rule="evenodd" clip-rule="evenodd"/></svg>'); }
  .phone {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1600 1240q0 27-10 70.5t-21 68.5q-21 50-122 106-94 51-186 51-27 0-52.5-3.5T1151 1520t-47.5-14.5-55.5-20.5-49-18q-98-35-175-83-128-79-264.5-215.5T344 904q-48-77-83-175-3-9-18-49t-20.5-55.5T208 577t-12.5-57.5T192 467q0-92 51-186 56-101 106-122 25-11 68.5-21t70.5-10q14 0 21 3 18 6 53 76 11 19 30 54t35 63.5 31 53.5q3 4 17.5 25t21.5 35.5 7 28.5q0 20-28.5 50t-62 55-62 53-28.5 46q0 9 5 22.5t8.5 20.5 14 24 11.5 19q76 137 174 235t235 174q2 1 19 11.5t24 14 20.5 8.5 22.5 5q18 0 46-28.5t53-62 55-62 50-28.5q14 0 28.5 7t35.5 21.5 25 17.5q25 15 53.5 31t63.5 35 54 30q70 35 76 53 3 7 3 21z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1600 1240q0 27-10 70.5t-21 68.5q-21 50-122 106-94 51-186 51-27 0-52.5-3.5T1151 1520t-47.5-14.5-55.5-20.5-49-18q-98-35-175-83-128-79-264.5-215.5T344 904q-48-77-83-175-3-9-18-49t-20.5-55.5T208 577t-12.5-57.5T192 467q0-92 51-186 56-101 106-122 25-11 68.5-21t70.5-10q14 0 21 3 18 6 53 76 11 19 30 54t35 63.5 31 53.5q3 4 17.5 25t21.5 35.5 7 28.5q0 20-28.5 50t-62 55-62 53-28.5 46q0 9 5 22.5t8.5 20.5 14 24 11.5 19q76 137 174 235t235 174q2 1 19 11.5t24 14 20.5 8.5 22.5 5q18 0 46-28.5t53-62 55-62 50-28.5q14 0 28.5 7t35.5 21.5 25 17.5q25 15 53.5 31t63.5 35 54 30q70 35 76 53 3 7 3 21z"/></svg>'); }
  .rss {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M10 13.672v14.043c36.23 0 65.705 29.474 65.705 65.704h14.043c0-43.973-35.775-79.747-79.748-79.747z"/><path d="M10.012 41.77v14.043c20.737 0 37.606 16.871 37.606 37.607h14.043c0-28.48-23.169-51.65-51.649-51.65z"/><circle cx="19.28" cy="84.141" r="9.279"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><path d="M10 13.672v14.043c36.23 0 65.705 29.474 65.705 65.704h14.043c0-43.973-35.775-79.747-79.748-79.747z"/><path d="M10.012 41.77v14.043c20.737 0 37.606 16.871 37.606 37.607h14.043c0-28.48-23.169-51.65-51.649-51.65z"/><circle cx="19.28" cy="84.141" r="9.279"/></svg>'); }
  .search {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5T768 384 451.5 515.5 320 832t131.5 316.5T768 1280t316.5-131.5T1216 832zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225T64 832t55.5-273.5 150-225 225-150T768 128t273.5 55.5 225 150 150 225T1472 832q0 220-124 399l343 343q37 37 37 90z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5T768 384 451.5 515.5 320 832t131.5 316.5T768 1280t316.5-131.5T1216 832zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225T64 832t55.5-273.5 150-225 225-150T768 128t273.5 55.5 225 150 150 225T1472 832q0 220-124 399l343 343q37 37 37 90z"/></svg>'); }
  .twitter {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-848.7 -103.7 1124.1 1000"><path d="M275.4 14.6C233.8 35 189.6 48.3 142.7 54.4 190.5 23.2 227.1-26.1 244.5-85c-44.7 28.8-94.1 49.3-146.8 61.4-42-49.3-102.1-80-168.2-80-127.4 0-230.6 112.9-230.6 252.5 0 19.6 2 38.9 5.8 57.2-191.3-10.1-361.5-111-475.3-263.4-19.7 37.2-31.1 80.5-31.1 126.9 0 87.4 40.7 165.1 102.7 209.7-37.9-1.6-73.5-12.3-104.5-31.4v3.4c0 122.1 79.5 224 185 247.5-19.3 5.8-39.8 8.4-60.9 8.4-14.8 0-28.9-1-43.1-4.5 29.2 100.7 114.4 173.8 215.4 175.3-78.9 68-178.3 108-286.4 108-18.7 0-37.1-1.1-55.1-3.5 102 71.9 223 113.8 353.5 113.8 424.1 0 656.2-384.7 656.2-718.3 0-10.6-.2-21.5-.8-32.3 45-36.1 84.2-80.6 115.1-131.1z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-848.7 -103.7 1124.1 1000"><path d="M275.4 14.6C233.8 35 189.6 48.3 142.7 54.4 190.5 23.2 227.1-26.1 244.5-85c-44.7 28.8-94.1 49.3-146.8 61.4-42-49.3-102.1-80-168.2-80-127.4 0-230.6 112.9-230.6 252.5 0 19.6 2 38.9 5.8 57.2-191.3-10.1-361.5-111-475.3-263.4-19.7 37.2-31.1 80.5-31.1 126.9 0 87.4 40.7 165.1 102.7 209.7-37.9-1.6-73.5-12.3-104.5-31.4v3.4c0 122.1 79.5 224 185 247.5-19.3 5.8-39.8 8.4-60.9 8.4-14.8 0-28.9-1-43.1-4.5 29.2 100.7 114.4 173.8 215.4 175.3-78.9 68-178.3 108-286.4 108-18.7 0-37.1-1.1-55.1-3.5 102 71.9 223 113.8 353.5 113.8 424.1 0 656.2-384.7 656.2-718.3 0-10.6-.2-21.5-.8-32.3 45-36.1 84.2-80.6 115.1-131.1z"/></svg>'); }
  .youtube {
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg width="21" height="18" viewBox="0 0 21 18" xmlns="http://www.w3.org/2000/svg"><path d="M20.229 4.19a2.523 2.523 0 00-1.773-1.772C16.899 2 10.649 2 10.649 2s-6.25 0-7.818.418A2.504 2.504 0 001.058 4.19C.65 5.748.65 9 .65 9s0 3.252.42 4.81c.228.858.91 1.535 1.773 1.772C4.4 16 10.65 16 10.65 16s6.25 0 7.818-.418a2.504 2.504 0 001.773-1.772c.409-1.558.409-4.81.409-4.81s0-3.252-.42-4.81zM8.604 11.958V6.042L13.83 9l-5.227 2.958z"/></svg>');
            mask-image: url('data:image/svg+xml;charset=utf8,<svg width="21" height="18" viewBox="0 0 21 18" xmlns="http://www.w3.org/2000/svg"><path d="M20.229 4.19a2.523 2.523 0 00-1.773-1.772C16.899 2 10.649 2 10.649 2s-6.25 0-7.818.418A2.504 2.504 0 001.058 4.19C.65 5.748.65 9 .65 9s0 3.252.42 4.81c.228.858.91 1.535 1.773 1.772C4.4 16 10.65 16 10.65 16s6.25 0 7.818-.418a2.504 2.504 0 001.773-1.772c.409-1.558.409-4.81.409-4.81s0-3.252-.42-4.81zM8.604 11.958V6.042L13.83 9l-5.227 2.958z"/></svg>'); }


.x {
  position: relative;
  display: inline-block;
  min-width: 1.25rem;
  min-height: 1.25rem;
  min-height: var(--size, 1.25rem);
  min-width: var(--size, 1.25rem); }
  
  .x::before,
  .x::after {
    position: absolute;
    content: '';
    height: 0.125rem;
    top: 0.9375rem;
    left: 0.3125rem;
    background: #0077C8;
    width: 100%; }
  
  .x::before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  
  .x::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  
  .x.black::before,
  .x.black::after {
    background-color: #000; }
  
  .x.white::before,
  .x.white::after {
    background-color: #fff; }

form {
  position: relative; }

label.error {
  color: #ba2e16;
  font-weight: 400;
  margin-top: -1.25rem;
  position: absolute;
  right: 0;
  text-transform: none; }

.input-group label.error {
  margin-top: 0; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
select,
textarea {
  padding: 0 0.9375rem;
  height: 3.125rem;
  border-bottom: 0.0625rem solid #ACA39A; }
  [type='text']:hover, [type='text']:focus, [type='text']:active, [type='password']:hover, [type='password']:focus, [type='password']:active, [type='date']:hover, [type='date']:focus, [type='date']:active, [type='datetime']:hover, [type='datetime']:focus, [type='datetime']:active, [type='datetime-local']:hover, [type='datetime-local']:focus, [type='datetime-local']:active, [type='month']:hover, [type='month']:focus, [type='month']:active, [type='week']:hover, [type='week']:focus, [type='week']:active, [type='email']:hover, [type='email']:focus, [type='email']:active, [type='number']:hover, [type='number']:focus, [type='number']:active, [type='search']:hover, [type='search']:focus, [type='search']:active, [type='tel']:hover, [type='tel']:focus, [type='tel']:active, [type='time']:hover, [type='time']:focus, [type='time']:active, [type='url']:hover, [type='url']:focus, [type='url']:active, [type='color']:hover, [type='color']:focus, [type='color']:active,
  select:hover,
  select:focus,
  select:active,
  textarea:hover,
  textarea:focus,
  textarea:active {
    border-bottom: 0.0625rem solid #ACA39A;
    background-color: #fff; }

select {
  padding-right: 2.5rem;
  -moz-appearance: none; }

select#panel-dropdown {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase; }

textarea {
  padding-top: 1rem;
  min-height: 4.375rem; }

[type="text"].icon.search {
  padding-left: 4rem;
  background-position: 0.9375rem 0.625rem;
  background-size: 1.5625rem 1.5625rem; }

.padded-form-wrapper {
  padding: 1.25rem 1.25rem 1.875rem; }
  @media print, screen and (min-width: 54.125em) {
    .padded-form-wrapper {
      padding: 1.25rem 3.75rem 2.5rem; } }

.lead-form-wrapper {
  position: relative; }
  .lead-form-wrapper .comments {
    min-height: 13rem; }
  .lead-form-wrapper h1 {
    font-size: 1.25rem;
    line-height: 1.375;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .lead-form-wrapper h1 {
        font-size: 1.25rem;
        line-height: 1.5625;
        margin-bottom: 1.875rem; } }
    @media print, screen and (min-width: 54.125em) {
      .lead-form-wrapper h1 {
        font-size: 1.25rem;
        line-height: 1.5625;
        margin-bottom: 1.875rem; } }
  .lead-form-wrapper .lead-form button[type="submit"] {
    margin: 1.5625rem auto 0; }
  .lead-form-wrapper .lead-form.talent-pool .pre-form-content h2 {
    line-height: 1; }
    .lead-form-wrapper .lead-form.talent-pool .pre-form-content h2:after {
      width: 33%; }
  .lead-form-wrapper .lead-form.talent-pool .pre-form-content h3 {
    font-size: 3rem;
    line-height: 1; }
  .lead-form-wrapper .response {
    color: inherit;
    text-transform: none; }
    .lead-form-wrapper .response h2 {
      margin-top: 2rem; }
    .lead-form-wrapper .response nav {
      margin-bottom: 2rem;
      text-align: center;
      float: none; }
      .lead-form-wrapper .response nav a {
        display: inline-block; }
    .lead-form-wrapper .response p {
      font-size: 1rem;
      margin-bottom: 1rem; }
  .lead-form-wrapper .talent-panel {
    color: #5E514D;
    text-transform: none; }
    .lead-form-wrapper .talent-panel fieldset {
      margin-bottom: 1rem; }
    .lead-form-wrapper .talent-panel label {
      font-size: 0.75rem;
      text-align: left; }
      .lead-form-wrapper .talent-panel label > [type="checkbox"] {
        margin-bottom: 0; }
    .lead-form-wrapper .talent-panel p {
      font-size: 1.125rem;
      font-weight: 500;
      margin-bottom: 1rem; }
    .lead-form-wrapper .talent-panel [type="text"] {
      margin-bottom: 0.375rem; }

/* Eliminates browser-specific outline for focused elements */
input:focus,
select:focus {
  outline: none; }

/* Recaptcha stuff */
.grecaptcha-logo {
  left: -186px;
  position: absolute;
  transition: left 0.25s ease-out !important; }

.grecaptcha-badge {
  width: 70px !important;
  transition: width 0.25s ease-out !important;
  position: absolute !important;
  bottom: 0 !important;
  right: 0 !important;
  overflow: hidden;
  box-shadow: none !important; }
  .grecaptcha-badge:hover {
    transition: width 0.25s ease-out !important;
    width: 256px !important; }
    .grecaptcha-badge:hover .grecaptcha-logo {
      transition: left 0.25s ease-out !important;
      left: 0; }

.modal-field-wrapper {
  width: 100%; }

@media print, screen and (min-width: 54.125em) {
  .modal-flex-grid {
    display: flex;
    justify-content: space-around; }
  .modal-field-wrapper {
    width: 33%; }
    .modal-field-wrapper:nth-of-type(2) {
      margin-right: 15px;
      margin-left: 15px; } }

[type="checkbox"],
[type="radio"] {
  position: absolute;
  left: -624.9375rem; }
  [type='checkbox'] + label,
  [type='radio'] + label {
    display: inline-block;
    width: 100%;
    position: relative;
    padding: 0.4375rem 0 0.4375rem 2.375rem;
    margin: 0;
    line-height: 2;
    color: #222;
    font-family: "PT Serif", serif;
    font-size: 1rem;
    text-transform: none;
    transition: 250ms color ease; }
    [type="checkbox"] + label::before,
    [type="radio"] + label::before {
      content: "";
      left: 0;
      top: 0.5rem;
      position: absolute;
      width: 1.75rem;
      height: 1.75rem;
      border: 0.0625rem solid #ACA39A;
      transition: all 250ms ease; }
    [type="checkbox"] + label::after,
    [type="radio"] + label::after {
      content: "";
      background: #0077C8;
      position: absolute;
      transition: all 250ms ease; }
    [type="checkbox"] + label:active::before, [type="checkbox"] + label:focus::before, [type="checkbox"] + label:hover::before,
    [type="radio"] + label:active::before,
    [type="radio"] + label:focus::before,
    [type="radio"] + label:hover::before {
      background-color: #fff;
      border-color: #83786F; }
    [type="checkbox"] + label:checked + label::before,
    [type="radio"] + label:checked + label::before {
      border-color: #5E514D; }
    [type="checkbox"] + label:checked + label::after,
    [type="radio"] + label:checked + label::after {
      opacity: 1;
      -webkit-transform: scale(1);
              transform: scale(1); }
  [type="checkbox"]:not(:checked) + label::after,
  [type="radio"]:not(:checked) + label::after {
    opacity: 0;
    -webkit-transform: scale(0);
            transform: scale(0); }

[type="radio"] + label::before {
  border-radius: 100%; }

[type="radio"] + label::after {
  width: 0.75rem;
  height: 0.75rem;
  top: 1rem;
  left: 0.5rem;
  border-radius: 100%; }

[type="checkbox"] + label::after {
  -webkit-mask-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><polygon points="6.1,21.3 0.5,13.7 2.3,12.4 6.9,18.7 19.4,0.7 21.2,2 7.9,21.3"/></svg>');
          mask-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22"><polygon points="6.1,21.3 0.5,13.7 2.3,12.4 6.9,18.7 19.4,0.7 21.2,2 7.9,21.3"/></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 1.375rem;
  height: 1.375rem;
  top: 0.6875rem;
  left: 0.1875rem; }

.fancy-dropdown {
  position: relative; }
  .fancy-dropdown > input + label {
    display: inline-block;
    height: 3.125rem;
    margin: 0;
    padding: 0.8125rem 2.5rem 0.8125rem 0.9375rem;
    background-color: #f3f0eb;
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    line-height: 1.5;
    border: 0.0625rem solid #ACA39A;
    width: 100%; }
    .fancy-dropdown > input + label::after {
      content: "";
      -webkit-mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50 68.3l23-36.5H27l23 36.5z"/></svg>');
              mask-image: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M50 68.3l23-36.5H27l23 36.5z"/></svg>');
      -webkit-mask-repeat: no-repeat;
              mask-repeat: no-repeat;
      background-color: #0077C8;
      height: 1.25rem;
      width: 1.25rem;
      position: absolute;
      top: 0.9375rem;
      right: 0.75rem;
      pointer-events: none; }
  .fancy-dropdown > input:not(:checked) + label + form {
    display: none; }
  .fancy-dropdown > input:checked + label {
    border-color: #6E6259;
    border-bottom: none;
    z-index: 2;
    position: relative; }
    .fancy-dropdown > input:checked + label::after {
      -webkit-transform: rotate(-180deg);
              transform: rotate(-180deg);
      right: 0.6875rem;
      top: 0.875rem; }
    .fancy-dropdown > input:checked + label + form {
      display: block;
      border: 0.0625rem solid #6E6259;
      z-index: 1;
      position: absolute;
      right: 0;
      top: calc(3.125rem - rem-calc(1));
      width: 100%;
      background-color: #f3f0eb; }
      @media print, screen and (min-width: 40em) {
        .fancy-dropdown > input:checked + label + form {
          min-width: 14.375rem;
          max-width: 14.375rem; } }
  .fancy-dropdown fieldset [type="checkbox"] + label,
  .fancy-dropdown fieldset [type="radio"] + label {
    padding: 0.9375rem 0.9375rem 0.9375rem 3.25rem; }
    .fancy-dropdown fieldset [type="checkbox"] + label::before,
    .fancy-dropdown fieldset [type="radio"] + label::before {
      content: "";
      left: 0.9375rem;
      top: 0.9375rem; }
    .fancy-dropdown fieldset [type="checkbox"] + label:active, .fancy-dropdown fieldset [type="checkbox"] + label:focus, .fancy-dropdown fieldset [type="checkbox"] + label:hover,
    .fancy-dropdown fieldset [type="radio"] + label:active,
    .fancy-dropdown fieldset [type="radio"] + label:focus,
    .fancy-dropdown fieldset [type="radio"] + label:hover {
      background-color: rgba(215, 210, 203, 0.5); }
  .fancy-dropdown fieldset [type="radio"] + label::after {
    top: 1.4375rem;
    left: 1.4375rem; }
  .fancy-dropdown fieldset [type="checkbox"] + label::after {
    top: 1.125rem;
    left: 1.125rem; }


.bordered {
  border: 0.0625rem solid #ACA39A; }


.bordered-top {
  border-top: 0.0625rem solid #ACA39A; }


.bordered-bottom {
  border-bottom: 0.0625rem solid #ACA39A; }

@media print, screen and (max-width: 39.99875em) {
  
  .small-only-bordered-top {
    border-top: 0.0625rem solid #ACA39A; }
  
  .small-only-bordered-bottom {
    border-bottom: 0.0625rem solid #ACA39A; } }

@media print, screen and (min-width: 40em) {
  
  .medium-bordered-top {
    border-top: 0.0625rem solid #ACA39A; }
  
  .medium-bordered-bottom {
    border-bottom: 0.0625rem solid #ACA39A; } }

@media print, screen and (min-width: 40em) and (max-width: 54.12375em) {
  
  .medium-only-bordered-top {
    border-top: 0.0625rem solid #ACA39A; }
  
  .medium-only-bordered-bottom {
    border-bottom: 0.0625rem solid #ACA39A; } }

@media print, screen and (min-width: 54.125em) {
  
  .large-bordered-top {
    border-top: 0.0625rem solid #ACA39A; }
  
  .large-bordered-bottom {
    border-bottom: 0.0625rem solid #ACA39A; } }

@media print, screen and (min-width: 54.125em) and (max-width: 74.99875em) {
  
  .large-only-bordered-top {
    border-top: 0.0625rem solid #ACA39A; }
  
  .large-only-bordered-bottom {
    border-bottom: 0.0625rem solid #ACA39A; } }

.side-separator {
  display: flex;
  justify-content: center;
  align-items: center; }
  .side-separator::after {
    background-color: #ACA39A;
    content: '';
    flex: 1;
    height: 1px;
    margin-left: 1em; }
  .card-article time.side-separator::after, .side-separator.neutral-7::after {
    background-color: #BFB8AF; }
  .side-separator.neutral-8::after {
    background-color: #D7D2CB; }

.bg-neutral-black hr,
.bg-primary-black hr {
  border-color: #5E514D; }

hr.light {
  border-color: #D7D2CB; }

hr.dark,
hr.light {
  margin: 0; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes sk-rotateplane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
            transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
            transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
            transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

@keyframes sk-rotateplane {
  0% {
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
            transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
  50% {
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
            transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
  100% {
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
            transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); } }

div[data-progressive-id] {
  position: relative; }
  div[data-progressive-id]:not(.loaded)::after {
    border: 1rem solid #D7D2CB;
    border-bottom: 1rem solid #cd4d10;
    border-top: 1rem solid #cd4d10;
    border-radius: 50%;
    width: 7.5rem;
    height: 7.5rem;
    -webkit-animation: spin 2s linear infinite;
            animation: spin 2s linear infinite;
    margin: 3.125rem auto 0;
    content: '';
    display: block; }

.submitting {
  background-color: rgba(255, 255, 255, 0.666);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
  text-align: center;
  margin: auto; }

.spinner {
  width: 2.5rem;
  height: 2.5rem;
  background-color: #5E514D;
  -webkit-animation: sk-rotateplane 1.2s infinite ease-in-out;
          animation: sk-rotateplane 1.2s infinite ease-in-out;
  position: absolute;
  margin: auto;
  text-align: center;
  top: calc(50% - 20px);
  left: calc(50% - 20px);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.numbers,
.karat {
  color: #FF5F14;
  font-family: "neue-haas-unica", sans-serif;
  font-weight: 600;
  font-size: 2.1875rem; }
  @media print, screen and (min-width: 54.125em) {
    .numbers,
    .karat {
      font-size: 2.8125rem; } }

.karat {
  top: 0; }

.stat-text {
  padding-bottom: 1.25rem; }

.fade-in-top {
  -webkit-animation: fade-in-top 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-top 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) both; }

/* ----------------------------------------------
 * Generated by Animista on 2021-3-30 16:39:13
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation fade-in-top
 * ----------------------------------------
 */
@-webkit-keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

@keyframes fade-in-top {
  0% {
    -webkit-transform: translateY(-50px);
    transform: translateY(-50px);
    opacity: 0; }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1; } }

.tabs-panel-dropdown {
  color: #fff;
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase; }
  .tabs-panel-dropdown:active, .tabs-panel-dropdown:focus, .tabs-panel-dropdown:hover {
    background-color: #1a1919; }

.tabs {
  padding-top: 1.25rem;
  padding-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .tabs {
      padding-bottom: 6.25rem; } }

.tab {
  cursor: pointer;
  color: #ACA39A !important;
  display: inline-block;
  padding: 1.375rem 0;
  margin-right: 2.375rem;
  top: 0.0625rem;
  position: relative; }
  .tab:hover {
    color: #fff !important;
    border-bottom: 0.25rem solid #FF5F14; }

.tab-border-bottom {
  border-bottom: 0.0625rem solid #83786F; }

.panel-detail {
  display: none; }

.radio-input {
  display: none; }

#panel-1-radio:checked ~ .panel-detail.one-panel,
#panel-2-radio:checked ~ .panel-detail.two-panel {
  display: block; }

#panel-1-radio:checked ~ .tabs #one-tab,
#panel-2-radio:checked ~ .tabs #two-tab {
  color: #fff !important;
  border-bottom: 0.25rem solid #FF5F14; }

#rwf-tabs {
  padding-bottom: 0; }
  #rwf-tabs .tabs-title {
    padding-top: 0.0625rem; }

.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  z-index: 9;
  min-height: 3.125rem; }
  .hero.default {
    min-height: 12.5rem; }
    @media print, screen and (min-width: 40em) {
      .hero.default {
        min-height: 18.75rem; } }
    @media print, screen and (min-width: 54.125em) {
      .hero.default {
        min-height: 25rem; } }
  @media print, screen and (min-width: 54.125em) {
    .hero {
      min-height: 5.25rem; } }
  .hero.slim {
    min-height: 3.125rem; }
    @media print, screen and (min-width: 54.125em) {
      .hero.slim {
        min-height: 5.25rem; } }
  .hero h1 {
    line-height: 1;
    margin-bottom: 1rem;
    color: #fff; }
  .hero p:not(.eyebrow) {
    max-width: 48.5625rem;
    margin: 0 auto; }

.hero-content-wrapper {
  width: 100%;
  color: #fff;
  padding-top: 1rem;
  z-index: 2;
  padding-bottom: 2rem; }
  @media print, screen and (min-width: 40em) {
    .hero-content-wrapper {
      padding-top: 1rem;
      padding-bottom: 3rem; } }

.hero-content {
  display: flex;
  flex-direction: column;
  justify-content: center; }

.contact-us-hero {
  min-height: 42.25rem;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media print, screen and (max-width: 39.99875em) {
    .us .contact-us-hero {
      background-position: 17% 50%; } }
  .contact-us-hero h1 span {
    display: block; }
  .contact-us-hero .stats span:first-child {
    color: #FF5F14; }
  @media print, screen and (min-width: 40em) {
    .contact-us-hero .stats div {
      border-left: 0.0625rem solid #ACA39A;
      padding-left: 1rem; }
    .contact-us-hero .stats div:nth-of-type(1) {
      border-left: none;
      padding-left: 0; } }

.content-grid {
  border-bottom: 1px solid #D7D2CB; }
  .content-grid .box, .content-grid .bigger-box {
    margin-bottom: 20px; }
    @media print, screen and (min-width: 40em) {
      .content-grid .box, .content-grid .bigger-box {
        margin-bottom: 30px; } }
  .content-grid .bigger-box {
    width: 100%; }
    @media print, screen and (min-width: 54.125em) {
      .content-grid .bigger-box {
        width: 66.65%; } }
  .content-grid a.grid-item:hover {
    transition: background-color 0.25s ease, opacity 0.25s ease;
    background-color: inherit; }
  .content-grid a.grid-item.study:hover {
    background-color: #D7D2CB; }
  .content-grid a.grid-item.blog:hover {
    opacity: 0.95; }

.grid-item.featured-industry {
  min-height: 31.25rem; }

.grid-item.stat .h3 {
  color: #cd4d10; }

.live-stats-wrapper {
  font-weight: 400;
  padding-bottom: 2.5rem;
  text-align: center; }
  @media print, screen and (min-width: 54.125em) {
    .live-stats-wrapper > .row {
      display: flex;
      justify-content: center; } }
  .live-stats-wrapper figcaption {
    margin: 0 auto; }

.panel-split-vert {
  color: inherit; }
  a.panel-split-vert:focus, a.panel-split-vert:hover {
    outline: none;
    opacity: 0.95;
    transition: opacity 0.25ms ease-out;
    color: inherit; }
    a.panel-split-vert:focus p, a.panel-split-vert:hover p {
      text-decoration: underline;
      -webkit-text-decoration-color: #0077C8;
              text-decoration-color: #0077C8; }
  .panel-split-vert p {
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    font-size: 0.875rem;
    margin-bottom: 0; }

.radius {
  border-radius: 3.125rem; }

@media print, screen and (max-width: 39.99875em) {
  .small-centered {
    clear: both;
    float: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 54.12375em) {
  .medium-centered {
    clear: both;
    float: none !important; }
  .medium-uncentered:last-child {
    float: right !important;
    clear: initial !important; } }

@media print, screen and (min-width: 54.125em) {
  .large-centered {
    clear: both;
    float: none !important; }
  .large-uncentered:last-child {
    float: right !important;
    clear: initial !important; } }

.alt-bands:nth-of-type(odd) {
  background-color: #f3f0eb; }

.alt-bands:nth-of-type(even) {
  background-color: #fff; }

a.alt-bands:hover {
  background-color: #f3f0eb;
  transition: background 100ms ease; }

.side-by-side {
  background-color: rgba(255, 255, 255, 0.75);
  box-shadow: 0 0 0.9375rem 0 rgba(0, 0, 0, 0.1);
  margin-bottom: 4.6875rem;
  margin-top: 4.6875rem;
  position: relative;
  z-index: 1; }
  .side-by-side .date,
  .side-by-side time {
    color: #cd4d10;
    margin-bottom: 1rem; }
  .side-by-side .copy {
    justify-content: space-around; }
  .side-by-side .image {
    position: relative;
    width: 100%;
    padding-bottom: 100%; }
  .side-by-side .overlay {
    max-width: 18.75rem;
    background: rgba(255, 255, 255, 0.5);
    padding: 1rem;
    position: relative;
    top: 4rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center; }
    .side-by-side .overlay img {
      max-width: 10rem;
      max-height: 5rem; }
  @media print, screen and (min-width: 40em) {
    .side-by-side .image {
      padding-bottom: 50%; }
    .side-by-side .copy {
      flex: 1 48%; } }
  @media print, screen and (min-width: 54.125em) {
    .side-by-side {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-around; }
      .side-by-side.flip {
        flex-direction: row-reverse; }
      .side-by-side .copy {
        flex: 1 50%; }
      .side-by-side .copy,
      .side-by-side .image {
        flex: 1 50%; }
      .side-by-side .image {
        padding-bottom: 0; } }

@media print, screen and (min-width: 40em) and (max-width: 54.12375em) {
  .vertical-gridlines.medium-up-2 .column:nth-of-type(2n), .vertical-gridlines.medium-up-2 .columns:nth-of-type(2n) {
    border-left: 1px solid #D7D2CB; } }

@media print, screen and (min-width: 54.125em) {
  .vertical-gridlines.large-up-2 .column:nth-child(2n), .vertical-gridlines.large-up-2 .columns:nth-child(2n) {
    border-left: 0.0625rem solid #D7D2CB; }
  .vertical-gridlines.large-up-3 .column:nth-of-type(5), .vertical-gridlines.large-up-3 .columns:nth-of-type(5),
  .vertical-gridlines.large-up-3 .column:nth-of-type(2),
  .vertical-gridlines.large-up-3 .columns:nth-of-type(2) {
    border-left: 1px solid #D7D2CB;
    border-right: 1px solid #D7D2CB; }
  .vertical-gridlines.large-up-4 .column:nth-of-type(2n), .vertical-gridlines.large-up-4 .columns:nth-of-type(2n),
  .vertical-gridlines.large-up-4 .column:nth-of-type(3n),
  .vertical-gridlines.large-up-4 .columns:nth-of-type(3n) {
    border-left: 1px solid #D7D2CB; } }

/* Reusable Flexbox Positioning */
.flexbox .flex {
  display: flex; }
  .flexbox .flex.vertical-center {
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center; }

.og-images {
  position: relative;
  margin: 0 auto;
  max-width: 81.25rem;
  padding: 0;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto; }
  @media print, screen and (min-width: 40em) {
    .og-images {
      flex-direction: row;
      flex-wrap: wrap; } }

.og-thumb {
  position: relative;
  display: block;
  margin: 1rem;
  transition: top 100ms ease, width 100ms ease; }
  @media print, screen and (min-width: 40em) {
    .og-thumb {
      width: calc(50% - 2.0625rem); } }
  @media print, screen and (min-width: 54.125em) {
    .og-thumb {
      width: calc(33% - 2.0625rem); } }
  .og-thumb.active::after {
    content: '';
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: -0.75rem;
    width: 0;
    height: 0;
    border: 0 solid transparent;
    border-left-width: 0.75rem;
    border-right-width: 0.75rem;
    border-top: 0.75rem solid #83786F; }
  .og-thumb.active .overlay,
  .og-thumb:hover .overlay {
    background-color: rgba(255, 255, 255, 0.75); }
  .og-thumb .image {
    position: relative;
    pointer-events: none;
    padding-top: calc(100% / (4 / 3));
    width: 100%; }
  .og-thumb .overlay {
    background-color: rgba(255, 255, 255, 0.5);
    pointer-events: none;
    transition: background-color 100ms ease;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
  .og-thumb img {
    width: auto;
    max-width: 10rem;
    max-height: 5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .og-thumb h2 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }

.og-details {
  position: absolute;
  width: 100%;
  background-color: #D7D2CB;
  transition: height 100ms ease;
  overflow: hidden;
  height: 0; }
  .og-details h4, .og-details dl.icon-list dt, dl.icon-list .og-details dt {
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    font-size: 0.875rem;
    margin-bottom: 1.5625rem; }
  .og-details .overlay {
    width: 100%;
    max-width: 18.75rem;
    background: rgba(255, 255, 255, 0.5);
    padding: 1rem;
    position: absolute;
    top: 4rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center; }
    .og-details .overlay img {
      max-width: 10rem;
      max-height: 5rem; }

.og-inner {
  max-width: 81.25rem;
  margin: 0 auto;
  position: relative;
  padding: 2.5rem 0; }
  @media print, screen and (min-width: 54.125em) {
    .og-inner {
      padding: 4.6875rem 0; } }

.og-container {
  display: block;
  padding: 0 1.25rem; }
  @media print, screen and (min-width: 54.125em) {
    .og-container {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row; } }

.og-copy, .og-large-image-wrapper {
  display: block;
  margin: 1rem; }
  @media print, screen and (min-width: 54.125em) {
    .og-copy, .og-large-image-wrapper {
      width: calc(50% - 2rem); } }

.og-large-image-wrapper {
  position: relative; }

.orange-letter-list p {
  color: #cd4d10;
  font-weight: 600;
  font-family: "neue-haas-unica", sans-serif; }

.orange-letter-list span {
  color: #000;
  font-weight: 400;
  font-family: "PT Serif", serif; }

table.cookie-table p,
table.cookie-table td {
  font-size: 0.8125rem; }

table.cookie-table th,
table.cookie-table tr > td:first-child,
table.cookie-table tr > td:first-child p {
  font-weight: 600; }

table.math {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }
  table.math tbody {
    background-color: transparent; }
    table.math tbody tr {
      background-color: transparent; }
      table.math tbody tr td {
        background-color: transparent;
        line-height: 1;
        padding: 0.5rem 0.75rem; }
        table.math tbody tr td:first-child {
          min-width: 2.5rem;
          padding-left: 0;
          text-align: right; }
          table.math tbody tr td:first-child:empty {
            min-width: 0; }
        table.math tbody tr td[class^=calc-]::before {
          font-family: "Overpass Mono", monospace;
          float: left; }
        table.math tbody tr td.calc-add::before {
          content: '\002b'; }
        table.math tbody tr td.calc-divide::before {
          content: '\00f7'; }
        table.math tbody tr td.calc-multiply::before {
          content: '\00d7'; }
        table.math tbody tr td.calc-subtract::before {
          content: '\2212'; }
    table.math tbody .total {
      font-weight: bold; }

table.padding td,
table.padding th {
  padding: 3.5rem 1.25rem 3.5rem; }

.x-slide-wrapper {
  position: relative;
  overflow: hidden; }

table.x-slide {
  border-spacing: 0;
  margin-bottom: 0;
  table-layout: auto; }
  table.x-slide th {
    color: #6E6259;
    border-bottom: 0.0625rem solid #968C83;
    white-space: nowrap;
    font-family: "Overpass Mono", monospace;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    text-transform: uppercase;
    min-width: 12.5rem;
    max-width: 14.0625rem;
    white-space: normal;
    font-family: "Overpass Mono", monospace;
    font-weight: normal;
    font-size: 0.875rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    text-transform: uppercase; }
  table.x-slide thead {
    background: transparent; }
  table.x-slide .x-sticky-col {
    left: 0;
    top: auto;
    width: 4.0625rem; }
    table.x-slide .x-sticky-col.wide {
      width: 12.5rem; }
  table.x-slide.scroll-active tbody,
  table.x-slide.scroll-active thead {
    overflow: hidden;
    z-index: 2; }
    table.x-slide.scroll-active tbody:after,
    table.x-slide.scroll-active thead:after {
      content: '';
      position: absolute;
      left: 4.0625rem;
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%);
      width: 0.625rem;
      height: 100%;
      z-index: 1; }
  table.x-slide.scroll-active.wide tbody:after,
  table.x-slide.scroll-active.wide thead:after {
    left: 12.5rem; }
  .x-slide-wrapper.scroll-active {
    margin-right: -0.625rem; }
  .x-slide-scroller {
    overflow-x: auto;
    overflow-y: hidden; }
  .x-slide-scroller.wide {
    margin-left: 12.5rem; }
  table.x-slide tbody td {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem; }

table.neutral th {
  color: #000;
  font-family: "PT Serif", serif;
  font-size: 1rem;
  font-weight: 600;
  text-transform: inherit;
  border-bottom: 0.0625rem solid #ACA39A; }
  table.neutral th:nth-of-type(2) {
    border-bottom: 0.0625rem solid #6E6259;
    color: #fff; }
  table.neutral th:nth-of-type(n+4) {
    border-left: 0.0625rem solid #ACA39A; }

table.neutral td:nth-of-type(n+4) {
  border-left: 0.0625rem solid #ACA39A; }

table.neutral td:nth-of-type(1) {
  font-weight: 600; }

table.neutral .bg-neutral-1, table.neutral aside.panel.dark {
  background-color: #382E2C;
  color: #fff; }
  table.neutral .bg-neutral-1 p, table.neutral aside.panel.dark p {
    font-weight: 500;
    margin-bottom: 0; }

table.neutral .bg-neutral-black {
  background-color: #222; }

table.neutral ul li::before {
  color: #FF5F14; }

dl {
  display: block; }
  dl:last-child {
    margin-bottom: 3.75rem; }
  dl dt {
    display: block;
    color: #5E514D;
    font-size: 1.25rem; }
  dl.icon-list {
    margin-top: 6.59375rem; }
    dl.icon-list .lead, dl.icon-list .hero p:not(.eyebrow), .hero dl.icon-list p:not(.eyebrow), dl.icon-list .live-stats-wrapper figcaption, .live-stats-wrapper dl.icon-list figcaption {
      position: relative;
      top: -0.625rem;
      margin-left: -0.3125rem; }
    dl.icon-list .title {
      display: block;
      line-height: 1; }
    dl.icon-list dd {
      margin-bottom: 1.5625rem;
      margin-left: 1.84375rem;
      padding-bottom: 1rem;
      padding-left: 3.46875rem;
      margin-top: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        dl.icon-list dd {
          padding-bottom: 3.4375rem;
          padding-left: 5.96875rem; } }
      dl.icon-list dd p {
        margin-bottom: 0; }
      dl.icon-list dd:not(:last-child) {
        border-left: solid #ACA39A 0.125rem; }
    dl.icon-list dt {
      align-content: center;
      background-position: left 50%;
      background-repeat: no-repeat;
      background-size: 3.75rem;
      display: grid;
      margin-bottom: 0 !important;
      min-height: 4.5625rem;
      padding-left: 4.875rem; }
      @media print, screen and (min-width: 40em) {
        dl.icon-list dt {
          padding-left: 7.375rem; } }

dd {
  display: block;
  color: #222; }

.content ol li,
.content ul li {
  margin-bottom: 1rem; }

.content ol.no-bullet li::before,
.content ul.no-bullet li::before {
  content: none; }

.content ul {
  list-style: none; }
  .content ul li::before {
    color: #cd4d10;
    content: "\2022";
    float: left;
    font-weight: bold;
    margin-left: -1rem;
    width: 1rem; }
    .content .bg-primary-orange ul li::before,
    .content .bg-orange ul li::before,
    .content aside.panel:not(.dark) ul li::before {
      color: #D7D2CB; }

.centered-list {
  display: table;
  text-align: left;
  margin-left: auto;
  margin-right: auto; }

@media print, screen and (max-width: 39.99875em) {
  .small-centered-list {
    display: table;
    text-align: left;
    margin-left: auto;
    margin-right: auto; } }

@media print, screen and (min-width: 40em) {
  .medium-centered-list {
    display: table;
    text-align: left;
    margin-left: auto;
    margin-right: auto; } }

@media print, screen and (min-width: 54.125em) {
  .large-centered-list {
    display: table;
    text-align: left;
    margin-left: auto;
    margin-right: auto; } }

.counter {
  list-style: none;
  counter-reset: numeric-counter; }
  .counter > li {
    counter-increment: numeric-counter;
    font-family: "neue-haas-unica", sans-serif;
    font-size: 1.5625rem;
    line-height: 1.2;
    margin-bottom: 1.875rem;
    padding-left: 1rem;
    position: relative; }
    .counter > li::before {
      content: counter(numeric-counter) ". ";
      color: #cd4d10;
      position: absolute;
      left: -1rem; }
  .counter.footnote > li::before {
    color: #000;
    font-style: italic;
    font-size: 1rem;
    content: "[" counter(numeric-counter) "] "; }
  .counter.footnote > li p,
  .counter.footnote > li ul li {
    color: #6E6259;
    font-style: italic;
    font-size: 0.875rem;
    margin-top: 0.5rem; }
  .counter.footnote > li ul li {
    margin-bottom: 0; }
    .counter.footnote > li ul li::before {
      color: #6E6259; }

.illustrated-bullet:not([class*='column-list']) {
  padding-left: 1.875rem; }

.illustrated-bullet[class*='column-list'] .cell, .illustrated-bullet[class*='column-list'] li {
  padding-left: 1.875rem; }

.illustrated-bullet h3, .illustrated-bullet .h3, .illustrated-bullet h4, .illustrated-bullet dl.icon-list dt, dl.icon-list .illustrated-bullet dt, .illustrated-bullet .h4, .illustrated-bullet h5, .illustrated-bullet .h5, .illustrated-bullet .stats-2col h3, .stats-2col .illustrated-bullet h3, .illustrated-bullet .stats-2col h4, .stats-2col .illustrated-bullet h4, .illustrated-bullet .stats-2col dl.icon-list dt, .stats-2col dl.icon-list .illustrated-bullet dt, .illustrated-bullet dl.icon-list .stats-2col dt, dl.icon-list .stats-2col .illustrated-bullet dt, .illustrated-bullet .stats-2col h5, .stats-2col .illustrated-bullet h5, .illustrated-bullet .stats-2col h6, .stats-2col .illustrated-bullet h6, .illustrated-bullet h6, .illustrated-bullet .h6 {
  margin-bottom: 0.5rem; }

.illustrated-bullet h3:first-of-type::before, .illustrated-bullet .h3:first-of-type::before {
  top: 1.25rem; }

.illustrated-bullet h4:first-of-type::before, .illustrated-bullet dl.icon-list dt:first-of-type::before, dl.icon-list .illustrated-bullet dt:first-of-type::before, .illustrated-bullet .h4:first-of-type::before {
  top: 1rem; }

.illustrated-bullet h5:first-of-type::before, .illustrated-bullet .h5:first-of-type::before, .illustrated-bullet .stats-2col h3:first-of-type::before, .stats-2col .illustrated-bullet h3:first-of-type::before, .illustrated-bullet .stats-2col h4:first-of-type::before, .stats-2col .illustrated-bullet h4:first-of-type::before, .illustrated-bullet .stats-2col dl.icon-list dt:first-of-type::before, .stats-2col dl.icon-list .illustrated-bullet dt:first-of-type::before, .illustrated-bullet dl.icon-list .stats-2col dt:first-of-type::before, dl.icon-list .stats-2col .illustrated-bullet dt:first-of-type::before, .illustrated-bullet .stats-2col h5:first-of-type::before, .stats-2col .illustrated-bullet h5:first-of-type::before, .illustrated-bullet .stats-2col h6:first-of-type::before, .stats-2col .illustrated-bullet h6:first-of-type::before {
  top: 0.625rem; }

.illustrated-bullet p {
  margin-bottom: 1rem; }

.illustrated-bullet:not(ul) > :first-child::before,
ul.illustrated-bullet li::before {
  position: relative;
  top: 0.5rem;
  content: '';
  float: left;
  margin-left: -1.875rem;
  width: 0.875rem;
  height: 0.875rem;
  -webkit-mask: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 61.6 63.2"><path d="M30.5 63.2c-7.8 0-14.8-2.7-20.2-7.8C2.9 48.4.1 38.6 0 32.4c-.1-8.9 3.2-17.5 9.2-23.6C14.9 3 22.4 0 31 0c12.9 0 21.1 5.4 24.5 16 .4 1.4.8 2.9 1 4.5 3.2 4.1 4.9 8.6 5.1 12.9.3 11.4-7.3 28.7-29.5 29.7-.6.1-1.1.1-1.6.1zM31 6c-6.9 0-13 2.4-17.5 7C8.6 17.9 5.9 25 6 32.3c.1 5.5 2.7 13.4 8.4 18.7 4.6 4.4 10.5 6.4 17.4 6.1 17.8-.8 23.2-13.5 23.8-21.6-1 3.5-2.5 7-4.8 10.4-3 4.4-8.3 7.3-15.1 8.1-8.2.9-16.7-1.5-21.7-6.2-5.3-5-7.7-11.7-6.9-18.9.8-7.2 5-13.8 10.8-17.2 4.5-2.8 10-4 15.3-3.3 5.3.5 9.9 2 13.9 4.2C44 8.1 38.7 6 31 6zm-.6 8.2c-3.3 0-6.5.9-9.3 2.7-4.3 2.5-7.4 7.4-8 12.7-.6 5.3 1.2 10.2 5.1 13.9 3.7 3.5 10.5 5.3 16.9 4.6 4.9-.6 8.8-2.5 10.7-5.4 4.4-6.8 5.6-13.9 5-19.6-4-4.4-10.4-8-18.1-8.6h-.1c-.7-.3-1.5-.3-2.2-.3z"/></svg>') no-repeat;
          mask: url('data:image/svg+xml;charset=utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 61.6 63.2"><path d="M30.5 63.2c-7.8 0-14.8-2.7-20.2-7.8C2.9 48.4.1 38.6 0 32.4c-.1-8.9 3.2-17.5 9.2-23.6C14.9 3 22.4 0 31 0c12.9 0 21.1 5.4 24.5 16 .4 1.4.8 2.9 1 4.5 3.2 4.1 4.9 8.6 5.1 12.9.3 11.4-7.3 28.7-29.5 29.7-.6.1-1.1.1-1.6.1zM31 6c-6.9 0-13 2.4-17.5 7C8.6 17.9 5.9 25 6 32.3c.1 5.5 2.7 13.4 8.4 18.7 4.6 4.4 10.5 6.4 17.4 6.1 17.8-.8 23.2-13.5 23.8-21.6-1 3.5-2.5 7-4.8 10.4-3 4.4-8.3 7.3-15.1 8.1-8.2.9-16.7-1.5-21.7-6.2-5.3-5-7.7-11.7-6.9-18.9.8-7.2 5-13.8 10.8-17.2 4.5-2.8 10-4 15.3-3.3 5.3.5 9.9 2 13.9 4.2C44 8.1 38.7 6 31 6zm-.6 8.2c-3.3 0-6.5.9-9.3 2.7-4.3 2.5-7.4 7.4-8 12.7-.6 5.3 1.2 10.2 5.1 13.9 3.7 3.5 10.5 5.3 16.9 4.6 4.9-.6 8.8-2.5 10.7-5.4 4.4-6.8 5.6-13.9 5-19.6-4-4.4-10.4-8-18.1-8.6h-.1c-.7-.3-1.5-.3-2.2-.3z"/></svg>') no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background-color: #cd4d10; }

ul.illustrated-bullet {
  margin-bottom: 0;
  margin-left: 0; }
  ul.illustrated-bullet li {
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid; }
    ul.illustrated-bullet li :last-child {
      margin-bottom: 0; }

ul[class*='column-list'] li, ol[class*='column-list'] li {
  margin-bottom: 3rem; }

[class*='column-list-'].no-bullet li {
  margin-left: 0; }

.column-list-4-2-1 {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0;
  margin-left: -0; }
  .column-list-4-2-1 > .cell, .column-list-4-2-1 li {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  @media print, screen and (min-width: 40em) {
    .column-list-4-2-1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; }
      .column-list-4-2-1 > .cell, .column-list-4-2-1 li {
        flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  @media print, screen and (min-width: 54.125em) {
    .column-list-4-2-1 {
      margin-right: -2.1875rem;
      margin-left: -2.1875rem; }
      .column-list-4-2-1 > .cell, .column-list-4-2-1 li {
        flex: 0 0 auto;
        width: calc(25% - 4.375rem);
        margin-left: 2.1875rem;
        margin-right: 2.1875rem; } }

.column-list-3-2-1 {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0;
  margin-left: -0; }
  .column-list-3-2-1 > .cell, .column-list-3-2-1 li {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  @media print, screen and (min-width: 40em) {
    .column-list-3-2-1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; }
      .column-list-3-2-1 > .cell, .column-list-3-2-1 li {
        flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  @media print, screen and (min-width: 54.125em) {
    .column-list-3-2-1 {
      margin-right: -2.1875rem;
      margin-left: -2.1875rem; }
      .column-list-3-2-1 > .cell, .column-list-3-2-1 li {
        flex: 0 0 auto;
        width: calc(33.33333% - 4.375rem);
        margin-left: 2.1875rem;
        margin-right: 2.1875rem; } }

.column-list-2-1 {
  display: flex;
  flex-flow: row wrap;
  margin-right: -0;
  margin-left: -0; }
  .column-list-2-1 > .cell, .column-list-2-1 li {
    flex: 0 0 auto;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  @media print, screen and (min-width: 40em) {
    .column-list-2-1 {
      margin-right: -0.9375rem;
      margin-left: -0.9375rem; }
      .column-list-2-1 > .cell, .column-list-2-1 li {
        flex: 0 0 auto;
        width: calc(50% - 1.875rem);
        margin-left: 0.9375rem;
        margin-right: 0.9375rem; } }
  @media print, screen and (min-width: 54.125em) {
    .column-list-2-1 {
      margin-right: -2.1875rem;
      margin-left: -2.1875rem; }
      .column-list-2-1 > .cell, .column-list-2-1 li {
        flex: 0 0 auto;
        width: calc(50% - 4.375rem);
        margin-left: 2.1875rem;
        margin-right: 2.1875rem; } }

.viewport {
  min-height: 100vh !important; }

body {
  scroll-padding-top: 3.0625rem; }
  @media print, screen and (min-width: 54.125em) {
    body {
      scroll-padding-top: 6rem; } }
  body.scroll-mandatory {
    scroll-snap-type: y mandatory; }
  body.scroll-proximity {
    scroll-snap-type: y proximity; }

.grid-container {
  width: 100%; }

.snap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  height: 100%;
  min-height: 100vh;
  transition: top 100ms ease, opacity 100ms ease, background-color 100ms ease; }
  .snap::before, .snap::after {
    display: table;
    content: ' '; }
  .snap::after {
    clear: both; }
  .snap.is-active {
    position: relative;
    opacity: 1;
    z-index: 1; }
  .snap.is-inactive {
    position: absolute;
    opacity: 0;
    z-index: 0; }
  .snap .illustration {
    -webkit-mask-image: var(--illustration);
            mask-image: var(--illustration);
    -webkit-mask-size: contain;
            mask-size: contain;
    background-color: #FF5F14;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat; }
  .snap.bg-orange .illustration, aside.snap.panel:not(.dark) .illustration {
    background-color: #fff; }

.stop-scrolling {
  height: 100%;
  overflow: hidden; }

.scroll-nav {
  display: none;
  flex-direction: column;
  position: fixed;
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  transition: all 1s;
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .scroll-nav {
      display: flex; } }
  .scroll-nav a {
    border-bottom: none;
    text-decoration: none; }
    .scroll-nav a::before {
      z-index: 1;
      content: '';
      display: block;
      width: 0.25rem;
      height: 1.5rem;
      background-color: #6E6259;
      margin-bottom: 1rem; }
    .scroll-nav a:last-child::before {
      height: 4rem; }
    .scroll-nav a.is-active::before {
      background-color: #fff; }
    .scroll-nav a:hover {
      background: none;
      border: none; }

.success-story {
  position: relative;
  z-index: 1;
  padding-top: 4rem;
  padding-bottom: 4rem; }
  @media print, screen and (min-width: 40em) {
    .success-story {
      padding-top: 6rem;
      padding-bottom: 6rem; } }
  .success-story .date,
  .success-story time {
    color: #cd4d10;
    margin-bottom: 1rem; }
  .success-story .copy {
    justify-content: space-around; }
  .success-story .image {
    position: relative;
    width: 100%;
    padding-top: 100%; }
  .success-story .logo {
    max-width: 18.75rem;
    padding: 1rem;
    position: relative;
    bottom: 4rem;
    text-align: center;
    display: inline-block;
    align-items: center;
    justify-content: center;
    -webkit-filter: invert(1);
            filter: invert(1); }
    .success-story .logo img {
      max-width: 8rem;
      max-height: 5rem; }
    @media print, screen and (min-width: 54.125em) {
      .success-story .logo {
        display: flex; } }
  .success-story .subheader, .success-story .eyebrow {
    display: inline-block;
    position: relative;
    z-index: 2;
    background-color: #222;
    padding-right: 1rem; }
  .success-story h3 {
    margin-bottom: 2.5rem; }
    .success-story h3 ~ hr {
      top: -3.1875rem; }
  .success-story .headline {
    color: #FF5F14; }
  .success-story h5 {
    margin-bottom: 1.5625rem; }
    .success-story h5 ~ hr {
      top: -2.25rem; }
  .success-story hr {
    width: 100%;
    height: 0;
    border: 0.0625rem solid #5E514D;
    margin: 0;
    display: block;
    position: relative; }
  .success-story p {
    color: #D7D2CB; }
  .success-story .service-block {
    padding-left: 0; }
  @media print, screen and (min-width: 40em) {
    .success-story .logo {
      bottom: 6rem; }
    .success-story .image {
      padding-top: calc(100% / (16 / 9)); }
    .success-story .copy {
      flex: 1 48%; }
    .success-story .service-block {
      padding-left: 1rem; } }
  @media print, screen and (min-width: 54.125em) {
    .success-story {
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-around; }
      .success-story .logo {
        flex-direction: row;
        top: 4rem;
        width: 90%; }
      .success-story .copy {
        flex: 1 50%; }
      .success-story .copy,
      .success-story .image {
        flex: 1 50%; }
      .success-story .image {
        padding-top: 145%;
        top: 0.6875rem; } }
  @media screen and (min-width: 62.5em) {
    .success-story .image {
      padding-top: 27.8125rem; } }

.share .icon {
  vertical-align: middle; }

.share label {
  display: inline-block;
  vertical-align: middle; }

.stats {
  position: relative; }
  @media print, screen and (min-width: 40em) {
    .stats {
      display: flex;
      justify-content: space-between;
      width: 100%;
      flex-direction: row; } }
  .stats div {
    flex: 1 1 auto; }
    @media print, screen and (min-width: 40em) {
      .stats div {
        margin-bottom: 0; } }
  .stats span:first-child {
    font-family: "neue-haas-unica", sans-serif;
    font-weight: 600;
    color: #cd4d10;
    font-size: 3.4375rem; }
    @media print, screen and (min-width: 54.125em) {
      .stats span:first-child {
        font-size: 4.0625rem; } }
  .stats span:last-child {
    display: block;
    font-family: "neue-haas-unica", sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    color: inherit;
    margin-bottom: 2.5rem; }
    @media print, screen and (min-width: 40em) {
      .stats span:last-child {
        margin-bottom: 0; } }
  .stats.small span:first-child {
    font-size: 2.1875rem; }
    @media print, screen and (min-width: 54.125em) {
      .stats.small span:first-child {
        font-size: 2.8125rem; } }
  .stats.small span:last-child {
    font-size: 1rem; }
  .stats .operator {
    font-size: 2.1875rem;
    color: #5E514D;
    font-weight: bold; }
    @media print, screen and (max-width: 39.99875em) {
      .stats .operator {
        display: inline-block;
        float: left; }
        .stats .operator + div {
          margin-left: 2rem; } }
    @media print, screen and (min-width: 40em) {
      .stats .operator {
        margin-top: 0.1rem;
        margin-left: 1rem;
        margin-right: 1rem; } }
    @media print, screen and (min-width: 54.125em) {
      .stats .operator {
        margin-top: 0.5rem; } }

.grid-margin-wide > .cell {
  width: calc((100% - 0) / 1); }

.grid-margin-wide.small-up-1 > .cell:nth-child(3n + 2) {
  margin-left: 0;
  margin-right: 0; }

.grid-margin-wide > .cell {
  width: calc((100% - 0) / 2); }

.grid-margin-wide.small-up-2 > .cell:nth-child(3n + 2) {
  margin-left: 0;
  margin-right: 0; }

.grid-margin-wide > .cell {
  width: calc((100% - 0) / 3); }

.grid-margin-wide.small-up-3 > .cell:nth-child(3n + 2) {
  margin-left: 0;
  margin-right: 0; }

@media print, screen and (min-width: 40em) {
  .grid-margin-wide > .cell {
    width: calc(100% - 60px); }
  .grid-margin-wide.small-up-1 > .cell:nth-child(3n + 2) {
    margin-left: 30px;
    margin-right: 30px; }
  .grid-margin-wide > .cell {
    width: calc(50% - 60px); }
  .grid-margin-wide.small-up-2 > .cell:nth-child(3n + 2) {
    margin-left: 30px;
    margin-right: 30px; }
  .grid-margin-wide > .cell {
    width: calc(33.33333% - 60px); }
  .grid-margin-wide.small-up-3 > .cell:nth-child(3n + 2) {
    margin-left: 30px;
    margin-right: 30px; }
  .grid-margin-wide > .cell {
    width: calc((100% - 60px) / 1); }
  .grid-margin-wide.medium-up-1 > .cell:nth-child(3n + 2) {
    margin-left: 30px;
    margin-right: 30px; }
  .grid-margin-wide > .cell {
    width: calc((100% - 60px) / 2); }
  .grid-margin-wide.medium-up-2 > .cell:nth-child(3n + 2) {
    margin-left: 30px;
    margin-right: 30px; }
  .grid-margin-wide > .cell {
    width: calc((100% - 60px) / 3); }
  .grid-margin-wide.medium-up-3 > .cell:nth-child(3n + 2) {
    margin-left: 30px;
    margin-right: 30px; } }

@media print, screen and (min-width: 54.125em) {
  .grid-margin-wide > .cell {
    width: calc(100% - 140px); }
  .grid-margin-wide.small-up-1 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc(100% - 140px); }
  .grid-margin-wide.medium-up-1 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc(50% - 140px); }
  .grid-margin-wide.small-up-2 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc(50% - 140px); }
  .grid-margin-wide.medium-up-2 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc(33.33333% - 140px); }
  .grid-margin-wide.small-up-3 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc(33.33333% - 140px); }
  .grid-margin-wide.medium-up-3 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc((100% - 140px) / 1); }
  .grid-margin-wide.large-up-1 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc((100% - 140px) / 2); }
  .grid-margin-wide.large-up-2 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; }
  .grid-margin-wide > .cell {
    width: calc((100% - 140px) / 3); }
  .grid-margin-wide.large-up-3 > .cell:nth-child(3n + 2) {
    margin-left: 70px;
    margin-right: 70px; } }

.grid-margin-ultra-wide > .cell {
  width: calc(100% - 0); }

.grid-margin-ultra-wide.small-up-1 > .cell:nth-child(odd) {
  margin-right: 0; }

.grid-margin-ultra-wide.small-up-1 > .cell:nth-child(even) {
  margin-left: 0; }

.grid-margin-ultra-wide > .cell {
  width: calc(50% - 0); }

.grid-margin-ultra-wide.small-up-2 > .cell:nth-child(odd) {
  margin-right: 0; }

.grid-margin-ultra-wide.small-up-2 > .cell:nth-child(even) {
  margin-left: 0; }

@media print, screen and (min-width: 40em) {
  .grid-margin-ultra-wide > .cell {
    width: calc(100% - 35px); }
  .grid-margin-ultra-wide.small-up-1 > .cell:nth-child(odd) {
    margin-right: 35px; }
  .grid-margin-ultra-wide.small-up-1 > .cell:nth-child(even) {
    margin-left: 35px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(50% - 35px); }
  .grid-margin-ultra-wide.small-up-2 > .cell:nth-child(odd) {
    margin-right: 35px; }
  .grid-margin-ultra-wide.small-up-2 > .cell:nth-child(even) {
    margin-left: 35px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(100% - 35px); }
  .grid-margin-ultra-wide.medium-up-1 > .cell:nth-child(odd) {
    margin-right: 35px; }
  .grid-margin-ultra-wide.medium-up-1 > .cell:nth-child(even) {
    margin-left: 35px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(50% - 35px); }
  .grid-margin-ultra-wide.medium-up-2 > .cell:nth-child(odd) {
    margin-right: 35px; }
  .grid-margin-ultra-wide.medium-up-2 > .cell:nth-child(even) {
    margin-left: 35px; } }

@media print, screen and (min-width: 54.125em) {
  .grid-margin-ultra-wide > .cell {
    width: calc(100% - 50px); }
  .grid-margin-ultra-wide.small-up-1 > .cell:nth-child(odd) {
    margin-right: 50px; }
  .grid-margin-ultra-wide.small-up-1 > .cell:nth-child(even) {
    margin-left: 50px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(100% - 50px); }
  .grid-margin-ultra-wide.medium-up-1 > .cell:nth-child(odd) {
    margin-right: 50px; }
  .grid-margin-ultra-wide.medium-up-1 > .cell:nth-child(even) {
    margin-left: 50px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(50% - 50px); }
  .grid-margin-ultra-wide.small-up-2 > .cell:nth-child(odd) {
    margin-right: 50px; }
  .grid-margin-ultra-wide.small-up-2 > .cell:nth-child(even) {
    margin-left: 50px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(50% - 50px); }
  .grid-margin-ultra-wide.medium-up-2 > .cell:nth-child(odd) {
    margin-right: 50px; }
  .grid-margin-ultra-wide.medium-up-2 > .cell:nth-child(even) {
    margin-left: 50px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(100% - 50px); }
  .grid-margin-ultra-wide.large-up-1 > .cell:nth-child(odd) {
    margin-right: 50px; }
  .grid-margin-ultra-wide.large-up-1 > .cell:nth-child(even) {
    margin-left: 50px; }
  .grid-margin-ultra-wide > .cell {
    width: calc(50% - 50px); }
  .grid-margin-ultra-wide.large-up-2 > .cell:nth-child(odd) {
    margin-right: 50px; }
  .grid-margin-ultra-wide.large-up-2 > .cell:nth-child(even) {
    margin-left: 50px; } }

.wide-wrapper .grid-container,
.wide-wrapper .row {
  max-width: 125rem;
  padding-left: 0;
  padding-right: 0; }

.mosaic-container .grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
  row-gap: 0.9375rem; }
  @media print, screen and (min-width: 54.125em) {
    .mosaic-container .grid-container {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }

.mosaic-container.layout-1 .grid-container {
  grid-template-areas: "big big" "big big" "small1 small2" "medium medium"; }
  @media print, screen and (min-width: 54.125em) {
    .mosaic-container.layout-1 .grid-container {
      grid-template-areas: "big big small1 small2" "big big medium medium"; } }

.mosaic-container.layout-2 .grid-container {
  grid-template-areas: "big big" "big big" "medium medium" "small1 small2"; }
  @media print, screen and (min-width: 54.125em) {
    .mosaic-container.layout-2 .grid-container {
      grid-template-areas: "medium medium big big" "small1 small2 big big"; } }

.mosaic-container.layout-3 .grid-container {
  grid-template-areas: "small2 small1" "medium medium" "big big" "big big"; }
  @media print, screen and (min-width: 54.125em) {
    .mosaic-container.layout-3 .grid-container {
      grid-template-areas: "big big small1 medium" "big big small2 medium"; } }

.mosaic-container .grid-container > :nth-child(1) {
  grid-area: big; }

.mosaic-container .grid-container > :nth-child(2) {
  grid-area: small1; }

.mosaic-container .grid-container > :nth-child(3) {
  grid-area: small2; }

.mosaic-container .grid-container > :nth-child(4) {
  grid-area: medium; }

.mosaic-container .grid-container > p :last-child {
  margin-bottom: 0; }

.circle {
  border-radius: 100%; }

.bio-grid {
  width: 100%;
  display: grid;
  grid-column-gap: 4.6875rem;
  grid-row-gap: 2rem; }
  @media print, screen and (min-width: 40em) {
    .bio-grid {
      grid-template-columns: 1fr 1fr; } }
  @media print, screen and (min-width: 54.125em) {
    .bio-grid {
      grid-template-columns: 1fr 1fr 1fr; } }
  .bio-grid header {
    margin-bottom: 1rem; }
    .bio-grid header > :not(img) {
      display: block;
      margin-left: 6.25rem; }
  .bio-grid h3, .bio-grid h4, .bio-grid dl.icon-list dt, dl.icon-list .bio-grid dt {
    margin-bottom: 0.5rem; }
  .bio-grid img {
    max-width: 5.3125rem;
    float: left; }

.cookies-wrapper summary > h3 {
  display: inline-block;
  top: 0.625rem; }

.logo-grid .logo {
  max-width: 18.75rem;
  padding: 1rem;
  bottom: 4rem;
  text-align: center;
  display: inline-block;
  align-items: center;
  justify-content: center;
  -webkit-filter: invert(1);
          filter: invert(1);
  height: 7.6875rem;
  display: flex; }
  .logo-grid .logo img {
    max-width: 8rem;
    max-height: 4.5rem; }
    @media print, screen and (min-width: 40em) {
      .logo-grid .logo img {
        max-height: 5rem; } }

.pinned-article {
  margin-bottom: 4.6875rem; }

.news-svg img {
  height: 3.75rem;
  width: auto; }

.card-article {
  position: relative; }
  .card-article:hover h3,
  .card-article:hover h4,
  .card-article:hover dl.icon-list dt,
  dl.icon-list .card-article:hover dt,
  .card-article:hover .h3,
  .card-article:hover .h4 {
    box-shadow: inset 0 -2.5rem #0077C8; }
  .card-article:hover h5,
  .card-article:hover .h5,
  .card-article:hover .stats-2col h3,
  .stats-2col .card-article:hover h3,
  .card-article:hover .stats-2col h4,
  .stats-2col .card-article:hover h4,
  .card-article:hover .stats-2col dl.icon-list dt,
  .stats-2col dl.icon-list .card-article:hover dt,
  .card-article:hover dl.icon-list .stats-2col dt,
  dl.icon-list .stats-2col .card-article:hover dt,
  .card-article:hover .stats-2col h5,
  .stats-2col .card-article:hover h5,
  .card-article:hover .stats-2col h6,
  .stats-2col .card-article:hover h6 {
    box-shadow: inset 0 -2rem #0077C8; }
  .card-article:hover h6,
  .card-article:hover .h6 {
    box-shadow: inset 0 -1.625rem #0077C8; }
  .card-article:hover h3,
  .card-article:hover h4,
  .card-article:hover dl.icon-list dt,
  dl.icon-list .card-article:hover dt,
  .card-article:hover h5,
  .card-article:hover h6 {
    color: #fff; }
  .card-article:hover img:not(.logo) {
    -webkit-transform: scale(1.01) perspective(0) translateZ(0);
            transform: scale(1.01) perspective(0) translateZ(0); }
  .card-article:hover img.logo {
    width: 51%; }
  .card-article:hover .post-image-overlay-container .bg-neutral-black {
    background-color: rgba(34, 34, 34, 0); }
  .card-article:hover .post-image-overlay-container .post-svg {
    opacity: 0; }
  .card-article .details :last-child {
    margin-bottom: 0; }
  .card-article h3,
  .card-article h4,
  .card-article dl.icon-list dt,
  dl.icon-list .card-article dt,
  .card-article h5,
  .card-article h6 {
    display: inline;
    box-shadow: inset 0 -0.0625rem #0077C8;
    transition: box-shadow 250ms ease, color 250ms ease; }
  .card-article p {
    margin: 1rem auto; }
  .card-article small {
    font-style: italic;
    color: #6E6259; }
  .card-article picture {
    display: block;
    margin-bottom: 1rem;
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 0;
    padding-bottom: calc(9 / 16 * 100%); }
    .card-article picture > img {
      -o-object-fit: cover;
         object-fit: cover;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      transition: width 250ms ease, -webkit-transform 250ms ease;
      transition: width 250ms ease, transform 250ms ease;
      transition: width 250ms ease, transform 250ms ease, -webkit-transform 250ms ease;
      -webkit-transform: perspective(0) translateZ(0);
              transform: perspective(0) translateZ(0); }
      .card-article picture > img.logo {
        -o-object-fit: contain;
           object-fit: contain;
        width: 50%;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        opacity: 1; }
  .card-article .post-image-overlay-container {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: calc(9 / 16 * 100%);
    margin-bottom: 1rem; }
    .card-article .post-image-overlay-container picture {
      position: absolute;
      top: 0;
      bottom: 0; }
    .card-article .post-image-overlay-container .bg-neutral-black {
      background-color: rgba(34, 34, 34, 0.7);
      transition: background-color 250ms ease-out; }
    .card-article .post-image-overlay-container .post-svg {
      opacity: 1;
      transition: opacity 250ms ease-out; }
  .card-article time {
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    font-size: 0.875rem;
    color: #6E6259;
    margin-bottom: 1rem; }
  .bg-neutral-black .card-article time,
  .bg-neutral-black .card-article small {
    color: #fff; }

.news-article.article-full .the-post > p:first-child:first-letter {
  color: #cd4d10;
  float: left;
  font-size: 5rem;
  line-height: .9;
  margin-right: 2.333rem; }

.news-article .video-caption {
  max-width: 54.125rem;
  margin-left: auto;
  margin-right: auto; }

.news-article .layout-compressed::after {
  border-bottom: none; }

@media print, screen and (max-width: 39.99875em) {
  .card-article {
    margin-bottom: 6rem; }
  .stories-scroll {
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 1.25rem;
    grid-row-gap: 7.5rem; } }

@media print, screen and (min-width: 40em) {
  .card-article.big {
    display: grid;
    width: 100%;
    grid-template-columns: 0.6875fr 0.3115fr;
    grid-column-gap: 4.6875rem; }
  .card-article.flip {
    grid-template-columns: 0.3115fr 0.6875fr; }
    .card-article.flip > :first-child {
      order: 2; }
    .card-article.flip > :last-child {
      order: 1; }
  .articles-wrapper,
  .stories-scroll {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 4.6875rem;
    grid-row-gap: 7.5rem; } }

@media print, screen and (min-width: 40em) and (max-width: 54.12375em) {
  .card-article.big {
    grid-column-start: 1;
    grid-column-end: 3; }
    .card-article.big-1 {
      order: 2; }
    .card-article.big-2 {
      order: 4; }
    .card-article.big-3 {
      order: 6; }
    .card-article.big-4 {
      order: 8; }
    .card-article.big-5 {
      order: 10; }
  .card-article.standard-1 {
    order: 1;
    grid-column-start: 1; }
  .card-article.standard-2 {
    order: 1;
    grid-column-start: 2; }
  .card-article.standard-3 {
    order: 3; }
  .card-article.standard-4 {
    order: 3; }
  .card-article.standard-5 {
    order: 3; }
  .card-article.standard-6 {
    order: 3; }
  .card-article.standard-7 {
    order: 5; }
  .card-article.standard-8 {
    order: 5; }
  .card-article.standard-9 {
    order: 7; }
  .card-article.standard-10 {
    order: 7; }
  .card-article.standard-11 {
    order: 9; }
  .card-article.standard-12 {
    order: 9; }
  .card-article.standard-13 {
    order: 11; }
  .card-article.standard-14 {
    order: 11; } }

@media print, screen and (min-width: 54.125em) {
  .articles-wrapper {
    grid-template-columns: 1fr 1fr 1fr; }
  .tabs-panel .articles-wrapper {
    grid-template-columns: 1fr; }
  .card-article.big {
    grid-column-start: 1;
    grid-column-end: 4; }
    .card-article.big-1 {
      order: 2; }
    .card-article.big-2 {
      order: 4; }
    .card-article.big-3 {
      order: 6; }
    .card-article.big-4 {
      order: 8; }
    .card-article.big-5 {
      order: 10; }
  .card-article.standard-1 {
    order: 1;
    grid-column-start: 1; }
  .card-article.standard-2 {
    order: 1;
    grid-column-start: 2; }
  .card-article.standard-3 {
    order: 1;
    grid-column-start: 3; }
  .card-article.standard-4 {
    order: 3; }
  .card-article.standard-5 {
    order: 3; }
  .card-article.standard-6 {
    order: 3; }
  .card-article.standard-7 {
    order: 5; }
  .card-article.standard-8 {
    order: 5; }
  .card-article.standard-9 {
    order: 5; }
  .card-article.standard-7 {
    order: 7; }
  .card-article.standard-8 {
    order: 7; }
  .card-article.standard-9 {
    order: 7; }
  .card-article.standard-10 {
    order: 7; }
  .card-article.standard-11 {
    order: 7; }
  .card-article.standard-12 {
    order: 7; }
  .card-article.standard-13 {
    order: 9; }
  .card-article.standard-14 {
    order: 9; }
  .card-article.standard-15 {
    order: 9; }
  .card-article.standard-4, .card-article.standard-7, .card-article.standard-10, .card-article.standard-13 {
    grid-column-start: 1; }
  .card-article.standard-5, .card-article.standard-8, .card-article.standard-11, .card-article.standard-14 {
    grid-column-start: 2; }
  .card-article.standard-6, .card-article.standard-9, .card-article.standard-12, .card-article.standard-15 {
    grid-column-start: 3; } }

.stories-scroll {
  grid-template-columns: 1fr 1fr; }

.tabs-content h3 {
  font-weight: 800; }

.tabs-content .column-list-2-1 li {
  margin-bottom: 0.5rem; }

.card-role h6,
.card-role .h6 {
  box-shadow: none; }

.card-role:hover h6,
.card-role:hover .h6 {
  box-shadow: none; }

.card-role:hover h3,
.card-role:hover h4,
.card-role:hover dl.icon-list dt,
dl.icon-list .card-role:hover dt,
.card-role:hover h5,
.card-role:hover h6 {
  color: #000; }

.card-role:hover img:not(.logo) {
  -webkit-transform: none;
          transform: none; }

.card-role img.logo {
  width: 40% !important;
  top: 79% !important;
  left: 19% !important;
  height: 43% !important;
  padding: 0.625rem 0;
  background-color: #f3f0eb; }

.card-role img:not(.logo) {
  -webkit-transform: none;
          transform: none; }

.role-list li::before {
  margin-left: 0 !important; }

@media print, screen and (max-width: 39.99875em) {
  .rwf-stories-wrapper nav {
    text-align: center; }
    .rwf-stories-wrapper nav li {
      display: inline-block;
      padding: 0 5px; }
  .stories-scroll {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .card-role {
    flex: 0 0 auto;
    max-width: 100%;
    width: 75%;
    margin-bottom: 0; }
  /* Safari 9+ */
  _::-webkit-full-page-media, _:future, :root .card-role {
    margin-right: 3.125rem; }
  .non-active::before {
    color: #ACA39A !important; }
  .story-1::before, .story-2::before {
    width: 1.5rem !important;
    font-size: 1.5em; } }

aside.panel {
  margin-bottom: 2rem;
  padding: 1.5625rem; }
  aside.panel.full-width {
    margin-top: 1rem; }
  aside.panel h4, aside.panel dl.icon-list dt, dl.icon-list aside.panel dt {
    color: #fff;
    margin-bottom: 1.5625rem; }
  aside.panel .side-separator::after {
    background-color: #D7D2CB; }
  aside.panel p {
    margin-left: 0.625rem;
    margin-bottom: 0.625rem; }
  aside.panel ul {
    margin-bottom: 2.5rem; }
  aside.panel li {
    margin-bottom: 0.9375rem; }
  aside.panel:not(.dark) li::before {
    color: #D7D2CB !important; }
  .layout-compressed aside.panel {
    width: 40%; }
    @media screen and (min-width: 75em) {
      .layout-compressed aside.panel {
        margin-right: calc( -12.5% - 30px); } }
    @media screen and (min-width: 83.875em) {
      .layout-compressed aside.panel {
        margin-right: calc(-25% - 30px); } }

@media print, screen and (min-width: 40em) {
  aside.panel:not(.full-width) {
    flex: 0 0 auto;
    width: calc(33.33333% - 1.875rem);
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
  aside.panel.full-width {
    margin-top: 0; }
  aside.aside-left {
    float: left;
    margin-left: 0;
    margin-right: 3rem; }
  aside.aside-right {
    float: right;
    margin-left: 3rem;
    margin-right: 0; } }

h1, h2, h3,
h4,
dl.icon-list dt, h5, h6 {
  position: relative; }
  h1 > span.label, h2 > span.label, h3 > span.label, h4 > span.label, dl.icon-list dt > span.label, h5 > span.label, h6 > span.label {
    margin-left: 1rem;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }

.subheader, .eyebrow,
.font-monospace {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem; }

h1, .h1, h2, .h2, h3.font-black, .h3.font-black {
  font-weight: 800; }

@media print, screen and (max-width: 39.99875em) {
  
  h4,
  dl.icon-list dt, .h4 {
    font-size: 1.5rem;
    line-height: 1.625;
    margin-bottom: 1.875rem; } }
  @media print, screen and (max-width: 39.99875em) and (min-width: 40em) {
    
    h4,
    dl.icon-list dt, .h4 {
      font-size: 1.5625rem;
      line-height: 1.875;
      margin-bottom: 1.875rem; } }
  @media print, screen and (max-width: 39.99875em) and (min-width: 54.125em) {
    
    h4,
    dl.icon-list dt, .h4 {
      font-size: 1.5625rem;
      line-height: 1.875;
      margin-bottom: 1.875rem; } }

h1 small {
  font-size: 50%; }

h2 small {
  font-size: 66%; }

h3 small {
  font-size: 66%; }


h4 small,
dl.icon-list dt small {
  font-size: 66%; }

h5 small {
  font-size: 66%; }

h6 small {
  font-size: 66%; }

dl.info-card {
  margin-bottom: 0; }
  dl.info-card .h3 {
    margin-bottom: 0.5rem; }
    @media print, screen and (max-width: 39.99875em) {
      dl.info-card .h3 {
        font-size: 2.8125rem; } }
  dl.info-card .h5, dl.info-card .stats-2col h3, .stats-2col dl.info-card h3, dl.info-card .stats-2col h4, .stats-2col dl.info-card h4, dl.info-card .stats-2col dl.icon-list dt, .stats-2col dl.icon-list dl.info-card dt, dl.info-card dl.icon-list .stats-2col dt, dl.icon-list .stats-2col dl.info-card dt, dl.info-card .stats-2col h5, .stats-2col dl.info-card h5, dl.info-card .stats-2col h6, .stats-2col dl.info-card h6 {
    margin-bottom: 0.25rem; }
  dl.info-card .heading {
    margin-bottom: 2.1875rem; }
    @media print, screen and (max-width: 39.99875em) {
      dl.info-card .heading {
        margin-bottom: 1.25rem; } }
    dl.info-card .heading i {
      color: #D7D2CB; }
  dl.info-card dd {
    border-left: solid #cd4d10 0.125rem;
    padding-left: 1rem; }
    dl.info-card dd span.highlight {
      background-color: #cd4d10;
      color: #fff; }

.layout-compressed {
  position: relative; }
  .layout-compressed.border::after {
    content: '';
    border-bottom: 0.0625rem #ACA39A solid;
    display: block;
    width: 100%;
    max-width: 81.25rem;
    margin-left: auto;
    margin-right: auto; }
  .layout-compressed.has-byline .grid-container {
    margin-top: 3.125rem; }
  .layout-compressed img, .layout-compressed svg {
    display: block; }
  .layout-compressed .grid-container {
    position: relative;
    margin-top: 10.9375rem;
    margin-bottom: 10.9375rem; }
    .layout-compressed .grid-container > :last-child {
      margin-bottom: 0; }
    @media print, screen and (min-width: 54.125em) {
      .layout-compressed .grid-container {
        max-width: 54.125rem; } }
  .byline-container {
    display: block;
    margin-bottom: 4.0625rem; }
    .byline-container label {
      display: inline-block;
      color: #6E6259;
      font-family: "Overpass Mono", monospace;
      text-transform: uppercase;
      font-size: 0.875rem; }
    .byline-container > aside, .byline-container > div {
      white-space: nowrap; }
    @media print, screen and (max-width: 39.99875em) {
      .byline-container > div {
        border-top: 0.0625rem solid #ACA39A;
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
        height: 4.125rem; }
        .byline-container > div:nth-child(4) {
          border-bottom: 0.0625rem solid #ACA39A; } }
    .byline-container time {
      color: #222;
      display: inline-block; }
    .byline-container .share {
      border-top: 0;
      padding: 1.25rem 0 1.25rem 0; }
      @media print, screen and (min-width: 40em) {
        .byline-container .share {
          height: auto; } }
      @media print, screen and (min-width: 54.125em) {
        .byline-container .share {
          padding: 0; } }
    .byline-container .icon {
      min-width: 1.0625rem;
      min-height: 1.0625rem;
      margin-right: 0.25rem; }
      .byline-container .icon:last-child {
        margin-right: 0; }
    @media print, screen and (min-width: 40em) {
      .byline-container {
        display: flex;
        flex: 1 0 auto;
        flex-direction: row;
        margin-bottom: 6.25rem;
        max-width: 54.125rem;
        width: calc(100% - 30px); }
        .byline-container > :nth-child(3),
        .byline-container > :nth-child(4) {
          content: '';
          border-left: 0.0625rem solid #ACA39A;
          margin-left: 0.625rem;
          padding-left: 0.625rem; }
        .byline-container .share {
          order: 1;
          margin-left: auto;
          padding: 0; }
          .byline-container .share label {
            display: none; } }
    @media print, screen and (min-width: 54.125em) {
      .byline-container {
        width: calc(866px - 30px); } }
  .layout-compressed hr {
    margin-top: 4.6875rem;
    margin-bottom: 4.6875rem;
    border-color: #D7D2CB; }
  .layout-compressed .overlay {
    position: relative; }
    .layout-compressed .overlay::before {
      content: '';
      background-color: rgba(0, 0, 0, 0.5);
      position: absolute;
      width: 100%;
      height: 100%; }
    .layout-compressed .overlay::after {
      position: absolute;
      left: 50%;
      top: 50%;
      -webkit-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      background-color: #fff;
      width: 3.75rem;
      height: 3.75rem;
      text-align: center; }
    .layout-compressed .overlay.checkmark::after {
      content: url("https://assets.aquent.com/svg/redesign/overlay-check.svg"); }
    .layout-compressed .overlay.xmark::after {
      content: url("https://assets.aquent.com/svg/redesign/overlay-x.svg"); }

.layout-modular-grid .grid {
  max-width: 81.25rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  row-gap: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .layout-modular-grid .grid {
      padding-left: 15px;
      padding-right: 15px; } }
  @media print, screen and (min-width: 40em) {
    .layout-modular-grid .grid {
      grid-template-columns: 1fr 1fr;
      -webkit-column-gap: 2.5rem;
         -moz-column-gap: 2.5rem;
              column-gap: 2.5rem;
      row-gap: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .layout-modular-grid .grid {
      grid-template-columns: 1fr 1fr 1fr;
      -webkit-column-gap: 5.9375rem;
         -moz-column-gap: 5.9375rem;
              column-gap: 5.9375rem;
      row-gap: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  .layout-modular-grid.four .grid {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    -webkit-column-gap: 3.125rem;
       -moz-column-gap: 3.125rem;
            column-gap: 3.125rem; } }

@media print, screen and (min-width: 54.125em) {
  .layout-modular-grid.two .grid {
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 11.25rem;
       -moz-column-gap: 11.25rem;
            column-gap: 11.25rem; } }

.layout-modular-grid.three .card p {
  margin-bottom: 0; }

.layout-interior-panel > div {
  overflow: hidden; }

@media print, screen and (min-width: 54.125em) {
  .layout-interior-panel .grid-margin-x {
    margin-left: -3.0625rem;
    margin-right: -3.0625rem; }
    .layout-interior-panel .grid-margin-x > .cell {
      margin-left: 3.0625rem;
      margin-right: 3.0625rem; }
      .layout-interior-panel .grid-margin-x > .cell.large-3 {
        width: calc(25% - 6.125rem); }
      .layout-interior-panel .grid-margin-x > .cell.large-4 {
        width: calc(33.33333% - 6.125rem); }
      .layout-interior-panel .grid-margin-x > .cell.large-5 {
        width: calc(41.66667% - 6.125rem); }
      .layout-interior-panel .grid-margin-x > .cell.large-6 {
        width: calc(50% - 6.125rem); }
      .layout-interior-panel .grid-margin-x > .cell.large-7 {
        width: calc(58.33333% - 6.125rem); }
      .layout-interior-panel .grid-margin-x > .cell.large-8 {
        width: calc(66.66667% - 6.125rem); }
      .layout-interior-panel .grid-margin-x > .cell.large-9 {
        width: calc(75% - 6.125rem); } }

@media print, screen and (min-width: 40em) {
  .layout-interior-panel.alternating:nth-child(odd) .cell:first-child {
    order: 2; }
  .layout-interior-panel.alternating:nth-child(odd) .cell:last-child {
    order: 1; } }

@media print, screen and (min-width: 40em) {
  .layout-interior-panel.flip .cell:first-child {
    order: 2; }
  .layout-interior-panel.flip .cell:last-child {
    order: 1; } }

@media print, screen and (max-width: 39.99875em) {
  .layout-interior-panel.mobile-text-first .cell:first-child {
    order: 2; }
  .layout-interior-panel.mobile-text-first .cell:last-child {
    order: 1; } }

.layout-standard > div,
.vert-spc-lg-1 > div,
.margin-lg-1 {
  margin-top: 4.6875rem;
  margin-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .layout-standard > div,
    .vert-spc-lg-1 > div,
    .margin-lg-1 {
      margin-top: 7.5rem;
      margin-bottom: 7.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .layout-standard > div,
    .vert-spc-lg-1 > div,
    .margin-lg-1 {
      margin-top: 11.5625rem;
      margin-bottom: 11.5625rem; } }

.padding-lg-1 {
  padding-top: 4.6875rem;
  padding-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-lg-1 {
      padding-top: 7.5rem;
      padding-bottom: 7.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-lg-1 {
      padding-top: 11.5625rem;
      padding-bottom: 11.5625rem; } }

.vert-spc-lg-1-top > div,
.margin-top-lg-1 {
  margin-top: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-lg-1-top > div,
    .margin-top-lg-1 {
      margin-top: 7.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-lg-1-top > div,
    .margin-top-lg-1 {
      margin-top: 11.5625rem; } }

.padding-top-lg-1 {
  padding-top: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-lg-1 {
      padding-top: 7.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-lg-1 {
      padding-top: 11.5625rem; } }

.vert-spc-lg-1-bottom > div,
.margin-bottom-lg-1 {
  margin-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-lg-1-bottom > div,
    .margin-bottom-lg-1 {
      margin-bottom: 7.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-lg-1-bottom > div,
    .margin-bottom-lg-1 {
      margin-bottom: 11.5625rem; } }

.padding-bottom-lg-1 {
  padding-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-lg-1 {
      padding-bottom: 7.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-lg-1 {
      padding-bottom: 11.5625rem; } }


.vert-spc-lg-2 > div,
.margin-lg-2 {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-lg-2 > div,
    .margin-lg-2 {
      margin-top: 4.6875rem;
      margin-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-lg-2 > div,
    .margin-lg-2 {
      margin-top: 7.5rem;
      margin-bottom: 7.5rem; } }

.padding-lg-2 {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-lg-2 {
      padding-top: 4.6875rem;
      padding-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-lg-2 {
      padding-top: 7.5rem;
      padding-bottom: 7.5rem; } }

.vert-spc-lg-2-top > div,
.margin-top-lg-2 {
  margin-top: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-lg-2-top > div,
    .margin-top-lg-2 {
      margin-top: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-lg-2-top > div,
    .margin-top-lg-2 {
      margin-top: 7.5rem; } }

.padding-top-lg-2 {
  padding-top: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-lg-2 {
      padding-top: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-lg-2 {
      padding-top: 7.5rem; } }

.vert-spc-lg-2-bottom > div,
.margin-bottom-lg-2 {
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-lg-2-bottom > div,
    .margin-bottom-lg-2 {
      margin-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-lg-2-bottom > div,
    .margin-bottom-lg-2 {
      margin-bottom: 7.5rem; } }

.padding-bottom-lg-2 {
  padding-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-lg-2 {
      padding-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-lg-2 {
      padding-bottom: 7.5rem; } }

@media print, screen and (min-width: 40em) {
  
  .vert-spc-lg-3 > div,
  .margin-lg-3 {
    margin-top: 4.6875rem;
    margin-bottom: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  
  .vert-spc-lg-3 > div,
  .margin-lg-3 {
    margin-top: 6.25rem;
    margin-bottom: 6.25rem; } }

@media print, screen and (min-width: 40em) {
  .padding-lg-3 {
    padding-top: 4.6875rem;
    padding-bottom: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  .padding-lg-3 {
    padding-top: 6.25rem;
    padding-bottom: 6.25rem; } }

@media print, screen and (min-width: 40em) {
  .vert-spc-lg-3-top > div,
  .margin-top-lg-3 {
    margin-top: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  .vert-spc-lg-3-top > div,
  .margin-top-lg-3 {
    margin-top: 6.25rem; } }

@media print, screen and (min-width: 40em) {
  .padding-top-lg-3 {
    padding-top: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  .padding-top-lg-3 {
    padding-top: 6.25rem; } }

@media print, screen and (min-width: 40em) {
  .vert-spc-lg-3-bottom > div,
  .margin-bottom-lg-3 {
    margin-bottom: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  .vert-spc-lg-3-bottom > div,
  .margin-bottom-lg-3 {
    margin-bottom: 6.25rem; } }

@media print, screen and (min-width: 40em) {
  .padding-bottom-lg-3 {
    padding-bottom: 4.6875rem; } }

@media print, screen and (min-width: 54.125em) {
  .padding-bottom-lg-3 {
    padding-bottom: 6.25rem; } }


.vert-spc-md-1 > div,
.margin-md-1 {
  margin-top: 4.6875rem;
  margin-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-md-1 > div,
    .margin-md-1 {
      margin-top: 4.6875rem;
      margin-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-md-1 > div,
    .margin-md-1 {
      margin-top: 6.25rem;
      margin-bottom: 6.25rem; } }

.padding-md-1 {
  padding-top: 4.6875rem;
  padding-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-md-1 {
      padding-top: 4.6875rem;
      padding-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-md-1 {
      padding-top: 6.25rem;
      padding-bottom: 6.25rem; } }

.vert-spc-md-1-top > div,
.margin-top-md-1 {
  margin-top: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-1-top > div,
    .margin-top-md-1 {
      margin-top: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-1-top > div,
    .margin-top-md-1 {
      margin-top: 6.25rem; } }

.padding-top-md-1 {
  padding-top: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-md-1 {
      padding-top: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-md-1 {
      padding-top: 6.25rem; } }

.vert-spc-md-1-bottom > div,
.margin-bottom-md-1 {
  margin-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-1-bottom > div,
    .margin-bottom-md-1 {
      margin-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-1-bottom > div,
    .margin-bottom-md-1 {
      margin-bottom: 6.25rem; } }

.padding-bottom-md-1 {
  padding-bottom: 4.6875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-md-1 {
      padding-bottom: 4.6875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-md-1 {
      padding-bottom: 6.25rem; } }


.vert-spc-md-2 > div,
.margin-md-2 {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-md-2 > div,
    .margin-md-2 {
      margin-top: 3.75rem;
      margin-bottom: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-md-2 > div,
    .margin-md-2 {
      margin-top: 4.6875rem;
      margin-bottom: 4.6875rem; } }

.padding-md-2 {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-md-2 {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-md-2 {
      padding-top: 4.6875rem;
      padding-bottom: 4.6875rem; } }

.vert-spc-md-2-top > div,
.margin-top-md-2 {
  margin-top: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-2-top > div,
    .margin-top-md-2 {
      margin-top: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-2-top > div,
    .margin-top-md-2 {
      margin-top: 4.6875rem; } }

.padding-top-md-2 {
  padding-top: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-md-2 {
      padding-top: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-md-2 {
      padding-top: 4.6875rem; } }

.vert-spc-md-2-bottom > div,
.margin-bottom-md-2,
.stat-row:not(:last-of-type) {
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-2-bottom > div,
    .margin-bottom-md-2,
    .stat-row:not(:last-of-type) {
      margin-bottom: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-2-bottom > div,
    .margin-bottom-md-2,
    .stat-row:not(:last-of-type) {
      margin-bottom: 4.6875rem; } }

.padding-bottom-md-2 {
  padding-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-md-2 {
      padding-bottom: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-md-2 {
      padding-bottom: 4.6875rem; } }


.vert-spc-md-3 > div,
.margin-md-3 {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-md-3 > div,
    .margin-md-3 {
      margin-top: 3.125rem;
      margin-bottom: 3.125rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-md-3 > div,
    .margin-md-3 {
      margin-top: 3.75rem;
      margin-bottom: 3.75rem; } }

.padding-md-3 {
  padding-top: 3.125rem;
  padding-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-md-3 {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-md-3 {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem; } }

.vert-spc-md-3-top > div,
.margin-top-md-3 {
  margin-top: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-3-top > div,
    .margin-top-md-3 {
      margin-top: 3.125rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-3-top > div,
    .margin-top-md-3 {
      margin-top: 3.75rem; } }

.padding-top-md-3 {
  padding-top: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-md-3 {
      padding-top: 3.125rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-md-3 {
      padding-top: 3.75rem; } }

.vert-spc-md-3-bottom > div,
.margin-bottom-md-3 {
  margin-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-3-bottom > div,
    .margin-bottom-md-3 {
      margin-bottom: 3.125rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-3-bottom > div,
    .margin-bottom-md-3 {
      margin-bottom: 3.75rem; } }

.padding-bottom-md-3 {
  padding-bottom: 3.125rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-md-3 {
      padding-bottom: 3.125rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-md-3 {
      padding-bottom: 3.75rem; } }


.vert-spc-md-4 > div,
.margin-md-4 {
  margin-top: 2.1875rem;
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-md-4 > div,
    .margin-md-4 {
      margin-top: 2.1875rem;
      margin-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-md-4 > div,
    .margin-md-4 {
      margin-top: 3.125rem;
      margin-bottom: 3.125rem; } }

.padding-md-4 {
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-md-4 {
      padding-top: 2.1875rem;
      padding-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-md-4 {
      padding-top: 3.125rem;
      padding-bottom: 3.125rem; } }

.vert-spc-md-4-top > div,
.margin-top-md-4 {
  margin-top: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-4-top > div,
    .margin-top-md-4 {
      margin-top: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-4-top > div,
    .margin-top-md-4 {
      margin-top: 3.125rem; } }

.padding-top-md-4 {
  padding-top: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-md-4 {
      padding-top: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-md-4 {
      padding-top: 3.125rem; } }

.vert-spc-md-4-bottom > div,
.margin-bottom-md-4 {
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-md-4-bottom > div,
    .margin-bottom-md-4 {
      margin-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-md-4-bottom > div,
    .margin-bottom-md-4 {
      margin-bottom: 3.125rem; } }

.padding-bottom-md-4 {
  padding-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-md-4 {
      padding-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-md-4 {
      padding-bottom: 3.125rem; } }


.vert-spc-sm-1 > div,
.margin-sm-1 {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-sm-1 > div,
    .margin-sm-1 {
      margin-top: 2.5rem;
      margin-bottom: 2.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-sm-1 > div,
    .margin-sm-1 {
      margin-top: 2.5rem;
      margin-bottom: 2.5rem; } }

.padding-sm-1 {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-sm-1 {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-sm-1 {
      padding-top: 2.5rem;
      padding-bottom: 2.5rem; } }

.vert-spc-sm-1-top > div,
.margin-top-sm-1 {
  margin-top: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-sm-1-top > div,
    .margin-top-sm-1 {
      margin-top: 2.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-sm-1-top > div,
    .margin-top-sm-1 {
      margin-top: 2.5rem; } }

.padding-top-sm-1 {
  padding-top: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-sm-1 {
      padding-top: 2.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-sm-1 {
      padding-top: 2.5rem; } }

.vert-spc-sm-1-bottom > div,
.margin-bottom-sm-1 {
  margin-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-sm-1-bottom > div,
    .margin-bottom-sm-1 {
      margin-bottom: 2.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-sm-1-bottom > div,
    .margin-bottom-sm-1 {
      margin-bottom: 2.5rem; } }

.padding-bottom-sm-1 {
  padding-bottom: 1.875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-sm-1 {
      padding-bottom: 2.5rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-sm-1 {
      padding-bottom: 2.5rem; } }


.vert-spc-sm-2 > div,
.margin-sm-2 {
  margin-top: 2.1875rem;
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    
    .vert-spc-sm-2 > div,
    .margin-sm-2 {
      margin-top: 2.1875rem;
      margin-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    
    .vert-spc-sm-2 > div,
    .margin-sm-2 {
      margin-top: 2.1875rem;
      margin-bottom: 2.1875rem; } }

.padding-sm-2 {
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-sm-2 {
      padding-top: 2.1875rem;
      padding-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-sm-2 {
      padding-top: 2.1875rem;
      padding-bottom: 2.1875rem; } }

.vert-spc-sm-2-top > div,
.margin-top-sm-2 {
  margin-top: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-sm-2-top > div,
    .margin-top-sm-2 {
      margin-top: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-sm-2-top > div,
    .margin-top-sm-2 {
      margin-top: 2.1875rem; } }

.padding-top-sm-2 {
  padding-top: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-top-sm-2 {
      padding-top: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-top-sm-2 {
      padding-top: 2.1875rem; } }

.vert-spc-sm-2-bottom > div,
.margin-bottom-sm-2 {
  margin-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .vert-spc-sm-2-bottom > div,
    .margin-bottom-sm-2 {
      margin-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .vert-spc-sm-2-bottom > div,
    .margin-bottom-sm-2 {
      margin-bottom: 2.1875rem; } }

.padding-bottom-sm-2 {
  padding-bottom: 2.1875rem; }
  @media print, screen and (min-width: 40em) {
    .padding-bottom-sm-2 {
      padding-bottom: 2.1875rem; } }
  @media print, screen and (min-width: 54.125em) {
    .padding-bottom-sm-2 {
      padding-bottom: 2.1875rem; } }


.vert-spc-sm-3 > div,
.margin-sm-3 {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }

.padding-sm-3 {
  padding-top: 1.875rem;
  padding-bottom: 1.875rem; }

.vert-spc-sm-3-top > div,
.margin-top-sm-3 {
  margin-top: 1.875rem; }

.padding-top-sm-3 {
  padding-top: 1.875rem; }

.vert-spc-sm-3-bottom > div,
.margin-bottom-sm-3 {
  margin-bottom: 1.875rem; }

.padding-bottom-sm-3 {
  padding-bottom: 1.875rem; }


.vert-spc-sm-4 > div,
.margin-sm-4 {
  margin-top: 1.5625rem;
  margin-bottom: 1.5625rem; }

.padding-sm-4 {
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem; }

.vert-spc-sm-4-top > div,
.margin-top-sm-4 {
  margin-top: 1.5625rem; }

.padding-top-sm-4 {
  padding-top: 1.5625rem; }

.vert-spc-sm-4-bottom > div,
.margin-bottom-sm-4 {
  margin-bottom: 1.5625rem; }

.padding-bottom-sm-4 {
  padding-bottom: 1.5625rem; }


.flush-bottom > div {
  margin-bottom: 0; }


.flush-top > div {
  margin-top: 0; }

.stats-2col .text-stat {
  font-family: "neue-haas-unica", sans-serif;
  font-weight: bold;
  font-size: 3.4375rem;
  line-height: 3.75rem; }
  @media print, screen and (min-width: 40em) {
    .stats-2col .text-stat {
      font-size: 4.0625rem;
      line-height: .75; } }

@media print, screen and (max-width: 39.99875em) {
  .stat-row > div {
    margin-bottom: 3.125rem; } }

.stat-row:not(:last-of-type) {
  border-bottom: 0.0625rem solid #5E514D; }
  @media print, screen and (min-width: 40em) {
    .stat-row:not(:last-of-type) > div {
      margin-bottom: 3.75rem; } }
  @media print, screen and (min-width: 54.125em) {
    .stat-row:not(:last-of-type) > div {
      margin-bottom: 4.6875rem; } }

.stat-row p {
  color: #D7D2CB; }
  .stat-row p:last-child {
    margin-bottom: 0; }

[style*="-aspect-ratio"] > :first-child {
  width: 100%; }

[style*="-aspect-ratio"] > img {
  height: auto; }

@supports (--custom: property) {
  [style*="-aspect-ratio"] {
    position: relative;
    width: 100%; }
    [style*="-aspect-ratio"]::before {
      content: "";
      display: block; }
    [style*="-aspect-ratio"] > :first-child {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%; }
    [style*="-aspect-ratio"] img {
      -o-object-fit: cover;
         object-fit: cover;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
  [style*="--aspect-ratio"]::before {
    padding-top: calc(100% / (var(--aspect-ratio))); }
  @media print, screen and (min-width: 40em) {
    [style*="--medium-aspect-ratio"]::before {
      padding-top: calc(100% / (var(--medium-aspect-ratio))); } }
  @media print, screen and (min-width: 54.125em) {
    [style*="--large-aspect-ratio"]::before {
      padding-top: calc(100% / (var(--large-aspect-ratio))); } } }

.card.default img {
  margin-bottom: 1rem;
  max-width: 22.5rem; }

.card.default h1, .card.default h2, .card.default h3, .card.default h4, .card.default dl.icon-list dt, dl.icon-list .card.default dt, .card.default h5, .card.default h6 {
  margin-bottom: 1rem;
  line-height: 1.2;
  font-size: 1.5rem; }
  @media print, screen and (min-width: 40em) {
    .card.default h1, .card.default h2, .card.default h3, .card.default h4, .card.default dl.icon-list dt, dl.icon-list .card.default dt, .card.default h5, .card.default h6 {
      font-size: 1.5625rem; } }
  @media print, screen and (min-width: 54.125em) {
    .card.default h1, .card.default h2, .card.default h3, .card.default h4, .card.default dl.icon-list dt, dl.icon-list .card.default dt, .card.default h5, .card.default h6 {
      font-size: 1.5625rem; } }

.card.default li {
  margin-bottom: 0 !important; }

.card.default.flexy {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center; }
  .card.default.flexy h1, .card.default.flexy h2, .card.default.flexy h3, .card.default.flexy h4, .card.default.flexy dl.icon-list dt, dl.icon-list .card.default.flexy dt, .card.default.flexy h5, .card.default.flexy h6 {
    flex: 0; }
  .card.default.flexy :nth-last-child(2) {
    flex: 1 1 auto; }

.card.leader {
  position: relative; }
  .card.leader h3 {
    color: #cd4d10;
    margin-bottom: 0; }
  .card.leader p {
    font-family: "neue-haas-unica", sans-serif;
    margin-bottom: 1rem;
    text-transform: uppercase; }
  .card.leader:focus, .card.leader:hover {
    outline: none;
    opacity: 0.95;
    transition: opacity 0.25ms ease-out;
    color: inherit; }
    .card.leader:focus span, .card.leader:hover span {
      background-color: #0077C8;
      color: #fff;
      transition: background-color 250ms ease-out, border-color 250ms ease-out, color 250ms ease-out;
      border-bottom: 0.0625rem solid inherit; }
  .card.leader span {
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    font-size: 0.875rem;
    text-decoration: underline;
    -webkit-text-decoration-color: #0077C8;
            text-decoration-color: #0077C8; }
  .card.leader a.fill-space-link {
    right: 0; }

/* Custom CSS Drop Shadow For Images */
figure.drop-shadow {
  position: relative;
  z-index: 2; }
  figure.drop-shadow img {
    position: relative;
    z-index: 2; }
  figure.drop-shadow:after {
    content: '';
    position: absolute;
    bottom: -10px;
    width: 106%;
    display: block;
    height: 20px;
    background: rgba(0, 0, 0, 0.5);
    margin: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    z-index: 1;
    -webkit-filter: blur(10px);
            filter: blur(10px); }

/* Helpers for Reveal Modal around images */
.reveal-img-helper {
  position: relative;
  display: block; }

.reveal-helper-button {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 5px 7px;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  font-size: 10px; }

.reveal-helper-icon {
  padding-left: 25px;
  background-position: 5px 5px;
  background-size: 15px 15px; }

/* Blog Images (prevent 100% width images in blog post body) */
img.auto-width,
.the-post img {
  width: auto; }

@media print, screen and (min-width: 40em) {
  img.scale {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }

.svg-img {
  max-width: 1.25rem;
  display: inline-block; }

.agent-information h2 {
  margin-bottom: 1rem; }
  @media print, screen and (min-width: 40em) {
    .agent-information h2 {
      text-align: left; }
      .agent-information h2:after {
        margin: 0.5rem 0 0; } }

.agent-information h3 {
  font-weight: 600;
  color: #5E514D;
  text-transform: none;
  margin-bottom: 1rem; }

.agent-information p {
  margin-bottom: 0; }
  .agent-information p.agent-link a {
    font-family: "Overpass Mono", monospace;
    text-transform: uppercase;
    font-size: 0.875rem; }

.agent-information .telephone span {
  min-height: 1.75rem;
  vertical-align: middle;
  margin-right: 0.375rem; }

.agent-information .telephone a {
  font-family: "Overpass Mono", monospace;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 500;
  color: #cd4d10;
  line-height: 1;
  border-bottom: 0; }
  .agent-information .telephone a:hover {
    background: none;
    border-bottom: 0.0625rem solid #0077C8; }

.agent-information .role {
  font-family: "neue-haas-unica", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #5E514D;
  text-transform: none;
  text-align: center; }

.job-search .advanced-options {
  display: inline-block;
  position: relative;
  top: 0;
  right: 0; }
  @media print, screen and (min-width: 40em) {
    .job-search .advanced-options {
      float: right;
      top: 0.5rem; } }

.job-search .button {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem; }

.job-search fieldset p {
  font-style: normal;
  margin-bottom: 0; }

.job-search .checkbox-label {
  display: inline-block;
  margin-right: 1.5rem; }

.job-search .offsite-check {
  display: inline-block; }

.job-search .filters {
  margin-top: 1.125rem; }

.find-work-wrapper .result-summary h3 {
  font-family: "PT Serif", serif;
  font-style: normal; }

.find-work-wrapper .pagination .next-page-trigger {
  margin: 2.8125rem 0 6.25rem; }
  @media print, screen and (min-width: 40em) {
    .find-work-wrapper .pagination .next-page-trigger {
      width: 40%; } }

.find-work-wrapper .job-item {
  background-color: #f3f0eb;
  transition: background 250ms ease; }
  .find-work-wrapper .job-item:focus, .find-work-wrapper .job-item:active, .find-work-wrapper .job-item:hover {
    background-color: #D7D2CB; }
  .find-work-wrapper .job-item .location {
    display: block; }

.step-split-vert {
  top: 1.5rem;
  position: relative; }
  .step-split-vert p {
    line-height: 1.5;
    margin-top: 2.6875rem; }

.find-work-results .posted-by {
  color: #5E514D;
  font-weight: 600; }

.find-work-results .name {
  text-transform: capitalize;
  font-weight: 400; }

.find-work-results .location {
  color: #5E514D;
  display: inline-block;
  font-weight: 600; }

@media print, screen and (min-width: 40em) {
  .find-work-results .cta a {
    float: right; } }

.benefits-panel .benefit-col {
  padding: 3.75rem 3.75rem 1.875rem; }
  @media print, screen and (min-width: 54.125em) {
    .benefits-panel .benefit-col {
      border-top: 0.0625rem solid #D7D2CB;
      border-right: 0.0625rem solid #D7D2CB;
      border-left: 0.0625rem solid #D7D2CB;
      min-height: 23rem;
      padding-bottom: 0; }
      .benefits-panel .benefit-col:nth-child(-n+2) {
        border-top: none; }
      .benefits-panel .benefit-col:nth-child(n+3) {
        padding: 3.75rem 3.75rem 0; } }

/* History/Timeline Page */
.timeline > section {
  clear: both;
  position: relative; }
  .timeline > section header {
    margin: 6.25rem 0 7.8125rem;
    position: relative; }
    .timeline > section header:first-child {
      margin-top: 5.625rem; }
      @media print, screen and (min-width: 40em) {
        .timeline > section header:first-child {
          margin-top: 11.25rem; } }

.timeline-entry {
  display: flex;
  justify-content: center;
  margin-bottom: 7.5rem; }
  .timeline-entry.panel-left, .timeline-entry.panel-right {
    justify-content: center; }
  .timeline-entry > div, .timeline-entry section {
    width: 650px; }
  .timeline-entry img {
    max-width: 100%; }
  .timeline-entry h3 {
    color: #cd4d10;
    font-size: 9.375rem;
    margin-top: -6.25rem;
    position: absolute;
    width: calc(100% - 72px); }
    .timeline-entry h3 + p {
      padding-top: 7.5rem; }
  .timeline-entry p {
    font-family: "PT Serif", serif;
    font-size: 1.5rem;
    font-weight: 600; }
    .timeline-entry p:after {
      border-top: 0.375rem solid #cd4d10;
      content: "";
      display: block;
      margin-top: 1.4375rem;
      padding-bottom: 3.4375rem;
      width: 15%; }
    .timeline-entry p span {
      color: #cd4d10;
      font-family: "neue-haas-unica", sans-serif;
      font-size: 2.75rem;
      font-weight: 600;
      line-height: 1; }
    .timeline-entry p + .entry-tagline {
      color: #cd4d10;
      display: block;
      font-family: "neue-haas-unica", sans-serif;
      font-size: 1.5rem;
      font-weight: 600;
      margin-top: -1rem;
      padding-bottom: 3.125rem;
      text-transform: uppercase; }
  .timeline-entry section {
    max-width: 100%; }
    .timeline-entry section.has-image figure {
      margin-top: -9rem;
      max-width: 100%; }
      @media print, screen and (min-width: 40em) {
        .timeline-entry section.has-image figure {
          max-width: 20rem; } }
      @media print, screen and (min-width: 54.125em) {
        .timeline-entry section.has-image figure {
          max-width: 25rem; } }
    .timeline-entry section.has-image p {
      margin-bottom: 0; }
      .timeline-entry section.has-image p:after {
        padding-bottom: 11.25rem; }
    .timeline-entry section > div {
      margin: 0 auto;
      max-width: 100%;
      position: relative;
      width: 27.375rem;
      z-index: -1; }
  @media print, screen and (min-width: 54.125em) {
    .timeline-entry.panel-left {
      justify-content: flex-start; }
    .timeline-entry.panel-right {
      justify-content: flex-end; }
    .timeline-entry .vertical-offset-100 {
      margin-top: -6.25rem; }
    .timeline-entry .vertical-offset-200 {
      margin-top: -12.5rem; }
    .timeline-entry .vertical-offset-300 {
      margin-top: -18.75rem; }
    .timeline-entry .vertical-offset-400 {
      margin-top: -25rem; }
    .timeline-entry .vertical-offset-500 {
      margin-top: -31.25rem; }
    .timeline-entry .vertical-offset-600 {
      margin-top: -37.5rem; }
    .timeline-entry .vertical-offset-700 {
      margin-top: -43.75rem; } }

.about-us-history .reveal.video {
  padding-top: 3.125rem; }
  .about-us-history .reveal.video .close-button {
    z-index: 2; }

.industry-content {
  margin-left: auto;
  margin-right: auto; }
  .industry-content .label {
    font-size: 0.875rem;
    padding: 0.8125rem 1rem; }
  .industry-content .more {
    margin-top: 3rem; }

.button-cloud h1 {
  color: #5E514D;
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: none; }

.industry-detail .button.hollow {
  color: #5E514D;
  border-color: #5E514D; }

.industry-detail .intro ul {
  margin-bottom: 0; }

.industry-detail .intro li {
  font-size: 1.125rem;
  color: #5E514D; }

.industry-detail .deep-dive h1 {
  font-size: 2rem; }
  @media print, screen and (min-width: 40em) {
    .industry-detail .deep-dive h1 {
      font-size: 3.75rem; } }
  .industry-detail .deep-dive h1 .sidelines {
    font-size: 1.5rem; }

.industry-detail .deep-dive h3 {
  font-style: normal;
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 2.1875rem;
  margin-bottom: 1.25rem; }

.industry-detail .industry-testimonials {
  min-height: 25rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #fff; }
  .industry-detail .industry-testimonials cite {
    font-size: inherit;
    font-style: normal; }
    .industry-detail .industry-testimonials cite:before {
      content: none; }
  .industry-detail .industry-testimonials blockquote {
    border: none; }

.industry-detail .industry-team .leader-link {
  cursor: pointer; }
  .industry-detail .industry-team .leader-link .leader-box-more {
    color: #000;
    font-family: "neue-haas-unica", sans-serif;
    font-weight: 600;
    font-size: 1.25rem;
    cursor: default; }
    .industry-detail .industry-team .leader-link .leader-box-more a {
      color: #000;
      font-size: 1rem;
      font-family: "PT Serif", serif;
      font-style: normal;
      text-transform: uppercase; }
  .industry-detail .industry-team .leader-link .leader-details {
    margin: 1rem auto 0;
    padding-bottom: 2.8125rem; }
  .industry-detail .industry-team .leader-link h3 {
    font-size: 2rem;
    line-height: 1;
    margin-bottom: 1.25rem; }

.industry-detail .industry-team .button {
  margin-top: 0; }

.industry-detail .industry-team .cta {
  margin: 0 auto; }

.team-grid-item {
  position: relative;
  overflow: hidden; }
  .team-grid-item .corner-button {
    color: #0077C8;
    background-color: #000;
    font-size: 2.25rem;
    font-weight: 600;
    width: 5.5rem;
    height: 2.8125rem;
    position: absolute;
    right: -2rem;
    bottom: -0.625rem;
    z-index: 2;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    .team-grid-item .corner-button span {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      position: absolute;
      top: 0.8125rem;
      right: 2.6875rem;
      display: block;
      text-align: center;
      z-index: 3;
      width: 0.875rem;
      height: 0.875rem;
      line-height: 0; }
  .team-grid-item .item-front {
    cursor: pointer;
    position: relative;
    z-index: 1; }
  .team-grid-item > a:hover {
    text-decoration: none; }
  .team-grid-item p {
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    font-size: 1.125rem;
    z-index: 2;
    position: relative; }
    .team-grid-item p span {
      font-family: "neue-haas-unica", sans-serif;
      color: #cd4d10;
      font-size: 2rem;
      font-weight: 600; }

.item-back {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 2;
  top: 0;
  cursor: default;
  display: flex;
  flex-direction: column;
  flex: 1;
  justify-content: center; }
  .item-back:after {
    background: none;
    opacity: 1; }
  .item-back .corner-button {
    background-color: white; }
    .item-back .corner-button:hover {
      cursor: pointer;
      background-color: rgba(255, 255, 255, 0.9);
      transition: background-color 0.25s ease; }
    .item-back .corner-button span {
      -webkit-transform: rotate(0);
              transform: rotate(0);
      top: 0.9375rem;
      right: 2.375rem; }

.top-nav--landing-page {
  padding: 1.25rem 0 0.9375rem; }
  @media print, screen and (min-width: 54.125em) {
    .top-nav--landing-page {
      padding: 2.5rem 0 1.875rem; } }

.lead-form--landing-page .show-for-sr {
  height: auto !important;
  overflow: unset !important;
  position: relative !important; }

.lead-form--landing-page select,
.lead-form--landing-page input {
  color: #fff; }

.lead-form--landing-page select::-webkit-input-placeholder, .lead-form--landing-page textarea::-webkit-input-placeholder, .lead-form--landing-page input::-webkit-input-placeholder {
  color: #D7D2CB; }

.lead-form--landing-page select::-moz-placeholder, .lead-form--landing-page textarea::-moz-placeholder, .lead-form--landing-page input::-moz-placeholder {
  color: #D7D2CB; }

.lead-form--landing-page select::placeholder,
.lead-form--landing-page textarea::placeholder,
.lead-form--landing-page input::placeholder {
  color: #D7D2CB; }

.lead-form--landing-page select:hover, .lead-form--landing-page select:focus, .lead-form--landing-page select:active,
.lead-form--landing-page textarea:hover,
.lead-form--landing-page textarea:focus,
.lead-form--landing-page textarea:active,
.lead-form--landing-page input:hover,
.lead-form--landing-page input:focus,
.lead-form--landing-page input:active {
  background-color: transparent; }

hr.dark--landing-page {
  border-bottom: 1px solid #83786F; }

.card-article--landing-page:hover h4, .card-article--landing-page:hover dl.icon-list dt, dl.icon-list .card-article--landing-page:hover dt {
  box-shadow: none;
  color: #000; }

.card-article--landing-page h4, .card-article--landing-page dl.icon-list dt, dl.icon-list .card-article--landing-page dt {
  box-shadow: none; }

.aquent-footer--landing-page .footer-title {
  border-bottom: none;
  padding-bottom: 0; }

.aquent-footer--landing-page .footer-title,
.aquent-footer--landing-page p {
  color: #ACA39A; }

.sub-footer--landing-page .social {
  margin-bottom: 0; }

/* Devs, please put one-offs here */
.direct-hire h1 {
  line-height: 1; }
  @media print, screen and (min-width: 54.125em) {
    .direct-hire h1 {
      margin-left: 83vmin; } }
  @media screen and (min-width: 75em) {
    .direct-hire h1 {
      margin-left: 88vmin; } }

.tri-column {
  -webkit-column-width: 22.5rem;
     -moz-column-width: 22.5rem;
          column-width: 22.5rem;
  padding-bottom: 2rem; }
  .tri-column li {
    list-style: none;
    padding: 0.3125rem;
    font-weight: 500;
    width: 100%;
    -webkit-column-break-inside: avoid;
       -moz-column-break-inside: avoid;
            break-inside: avoid; }

.partner-logos .partner-logo {
  min-height: 15.625rem;
  padding: 0.5rem; }
  @media print, screen and (min-width: 54.125em) {
    .partner-logos .partner-logo {
      height: 22rem;
      border-top: 0.0625rem solid #D7D2CB;
      border-right: 0.0625rem solid #D7D2CB; }
      .partner-logos .partner-logo:nth-child(-n+3) {
        border-top: none; }
      .partner-logos .partner-logo:nth-child(3n+3) {
        border-right: none; } }
  .partner-logos .partner-logo img {
    margin: 0 auto;
    padding-top: 6.625rem;
    width: 60%; }

.site-footer {
  position: relative; }

.locations .cities {
  margin-bottom: 0.33333rem; }
  .locations .cities li {
    margin-bottom: 1rem; }
    .locations .cities li:last-child {
      margin-bottom: 1.875rem; }

.locations .country-title {
  display: block;
  text-align: left;
  color: #cd4d10;
  margin-bottom: 1.25rem;
  font-weight: 600; }

.locations .usa {
  -moz-column-count: 2;
  -moz-column-gap: 0;
  -webkit-column-count: 2;
  -webkit-column-gap: 0;
  column-count: 2;
  column-gap: 0;
  margin-bottom: 1.5rem; }
  @media print, screen and (min-width: 54.125em) {
    .locations .usa {
      -moz-column-count: 3;
      -webkit-column-count: 3;
      column-count: 3; } }

.social {
  display: inline-block;
  vertical-align: middle;
  margin: 1rem auto; }
  .social a {
    display: inline-block;
    margin-right: 1rem;
    transition: opacity 250ms ease; }
    .social a:last-child {
      margin-right: 0; }
    .social a:hover {
      background-color: unset;
      opacity: 0.75; }

.site-footer .social a {
  margin-bottom: 1rem; }

@media print, screen and (max-width: 54.12375em) {
  .aquent-footer .logo {
    margin: auto; }
  .aquent-footer .aquent-large {
    margin: 0 auto 1rem;
    height: 1.875rem;
    width: 13.1875rem; }
    .aquent-footer .aquent-large:hover {
      background-color: unset; } }

.aquent-footer .footer-buttons {
  margin-bottom: 4.6875rem; }
  .aquent-footer .footer-buttons a.button {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content; }
  @media print, screen and (min-width: 40em) {
    .aquent-footer .footer-buttons a {
      margin-bottom: 0; }
      .aquent-footer .footer-buttons a.button {
        display: inline-block; } }

.aquent-footer h4, .aquent-footer dl.icon-list dt, dl.icon-list .aquent-footer dt {
  border-bottom: 0.0625rem solid #5E514D;
  font-size: 0.875rem;
  font-weight: 400;
  margin-bottom: 1.875rem;
  padding-bottom: 0.9375rem;
  text-transform: uppercase; }

.footer-links li {
  margin-top: 1rem;
  line-height: 1.5; }
  .footer-links li dl.simple {
    margin-bottom: 0; }
    .footer-links li dl.simple dt {
      font-weight: 300;
      font-size: 1rem; }

.sub-footer {
  color: #5E514D;
  font-size: 0.75rem;
  text-transform: uppercase; }

.copy-item {
  margin-top: 0.5rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvdXRpbC9fZnVuY3Rpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9fYmFja2dyb3VuZHMuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2FuaW1hdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdmVuZG9yL25vcm1hbGl6ZS5zY3NzIiwiY29tcG9uZW50cy9mb3VuZGF0aW9uL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvX3ZhcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19wb3NpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY29sbGFwc2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2FsaWdubWVudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnRzL2ZvdW5kYXRpb24vX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsImNvbXBvbmVudHMvZm91bmRhdGlvbi9fcmV2ZWFsLnNjc3MiLCJjb21wb25lbnRzL2ZvdW5kYXRpb24vX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCJjb21wb25lbnRzL2ZvdW5kYXRpb24vX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCJjb21wb25lbnRzL2ZvdW5kYXRpb24vX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC11dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL190ZXh0LXRyYW5zZm9ybWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC1kZWNvcmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZm9udC1zdHlsaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fbGlzdC1zdHlsZS10eXBlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcm91bmRlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL19nbG9iYWxzLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL19sb2dvLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL19idXR0b25zLWxpbmtzLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL19pY29ucy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2JvcmRlcnMuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2hlcm8uc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xheW91dHMvX2xlZ2FjeS5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL19saXN0cy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvbGF5b3V0cy9fbGF5b3V0cy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9fYXJ0aWNsZXMuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2FzaWRlcy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9faGVhZGluZ3Muc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sYXlvdXRzL19jb21wcmVzc2VkLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sYXlvdXRzL19tb2R1bGFyLWdyaWQuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xheW91dHMvX2ludGVyaW9yLXBhbmVscy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvbGF5b3V0cy9fc3RhbmRhcmQuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xheW91dHMvX3N0YXRzLTJjb2wuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2FzcGVjdC1yYXRpb3Muc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvX2ltYWdlcy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvbGVnYWN5L19hZ2VudHMuc2NzcyIsIi4uLy4uL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xlZ2FjeS9fZmluZC13b3JrLnNjc3MiLCIuLi8uLi9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sZWdhY3kvX2hpc3Rvcnkuc2NzcyIsInBhZ2VzL19pbmR1c3RyaWVzLnNjc3MiLCJwYWdlcy9fbGFuZGluZy1wYWdlLnNjc3MiLCJwYWdlcy9fbWlzY2VsbGFuZW91cy5zY3NzIiwiLi4vLi4vYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQ2hCOzs7O0VESUU7QUVMRiw0Q0FBQTtBQWtGQSxtREFBQTtBQWNBLHlHQUFBO0FBQ0EsNENBQUE7QUNqR0E7Ozs7O0VIZUU7QUlmRixrQkFBQTtBQ0FBLG9DQUFBO0FDQUEsb0JBQUE7QUNDRSwyRUFBQTtBQVFBO0VBQ0UsaUJBQWlCO0VBQ2pCLDhCQUE4QixFQUFBOztBQVFoQztFQUNFLFNBQVMsRUFBQTs7QUFNWDtFQUNFLGNBQWM7RUFDZCxnQkFBZ0IsRUFBQTs7QUFTbEI7RUFDRSx1QkFBdUI7RUFDdkIsU0FBUztFQUNULGlCQUFpQixFQUFBOztBQU1uQjtFQUNFLGlDQUFpQztFQUNqQyxjQUFjLEVBQUE7O0FBUWhCO0VBQ0UsNkJBQTZCLEVBQUE7O0FBTS9CO0VBQ0UsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQix5Q0FBaUM7VUFBakMsaUNBQWlDLEVBQUE7O0FBS25DOztFQUVFLG1CQUFtQixFQUFBOztBQU1yQjs7O0VBR0UsaUNBQWlDO0VBQ2pDLGNBQWMsRUFBQTs7QUFLaEI7RUFDRSxjQUFjLEVBQUE7O0FBTWhCOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JBQWtCO0VBQ2xCLHdCQUF3QixFQUFBOztBQUcxQjtFQUNFLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxXQUFXLEVBQUE7O0FBUWI7RUFDRSxrQkFBa0IsRUFBQTs7QUFTcEI7Ozs7O0VBS0Usb0JBQW9CO0VBQ3BCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsU0FBUyxF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QkFBa0I7RUFDbEIsU0FIbUQsRUFBQTs7QVJpRjdDO0VRL0VOLGtCQUFrQjtFQUNsQixVQUhtRCxFQUFBOztBUjJGL0M7RVEzRE4sc0JGK0UyRCxFQUFBOztBTjNDdkQ7RUt4RkosZ0JDbUkyRCxFQUFBOztBTnBDbkQ7RVF6RU4sa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FSaUY3QztFUS9FTixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FSMkYvQztFUTNETixnQkYrRTJELEVBQUE7O0FOM0N2RDtFS3hGSixnQkNtSTJELEVBQUE7O0FOcENuRDtFUXpFTixrQkFBa0I7RUFDbEIsZUFIbUQsRUFBQTs7QVJpRjdDO0VRL0VOLGtCQUFrQjtFQUNsQixnQkFIbUQsRUFBQTs7QVIyRi9DO0VRM0ROLHNCRitFMkQsRUFBQTs7QU4zQ3ZEO0VLeEZKLFVDbUkyRCxFQUFBOztBTnBDbkQ7RVF6RU4sa0JBQWtCO0VBQ2xCLFNBSG1ELEVBQUE7O0FSaUY3QztFUS9FTixrQkFBa0I7RUFDbEIsVUFIbUQsRUFBQTs7QVIyRi9DO0VRM0ROLHNCRitFMkQsRUFBQTs7QU4zQ3ZEO0VLeEZKLGdCQ21JMkQsRUFBQTs7QU5wQ25EO0VRekVOLGtCQUFrQjtFQUNsQixlQUhtRCxFQUFBOztBUmlGN0M7RVEvRU4sa0JBQWtCO0VBQ2xCLGdCQUhtRCxFQUFBOztBUjJGL0M7RVEzRE4sZ0JGK0UyRCxFQUFBOztBTjNDdkQ7RUt4RkosZ0JDbUkyRCxFQUFBOztBTnBDbkQ7RVF6RU4sa0JBQWtCO0VBQ2xCLGVBSG1ELEVBQUE7O0FSaUY3QztFUS9FTixrQkFBa0I7RUFDbEIsZ0JBSG1ELEVBQUE7O0FSMkYvQztFUTNETixzQkYrRTJELEVBQUE7O0FOM0N2RDtFS3hGSixXQ21JMkQsRUFBQTs7QU5wQnJEO0VRM0ROLHNCRitFMkQsRUFBQTs7QU5adkQ7RVMvR0YsV2IrRXVEO0VhOUV2RCxXQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdiK0NxRCxFQUFBOztBSWdDckQ7RVMvR0YsV2IrRXVEO0VhOUV2RCxVQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdiK0NxRCxFQUFBOztBSWdDckQ7RVMvR0YsV2IrRXVEO0VhOUV2RCxnQkFBdUIsRUFBQTtFVDhHckI7SVN2RkEsV0FBVyxFQUFBO0VUdUZYO0lTbkZBLFdBQVcsRUFBQTtFVG1GWDtJUy9FQSxXYitDcUQsRUFBQTs7QUlnQ3JEO0VTL0dGLFdiK0V1RDtFYTlFdkQsVUFBdUIsRUFBQTtFVDhHckI7SVN2RkEsV0FBVyxFQUFBO0VUdUZYO0lTbkZBLFdBQVcsRUFBQTtFVG1GWDtJUy9FQSxXYitDcUQsRUFBQTs7QUlnQ3JEO0VTL0dGLFdiK0V1RDtFYTlFdkQsVUFBdUIsRUFBQTtFVDhHckI7SVN2RkEsV0FBVyxFQUFBO0VUdUZYO0lTbkZBLFdBQVcsRUFBQTtFVG1GWDtJUy9FQSxXYitDcUQsRUFBQTs7QUlnQ3JEO0VTL0dGLFdiK0V1RDtFYTlFdkQsZ0JBQXVCLEVBQUE7RVQ4R3JCO0lTdkZBLFdBQVcsRUFBQTtFVHVGWDtJU25GQSxXQUFXLEVBQUE7RVRtRlg7SVMvRUEsV2IrQ3FELEVBQUE7O0FJZ0NyRDtFUy9HRixXYitFdUQ7RWE5RXZELGdCQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdiK0NxRCxFQUFBOztBSWdDckQ7RVMvR0YsV2IrRXVEO0VhOUV2RCxZQUF1QixFQUFBO0VUOEdyQjtJU3ZGQSxXQUFXLEVBQUE7RVR1Rlg7SVNuRkEsV0FBVyxFQUFBO0VUbUZYO0lTL0VBLFdiK0NxRCxFQUFBOztBSXNDdkQ7RUdySEEsZ0JKdUVTO0VJdEVULGVKc0VTLEVBQUE7O0FDOENUO0VBSUksZUFBZTtFQUNmLGNBQWMsRUFBQTs7QUFJbEI7RUFDRSxlQUFlO0VBQ2YsY0FBYyxFQUFBOztBQUdoQjtFR25JQSx1QkFGcUM7RUFHckMsc0JBSHFDLEVBQUE7O0FIMkluQztFUWpIRixrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7RUFMakI7SUFDRSxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBUitIWDtFUWpISixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGNBQWMsRUFBQTtFQXpDWjtJQUNFLFdaaUZxRDtJWWhGckQsV0FBVyxFQUFBO0VBS1g7SUFDRSxZWjJFb0QsRUFBQTs7QVEwRXBEO0VKMUVGO0lLeEZKLGVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsY0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGVGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHFCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosVUNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGdCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLFVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixnQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixVQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sZ0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosV0NtSTJELEVBQUE7RU5wQnJEO0lRM0ROLHNCRitFMkQsRUFBQTtFTlp2RDtJUy9HRixXYitFdUQ7SWE5RXZELFdBQXVCLEVBQUE7SVQ4R3JCO01TdkZBLFdBQVcsRUFBQTtJVHVGWDtNU25GQSxXQUFXLEVBQUE7SVRtRlg7TVMvRUEsV2IrQ3FELEVBQUE7RUlnQ3JEO0lTL0dGLFdiK0V1RDtJYTlFdkQsVUFBdUIsRUFBQTtJVDhHckI7TVN2RkEsV0FBVyxFQUFBO0lUdUZYO01TbkZBLFdBQVcsRUFBQTtJVG1GWDtNUy9FQSxXYitDcUQsRUFBQTtFSWdDckQ7SVMvR0YsV2IrRXVEO0lhOUV2RCxnQkFBdUIsRUFBQTtJVDhHckI7TVN2RkEsV0FBVyxFQUFBO0lUdUZYO01TbkZBLFdBQVcsRUFBQTtJVG1GWDtNUy9FQSxXYitDcUQsRUFBQTtFSWdDckQ7SVMvR0YsV2IrRXVEO0lhOUV2RCxVQUF1QixFQUFBO0lUOEdyQjtNU3ZGQSxXQUFXLEVBQUE7SVR1Rlg7TVNuRkEsV0FBVyxFQUFBO0lUbUZYO01TL0VBLFdiK0NxRCxFQUFBO0VJZ0NyRDtJUy9HRixXYitFdUQ7SWE5RXZELFVBQXVCLEVBQUE7SVQ4R3JCO01TdkZBLFdBQVcsRUFBQTtJVHVGWDtNU25GQSxXQUFXLEVBQUE7SVRtRlg7TVMvRUEsV2IrQ3FELEVBQUE7RUlnQ3JEO0lTL0dGLFdiK0V1RDtJYTlFdkQsZ0JBQXVCLEVBQUE7SVQ4R3JCO01TdkZBLFdBQVcsRUFBQTtJVHVGWDtNU25GQSxXQUFXLEVBQUE7SVRtRlg7TVMvRUEsV2IrQ3FELEVBQUE7RUlnQ3JEO0lTL0dGLFdiK0V1RDtJYTlFdkQsZ0JBQXVCLEVBQUE7SVQ4R3JCO01TdkZBLFdBQVcsRUFBQTtJVHVGWDtNU25GQSxXQUFXLEVBQUE7SVRtRlg7TVMvRUEsV2IrQ3FELEVBQUE7RUlnQ3JEO0lTL0dGLFdiK0V1RDtJYTlFdkQsWUFBdUIsRUFBQTtJVDhHckI7TVN2RkEsV0FBVyxFQUFBO0lUdUZYO01TbkZBLFdBQVcsRUFBQTtJVG1GWDtNUy9FQSxXYitDcUQsRUFBQTtFSXNDdkQ7SUdySEEsZ0JKdUVTO0lJdEVULGVKc0VTLEVBQUE7RUM4Q1Q7SUFJSSxlQUFlO0lBQ2YsY0FBYyxFQUFBO0VBSWxCO0lBQ0UsZUFBZTtJQUNmLGNBQWMsRUFBQTtFQUdoQjtJR25JQSx3QkFGcUM7SUFHckMsdUJBSHFDLEVBQUE7RUgySW5DO0lRakhGLGtCQUFrQjtJQUNsQixpQkFBaUIsRUFBQTtJQUxqQjtNQUNFLFdBQVc7TUFDWCxXQUFXLEVBQUE7RVIrSFg7SVFqSEosZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixjQUFjLEVBQUE7SUF6Q1o7TUFDRSxXWmlGcUQ7TVloRnJELFdBQVcsRUFBQTtJQUtYO01BQ0UsWVoyRW9ELEVBQUEsRVkxRXJEOztBSm9KQztFSjFFRjtJS3hGSixlQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGNBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSMkYvQztJUTNETixlRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixxQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLFVDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsU0FIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLFVBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixnQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixVQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLFNBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixVQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLGdCQ21JMkQsRUFBQTtFTnBDbkQ7SVF6RU4sa0JBQWtCO0lBQ2xCLGVBSG1ELEVBQUE7RVJpRjdDO0lRL0VOLGtCQUFrQjtJQUNsQixnQkFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sZ0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLHNCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosVUNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixTQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsVUFIbUQsRUFBQTtFUjJGL0M7SVEzRE4sc0JGK0UyRCxFQUFBO0VOM0N2RDtJS3hGSixnQkNtSTJELEVBQUE7RU5wQ25EO0lRekVOLGtCQUFrQjtJQUNsQixlQUhtRCxFQUFBO0VSaUY3QztJUS9FTixrQkFBa0I7SUFDbEIsZ0JBSG1ELEVBQUE7RVIyRi9DO0lRM0ROLGdCRitFMkQsRUFBQTtFTjNDdkQ7SUt4RkosZ0JDbUkyRCxFQUFBO0VOcENuRDtJUXpFTixrQkFBa0I7SUFDbEIsZUFIbUQsRUFBQTtFUmlGN0M7SVEvRU4sa0JBQWtCO0lBQ2xCLGdCQUhtRCxFQUFBO0VSMkYvQztJUTNETixzQkYrRTJELEVBQUE7RU4zQ3ZEO0lLeEZKLFdDbUkyRCxFQUFBO0VOcEJyRDtJUTNETixzQkYrRTJELEVBQUE7RU5adkQ7SVMvR0YsV2IrRXVEO0lhOUV2RCxXQUF1QixFQUFBO0lUOEdyQjtNU3ZGQSxXQUFXLEVBQUE7SVR1Rlg7TVNuRkEsV0FBVyxFQUFBO0lUbUZYO01TL0VBLFdiK0NxRCxFQUFBO0VJZ0NyRDtJUy9HRixXYitFdUQ7SWE5RXZELFVBQXVCLEVBQUE7SVQ4R3JCO01TdkZBLFdBQVcsRUFBQTtJVHVGWDtNU25GQSxXQUFXLEVBQUE7SVRtRlg7TVMvRUEsV2IrQ3FELEVBQUE7RUlnQ3JEO0lTL0dGLFdiK0V1RDtJYTlFdkQsZ0JBQXVCLEVBQUE7SVQ4R3JCO01TdkZB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QUE7O0FJdER2RDtFR3lFRixnQlBuQnlELEVBQUE7O0FJdER2RDtFR3lFRixnQlBuQnlELEVBQUE7O0FJdER2RDtFR3lFRixVUG5CeUQsRUFBQTs7QUl0RHZEO0VHeUVGLGdCUG5CeUQsRUFBQTs7QUl0RHZEO0VHeUVGLGdCUG5CeUQsRUFBQTs7QUl0RHZEO0VHeUVGLFdQbkJ5RCxFQUFBOztBRitCckQ7RU16R0Y7SUdrREosYUFBTTtJQTJDSixXQWxGWSxFQUFBO0VITlo7SUc2Q0YsY0FBTSxFQUFBO0VIdkNGO0lHa0ZGLFdBbEZZLEVBQUE7RUhTVjtJR3lFRixlUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixVUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLFVQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsVVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixXUG5CeUQsRUFBQSxFSW5EdEQ7O0FOa0ZDO0VNekdGO0lHa0RKLGFBQU07SUEyQ0osV0FsRlksRUFBQTtFSE5aO0lHNkNGLGNBQU0sRUFBQTtFSHZDRjtJR2tGRixXQWxGWSxFQUFBO0VIU1Y7SUd5RUYsZVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsVVBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLGdCUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixVUG5CeUQsRUFBQTtFSXREdkQ7SUd5RUYsZ0JQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7RUl0RHZEO0lHeUVGLFVQbkJ5RCxFQUFBO0VJdER2RDtJR3lFRixnQlBuQnlELEVBQUE7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SmhFOztBQUlEO0VDcEpJLHVCQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFUGdKN0Q7SU1JSjtNQ3BKSSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRURzSmhFOztBQVhIO0VDM0lNLHVCQUE2RDtFQUE3RCxzQkFBNkQsRUFBQTtFUGdKN0Q7SU1MTjtNQzNJTSx3QkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRUQySmhFOztBSTNKSDtFRG9JRSxXUG5CeUQsRUFBQTs7QVFqSDNEO0VEb0lFLFVQbkJ5RCxFQUFBOztBUWpIM0Q7RURvSUUsZ0JQbkJ5RCxFQUFBOztBUWpIM0Q7RURvSUUsVVBuQnlELEVBQUE7O0FRakgzRDtFRG9JRSxVUG5CeUQsRUFBQTs7QVFqSDNEO0VEb0lFLGdCUG5CeUQsRUFBQTs7QVFqSDNEO0VEb0lFLGdCUG5CeUQsRUFBQTs7QVFqSDNEO0VEb0lFLFlQbkJ5RCxFQUFBOztBRitCckQ7RVVoSk47SURvSUUsV1BuQnlELEVBQUE7RVFqSDNEO0lEb0lFLFVQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxnQlBuQnlELEVBQUE7RVFqSDNEO0lEb0lFLFVQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxVUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsZ0JQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxnQlBuQnlELEVBQUE7RVFqSDNEO0lEb0lFLFlQbkJ5RCxFQUFBLEVRL0cxRDs7QVY4SUs7RVVoSk47SURvSUUsV1BuQnlELEVBQUE7RVFqSDNEO0lEb0lFLFVQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxnQlBuQnlELEVBQUE7RVFqSDNEO0lEb0lFLFVQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxVUG5CeUQsRUFBQTtFUWpIM0Q7SURvSUUsZ0JQbkJ5RCxFQUFBO0VRakgzRDtJRG9JRSxnQlBuQnlELEVBQUE7RVFqSDNEO0lEb0lFLFlQbkJ5RCxFQUFBLEVRL0cxRDs7QUFGRDtFRG9JRSwyQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSwwQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSxnQ0F0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSwwQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSwwQkF0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSxnQ0F0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSxnQ0F0RDhGLEVBQUE7O0FDOUVoRztFRG9JRSw0QkF0RDhGLEVBQUE7O0FUa0UxRjtFVWhKTjtJRG9JRSw0QkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxpQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDZCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsNEJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGlDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsMkJBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLGlDQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSw2QkF0RDhGLEVBQUEsRUM1RS9GOztBVjhJSztFVWhKTjtJRG9JRSw0QkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSwyQkF0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDJCQXREOEYsRUFBQTtFQzlFaEc7SURvSUUsaUNBdEQ4RixFQUFBO0VDOUVoRztJRG9JRSxpQ0F0RDhGLEVBQUE7RUM5RWhHO0lEb0lFLDZCQXREOEYsRUFBQSxFQzVFL0Y7O0FKcU1HO0VLOU1FLGVBQTBCO0VBQTFCLGNBQTBCLEVBQUE7RUFHNUI7SUFFSSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0VBc0J4QjtJRmdIUixlUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixXUG5CeUQsRUFBQTtFRitCckQ7SVc1SEk7TUZnSFIsZVBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLGdCUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsVVBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLGdCUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsZ0JQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixVUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsZ0JQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixnQlBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLFVQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixnQlBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLGdCUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsV1BuQnlELEVBQUEsRVMzRmhEO0VYMEhMO0lXNUhJO01GZ0hSLGVQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixnQlBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLFVQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixnQlBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLGdCUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsVVBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLGdCUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsZ0JQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixVUG5CeUQsRUFBQTtJUzdGakQ7TUZnSFIsZ0JQbkJ5RCxFQUFBO0lTN0ZqRDtNRmdIUixnQlBuQnlELEVBQUE7SVM3RmpEO01GZ0hSLFdQbkJ5RCxFQUFBLEVTM0ZoRDs7QUx1TFA7RUs3S0UsZUFBMEI7RUFBMUIsY0FBMEIsRUFBQTtFQUc1QjtJQUVJLGdCQUE0QjtJQUE1QixlQUE0QixFQUFBOztBWDJHOUI7RU11REY7SUs5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FYZ0pDO0VXcklJO0lGeUhSLGVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsVVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixVUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFdQbkJ5RCxFQUFBLEVTcEdoRDs7QVhtSUw7RVc1SEk7SUZnSFIsZVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsV1BuQnlELEVBQUEsRVMzRmhEOztBWDBITDtFVzVISTtJRmdIUixlUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixXUG5CeUQsRUFBQSxFUzNGaEQ7O0FYMEhMO0VNNkRGO0lLN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QVh5R0M7RU11REY7SUs5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0FYZ0pDO0VXcklJO0lGeUhSLGVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsVVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixVUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFdQbkJ5RCxFQUFBLEVTcEdoRDs7QVhtSUw7RVdySUk7SUZ5SFIsZVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsVVBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixVUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsZ0JQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLFVQbkJ5RCxFQUFBO0VTdEdqRDtJRnlIUixnQlBuQnlELEVBQUE7RVN0R2pEO0lGeUhSLGdCUG5CeUQsRUFBQTtFU3RHakQ7SUZ5SFIsV1BuQnlELEVBQUEsRVNwR2hEOztBWG1JTDtFVzVISTtJRmdIUixlUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixVUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLFVQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixnQlBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsVVBuQnlELEVBQUE7RVM3RmpEO0lGZ0hSLGdCUG5CeUQsRUFBQTtFUzdGakQ7SUZnSFIsZ0JQbkJ5RCxFQUFBO0VTN0ZqRDtJRmdIUixXUG5CeUQsRUFBQSxFUzNGaEQ7O0FYMEhMO0VNNkRGO0lLN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QWZzREM7RWdCekVKLGVBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixnQ0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUoscUJBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixzQ0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosZ0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixpQ0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosZ0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixpQ0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosZ0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRixpQ0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QWhCeUV6QjtFZ0J6RUosc0JBQTZCLEVBQUE7O0FOMk0zQjtFTTNNRix1Q0FBNkIsRUFBQTs7QVo0SHpCO0VKbkRBO0lnQnpFSixlQUE2QixFQUFBO0VOMk0zQjtJTTNNRixpQ0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixxQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsdUNBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHdDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLGdCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixrQ0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHdDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLGdCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixrQ0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHdDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLGdCQUE2QixFQUFBO0VOMk0zQjtJTTNNRixrQ0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosc0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLHdDQUE2QixFQUFBLEVONk0xQjs7QU5qRkM7RUpuREE7SWdCekVKLGVBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGlDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHFCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix1Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGtDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix3Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGtDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix3Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUE7RWhCeUV6QjtJZ0J6RUosZ0JBQTZCLEVBQUE7RU4yTTNCO0lNM01GLGtDQUE2QixFQUFBO0VoQnlFekI7SWdCekVKLHNCQUE2QixFQUFBO0VOMk0zQjtJTTNNRix3Q0FBNkIsRUFBQTtFaEJ5RXpCO0lnQnpFSixzQkFBNkIsRUFBQTtFTjJNM0I7SU0zTUYsd0NBQTZCLEVBQUEsRU42TTFCOztBQXpKUztFRXRFZCxhQUFhO0VBQ2Isd0JBSDZCLEVBQUE7RUZpUDdCO0lHMUlBLFlBQW1CO0lBQ25CLGdCQUEyQixFQUFBO0VIeUkzQjtJRzdHRSxZQWxGWSxFQUFBO0VIK0xkO0lHN0dFLFlBbEZZLEVBQUE7RUgrTGQ7SUEyQk0sZ0JBQWdCLEVBQUE7RU41SGhCO0lNaUdOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VON0hDO0lNaUdOO01BMkJNLGdCQUFnQixFQUFBLEVBQ2pCO0VBNUJMO0lHeEpBLGNBQU0sRUFBQTtFSHdKTjtJRzdHRSxnQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsV1BuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxXUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsaUJQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxpQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLFdQbkJ5RCxFQUFBO0VJZ0kzRDtJRzdHRSxpQlBuQnlELEVBQUE7RUlnSTNEO0lHN0dFLGlCUG5CeUQsRUFBQTtFSWdJM0Q7SUc3R0UsWVBuQnlELEVBQUE7RUYrQnJEO0lNaUdOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQlBuQnlELEVBQUE7SUlnSTNEO01HN0dFLGlCUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsV1BuQnlELEVBQUE7SUlnSTNEO01HN0dFLGlCUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsaUJQbkJ5RCxFQUFBO0lJZ0kzRDtNRzdHRSxXUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsaUJQbkJ5RCxFQUFBO0lJZ0kzRDtNRzdHRSxpQlBuQnlELEVBQUE7SUlnSTNEO01HN0dFLFdQbkJ5RCxFQUFBO0lJZ0kzRDtNRzdHRSxpQlBuQnlELEVBQUE7SUlnSTNEO01HN0dFLGlCUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsWVBuQnlELEVBQUEsRUl5THBEO0VOMUpEO0lNaUdOO01HeEpBLGFBQU07TUEyQ0osWUFsRlksRUFBQTtJSCtMZDtNR3hKQSxjQUFNLEVBQUE7SUh3Sk47TUc3R0UsWUFsRlksRUFBQTtJSCtMZDtNRzdHRSxnQlBuQnlELEVBQUE7SUlnSTNEO01HN0dFLGlCUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsV1BuQnlELEVBQUE7SUlnSTNEO01HN0dFLGlCUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsaUJQbkJ5RCxFQUFBO0lJZ0kzRDtNRzdHRSxXUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsaUJQbkJ5RCxFQUFBO0lJZ0kzRDtNRzdHRSxpQlBuQnlELEVBQUE7SUlnSTNEO01HN0dFLFdQbkJ5RCxFQUFBO0lJZ0kzRDtNRzdHRSxpQlBuQnlELEVBQUE7SUlnSTNEO01HN0dFLGlCUG5CeUQsRUFBQTtJSWdJM0Q7TUc3R0UsWVBuQnlELEVBQUEsRUl5THBEOztBQU9MO0VDalRJLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFUGdKN0Q7SU1pS0o7TUNqVEksc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEcVQ5RDs7QUFKSDtFQ2pUSSxxQkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RVBnSjdEO0lNaUtKO01DalRJLHNCQUE2RDtNQUE3RCx5QkFBNkQsRUFBQSxFRDBUOUQ7O0FBbk5MO0VDdkdNLHFCQUE2RDtFQUE3RCx3QkFBNkQsRUFBQTtFUGdKN0Q7SU16Q047TUN2R00sc0JBQTZEO01BQTdELHlCQUE2RCxFQUFBLEVEc0lsRTtFQS9CRDtJRzZCRSw0QkF0RDhGO0lGckU1RixvQkFBNkQ7SUFBN0QsdUJBQTZELEVBQUE7RVB1STNEO0lNekNOO01HNkJFLDZCQXREOEY7TUZyRTVGLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFRDJHMUQ7RUFyQ1A7SUdxREUsWUFsRlksRUFBQTtFSGlDZDtJR2lERSxZQWxGWSxFQUFBO0VIeUNaO0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0VUa0UxRjtJTWpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlG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O0lHeUNBLGdDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsMkJBdEQ4RixFQUFBO0VIYTlGO0lHeUNBLGlDQXREOEYsRUFBQTtFSGE5RjtJR3lDQSxpQ0F0RDhGLEVBQUE7RUhhOUY7SUd5Q0EsNEJBdEQ4RixFQUFBO0VUa0UxRjtJTWpFTjtNR3FERSxZQWxGWSxFQUFBO0lIaUNkO01HaURFLFlBbEZZLEVBQUE7SUh5Q1o7TUd5Q0EsaUNBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw0QkF0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSw2QkF0RDhGLEVBQUE7SUhDaEc7TUdxREUsWUFsRlksRUFBQTtJSGlDZDtNR2lERSxZQWxGWSxFQUFBO0lIeUNaO01HeUNBLGlDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNEJBdEQ4RixFQUFBO0lIYTlGO01HeUNBLGtDQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0EsNkJBdEQ4RixFQUFBLEVIZTdGO0VObURHO0lNakVOO01HcURFLFlBbEZZLEVBQUE7SUhpQ2Q7TUdpREUsWUFsRlksRUFBQTtJSHlDWjtNR3lDQSxpQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDRCQXREOEYsRUFBQTtJSGE5RjtNR3lDQSxrQ0F0RDhGLEVBQUE7SUhhOUY7TUd5Q0Esa0NBdEQ4RixFQUFBO0lIYTlGO01HeUNBLDZCQXREOEYsRUFBQSxFSGU3Rjs7QUFrVEQ7RU81WUksNkJBQW1DLEVBQUE7RWI2SW5DO0lNK1BKO01PNVlJLDhCQUFtQyxFQUFBLEVQOFl0QztFTmpRRztJTStQSjtNTzVZSSw4QkFBbUMsRUFBQSxFUDhZdEM7O0FOalFHO0VNbVFGO0lPaFpFLDhCQUFtQyxFQUFBLEVQa1pwQzs7QU5yUUM7RU1tUUY7SU9oWkUsOEJBQW1DLEVBQUEsRVBrWnBDOztBUWxOTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsU0FBUztFQUNULFVBQVUsRUFBQTs7QUFJWjtFQUNFLHVCbkJwS3FEO0VtQnNLckQsa0JBQWtCO0VBQ2xCLGdCckI3RW1DO0VxQjhFbkMsa0NyQjVFeUMsRUFBQTs7QXFCZ0YzQzs7RUFFRSxrQkFBa0I7RUFDbEIsb0JBQW9CLEVBQUE7O0FBSXRCOztFQUVFLGdCckIzS29CO0VxQjRLcEIsb0JBQW9CLEVBQUE7O0F2QnRMdEI7RXVCMkxFLG1CbkIzTHFEO0VtQjRMckQsb0JBQW9CLEVBQUE7O0FBSXRCOzs7Ozs7O0VBTUUsMENyQmpKOEM7RXFCa0o5QyxrQnJCaEpzQjtFcUJpSnRCLGdCckI5TG9CO0VxQitMcEIsV3BCMVJTO0VvQjJSVCxrQ3JCbkhzQyxFQUFBO0VxQnlHeEM7Ozs7Ozs7SUFhSSxjQUFjO0lBQ2QsY3JCckgyQixFQUFBOztBcUI4SHpCO0VBSUksbUJuQjNONkM7RW1CbU83QyxjckJwS2lDO0VxQmdMakMsYUFBYTtFQUdiLHVCbkJsUDZDLEVBQUE7O0FtQnVOakQ7RUFJSSxtQm5CM042QztFbUJtTzdDLG9CckJuS2lDO0VxQitLakMsYUFBYTtFQUdiLHVCbkJsUDZDLEVBQUE7O0FtQnVOakQ7RUFJSSxtQm5CM042QztFbUJtTzdDLG9CckJsS2lDO0VxQjhLakMsYUFBYTtFQUdiLHVCbkJsUDZDLEVBQUE7OztBbUJxSnZEOztFQXNFVSxtQm5CM042QztFbUJtTzdDLG9CckJqS2lDO0VxQjZLakMsYUFBYTtFQUdiLHVCbkJsUDZDLEVBQUE7O0FtQnVOakQ7RUFJSSxpQm5CM042QztFbUJtTzdDLG9CckJoS2lDO0VxQjRLakMsYUFBYTtFQUdiLHVCbkJsUDZDLEVBQUE7O0FtQnVOakQ7RUFJSSxrQm5CM042QztFbUJtTzdDLGdCckIvSmlDO0VxQjJLakMsYUFBYTtFQUdiLHVCbkJsUDZDLEVBQUE7O0FLd0ZqRDtFYytIQTtJQUlJLG9CbkIzTjZDO0ltQm1PN0Msb0JyQjVKaUM7SXFCMktqQyx1Qm5CbFA2QyxFQUFBO0VtQnVOakQ7SUFJSSxtQm5CM042QztJbUJtTzdDLGdCckIzSmlDO0lxQjBLakMsdUJuQmxQNkMsRUFBQTtFbUJ1TmpEO0lBSUksaUJuQjNONkM7SW1CbU83QyxrQnJCMUppQztJcUJ5S2pDLHVCbkJsUDZDLEVBQUE7O0VtQnFKdkQ7O0lBc0VVLGVuQjNONkM7SW1CbU83QyxvQnJCekppQztJcUJ3S2pDLHVCbkJsUDZDLEVBQUE7RW1CdU5qRDtJQUlJLG9CbkIzTjZDO0ltQm1PN0MsZ0JyQnhKaUM7SXFCdUtqQyx1Qm5CbFA2QyxFQUFBO0VtQnVOakQ7SUFJSSxrQm5CM042QztJbUJtTzdDLGlCckJ2SmlDO0lxQnNLakMsdUJuQmxQNkMsRUFBQSxFbUJ3UGhEOztBZGhLRDtFYytIQTtJQUlJLG9CbkIzTjZDO0ltQm1PN0Msb0JyQnBKaUM7SXFCbUtqQyx1Qm5CbFA2QyxFQUFBO0VtQnVOakQ7SUFJSSxvQm5CM042QztJbUJtTzdDLG9CckJuSmlDO0lxQmtLakMsdUJuQmxQNkMsRUFBQTtFbUJ1TmpEO0lBSUksb0JuQjNONkM7SW1CbU83QyxvQnJCbEppQztJcUJpS2pDLHVCbkJsUDZDLEVBQUE7O0VtQnFKdkQ7O0lBc0VVLG9CbkIzTjZDO0ltQm1PN0Msb0JyQmpKaUM7SXFCZ0tqQyx1Qm5CbFA2QyxFQUFBO0VtQnVOakQ7SUFJSSxvQm5CM042QztJbUJtTzdDLGdCckJoSmlDO0lxQitKakMsdUJuQmxQNkMsRUFBQTtFbUJ1TmpEO0lBSUksa0JuQjNONkM7SW1CbU83QyxpQnJCL0lpQztJcUI4SmpDLHVCbkJsUDZDLEVBQUEsRW1Cd1BoRDs7QXZCeFJQO0V1QitSRSxvQkFBb0I7RUFDcEIsV3BCalZTO0VvQmtWVCxxQnJCNUp5QjtFcUI4SnpCLGVBQWUsRUFBQTtFQUxqQjtJQVNJLGNwQnZWa0IsRUFBQTtFb0I4VXRCO0lBZ0JJLFNBQVMsRUFBQTs7QXZCalViO0V1QnVVRSxXQUFXO0VBRVgsbUJuQnRScUQ7RW1CdVJyRCxTQUFTO0VBQ1QsaUJyQi9LMkI7RXFCaUwzQixhQUFhO0VBQ2IsZUFBZTtFQUNmLHNDcEJyV2dCO0VvQnNXaEIsY0FBYyxFQUFBOztBQUloQjs7O0VBR0UsdUJuQnBTcUQ7RW1CcVNyRCw0QnJCeEx5QjtFcUJ5THpCLGdCckI1TW1DLEVBQUE7O0FxQmdOckM7RUFDRSxrQkFBa0IsRUFBQTs7QUFJcEI7RUFDRSxvQnJCbE1zQjtFcUJtTXRCLHFCckJyTWtCLEVBQUE7O0FxQnlNcEI7RUFDRSxvQnJCeE1zQixFQUFBOztBcUI0TXhCO0VBRUksb0JyQjdNMkI7RXFCOE0zQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQnJCbk55QixFQUFBO0VxQmtOM0I7SUFJSSxnQnJCcE55QjtJcUJxTnpCLGdCckI3VGtCLEVBQUE7O0FxQmtVdEI7RUFDRSxvQm5CN1VxRDtFbUI4VXJELFVyQjFOa0I7RXFCMk5sQixpQnJCMU5vQixFQUFBO0VxQnVOdEI7SUFNSSxnQnJCeFBpQztJcUJ5UGpDLGNwQnZhVyxFQUFBOztBb0JxYmY7RUFDRSxvQ3BCbmJTO0VvQm9iVCxZQUFZO0VBQ1oscUJBQXFCLEVBQUE7O0F0Qi9OdkI7RXNCb09FLFNBQVMsRUFBQTs7QUFXWDtFQUNFLFNBQVM7RUFDVCwyQm5CalhTO0VtQm1YVCx5QnBCL2JnQjtFb0JpY2hCLHVDckJsVThDO0VxQm1VOUMsV3BCNWNTO0VvQitjUCx1Qm5COVhtRCxFQUFBOztBb0I2Q3ZEO0VBQ0UsYXRCMEZvQjtFc0J6RnBCLHVCcEIvQ3FEO0VvQmlEckQsZ0J0QnpDc0I7RXNCMEN0QixnQnRCbUZzQjtFc0JsRnRCLGNyQi9IZ0IsRUFBQTs7QXFCbUlsQjtFQUNFLGtCcEJ4RHFEO0VvQnlEckQsZ0J0QjJFaUIsRUFBQTs7QXNCdkVuQjtFQUNFLGtCcEI5RHFEO0VvQitEckQsY0FBYyxFQUFBO0VBRWQ7SUFDRSxpQkFBaUIsRUFBQTs7QUFJckI7RUFHSSxjQUFnQztFQUNoQyxnQkFBZ0IsRUFBQTs7QUFJcEI7RUFqRkEsY0FBYztFQUNkLFdyQjdFbUI7RXFCOEVuQixtQnBCQ3VELEVBQUE7RW9CQ3ZEO0lBQ0UsYXRCc0hrQixFQUFhOztBc0J0Q2pDO0VBekVBLCtCckJ0RmtCO0VxQnVGbEIseUJyQmpGa0I7RXFCbUZsQix1Q3RCNENnRDtFc0IzQ2hELGdCdEJMd0I7RXNCTXhCLFdyQi9GVztFcUJxR1gsZUFBZTtFQUNmLGVBQWU7RUFDZixxQkFBcUI7RUFFckIscUNwQnhCdUQsRUFBQTs7QW9CdUZ2RDtFQTlFQSwrQnJCdEZrQjtFcUJ1RmxCLHlCckJqRmtCO0VxQm1GbEIsdUN0QjRDZ0Q7RXNCM0NoRCxnQnRCTHdCO0VzQk14QixXckIvRlc7RXFCK0dYLGNBQWM7RUFDZCxjQUFjO0VBQ2QsZ0JBQWdCO0VBRWhCLGFBNUN1QjtFQTZD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RCxFQUFBOztBRHdFdkQ7RUNuQkYseUJBcEQwRCxFQUFBOztBRHVFeEQ7RUNuQkYsdUJBbkRrQixFQUFBOztBRHNFaEI7RUNuQkYsOEJBbEQwQixFQUFBOztBRHFFeEI7RUNuQkYsNkJBakR3QixFQUFBOztBRDJFdEI7RUMxQkYsMkJBckR5RCxFQUFBOztBRCtFdkQ7RUMxQkYseUJBcEQwRCxFQUFBOztBRDhFeEQ7RUMxQkYsdUJBbkRrQixFQUFBOztBRHdGaEI7RUNwQ0YsdUJBMUNpQixFQUFBOztBRGtGZjtFQ3hCRixzQkExRGlCLEVBQUE7O0FEOEVmO0VDcENGLHFCQXpDa0IsRUFBQTs7QURpRmhCO0VDeEJGLG9CQXpEa0IsRUFBQTs7QUQ2RWhCO0VDcENGLG1CQXhDZ0IsRUFBQTs7QURnRmQ7RUN4QkYsa0JBeERnQixFQUFBOztBRDRFZDtFQ3BDRixvQkF2Q2tCLEVBQUE7O0FEK0VoQjtFQ3hCRixtQkF2RGtCLEVBQUE7O0FEcUZsQjtFQy9DQSx1QkFuRGtCO0VBb0RsQixtQkF4Q2dCO0VEd0ZkLHFCQUFxQixFQUFBOztBQU1uQjtFQ2hDSixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSixRRCtCZ0IsRUFBQTs7QUFDWjtFQ2hDSixRRCtCZ0IsRUFBQTs7QXpDbUVWO0V5Q2xFRjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUEsRUFHWDs7QXpDZ0VDO0V5Q2xFRjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osUUQr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SEEsdUNuRStJZ0Q7RW1FOUloRCx5QkFBeUI7RUFDekIsbUJqRXFGdUQ7RWdFc0NyRCx5QmpFM0hXO0VpRTRIWCwrQmpFNUhXO0VpRTZIWCxnQkFBZ0I7RUFDaEIsV2pFL0dTO0VpRWdIVCxlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCxtQmhFN0NxRDtFZ0U4Q3JELDJCaEU5Q3FEO0VnRStDckQsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixpRUFBaUUsRUFBQTtFQWZuRTs7O0lBbUJJLHNCakUzSE87SWlFNEhQLCtCakUzSVM7SWlFNElULFdqRXhJTyxFQUFBO0lpRW1IWDs7O01Bd0JNLGNqRS9JTyxFQUFBO0VpRXVIYjs7O0lBZ0NNLDZCQUE2QjtJQUM3QixXakV6SUssRUFBQTtFaUV3R1g7O0lBcUNNLDZCQUE2QjtJQUM3QixXakU5SUssRUFBQTtJaUV3R1g7OztNQTBDUSx5QmpFaktLO01pRWtLTCxXakVuSkcsRUFBQTtFaUV3R1g7O0lBb0RJLHVCaEV0Rm1ELEVBQUE7SVBxQ3JEOztNQUNFLHNCTTVHTyxFQUFBO0lpRXdHWDs7O01Bd0RNLHlCakUvS08sRUFBQTtFaUV1SGI7Ozs7O0lBK0RJLHNCakV2S087SWlFd0tQLDRCakV4S087SWlFeUtQLFdqRXBMTyxFQUFBO0lpRW1IWDs7Ozs7TUFvRU0seUJqRTNMTyxFQUFBO0lpRXVIYjs7Ozs7Ozs7O01BeUVNLDZCQUE2QjtNQUM3QixXakVsTEssRUFBQTtNaUV3R1g7Ozs7Ozs7OztRQTZFUSxzQmpFckxHLEVBQUE7SWlFd0dYOzs7OztNQW1GTSw2QkFBNkI7TUFDN0IsNEJqRTVMSztNaUU2TEwsV2pFN0xLLEVBQUE7TWlFd0dYOzs7OztRQXdGUSxzQmpFaE1HLEVBQUE7TWlFd0dYOzs7Ozs7Ozs7UUE2RlEsc0JqRXJNRztRaUVzTUgsV2pFak5HLEVBQUE7UWlFbUhYOzs7Ozs7Ozs7VUFpR1UseUJqRXhORyxFQUFBO0VpRXVIYjs7SUF5R0ksc0JqRWpOTztJaUVrTlAsV2pFN05PLEVBQUE7SWlFbUhYOztNQTZHTSx5QmpFcE9PLEVB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TSxrQmxFakxLLEVBQUE7O0FrRThLWDtFQU9JLHFCQUFxQjtFQUNyQixpQkFBaUIsRUFBQTtFQVJyQjtJQVdNLGNsRTVMUyxFQUFBOztBa0VpTGY7RXhFMENRLGtCT3ZJK0M7RVBxSS9DLGtCS2pFbUM7RUxtRW5DLHVCT3ZJK0MsRUFBQTtFS3dGakQ7STRES047TXhFb0RVLGtCT2pKNkM7TVArSTdDLG1CS25FaUM7TUxxRWpDLHVCT2pKNkMsRUFBQSxFaUU4R3BEO0U1RHRCRztJNERLTjtNeEVvRFUsa0JPako2QztNUCtJN0MsbUJLM0RpQztNTDZEakMsdUJPako2QyxFQUFBLEVpRThHcEQ7O0FBTUg7RXhFbUJRLGlCT3ZJK0M7RVBxSS9DLGtCS2xFbUM7RUxvRW5DLHVCT3ZJK0MsRUFBQTtFS3dGakQ7STRENEJOO014RTZCVSxvQk9qSjZDO01QK0k3QyxrQktwRWlDO01Mc0VqQyx1Qk9qSjZDLEVBQUEsRWlFdUhwRDtFNUQvQkc7STRENEJOO014RTZCVSxvQk9qSjZDO01QK0k3QyxrQks1RGlDO01MOERqQyx1Qk9qSjZDLEVBQUEsRWlFdUhwRDs7QUFHSDtFQUVJLGdCQUFnQixFQUFBOztBQU9wQjtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLDBCQUEwQixFQUFBOztBNURoRHRCO0UyQ3BHRTtJaUIySkosbUJBQW1CLEVBQUEsRUFDcEI7O0E1RHhERztFNEQ0REo7SUFDRSxjQUFjLEVBQUEsRUFDZjs7QUM1SUg7RUFwRUEsV0FBVztFQUNYLHFCQUFxQjtFQUVyQixnQkFBZ0I7RUFYaEIsMEJBQWtCO1VBQWxCLGtCQUFrQjtFQUNsQiw4QkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLDhCQUFzQjtVQUF0QixzQkFBc0I7RUFhdEIsa0JsRW1EdUQ7RWtFbER2RCxtQmxFa0R1RDtFa0VqRHZELGdDQUEyQztFQUMzQywrQkFBMEM7RUE2RHhDLHVCQUF1QjtFQUN2QixzQkFBc0I7RUFDdEIsNEJBQTRCLEVBQUE7RUE3RDlCO0lBQ0UscUJsRTZDcUQ7SWtFNUNyRCxvQmxFNENxRCxFQUFBO0VrRXpDdkQ7SUFHRSxnQkFBZ0I7SUFDaEIsNkJBQTZCLEVBQUE7RUErQy9CO0lBU00seUJuRXhHTyxFQUFBO0ltRStGYjtNQVlRLHlCbkUzR0ssRUFBQTtFbUUrRmI7SUFTTSx5Qm5FdkdTLEVBQUE7SW1FOEZmO01BWVEseUJuRTFHTyxFQUFBO0VtRThGZjtJQVNNLHlCbkVoR1ksRUFBQTtJbUV1RmxCO01BWVEseUJuRW5HVSxFQUFBO0VtRXVGbEI7SUFTTSxzQm5FekZLLEVBQUE7SW1FZ0ZYO01BWVEsc0JuRTVGRyxFQUFBO0VtRWdGWDtJQVNNLHNCbkVwR0ssRUFBQTtJbUUyRlg7TUFZUSxzQm5FdkdHLEVBQUE7RW1FMEhDO0l6RTlFTixrTUYrSzBFO1lFL0sxRSwwTEYrSzBFLEVBQUE7RTJFakdwRTtJekU5RU4sMmtCRitLMEU7WUUvSzFFLG1rQkYrSzBFLEVBQUE7RTJFakdwRTtJekU5RU4scWRGK0swRTtZRS9LMUUsNmNGK0swRSxFQUFBO0UyRWpHcEU7SXpFOUVOLGdjRitLMEU7WUUvSzFFLHdiRitLMEUsRUFBQTtFMkVqR3BFO0l6RTlFTixtdkNGK0swRTtZRS9LMUUsMnVDRitLMEUsRUFBQTtFMkVqR3BFO0l6RTlFTiwwa0RGK0swRTtZRS9LMUUsa2tERitLMEUsRUFBQTtFMkVqR3BFO0l6RTlFTiw0ZUYrSzBFO1lFL0sxRSxvZUYrSzBFLEVBQUE7RTJFakdwRTtJekU5RU4sMnVCRitLMEU7WUUvSzFFLG11QkYrSzBFLEVBQUE7RTJFakdwRTtJekU5RU4sK1pGK0swRTtZRS9LMUUsdVpGK0swRSxFQUFBO0UyRWpHcEU7SXpFOUVOLDZkRitLMEU7WUUvSzFFLHFkRitLMEUsRUFBQTtFMkVqR3BFO0l6RTlFTiw2dUJGK0swRTtZRS9LMUUscXVCRitLMEUsRUFBQTtFMkVqR3BFO0l6RTlFTixtZkYrSzBFO1lFL0sxRSwyZUYrSzBFLEVBQUE7OztBMkUxS2hGO0VBRUUsa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixrQmxFNEJxRDtFa0UzQnJELG1CbEUyQnFEO0VrRTFCckQsZ0NBQTJDO0VBQzNDLCtCQUEw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TjtJQStCUSxRQUFRLEVBQUE7RUEvQmhCO0lBa0NRLFFBQVEsRUFBQSxFQUNUOztBNUV3SUQ7RTRFM0tOO0lBMENRLFFBQVEsRUFBQTtFQTFDaEI7SUE2Q1EsUUFBUSxFQUFBLEVBQ1Q7O0FDbERQOzs7RUNhUSxxQm5GMEUrQztFbUZ6RS9DLHdCbkZ5RStDLEVBQUE7RUt3RmpEO0k2RS9LTjs7O01DU1Usa0JuRjhFNkM7TW1GN0U3QyxxQm5GNkU2QyxFQUFBLEVtRmxEbEQ7RTlFMElDO0k2RS9LTjs7O01DU1Usc0JuRjhFNkM7TW1GN0U3Qyx5Qm5GNkU2QyxFQUFBLEVtRmxEbEQ7O0FBQ0Q7RUF6Qkksc0JuRjBFK0M7RW1GekUvQyx5Qm5GeUUrQyxFQUFBO0VLd0ZqRDtJOEV6SUY7TUE3Qk0sbUJuRjhFNkM7TW1GN0U3QyxzQm5GNkU2QyxFQUFBLEVtRi9DbEQ7RTlFdUlDO0k4RXpJRjtNQTdCTSx1Qm5GOEU2QztNbUY3RTdDLDBCbkY2RTZDLEVBQUEsRW1GL0NsRDs7QUFHRDs7RUFyQkkscUJuRmlFK0MsRUFBQTtFS3dGakQ7SThFcElGOztNQXhCTSxrQm5Gb0U2QyxFQUFBLEVtRnpDbEQ7RTlFaUlDO0k4RXBJRjs7TUF4Qk0sc0JuRm9FNkMsRUFBQSxFbUZ6Q2xEOztBQUNEO0VBekJJLHNCbkZpRStDLEVBQUE7RUt3RmpEO0k4RWhJRjtNQTVCTSxtQm5Gb0U2QyxFQUFBLEVtRnRDbEQ7RTlFOEhDO0k4RWhJRjtNQTVCTSx1Qm5Gb0U2QyxFQUFBLEVtRnRDbEQ7O0FBR0Q7O0VBOUJJLHdCbkZpRStDLEVBQUE7RUt3RmpEO0k4RTNIRjs7TUFqQ00scUJuRm9FNkMsRUFBQSxFbUZoQ2xEO0U5RXdIQztJOEUzSEY7O01BakNNLHlCbkZvRTZDLEVBQUEsRW1GaENsRDs7QUFDRDtFQWxDSSx5Qm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEV2SEY7TUFyQ00sc0JuRm9FNkMsRUFBQSxFbUY3QmxEO0U5RXFIQztJOEV2SEY7TUFyQ00sMEJuRm9FNkMsRUFBQSxFbUY3QmxEOzs7QUF6QkQ7O0VBcEJJLG9CbkYwRStDO0VtRnpFL0MsdUJuRnlFK0MsRUFBQTtFS3dGakQ7O0k4RTlJRjs7TUF4Qk0scUJuRjhFNkM7TW1GN0U3Qyx3Qm5GNkU2QyxFQUFBLEVtRmxEbEQ7RTlFMElDOztJOEU5SUY7O01BeEJNLGtCbkY4RTZDO01tRjdFN0MscUJuRjZFNkMsRUFBQSxFbUZsRGxEOztBQUNEO0VBekJJLHFCbkYwRStDO0VtRnpFL0Msd0JuRnlFK0MsRUFBQTtFS3dGakQ7SThFeklGO01BN0JNLHNCbkY4RTZDO01tRjdFN0MseUJuRjZFNkMsRUFBQSxFbUYvQ2xEO0U5RXVJQztJOEV6SUY7TUE3Qk0sbUJuRjhFNkM7TW1GN0U3QyxzQm5GNkU2QyxFQUFBLEVtRi9DbEQ7O0FBR0Q7O0VBckJJLG9CbkZpRStDLEVBQUE7RUt3RmpEO0k4RXBJRjs7TUF4Qk0scUJuRm9FNkMsRUFBQSxFbUZ6Q2xEO0U5RWlJQztJOEVwSUY7O01BeEJNLGtCbkZvRTZDLEVBQUEsRW1GekNsRDs7QUFDRDtFQXpCSSxxQm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEVoSUY7TUE1Qk0sc0JuRm9FNkMsRUFBQSxFbUZ0Q2xEO0U5RThIQztJOEVoSUY7TUE1Qk0sbUJuRm9FNkMsRUFBQSxFbUZ0Q2xEOztBQUdEOztFQTlCSSx1Qm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEUzSEY7O01BakNNLHdCbkZvRTZDLEVBQUEsRW1GaENsRDtFOUV3SEM7SThFM0hGOztNQWpDTSxxQm5Gb0U2QyxFQUFBLEVtRmhDbEQ7O0FBQ0Q7RUFsQ0ksd0JuRmlFK0MsRUFBQTtFS3dGakQ7SThFdkhGO01BckNNLHlCbkZvRTZDLEVBQUEsRW1GN0JsRDtFOUVxSEM7SThFdkhGO01BckNNLHNCbkZvRTZDLEVBQUEsRW1GN0JsRDs7QTlFcUhDOztFOEU5SUY7O0lBeEJNLHFCbkY4RTZDO0ltRjdFN0Msd0JuRjZFNkMsRUFBQSxFbUZsRGxEOztBOUUwSUM7O0U4RTlJRjs7SUF4Qk0sbUJuRjhFNkM7SW1GN0U3QyxzQm5GNkU2QyxFQUFBLEVtRmxEbEQ7O0E5RTBJQztFOEV6SUY7SUE3Qk0sc0JuRjhFNkM7SW1GN0U3Qyx5Qm5GNkU2QyxFQUFBLEVtRi9DbEQ7O0E5RXVJQztFOEV6SUY7SUE3Qk0sb0JuRjhFNkM7SW1GN0U3Qyx1Qm5GNkU2QyxFQUFBLEVtRi9DbEQ7O0E5RXVJQztFOEVwSUY7O0lBeEJNLHFCbkZvRTZDLEVBQUEsRW1GekNsRDs7QTlFaUlDO0U4RXBJRjs7SUF4Qk0sbUJuRm9FNkMsRUFBQSxFbUZ6Q2xEOztBOUVpSUM7RThFaElGO0lBNUJNLHNCbkZvRTZDLEVBQUEsRW1GdENsRDs7QTlFOEhDO0U4RWhJRjtJQTVCTSxvQm5Gb0U2QyxFQUFBLEVtRnRDbEQ7O0E5RThIQztFOEUzSEY7O0lBakNNLHdCbkZvRTZDLEVBQUEsRW1GaENsRDs7QTlFd0hDO0U4RTNIRjs7SUFqQ00sc0JuRm9FNkMsRUFBQSxFbUZoQ2xEOztBOUV3SEM7RThFdkhGO0lBckNNLHlCbkZvRTZDLEVBQUEsRW1GN0JsRDs7QTlFcUhDO0U4RXZIRjtJQXJDTSx1Qm5Gb0U2QyxFQUFBLEVtRjdCbEQ7OztBQXpCRDs7RUFwQkkscUJuRjBFK0M7RW1GekUvQyx3Qm5GeUUrQyxFQUFBO0VLd0ZqRDs7SThFOUlGOztNQXhCTSxxQm5GOEU2QztNbUY3RTdDLHdCbkY2RTZDLEVBQUEsRW1GbERsRDtFOUUwSUM7O0k4RTlJRjs7TUF4Qk0sbUJuRjhFNkM7TW1GN0U3QyxzQm5GNkU2QyxFQUFBLEVtRmxEbEQ7O0FBQ0Q7RUF6Qkksc0JuRjBFK0M7RW1GekUvQyx5Qm5GeUUrQyxFQUFBO0VLd0ZqRDtJOEV6SUY7TUE3Qk0sc0JuRjhFNkM7TW1GN0U3Qyx5Qm5GNkU2QyxFQUFBLEVtRi9DbEQ7RTlFdUlDO0k4RXpJRjtNQTdCTSxvQm5GOEU2QztNbUY3RTdDLHVCbkY2RTZDLEVBQUEsRW1GL0NsRDs7QUFHRDs7RUFyQkkscUJuRmlFK0MsRUFBQTtFS3dGakQ7SThFcElGOztNQXhCTSxxQm5Gb0U2QyxFQUFBLEVtRnpDbEQ7RTlFaUlDO0k4RXBJRjs7TUF4Qk0sbUJuRm9FNkMsRUFBQSxFbUZ6Q2xEOztBQUNEO0VBekJJLHNCbkZpRStDLEVBQUE7RUt3RmpEO0k4RWhJRjtNQTVCTSxzQm5Gb0U2QyxFQUFBLEVtRnRDbEQ7RTlFOEhDO0k4RWhJRjtNQTVCTSxvQm5Gb0U2QyxFQUFBLEVtRnRDbEQ7O0FBR0Q7O0VBOUJJLHdCbkZpRStDLEVBQUE7RUt3RmpEO0k4RTNIRjs7TUFqQ00sd0JuRm9FNkMsRUFBQSxFbUZoQ2xEO0U5RXdIQztJOEUzSEY7O01BakNNLHNCbkZvRTZDLEVBQUEsRW1GaENsRDs7QUFDRDtFQWxDSSx5Qm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEV2SEY7TUFyQ00seUJuRm9FNkMsRUFBQSxFbUY3QmxEO0U5RXFIQztJOEV2SEY7TUFyQ00sdUJuRm9FNkMsRUFBQSxFbUY3QmxEOzs7QUF6QkQ7O0VBcEJJLG9CbkYwRStDO0VtRnpFL0MsdUJuRnlFK0MsRUFBQTtFS3dGakQ7O0k4RTlJRjs7TUF4Qk0sbUJuRjhFNkM7TW1GN0U3QyxzQm5GNkU2QyxFQUFBLEVtRmxEbEQ7RTlFMElDOztJOEU5SUY7O01BeEJNLHFCbkY4RTZDO01tRjdFN0Msd0JuRjZFNkMsRUFBQSxFbUZsRGxEOztBQUNEO0VBekJJLHFCbkYwRStDO0VtRnpFL0Msd0JuRnlFK0MsRUFBQTtFS3dGakQ7SThFeklGO01BN0JNLG9CbkY4RTZDO01tRjdFN0MsdUJuRjZFNkMsRUFBQSxFbUYvQ2xEO0U5RXVJQztJOEV6SUY7TUE3Qk0sc0JuRjhFNkM7TW1GN0U3Qyx5Qm5GNkU2QyxFQUFBLEVtRi9DbEQ7O0FBR0Q7O0VBckJJLG9CbkZpRStDLEVBQUE7RUt3RmpEO0k4RXBJRjs7TUF4Qk0sbUJuRm9FNkMsRUFBQSxFbUZ6Q2xEO0U5RWlJQztJOEVwSUY7O01BeEJNLHFCbkZvRTZDLEVBQUEsRW1GekNsRDs7QUFDRDtFQXpCSSxxQm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEVoSUY7TUE1Qk0sb0JuRm9FNkMsRUFBQSxFbUZ0Q2xEO0U5RThIQztJOEVoSUY7TUE1Qk0sc0JuRm9FNkMsRUFBQSxFbUZ0Q2xEOztBQUdEOzs7RUE5QkksdUJuRmlFK0MsRUFBQTtFS3dGakQ7SThFM0hGOzs7TUFqQ00sc0JuRm9FNkMsRUFBQSxFbUZoQ2xEO0U5RXdIQztJOEUzSEY7OztNQWpDTSx3Qm5Gb0U2QyxFQUFBLEVtRmhDbEQ7O0FBQ0Q7RUFsQ0ksd0JuRmlFK0MsRUFBQTtFS3dGakQ7SThFdkhGO01BckNNLHVCbkZvRTZDLEVBQUEsRW1GN0JsRDtFOUVxSEM7SThFdkhGO01BckNNLHlCbkZvRTZDLEVBQUEsRW1GN0JsRDs7O0FBekJEOztFQXBCSSxvQm5GMEUrQztFbUZ6RS9DLHVCbkZ5RStDLEVBQUE7RUt3RmpEOztJOEU5SUY7O01BeEJNLG9CbkY4RTZDO01tRjdFN0MsdUJuRjZFNkMsRUFBQSxFbUZsRGxEO0U5RTBJQzs7SThFOUlGOztNQXhCTSxtQm5GOEU2QztNbUY3RTdDLHNCbkY2RTZDLEVBQUEsRW1GbERsRDs7QUFDRDtFQXpCSSxxQm5GMEUrQztFbUZ6RS9DLHdCbkZ5RStDLEVBQUE7RUt3RmpEO0k4RXpJRjtNQTdCTSxxQm5GOEU2QztNbUY3RTdDLHdCbkY2RTZDLEVBQUEsRW1GL0NsRDtFOUV1SUM7SThFeklGO01BN0JNLG9CbkY4RTZDO01tRjdFN0MsdUJuRjZFNkMsRUFBQSxFbUYvQ2xEOztBQUdEOztFQXJCSSxvQm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEVwSUY7O01BeEJNLG9CbkZvRTZDLEVBQUEsRW1GekNsRDtFOUVpSUM7SThFcElGOztNQXhCTSxtQm5Gb0U2QyxFQUFBLEVtRnpDbEQ7O0FBQ0Q7RUF6QkkscUJuRmlFK0MsRUFBQTtFS3dGakQ7SThFaElGO01BNUJNLHFCbkZvRTZDLEVBQUEsRW1GdENsRDtFOUU4SEM7SThFaElGO01BNUJNLG9CbkZvRTZDLEVBQUEsRW1GdENsRDs7QUFHRDs7RUE5QkksdUJuRmlFK0MsRUFBQTtFS3dGakQ7SThFM0hGOztNQWpDTSx1Qm5Gb0U2QyxFQUFBLEVtRmhDbEQ7RTlFd0hDO0k4RTNIRjs7TUFqQ00sc0JuRm9FNkMsRUFBQSxFbUZoQ2xEOztBQUNEO0VBbENJLHdCbkZpRStDLEVBQUE7RUt3RmpEO0k4RXZIRjtNQXJDTSx3Qm5Gb0U2QyxFQUFBLEVtRjdCbEQ7RTlFcUhDO0k4RXZIRjtNQXJDTSx1Qm5Gb0U2QyxFQUFBLEVtRjdCbEQ7OztBQXpCRDs7RUFwQkkscUJuRjBFK0M7RW1GekUvQyx3Qm5GeUUrQyxFQUFBO0VLd0ZqRDs7SThFOUlGOztNQXhCTSxxQm5GOEU2QztNbUY3RTdDLHdCbkY2RTZDLEVBQUEsRW1GbERsRDtFOUUwSUM7O0k4RTlJRjs7TUF4Qk0sb0JuRjhFNkM7TW1GN0U3Qyx1Qm5GNkU2QyxFQUFBLEVtRmxEbEQ7O0FBQ0Q7RUF6Qkksc0JuRjBFK0M7RW1GekUvQyx5Qm5GeUUrQyxFQUFBO0VLd0ZqRDtJOEV6SUY7TUE3Qk0sc0JuRjhFNkM7TW1GN0U3Qyx5Qm5GNkU2QyxFQUFBLEVtRi9DbEQ7RTlFdUlDO0k4RXpJRjtNQTdCTSxxQm5GOEU2QztNbUY3RTdDLHdCbkY2RTZDLEVBQUEsRW1GL0NsRDs7QUFHRDs7RUFyQkkscUJuRmlFK0MsRUFBQTtFS3dGakQ7SThFcElGOztNQXhCTSxxQm5Gb0U2QyxFQUFBLEVtRnpDbEQ7RTlFaUlDO0k4RXBJRjs7TUF4Qk0sb0JuRm9FNkMsRUFBQSxFbUZ6Q2xEOztBQUNEO0VBekJJLHNCbkZpRStDLEVBQUE7RUt3RmpEO0k4RWhJRjtNQTVCTSxzQm5Gb0U2QyxFQUFBLEVtRnRDbEQ7RTlFOEhDO0k4RWhJRjtNQTVCTSxxQm5Gb0U2QyxFQUFBLEVtRnRDbEQ7O0FBR0Q7O0VBOUJJLHdCbkZpRStDLEVBQUE7RUt3RmpEO0k4RTNIRjs7TUFqQ00sd0JuRm9FNkMsRUFBQSxFbUZoQ2xEO0U5RXdIQztJOEUzSEY7O01BakNNLHVCbkZvRTZDLEVBQUEsRW1GaENsRDs7QUFDRDtFQWxDSSx5Qm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEV2SEY7TUFyQ00seUJuRm9FNkMsRUFBQSxFbUY3QmxEO0U5RXFIQztJOEV2SEY7TUFyQ00sd0JuRm9FNkMsRUFBQSxFbUY3QmxEOzs7QUF6QkQ7O0VBcEJJLG9CbkYwRStDO0VtRnpFL0MsdUJuRnlFK0MsRUFBQTtFS3dGakQ7O0k4RTlJRjs7TUF4Qk0sa0JuRjhFNkM7TW1GN0U3QyxxQm5GNkU2QyxFQUFBLEVtRmxEbEQ7RTlFMElDOztJOEU5SUY7O01BeEJNLGtCbkY4RTZDO01tRjdFN0MscUJuRjZFNkMsRUFBQSxFbUZsRGxEOztBQUNEO0VBekJJLHFCbkYwRStDO0VtRnpFL0Msd0JuRnlFK0MsRUFBQTtFS3dGakQ7SThFeklGO01BN0JNLG1CbkY4RTZDO01tRjdFN0Msc0JuRjZFNkMsRUFBQSxFbUYvQ2xEO0U5RXVJQztJOEV6SUY7TUE3Qk0sbUJuRjhFNkM7TW1GN0U3QyxzQm5GNkU2QyxFQUFBLEVtRi9DbEQ7O0FBR0Q7O0VBckJJLG9CbkZpRStDLEVBQUE7RUt3RmpEO0k4RXBJRjs7TUF4Qk0sa0JuRm9FNkMsRUFBQSxFbUZ6Q2xEO0U5RWlJQztJOEVwSUY7O01BeEJNLGtCbkZvRTZDLEVBQUEsRW1GekNsRDs7QUFDRDtFQXpCSSxxQm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEVoSUY7TUE1Qk0sbUJuRm9FNkMsRUFBQSxFbUZ0Q2xEO0U5RThIQztJOEVoSUY7TUE1Qk0sbUJuRm9FNkMsRUFBQSxFbUZ0Q2xEOztBQUdEOztFQTlCSSx1Qm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEUzSEY7O01BakNNLHFCbkZvRTZDLEVBQUEsRW1GaENsRDtFOUV3SEM7SThFM0hGOztNQWpDTSxxQm5Gb0U2QyxFQUFBLEVtRmhDbEQ7O0FBQ0Q7RUFsQ0ksd0JuRmlFK0MsRUFBQTtFS3dGakQ7SThFdkhGO01BckNNLHNCbkZvRTZDLEVBQUEsRW1GN0JsRDtFOUVxSEM7SThFdkhGO01BckNNLHNCbkZvRTZDLEVBQUEsRW1GN0JsRDs7O0FBekJEOztFQXBCSSxxQm5GMEUrQztFbUZ6RS9DLHdCbkZ5RStDLEVBQUE7RUt3RmpEOztJOEU5SUY7O01BeEJNLHFCbkY4RTZDO01tRjdFN0Msd0JuRjZFNkMsRUFBQSxFbUZsRGxEO0U5RTBJQzs7SThFOUlGOztNQXhCTSxxQm5GOEU2QztNbUY3RTdDLHdCbkY2RTZDLEVBQUEsRW1GbERsRDs7QUFDRDtFQXpCSSxzQm5GMEUrQztFbUZ6RS9DLHlCbkZ5RStDLEVBQUE7RUt3RmpEO0k4RXpJRjtNQTdCTSxzQm5GOEU2QztNbUY3RTdDLHlCbkY2RTZDLEVBQUEsRW1GL0NsRDtFOUV1SUM7SThFeklGO01BN0JNLHNCbkY4RTZDO01tRjdFN0MseUJuRjZFNkMsRUFBQSxFbUYvQ2xEOztBQUdEOztFQXJCSSxxQm5GaUUrQyxFQUFBO0VLd0ZqRDtJOEVwSUY7O01BeEJNLHFCbkZvRTZDLEVBQUEsRW1GekNsRDtFOUVpSUM7SThFcElGOztNQXhCTSxxQm5Gb0U2QyxFQUFBLEVtRnpDbEQ7O0FBQ0Q7RUF6Qkksc0JuRmlFK0MsRUFBQTtFS3dGakQ7SThFaElGO01BNUJNLHNCbkZvRTZDLEVBQUEsRW1GdENsRDtFOUU4SEM7SThFaElGO01BNUJNLHNCbkZvRTZDLEVBQUEsRW1GdENsRDs7QUFHRDs7RUE5Qkksd0JuRmlFK0MsRUFBQTtFS3dGakQ7SThFM0hGOztNQWpDTSx3Qm5Gb0U2QyxFQUFBLEVtRmhDbEQ7RTlFd0hDO0k4RTNIRjs7TUFqQ00sd0JuRm9FNkMsRUFBQSxFbUZoQ2xEOztBQUNEO0VBbENJLHlCbkZpRStDLEVBQUE7RUt3RmpEO0k4RXZIRjtNQXJDTSx5Qm5Gb0U2QyxFQUFBLEVtRjdCbEQ7RTlFcUhDO0k4RXZIRjtNQXJDTSx5Qm5Gb0U2QyxFQUFBLEVtRjdCbEQ7OztBQXpCRDs7RUFwQkksb0JuRjBFK0M7RW1GekUvQyx1Qm5GeUUrQyxFQUFBOztBbUZqRG5EO0VBekJJLHFCbkYwRStDO0VtRnpFL0Msd0JuRnlFK0MsRUFBQTs7QW1GNUNuRDs7RUFyQkksb0JuRmlFK0MsRUFBQTs7QW1GeENuRDtFQXpCSSxxQm5GaUUrQyxFQUFBOztBbUZuQ25EOztFQTlCSSx1Qm5GaUUrQyxFQUFBOztBbUYvQm5EO0VBbENJLHdCbkZpRStDLEVBQUE7OztBbUZ0RG5EOztFQXBCSSxxQm5GMEUrQztFbUZ6RS9DLHdCbkZ5RStDLEVBQUE7O0FtRmpEbkQ7RUF6Qkksc0JuRjBFK0M7RW1GekUvQyx5Qm5GeUUrQyxFQUFB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Q3RCLGlCQUFpQixFQUFBO0VBSG5CO0lBTUkscUJBQXFCO0lBQ3JCLGtCN0ZvQ21EO0k2Rm5DbkQsOEJBQThCLEVBQUE7SUFSbEM7TUFXTSxlQUFlLEVBQUE7SUFYckI7TUFlTSx1QkFBdUI7TUFDdkIsYUFBYSxFQUFBOztBQUtuQjtFQUNFLG1CQUFtQixFQUFBOztBeEY2R2Y7RXdGekdOO0lBSU0sWUFBWSxFQUFBO0VBSmxCO0lBT00sbUJBQW1CO0lBQ25CLGdCN0ZTaUQ7STZGUmpELGlCN0ZRaUQsRUFBQTtJNkZqQnZEO01BWVEsdUJBQXVCLEVBQUEsRUFDeEI7O0FBYlA7RUFrQkksd0I3RkRtRCxFQUFBO0U2RmpCdkQ7SUFxQlEsOEJBQXNCO0lBQXRCLDJCQUFzQjtJQUF0QixzQkFBc0IsRUFBQTtFeEZvRnhCO0l3RnpHTjtNQXdCUSxnQkFBZ0IsRUFBQTtNQXhCeEI7UUEyQlUscUJBQXFCLEVBQUEsRUFFdEI7O0FBN0JUO0VBb0NJLHNDOUZoR2M7RThGaUdkLG1CN0ZwQm1EO0U2RnFCbkQsZ0IvRmJvQjtFK0ZjcEIsdUI3RnRCbUQ7RTZGdUJuRCx5QjdGdkJtRDtFNkZ3Qm5ELHlCQUF5QixFQUFBOztBQUk3QjtFQUdJLGdCQUFnQjtFQUNoQixnQi9GaEQ4QixFQUFBO0UrRjRDbEM7SUFPTSxnQkFBZ0IsRUFBQTtJQVB0QjtNQVVRLGdCQUFnQjtNQUNoQixlQUFlLEVBQUE7O0FBTXZCO0VBQ0UsYzlGM0hnQjtFOEY0SGhCLGtCN0YvQ3FEO0U2RmdEckQseUJBQXlCLEVBQUE7O0FBRzNCO0VBQ0Usa0I3RnBEcUQsRUFBQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogTWFzdGVyIFNDU1MgRmlsZSAoQVFOQSlcbiAqIFZlcnNpb24gMi4wLjFcbiAqIEJ1aWx0IHdpdGggZm91bmRhdGlvbi1zaXRlcyA2LjQuM1xuICovXG4vKiBDdXN0b20gRnVuY3Rpb25zIChub3QgRm91bmRhdGlvbi1iYXNlZCkgKi9cbi8qIC8vIEdlbmVyYXRlcyBMaXN0IG9mIEhlYWRpbmdzIEF1dG9tYXRpY2FsbHkgLy8gKi9cbi8qIC8vIE1vZGlmaWVkIHZlcnNpb24gb2YgQGh0dHBzOi8vZ2l0aHViLmNvbS9hZ29yaWxsYS9zYXNzLWZ1bmN0aW9ucy9ibG9iL21hc3Rlci9fbWFwLWdldC1wcmV2LnNjc3MgLy8gKi9cbi8qIC8vIEZ1bmN0aW9uIHRvIGdldCBwcmV2aW91cyBtYXAgaXRlbSAvLyAqL1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjYuM1xuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qIEFxdWVudCBNaXhpbnMgKi9cbi8qIEFxdWVudCBCYWNrZ3JvdW5kIENsYXNzZXMgTWl4aW4gKi9cbi8qIExvYWRpbmcgR3JhcGhpYyAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTU0LjEyNWVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNmM2YwZWI7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNlcmlmXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW07IH1cblxuc2VsZWN0IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtOyB9XG5cbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzo6YmVmb3JlLCAucm93OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbHVtbiwgLmNvbHVtbnMsIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlOyB9XG5cbi5zbWFsbC1wdWxsLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXB1c2gtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5zbWFsbC1wdWxsLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC02Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLXB1c2gtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzUlOyB9XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC05MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjAlOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTIuNSU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLWNvbGxhcHNlIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5leHBhbmRlZC5yb3cgLnNtYWxsLWNvbGxhcHNlLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCwgLnNtYWxsLXB1c2gtMCwgLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnNtYWxsLXVuY2VudGVyZWQsIC5zbWFsbC11bmNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdXNoLTAsIC5zbWFsbC1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLnNtYWxsLXB1bGwtMCwgLnNtYWxsLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuc21hbGwtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5zbWFsbC1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsIC5tZWRpdW0tcHVzaC0wLCAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLXVuY2VudGVyZWQsIC5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1c2gtMCwgLm1lZGl1bS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLm1lZGl1bS1wdWxsLTAsIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubWVkaXVtLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtcHVzaC0wLCAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGFyZ2UtcHVzaC0wLCAubGFyZ2UtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5sYXJnZS1wdWxsLTAsIC5sYXJnZS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAubGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDgxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmdyaWQtY29udGFpbmVyLmZsdWlkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDBweDtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5jZWxsLmF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS1mdWxsLCAuZ3JpZC14ID4gLmxhcmdlLTEsIC5ncmlkLXggPiAubGFyZ2UtMiwgLmdyaWQteCA+IC5sYXJnZS0zLCAuZ3JpZC14ID4gLmxhcmdlLTQsIC5ncmlkLXggPiAubGFyZ2UtNSwgLmdyaWQteCA+IC5sYXJnZS02LCAuZ3JpZC14ID4gLmxhcmdlLTcsIC5ncmlkLXggPiAubGFyZ2UtOCwgLmdyaWQteCA+IC5sYXJnZS05LCAuZ3JpZC14ID4gLmxhcmdlLTEwLCAuZ3JpZC14ID4gLmxhcmdlLTExLCAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xLCAuZ3JpZC14ID4gLnNtYWxsLTIsIC5ncmlkLXggPiAuc21hbGwtMywgLmdyaWQteCA+IC5zbWFsbC00LCAuZ3JpZC14ID4gLnNtYWxsLTUsIC5ncmlkLXggPiAuc21hbGwtNiwgLmdyaWQteCA+IC5zbWFsbC03LCAuZ3JpZC14ID4gLnNtYWxsLTgsIC5ncmlkLXggPiAuc21hbGwtOSwgLmdyaWQteCA+IC5zbWFsbC0xMCwgLmdyaWQteCA+IC5zbWFsbC0xMSwgLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC14ID4gLm1lZGl1bS0xLCAuZ3JpZC14ID4gLm1lZGl1bS0yLCAuZ3JpZC14ID4gLm1lZGl1bS0zLCAuZ3JpZC14ID4gLm1lZGl1bS00LCAuZ3JpZC14ID4gLm1lZGl1bS01LCAuZ3JpZC14ID4gLm1lZGl1bS02LCAuZ3JpZC14ID4gLm1lZGl1bS03LCAuZ3JpZC14ID4gLm1lZGl1bS04LCAuZ3JpZC14ID4gLm1lZGl1bS05LCAuZ3JpZC14ID4gLm1lZGl1bS0xMCwgLmdyaWQteCA+IC5tZWRpdW0tMTEsIC5ncmlkLXggPiAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLXNocmluaywgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXg6bm90KC5ncmlkLXgpID4gLmNlbGwge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZ3JpZC1tYXJnaW4teCB7XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5hdXRvIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAuZ3JpZC1wYWRkaW5nLXgge1xuICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cblxuLmdyaWQtcGFkZGluZy14ID4gLmNlbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yID4gLmNlbGwge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC11cC0zID4gLmNlbGwge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01ID4gLmNlbGwge1xuICB3aWR0aDogMjAlOyB9XG5cbi5zbWFsbC11cC02ID4gLmNlbGwge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04ID4gLmNlbGwge1xuICB3aWR0aDogMTIuNSU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuMjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE0LjI4NTcxJSAtIDEuODc1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjg3NXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuODc1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLXBhZGRpbmctY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0pOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuNjI1cmVtKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSk7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMC42MjVyZW0pOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDAlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDMzLjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDU4LjMzMzMzJSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDAuOTM3NXJlbSk7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC45Mzc1cmVtKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDAuOTM3NXJlbSk7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjkzNzVyZW0pOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAwLjkzNzVyZW0pOyB9IH1cblxuLmdyaWQteSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAuZ3JpZC15ID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiBub25lOyB9XG4gIC5ncmlkLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC1zaHJpbmssIC5ncmlkLXkgPiAuc21hbGwtZnVsbCwgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xLCAuZ3JpZC15ID4gLnNtYWxsLTIsIC5ncmlkLXkgPiAuc21hbGwtMywgLmdyaWQteSA+IC5zbWFsbC00LCAuZ3JpZC15ID4gLnNtYWxsLTUsIC5ncmlkLXkgPiAuc21hbGwtNiwgLmdyaWQteSA+IC5zbWFsbC03LCAuZ3JpZC15ID4gLnNtYWxsLTgsIC5ncmlkLXkgPiAuc21hbGwtOSwgLmdyaWQteSA+IC5zbWFsbC0xMCwgLmdyaWQteSA+IC5zbWFsbC0xMSwgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IDI1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IDUwJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IDc1JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXkgPiAubWVkaXVtLTEsIC5ncmlkLXkgPiAubWVkaXVtLTIsIC5ncmlkLXkgPiAubWVkaXVtLTMsIC5ncmlkLXkgPiAubWVkaXVtLTQsIC5ncmlkLXkgPiAubWVkaXVtLTUsIC5ncmlkLXkgPiAubWVkaXVtLTYsIC5ncmlkLXkgPiAubWVkaXVtLTcsIC5ncmlkLXkgPiAubWVkaXVtLTgsIC5ncmlkLXkgPiAubWVkaXVtLTksIC5ncmlkLXkgPiAubWVkaXVtLTEwLCAuZ3JpZC15ID4gLm1lZGl1bS0xMSwgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluaywgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogMjUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogNTAlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogNzUlOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1wYWRkaW5nLXkgPiAuY2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtcGFkZGluZy15ID4gLmNlbGwge1xuICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkge1xuICAgICAgbWFyZ2luLXRvcDogLTAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTtcbiAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS44NzVyZW0pOyB9IH1cblxuLmdyaWQtZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMHZ3OyB9XG5cbi5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNlbGwtYmxvY2sge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2steSB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cblxuLmNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubWVkaXVtLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLm1lZGl1bS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtY2VsbC1ibG9jay1jb250YWluZXIgPiAuZ3JpZC14IHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubGFyZ2UtY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG4uZ3JpZC15LmdyaWQtZnJhbWUge1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwdmg7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7IH0gfVxuXG4uY2VsbCAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtbWFyZ2luLXkge1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC45Mzc1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS44NzVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuODc1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjg3NXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuODc1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjg3NXJlbSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5tZWRpdW0tZ3JpZC1mcmFtZSB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMS44NzVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuODc1cmVtKTsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuZGwuaWNvbi1saXN0IGR0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSwgLmgxLFxuaDIsIC5oMixcbmgzLCAuaDMsXG5oNCxcbmRsLmljb24tbGlzdCBkdCwgLmg0LFxuaDUsIC5oNSwgLnN0YXRzLTJjb2wgaDMsIC5zdGF0cy0yY29sIGg0LCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCwgLnN0YXRzLTJjb2wgaDUsIC5zdGF0cy0yY29sIGg2LFxuaDYsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIm5ldWUtaGFhcy11bmljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG4gIGgxIHNtYWxsLCAuaDEgc21hbGwsXG4gIGgyIHNtYWxsLCAuaDIgc21hbGwsXG4gIGgzIHNtYWxsLCAuaDMgc21hbGwsXG4gIGg0IHNtYWxsLFxuICBkbC5pY29uLWxpc3QgZHQgc21hbGwsIC5oNCBzbWFsbCxcbiAgaDUgc21hbGwsIC5oNSBzbWFsbCwgLnN0YXRzLTJjb2wgaDMgc21hbGwsIC5zdGF0cy0yY29sIGg0IHNtYWxsLCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQgc21hbGwsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCBzbWFsbCwgLnN0YXRzLTJjb2wgaDUgc21hbGwsIC5zdGF0cy0yY29sIGg2IHNtYWxsLFxuICBoNiBzbWFsbCwgLmg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5oMSwgLmgxIHtcbiAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbmgyLCAuaDIge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNjY2NztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuaDMsIC5oMyB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA2NjY3O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG5cbmg0LFxuZGwuaWNvbi1saXN0IGR0LCAuaDQge1xuICBmb250LXNpemU6IDEuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4wNjY2NztcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuaDUsIC5oNSwgLnN0YXRzLTJjb2wgaDMsIC5zdGF0cy0yY29sIGg0LCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCwgLnN0YXRzLTJjb2wgaDUsIC5zdGF0cy0yY29sIGg2IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA4MzMzO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBoMSwgLmgxIHtcbiAgICBmb250LXNpemU6IDMuNDM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wOTA5MTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoMiwgLmgyIHtcbiAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgaDMsIC5oMyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIFxuICBoNCxcbiAgZGwuaWNvbi1saXN0IGR0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTYyNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoNSwgLmg1LCAuc3RhdHMtMmNvbCBoMywgLnN0YXRzLTJjb2wgaDQsIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBkdCwgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LCAuc3RhdHMtMmNvbCBoNSwgLnN0YXRzLTJjb2wgaDYge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgaDYsIC5oNiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIGgxLCAuaDEge1xuICAgIGZvbnQtc2l6ZTogMy45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3OTM3O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIGgyLCAuaDIge1xuICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA5MDkxO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIGgzLCAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExMTExO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIFxuICBoNCxcbiAgZGwuaWNvbi1saXN0IGR0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg2O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIGg1LCAuaDUsIC5zdGF0cy0yY29sIGgzLCAuc3RhdHMtMmNvbCBoNCwgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgZHQsIC5zdGF0cy0yY29sIGg1LCAuc3RhdHMtMmNvbCBoNiB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBoNiwgLmg2IHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzFhMTkxOTsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogODEuMjVyZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItbGVmdDogbm9uZTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6ICNjZDRkMTA7IH1cblxuYWJiciwgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gZG90dGVkICMwMDA7XG4gIGN1cnNvcjogaGVscDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5rYmQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3RDJDQjtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTsgfVxuXG4uc3ViaGVhZGVyLCAuZXllYnJvdyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzZFNjI1OTsgfVxuXG4ubGVhZCwgLmhlcm8gcDpub3QoLmV5ZWJyb3cpLCAubGl2ZS1zdGF0cy13cmFwcGVyIGZpZ2NhcHRpb24ge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxudWwubm8tYnVsbGV0LCBvbC5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uY2l0ZS1ibG9jaywgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzIyMjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY2l0ZS1ibG9jazpiZWZvcmUsIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG4uY29kZS1pbmxpbmUsIGNvZGUge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNUU1MTREO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEMkNCO1xuICBmb250LWZhbWlseTogXCJPdmVycGFzcyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMzEyNXJlbSAwLjA2MjVyZW07IH1cblxuLmNvZGUtYmxvY2sge1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNUU1MTREO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEMkNCO1xuICBmb250LWZhbWlseTogXCJPdmVycGFzcyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5sYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNUU1MTREO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICAucHJpbnQtYnJlYWstaW5zaWRlIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bzsgfSB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogXCJQVCBTZXJpZlwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjRDdEMkNCO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuMDYyNXJlbSAjMDA3N0M4O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3RDJDQjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM4Mzc4NkY7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNjI1cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCwgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNEN0QyQ0I7XG4gIGJhY2tncm91bmQ6ICNmM2YwZWI7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbixcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNUU1MTREOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogXCJQVCBTZXJpZlwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgwLCAxMTksIDIwMCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMS4yNXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS44NzVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjRDdEMkNCO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuMDYyNXJlbSAjMDA3N0M4O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q3RDJDQjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICBzZWxlY3Q6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2JhMmUxNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZWFlODsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYmEyZTE2OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNiYTJlMTY7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjYmEyZTE2OyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC45cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cCAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLnNtYWxsIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmxhcmdlIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZmEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDRkMTA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E0M2UwZDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JhMmUxNjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk1MjUxMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMDA3N0M4O1xuICAgIGNvbG9yOiAjMDA3N0M4OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b246Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwM2M2NDtcbiAgICBjb2xvcjogIzAwM2M2NDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cucHJpbWFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ucHJpbWFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzAwNzdDODtcbiAgICBjb2xvcjogIzAwNzdDODsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnByaW1hcnkgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzAwM2M2NDtcbiAgICBjb2xvcjogIzAwM2M2NDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zZWNvbmRhcnkgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNjZDRkMTA7XG4gICAgY29sb3I6ICNjZDRkMTA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MjcwODtcbiAgICBjb2xvcjogIzY3MjcwODsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuc3VjY2VzcyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3NbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzNhZGI3NjtcbiAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24sIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cud2FybmluZyAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZ1tkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24ud2FybmluZy5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93Lndhcm5pbmcgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdy5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmhvbGxvdyAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5ob2xsb3cgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjYmEyZTE2O1xuICAgIGNvbG9yOiAjYmEyZTE2OyB9XG4gIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93LmFsZXJ0IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuaG9sbG93IC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzVkMTcwYjtcbiAgICBjb2xvcjogIzVkMTcwYjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDc3Qzg7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAzYzY0OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnByaW1hcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDc3Qzg7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIucHJpbWFyeSAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAzYzY0OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24sIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnNlY29uZGFyeSAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zZWNvbmRhcnkgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnksIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnkuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnlbZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc2Vjb25kYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeS5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnNlY29uZGFyeVtkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAjY2Q0ZDEwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGNvbG9yOiAjNjcyNzA4OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLnN1Y2Nlc3MgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2VzcywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuc3VjY2VzcyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyLndhcm5pbmcgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXSwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi53YXJuaW5nW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5jbGVhci53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIud2FybmluZyAuYnV0dG9uOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhci5hbGVydCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQuZGlzYWJsZWQsIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydFtkaXNhYmxlZF0sIC5idXR0b24tZ3JvdXAuY2xlYXIgLmJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0LmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnRbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogI2JhMmUxNjsgfVxuICAuYnV0dG9uLWdyb3VwLmNsZWFyLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuY2xlYXIuYWxlcnQgLmJ1dHRvbjpmb2N1cywgLmJ1dHRvbi1ncm91cC5jbGVhciAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLWdyb3VwLmNsZWFyIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgIGNvbG9yOiAjNWQxNzBiOyB9XG4gIC5idXR0b24tZ3JvdXAubm8tZ2FwcyAuYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjA2MjVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vLWdhcHMgLmJ1dHRvbiArIC5idXR0b24ge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZDo6YWZ0ZXIsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZDo6YWZ0ZXIsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkOjpiZWZvcmUsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMy43NXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0zLjc1cmVtOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSksIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAwLjYyNXJlbSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMy43NXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTMuNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTQuMTIzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMnJlbTtcbiAgcGFkZGluZzogMnJlbTtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDFlY2ZmOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTNkNzsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWRjZDY7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzgzNzg2RjtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5tZWRpdW0sIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQuc3F1YXJlLFxuICAuZmxleC12aWRlby5zcXVhcmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDAlOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiAjMDA3N0M4O1xuICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwNzdDODtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2Q0ZDEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2JhMmUxNjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNEN0QyQ0I7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMDA3N0M4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzVFNTE0RDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb250ZW50OiAnXFwyMDI2JztcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNjY2KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBvdXRsaW5lOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNUU1MTREO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIG1heC13aWR0aDogODEuMjVyZW07IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogODEuMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4MS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDgxLjI1cmVtOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJldmVhbC5tb2RhbC1wb3B1cCB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgICAucmV2ZWFsLm1vZGFsLXBvcHVwLmlzLW1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0Ym9keSxcbiAgdGZvb3QsXG4gIHRoZWFkIHtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjY2VjOGJmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YwZWI7IH1cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGZvb3QsXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWZlYWU0O1xuICAgIGNvbG9yOiAjODM3ODZGOyB9XG4gICAgdGZvb3QgdHIsXG4gICAgdGhlYWQgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB0Zm9vdCB0ZCxcbiAgICB0Zm9vdCB0aCxcbiAgICB0aGVhZCB0ZCxcbiAgICB0aGVhZCB0aCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSwgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQsIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNlMGRiOyB9XG4gIHRib2R5IHRkLFxuICB0Ym9keSB0aCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NC4xMjM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRkLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWJlNTsgfVxuXG50YWJsZS5ob3ZlciB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZGZkNTsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLWJvdHRvbTogI2NkNGQxMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNtYWxsLXZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgICAubGFyZ2UtZmxleCAudGFicy10aXRsZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gICAgICAubGFyZ2UtZmxleCAudGFicy10aXRsZSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAxLjA2MjVyZW0gMC4wOTM3NXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDAuMDYyNXJlbTsgfVxuICAgICAgICAubGFyZ2UtZmxleCAudGFicy10aXRsZSA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5sYXJnZS1mbGV4IC50YWJzLXRpdGxlID4gYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTsgfVxuICAgICAgLmxhcmdlLWZsZXggLnRhYnMtdGl0bGUgPiAuaXMtYWN0aXZlID4gYSxcbiAgICAgIC5sYXJnZS1mbGV4IC50YWJzLXRpdGxlID4gLmlzLWFjdGl2ZSA+IGE6Zm9jdXMsXG4gICAgICAubGFyZ2UtZmxleCAudGFicy10aXRsZSA+IC5pcy1hY3RpdmUgPiBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgI0ZGNUYxNDsgfSB9XG5cbi50YWJzID4gLnRhYnMtdGl0bGUgPiBhIHtcbiAgY29sb3I6ICM4Mzc4NkY7XG4gIGJvcmRlci1ib3R0b206ICNGRjVGMTQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAudGFicyA+IC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1NC4xMjM3NWVtKSB7XG4gICAgLnRhYnMgPiAudGFicy10aXRsZSA+IGEge1xuICAgICAgcGFkZGluZzogMS41cmVtOyB9IH1cbiAgLnRhYnMgPiAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzID4gLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjI1cmVtIHNvbGlkICNGRjVGMTQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjA2MjVyZW07IH1cblxuLnRhYnMgPiAuaXMtYWN0aXZlID4gYSxcbi50YWJzID4gLmlzLWFjdGl2ZSA+IGE6Zm9jdXMsXG4udGFicyA+IC5pcy1hY3RpdmUgPiBhOmhvdmVyLFxuLnRhYnMgPiAuaXMtYWN0aXZlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4yNXJlbSBzb2xpZCAjRkY1RjE0O1xuICBvdXRsaW5lOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMC4wNjI1cmVtOyB9XG5cbi50YWJzLXdyYXBwZXIgLnRhYnMge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuXG4udGFicy10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMDYyNXJlbSAxLjEyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyLCAudGFicy10aXRsZSA+IGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNjZDRkMTA7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2NkNGQxMDtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAgIC50YWJzLXRpdGxlID4gYS5pcy1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAgIC50YWJzLXRpdGxlID4gYS5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItbGVmdDogMS4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yaWdodDogMS4yNXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci10b3A6IDEuMjVyZW0gc29saWQgbm9uZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJvdHRvbTogLTEuMjVyZW07IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCBub25lO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSwgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAudGFicy1wYW5lbCAuYXJ0aWNsZXMtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwdnc7IH0gfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMDYyNXJlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMC4wNjI1cmVtIHJnYmEoMCwgMTE5LCAyMDAsIDAuNSk7IH1cbiAgYS50aHVtYm5haWwgaW1hZ2Uge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1NC4xMjM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0LjA2MjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU0LjA2MjVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogYmx1ZSBzb2xpZCAycHg7XG4gIGNsaXA6IGF1dG87XG4gIGNsaXAtcGF0aDogbm9uZTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmU7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5hbGlnbi1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tbGVmdC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1yaWdodC52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyLnZlcnRpY2FsLm1lbnUgPiBsaSA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsZXgtY2hpbGQtYXV0byB7XG4gIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5mbGV4LWNoaWxkLWdyb3cge1xuICBmbGV4OiAxIDAgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1zaHJpbmsge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuXG4uZmxleC1kaXItcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4uZmxleC1kaXItcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmZsZXgtZGlyLWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLmZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tZmxleC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVkaXVtLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1ncm93IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgLmxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW5vd3JhcCwgLm5vLXdyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1oaWRlIHtcbiAgICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXRleHQtdHJ1bmNhdGUge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS10ZXh0LW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tdGV4dC13cmFwIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtdGV4dC1oaWRlIHtcbiAgICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC10cnVuY2F0ZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC1ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC13cmFwIHtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDsgfSB9XG5cbi50ZXh0LWNhcGl0YWxpemUsIC5jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXRleHQtY2FwaXRhbGl6ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtdGV4dC1jYXBpdGFsaXplIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9IH1cblxuLnRleHQtb3ZlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lICFpbXBvcnRhbnQ7IH1cblxuLnRleHQtdW5kZXJsaW5lIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuXG4udGV4dC1saW5lLXRocm91Z2gge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1vdmVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tdGV4dC11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS10ZXh0LWxpbmUtdGhyb3VnaCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2ggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtdGV4dC1vdmVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBvdmVybGluZSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS10ZXh0LXVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtdGV4dC1saW5lLXRocm91Z2gge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoICFpbXBvcnRhbnQ7IH0gfVxuXG4uZm9udC13aWRlIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cblxuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZvbnQtd2lkZSB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cbiAgLm1lZGl1bS1mb250LW5vcm1hbCB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAubWVkaXVtLWZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubWVkaXVtLWZvbnQtaXRhbGljIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtZm9udC13aWRlIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMDsgfVxuICAubGFyZ2UtZm9udC1ub3JtYWwge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmxhcmdlLWZvbnQtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubGFyZ2UtZm9udC1pdGFsaWMge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50OyB9IH1cblxudWwubGlzdC1kaXNjIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7IH1cblxudWwubGlzdC1jaXJjbGUge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZSAhaW1wb3J0YW50OyB9XG5cbnVsLmxpc3Qtc3F1YXJlIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICB1bC5tZWRpdW0tbGlzdC1kaXNjIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWltcG9ydGFudDsgfVxuICB1bC5tZWRpdW0tbGlzdC1jaXJjbGUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlICFpbXBvcnRhbnQ7IH1cbiAgdWwubWVkaXVtLWxpc3Qtc3F1YXJlIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIHVsLmxhcmdlLWxpc3QtZGlzYyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7IH1cbiAgdWwubGFyZ2UtbGlzdC1jaXJjbGUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlICFpbXBvcnRhbnQ7IH1cbiAgdWwubGFyZ2UtbGlzdC1zcXVhcmUge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlICFpbXBvcnRhbnQ7IH0gfVxuXG5vbC5saXN0LWRlY2ltYWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LWxvd2VyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYSAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtbG93ZXItbGF0aW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC1sb3dlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW4gIWltcG9ydGFudDsgfVxuXG5vbC5saXN0LXVwcGVyLWFscGhhIHtcbiAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYSAhaW1wb3J0YW50OyB9XG5cbm9sLmxpc3QtdXBwZXItbGF0aW4ge1xuICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWxhdGluICFpbXBvcnRhbnQ7IH1cblxub2wubGlzdC11cHBlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW4gIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBvbC5tZWRpdW0tbGlzdC1kZWNpbWFsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWwgIWltcG9ydGFudDsgfVxuICBvbC5tZWRpdW0tbGlzdC1sb3dlci1hbHBoYSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYSAhaW1wb3J0YW50OyB9XG4gIG9sLm1lZGl1bS1saXN0LWxvd2VyLWxhdGluIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluICFpbXBvcnRhbnQ7IH1cbiAgb2wubWVkaXVtLWxpc3QtbG93ZXItcm9tYW4ge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW4gIWltcG9ydGFudDsgfVxuICBvbC5tZWRpdW0tbGlzdC11cHBlci1hbHBoYSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYSAhaW1wb3J0YW50OyB9XG4gIG9sLm1lZGl1bS1saXN0LXVwcGVyLWxhdGluIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWxhdGluICFpbXBvcnRhbnQ7IH1cbiAgb2wubWVkaXVtLWxpc3QtdXBwZXItcm9tYW4ge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItcm9tYW4gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICBvbC5sYXJnZS1saXN0LWRlY2ltYWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbCAhaW1wb3J0YW50OyB9XG4gIG9sLmxhcmdlLWxpc3QtbG93ZXItYWxwaGEge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGEgIWltcG9ydGFudDsgfVxuICBvbC5sYXJnZS1saXN0LWxvd2VyLWxhdGluIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWxhdGluICFpbXBvcnRhbnQ7IH1cbiAgb2wubGFyZ2UtbGlzdC1sb3dlci1yb21hbiB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbiAhaW1wb3J0YW50OyB9XG4gIG9sLmxhcmdlLWxpc3QtdXBwZXItYWxwaGEge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogdXBwZXItYWxwaGEgIWltcG9ydGFudDsgfVxuICBvbC5sYXJnZS1saXN0LXVwcGVyLWxhdGluIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWxhdGluICFpbXBvcnRhbnQ7IH1cbiAgb2wubGFyZ2UtbGlzdC11cHBlci1yb21hbiB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbiAhaW1wb3J0YW50OyB9IH1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDsgfVxuICAucm91bmRlZCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucm91bmRlZCAuc3dpdGNoLXBhZGRsZTphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLnJhZGl1cyB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMDBweCAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1yYWRpdXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbTsgfSB9XG5cbi5zaGFkb3cge1xuICBib3gtc2hhZG93OiAwIDAuMzEyNXJlbSAxLjI1cmVtIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMCAwLjMxMjVyZW0gMS4yNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLXNoYWRvdyB7XG4gICAgYm94LXNoYWRvdzogMCAwLjMxMjVyZW0gMS4yNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH0gfVxuXG4uYXJyb3ctZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDAuNDM3NXJlbTtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmFycm93LXVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDsgfVxuXG4uYXJyb3ctcmlnaHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAwLjQzNzVyZW07XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwOyB9XG5cbi5hcnJvdy1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgMC40Mzc1cmVtO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZGlzcGxheS1pbmxpbmUsIC50ZXh0LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LWJsb2NrLCAubGluZS1icmVhayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmRpc3BsYXktdGFibGUge1xuICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG5cbi5kaXNwbGF5LXRhYmxlLWNlbGwge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tZGlzcGxheS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLWRpc3BsYXktdGFibGUtY2VsbCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtZGlzcGxheS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtZGlzcGxheS10YWJsZS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG4ucG9zaXRpb24tc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi5wb3NpdGlvbi1maXhlZC10b3Age1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1OyB9XG5cbi5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgei1pbmRleDogOTc1OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcG9zaXRpb24tc3RhdGljIHtcbiAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wb3NpdGlvbi1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wb3NpdGlvbi1maXhlZC10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHRvcDogMHJlbSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDk3NTsgfVxuICAubWVkaXVtLXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgICBib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogOTc1OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1wb3NpdGlvbi1zdGF0aWMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcG9zaXRpb24tcmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBvc2l0aW9uLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDByZW0gIWltcG9ydGFudDtcbiAgICByaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDByZW0gIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiA5NzU7IH1cbiAgLmxhcmdlLXBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgICBib3R0b206IDByZW0gIWltcG9ydGFudDtcbiAgICBsZWZ0OiAwcmVtICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogOTc1OyB9IH1cblxuLmJvcmRlci1ub25lIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1ib3JkZXItbm9uZSB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLWJvcmRlci1ub25lIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi53aWR0aC0yNSB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuXG4ud2lkdGgtNTAge1xuICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cblxuLndpZHRoLTc1IHtcbiAgd2lkdGg6IDc1JSAhaW1wb3J0YW50OyB9XG5cbi53aWR0aC0xMDAge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtMjUge1xuICBoZWlnaHQ6IDI1JSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtNTAge1xuICBoZWlnaHQ6IDUwJSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtNzUge1xuICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50OyB9XG5cbi5oZWlnaHQtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLm1heC13aWR0aC0xMDAge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ubWF4LWhlaWdodC0xMDAge1xuICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS13aWR0aC0yNSB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0td2lkdGgtNTAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXdpZHRoLTc1IHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS13aWR0aC0xMDAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1oZWlnaHQtMjUge1xuICAgIGhlaWdodDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1oZWlnaHQtNTAge1xuICAgIGhlaWdodDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1oZWlnaHQtNzUge1xuICAgIGhlaWdodDogNzUlICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1oZWlnaHQtMTAwIHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2Utd2lkdGgtMjUge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utd2lkdGgtNTAge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utd2lkdGgtNzUge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDsgfVxuICAubGFyZ2Utd2lkdGgtMTAwIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1oZWlnaHQtMjUge1xuICAgIGhlaWdodDogMjUlICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLWhlaWdodC01MCB7XG4gICAgaGVpZ2h0OiA1MCUgIWltcG9ydGFudDsgfVxuICAubGFyZ2UtaGVpZ2h0LTc1IHtcbiAgICBoZWlnaHQ6IDc1JSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1oZWlnaHQtMTAwIHtcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi5tYXJnaW4tMCB7XG4gIG1hcmdpbjogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0wIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMCB7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTAge1xuICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTAge1xuICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0wIHtcbiAgcGFkZGluZzogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0wIHtcbiAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0wIHtcbiAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0wIHtcbiAgcGFkZGluZy1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTAge1xuICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTAge1xuICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTAge1xuICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMSB7XG4gIG1hcmdpbjogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0xIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMSB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTEge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTEge1xuICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0xIHtcbiAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0xIHtcbiAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0xIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0xIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTEge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTEge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTEge1xuICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMiB7XG4gIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0yIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTIge1xuICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTIge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0yIHtcbiAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0yIHtcbiAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0yIHtcbiAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTIge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTIge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTIge1xuICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tMyB7XG4gIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC0zIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tMyB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTMge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTMge1xuICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy0zIHtcbiAgcGFkZGluZzogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC0zIHtcbiAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC0zIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS0zIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTMge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTMge1xuICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTMge1xuICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tNCB7XG4gIG1hcmdpbjogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTQge1xuICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC00IHtcbiAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tNCB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtNCB7XG4gIG1hcmdpbi1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTQge1xuICBtYXJnaW4tcmlnaHQ6IDRyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTQge1xuICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy00IHtcbiAgcGFkZGluZzogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC00IHtcbiAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC00IHtcbiAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS00IHtcbiAgcGFkZGluZy1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTQge1xuICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTQge1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTQge1xuICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tNSB7XG4gIG1hcmdpbjogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTUge1xuICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC01IHtcbiAgbWFyZ2luLXJpZ2h0OiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tNSB7XG4gIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA1cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTUge1xuICBtYXJnaW4tcmlnaHQ6IDVyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTUge1xuICBtYXJnaW4tdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy01IHtcbiAgcGFkZGluZzogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC01IHtcbiAgcGFkZGluZy10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC01IHtcbiAgcGFkZGluZy1yaWdodDogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS01IHtcbiAgcGFkZGluZy1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTUge1xuICBwYWRkaW5nLWxlZnQ6IDVyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTUge1xuICBwYWRkaW5nLXJpZ2h0OiA1cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTUge1xuICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tNiB7XG4gIG1hcmdpbjogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTYge1xuICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC02IHtcbiAgbWFyZ2luLXJpZ2h0OiA2cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tNiB7XG4gIG1hcmdpbi1ib3R0b206IDZyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA2cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTYge1xuICBtYXJnaW4tcmlnaHQ6IDZyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDZyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTYge1xuICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy02IHtcbiAgcGFkZGluZzogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC02IHtcbiAgcGFkZGluZy10b3A6IDZyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC02IHtcbiAgcGFkZGluZy1yaWdodDogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS02IHtcbiAgcGFkZGluZy1ib3R0b206IDZyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTYge1xuICBwYWRkaW5nLWxlZnQ6IDZyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTYge1xuICBwYWRkaW5nLXJpZ2h0OiA2cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTYge1xuICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogNnJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tNyB7XG4gIG1hcmdpbjogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTcge1xuICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC03IHtcbiAgbWFyZ2luLXJpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tNyB7XG4gIG1hcmdpbi1ib3R0b206IDdyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA3cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTcge1xuICBtYXJnaW4tcmlnaHQ6IDdyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTcge1xuICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDdyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy03IHtcbiAgcGFkZGluZzogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC03IHtcbiAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC03IHtcbiAgcGFkZGluZy1yaWdodDogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS03IHtcbiAgcGFkZGluZy1ib3R0b206IDdyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTcge1xuICBwYWRkaW5nLWxlZnQ6IDdyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTcge1xuICBwYWRkaW5nLXJpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTcge1xuICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tOCB7XG4gIG1hcmdpbjogOHJlbSAhaW1wb3J0YW50OyB9XG5cbi5tYXJnaW4tdG9wLTgge1xuICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1yaWdodC04IHtcbiAgbWFyZ2luLXJpZ2h0OiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ib3R0b20tOCB7XG4gIG1hcmdpbi1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLWxlZnQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA4cmVtICFpbXBvcnRhbnQ7IH1cblxuLm1hcmdpbi1ob3Jpem9udGFsLTgge1xuICBtYXJnaW4tcmlnaHQ6IDhyZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDhyZW0gIWltcG9ydGFudDsgfVxuXG4ubWFyZ2luLXZlcnRpY2FsLTgge1xuICBtYXJnaW4tdG9wOiA4cmVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy04IHtcbiAgcGFkZGluZzogOHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXRvcC04IHtcbiAgcGFkZGluZy10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1yaWdodC04IHtcbiAgcGFkZGluZy1yaWdodDogOHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLWJvdHRvbS04IHtcbiAgcGFkZGluZy1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1sZWZ0LTgge1xuICBwYWRkaW5nLWxlZnQ6IDhyZW0gIWltcG9ydGFudDsgfVxuXG4ucGFkZGluZy1ob3Jpem9udGFsLTgge1xuICBwYWRkaW5nLXJpZ2h0OiA4cmVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogOHJlbSAhaW1wb3J0YW50OyB9XG5cbi5wYWRkaW5nLXZlcnRpY2FsLTgge1xuICBwYWRkaW5nLXRvcDogOHJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogOHJlbSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLTAge1xuICAgIG1hcmdpbjogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXRvcC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tcmlnaHQtMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tYm90dG9tLTAge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1sZWZ0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4taG9yaXpvbnRhbC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXZlcnRpY2FsLTAge1xuICAgIG1hcmdpbi10b3A6IDByZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLTAge1xuICAgIHBhZGRpbmc6IDByZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctdG9wLTAge1xuICAgIHBhZGRpbmctdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXJpZ2h0LTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctYm90dG9tLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWxlZnQtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWhvcml6b250YWwtMCB7XG4gICAgcGFkZGluZy1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy12ZXJ0aWNhbC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi0wIHtcbiAgICBtYXJnaW46IDByZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXRvcC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1yaWdodC0wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDByZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWJvdHRvbS0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1sZWZ0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1ob3Jpem9udGFsLTAge1xuICAgIG1hcmdpbi1yaWdodDogMHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi12ZXJ0aWNhbC0wIHtcbiAgICBtYXJnaW4tdG9wOiAwcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLTAge1xuICAgIHBhZGRpbmc6IDByZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy10b3AtMCB7XG4gICAgcGFkZGluZy10b3A6IDByZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1yaWdodC0wIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctYm90dG9tLTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctbGVmdC0wIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi0xIHtcbiAgICBtYXJnaW46IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi10b3AtMSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXJpZ2h0LTEge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWJvdHRvbS0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tbGVmdC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWhvcml6b250YWwtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi12ZXJ0aWNhbC0xIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy0xIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXRvcC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1yaWdodC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWJvdHRvbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1sZWZ0LTEge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1ob3Jpem9udGFsLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctdmVydGljYWwtMSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tMSB7XG4gICAgbWFyZ2luOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi10b3AtMSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tcmlnaHQtMSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1ib3R0b20tMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tbGVmdC0xIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4taG9yaXpvbnRhbC0xIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tdmVydGljYWwtMSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy0xIHtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctdG9wLTEge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctcmlnaHQtMSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWJvdHRvbS0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWxlZnQtMSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbC0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctdmVydGljYWwtMSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tMiB7XG4gICAgbWFyZ2luOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tdG9wLTIge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1yaWdodC0yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1ib3R0b20tMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWxlZnQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1ob3Jpem9udGFsLTIge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tdmVydGljYWwtMiB7XG4gICAgbWFyZ2luLXRvcDogMnJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctMiB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy10b3AtMiB7XG4gICAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctcmlnaHQtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1ib3R0b20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctbGVmdC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctaG9yaXpvbnRhbC0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXZlcnRpY2FsLTIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLTIge1xuICAgIG1hcmdpbjogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tdG9wLTIge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXJpZ2h0LTIge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tYm90dG9tLTIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWxlZnQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWhvcml6b250YWwtMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXZlcnRpY2FsLTIge1xuICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctMiB7XG4gICAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXRvcC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXJpZ2h0LTIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1ib3R0b20tMiB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1sZWZ0LTIge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWhvcml6b250YWwtMiB7XG4gICAgcGFkZGluZy1yaWdodDogMnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLTIge1xuICAgIHBhZGRpbmctdG9wOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLTMge1xuICAgIG1hcmdpbjogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXRvcC0zIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tcmlnaHQtMyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tYm90dG9tLTMge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1sZWZ0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4taG9yaXpvbnRhbC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXZlcnRpY2FsLTMge1xuICAgIG1hcmdpbi10b3A6IDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLTMge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctdG9wLTMge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXJpZ2h0LTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctYm90dG9tLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWxlZnQtMyB7XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWhvcml6b250YWwtMyB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy12ZXJ0aWNhbC0zIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi0zIHtcbiAgICBtYXJnaW46IDNyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXRvcC0zIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1yaWdodC0zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWJvdHRvbS0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1sZWZ0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1ob3Jpem9udGFsLTMge1xuICAgIG1hcmdpbi1yaWdodDogM3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi12ZXJ0aWNhbC0zIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLTMge1xuICAgIHBhZGRpbmc6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy10b3AtMyB7XG4gICAgcGFkZGluZy10b3A6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1yaWdodC0zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctYm90dG9tLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctbGVmdC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsLTMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC0zIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi00IHtcbiAgICBtYXJnaW46IDRyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi10b3AtNCB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXJpZ2h0LTQge1xuICAgIG1hcmdpbi1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWJvdHRvbS00IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tbGVmdC00IHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWhvcml6b250YWwtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi12ZXJ0aWNhbC00IHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy00IHtcbiAgICBwYWRkaW5nOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXRvcC00IHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1yaWdodC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWJvdHRvbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1sZWZ0LTQge1xuICAgIHBhZGRpbmctbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1ob3Jpem9udGFsLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctdmVydGljYWwtNCB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tNCB7XG4gICAgbWFyZ2luOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi10b3AtNCB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tcmlnaHQtNCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1ib3R0b20tNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tbGVmdC00IHtcbiAgICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4taG9yaXpvbnRhbC00IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tdmVydGljYWwtNCB7XG4gICAgbWFyZ2luLXRvcDogNHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDRyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy00IHtcbiAgICBwYWRkaW5nOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctdG9wLTQge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctcmlnaHQtNCB7XG4gICAgcGFkZGluZy1yaWdodDogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWJvdHRvbS00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWxlZnQtNCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbC00IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctdmVydGljYWwtNCB7XG4gICAgcGFkZGluZy10b3A6IDRyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tNSB7XG4gICAgbWFyZ2luOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tdG9wLTUge1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1yaWdodC01IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1ib3R0b20tNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWxlZnQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1ob3Jpem9udGFsLTUge1xuICAgIG1hcmdpbi1yaWdodDogNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tdmVydGljYWwtNSB7XG4gICAgbWFyZ2luLXRvcDogNXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctNSB7XG4gICAgcGFkZGluZzogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy10b3AtNSB7XG4gICAgcGFkZGluZy10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctcmlnaHQtNSB7XG4gICAgcGFkZGluZy1yaWdodDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1ib3R0b20tNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctbGVmdC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctaG9yaXpvbnRhbC01IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXZlcnRpY2FsLTUge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLTUge1xuICAgIG1hcmdpbjogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tdG9wLTUge1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXJpZ2h0LTUge1xuICAgIG1hcmdpbi1yaWdodDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tYm90dG9tLTUge1xuICAgIG1hcmdpbi1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWxlZnQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWhvcml6b250YWwtNSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXZlcnRpY2FsLTUge1xuICAgIG1hcmdpbi10b3A6IDVyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctNSB7XG4gICAgcGFkZGluZzogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXRvcC01IHtcbiAgICBwYWRkaW5nLXRvcDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXJpZ2h0LTUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1ib3R0b20tNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1sZWZ0LTUge1xuICAgIHBhZGRpbmctbGVmdDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWhvcml6b250YWwtNSB7XG4gICAgcGFkZGluZy1yaWdodDogNXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNXJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLTUge1xuICAgIHBhZGRpbmctdG9wOiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDVyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLTYge1xuICAgIG1hcmdpbjogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXRvcC02IHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tcmlnaHQtNiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tYm90dG9tLTYge1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1sZWZ0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4taG9yaXpvbnRhbC02IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXZlcnRpY2FsLTYge1xuICAgIG1hcmdpbi10b3A6IDZyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLTYge1xuICAgIHBhZGRpbmc6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctdG9wLTYge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXJpZ2h0LTYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctYm90dG9tLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWxlZnQtNiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWhvcml6b250YWwtNiB7XG4gICAgcGFkZGluZy1yaWdodDogNnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy12ZXJ0aWNhbC02IHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi02IHtcbiAgICBtYXJnaW46IDZyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXRvcC02IHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1yaWdodC02IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWJvdHRvbS02IHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1sZWZ0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1ob3Jpem9udGFsLTYge1xuICAgIG1hcmdpbi1yaWdodDogNnJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi12ZXJ0aWNhbC02IHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLTYge1xuICAgIHBhZGRpbmc6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy10b3AtNiB7XG4gICAgcGFkZGluZy10b3A6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1yaWdodC02IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctYm90dG9tLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctbGVmdC02IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsLTYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDZyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDZyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC02IHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi03IHtcbiAgICBtYXJnaW46IDdyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi10b3AtNyB7XG4gICAgbWFyZ2luLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLXJpZ2h0LTcge1xuICAgIG1hcmdpbi1yaWdodDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWJvdHRvbS03IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tbGVmdC03IHtcbiAgICBtYXJnaW4tbGVmdDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWhvcml6b250YWwtNyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDdyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi12ZXJ0aWNhbC03IHtcbiAgICBtYXJnaW4tdG9wOiA3cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy03IHtcbiAgICBwYWRkaW5nOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXRvcC03IHtcbiAgICBwYWRkaW5nLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1yaWdodC03IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLWJvdHRvbS03IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1sZWZ0LTcge1xuICAgIHBhZGRpbmctbGVmdDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1ob3Jpem9udGFsLTcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDdyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDdyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctdmVydGljYWwtNyB7XG4gICAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tNyB7XG4gICAgbWFyZ2luOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi10b3AtNyB7XG4gICAgbWFyZ2luLXRvcDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tcmlnaHQtNyB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLW1hcmdpbi1ib3R0b20tNyB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tbGVmdC03IHtcbiAgICBtYXJnaW4tbGVmdDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4taG9yaXpvbnRhbC03IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDdyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tdmVydGljYWwtNyB7XG4gICAgbWFyZ2luLXRvcDogN3JlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDdyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy03IHtcbiAgICBwYWRkaW5nOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctdG9wLTcge1xuICAgIHBhZGRpbmctdG9wOiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctcmlnaHQtNyB7XG4gICAgcGFkZGluZy1yaWdodDogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWJvdHRvbS03IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWxlZnQtNyB7XG4gICAgcGFkZGluZy1sZWZ0OiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbC03IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA3cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctdmVydGljYWwtNyB7XG4gICAgcGFkZGluZy10b3A6IDdyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogN3JlbSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tOCB7XG4gICAgbWFyZ2luOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tdG9wLTgge1xuICAgIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1yaWdodC04IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1ib3R0b20tOCB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tbWFyZ2luLWxlZnQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLW1hcmdpbi1ob3Jpem9udGFsLTgge1xuICAgIG1hcmdpbi1yaWdodDogOHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1tYXJnaW4tdmVydGljYWwtOCB7XG4gICAgbWFyZ2luLXRvcDogOHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctOCB7XG4gICAgcGFkZGluZzogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy10b3AtOCB7XG4gICAgcGFkZGluZy10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctcmlnaHQtOCB7XG4gICAgcGFkZGluZy1yaWdodDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5tZWRpdW0tcGFkZGluZy1ib3R0b20tOCB7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctbGVmdC04IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXBhZGRpbmctaG9yaXpvbnRhbC04IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLm1lZGl1bS1wYWRkaW5nLXZlcnRpY2FsLTgge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLTgge1xuICAgIG1hcmdpbjogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tdG9wLTgge1xuICAgIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXJpZ2h0LTgge1xuICAgIG1hcmdpbi1yaWdodDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1tYXJnaW4tYm90dG9tLTgge1xuICAgIG1hcmdpbi1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWxlZnQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLWhvcml6b250YWwtOCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtbWFyZ2luLXZlcnRpY2FsLTgge1xuICAgIG1hcmdpbi10b3A6IDhyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXBhZGRpbmctOCB7XG4gICAgcGFkZGluZzogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXRvcC04IHtcbiAgICBwYWRkaW5nLXRvcDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXJpZ2h0LTgge1xuICAgIHBhZGRpbmctcmlnaHQ6IDhyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1ib3R0b20tOCB7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfVxuICAubGFyZ2UtcGFkZGluZy1sZWZ0LTgge1xuICAgIHBhZGRpbmctbGVmdDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLWhvcml6b250YWwtOCB7XG4gICAgcGFkZGluZy1yaWdodDogOHJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogOHJlbSAhaW1wb3J0YW50OyB9XG4gIC5sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLTgge1xuICAgIHBhZGRpbmctdG9wOiA4cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDhyZW0gIWltcG9ydGFudDsgfSB9XG5cbi8qIE5vbi1Gb3VuZGF0aW9uIEluY2x1ZGVzICovXG4uY2Y6OmJlZm9yZSwgLmNmOjphZnRlcixcbi5jbGVhcmZpeDo6YmVmb3JlLFxuLmNsZWFyZml4OjphZnRlcixcbi5ncm91cDo6YmVmb3JlLFxuLmdyb3VwOjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiAnICc7IH1cblxuLmNmOjphZnRlcixcbi5jbGVhcmZpeDo6YWZ0ZXIsXG4uZ3JvdXA6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxvZ28gc3ZnIHtcbiAgZmlsbDogI0ZGNUYxNDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRyYW5zaXRpb246IGZpbGwgMjUwbXMgZWFzZTsgfVxuXG4ubG9nbyB7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubG9nbzpmb2N1cyB7XG4gICAgb3V0bGluZTogMC4xMjVyZW0gc29saWQgIzAwNzdDODtcbiAgICBvdXRsaW5lLW9mZnNldDogMC4zMTI1cmVtOyB9XG4gIC5sb2dvOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAubG9nbzpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubG9nbzpob3ZlciBzdmcge1xuICAgICAgZmlsbDogI2ZmZjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucGFuZWwtdHdvLXN2Zy1sb2dvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07IH0gfVxuXG4ucGFuZWwtdHdvLXN2Zy1sb2dvIGltZyB7XG4gIHdpZHRoOiA3NSU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFuZWwtdHdvLXN2Zy1sb2dvIGltZyB7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zaXRlLWhlYWRlciAuZ3JpZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udG9wLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLnRvcC1uYXYuaGFzLXNuYXAtcGFuZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAudG9wLW5hdiAuZ3JpZC1jb250YWluZXIsXG4gIC50b3AtbmF2IC5yb3cge1xuICAgIG1heC13aWR0aDogODcuNXJlbTsgfVxuICAudG9wLW5hdjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudG9wLW5hdiB1bC5tZW51IGxpIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnRvcC1uYXYgdWwubWVudSBsaSBsaSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC50b3AtbmF2IHVsLm1lbnUgbGkgLnN1YmhlYWRpbmcge1xuICAgICAgY29sb3I6ICNGRjVGMTQ7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lbnUtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFhMTkxOTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLm1lbnUtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubWVudS1iYXI6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLm1lbnUtYmFyLmFjdGl2ZSwgLm1lbnUtYmFyLmlzLWFjdGl2ZSwgLm1lbnUtYmFyLmlzLXN0dWNrLCAubWVudS1iYXI6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5tZW51LWJhci5oYXMtc25hcC1wYW5lbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWVudS1iYXIuaGFzLXNuYXAtcGFuZWwuYWN0aXZlLCAubWVudS1iYXIuaGFzLXNuYXAtcGFuZWwuaXMtYWN0aXZlLCAubWVudS1iYXIuaGFzLXNuYXAtcGFuZWwuaXMtc3R1Y2ssIC5tZW51LWJhci5oYXMtc25hcC1wYW5lbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI2LCAyNSwgMjUsIDAuOTUpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgICAgICAubWVudS1iYXIuaGFzLXNuYXAtcGFuZWwuYWN0aXZlLCAubWVudS1iYXIuaGFzLXNuYXAtcGFuZWwuaXMtYWN0aXZlLCAubWVudS1iYXIuaGFzLXNuYXAtcGFuZWwuaXMtc3R1Y2ssIC5tZW51LWJhci5oYXMtc25hcC1wYW5lbDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNiwgMjUsIDI1LCAwLjgpOyB9IH1cbiAgLm1lbnUtYmFyIG9sLFxuICAubWVudS1iYXIgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gIC5tZW51LWJhciBhLFxuICAubWVudS1iYXIgYnV0dG9uIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gICAgLm1lbnUtYmFyIGEuYWN0aXZlLCAubWVudS1iYXIgYS5pcy1hY3RpdmUsIC5tZW51LWJhciBhOmFjdGl2ZSwgLm1lbnUtYmFyIGE6Zm9jdXMsIC5tZW51LWJhciBhOmhvdmVyLFxuICAgIC5tZW51LWJhciBidXR0b24uYWN0aXZlLFxuICAgIC5tZW51LWJhciBidXR0b24uaXMtYWN0aXZlLFxuICAgIC5tZW51LWJhciBidXR0b246YWN0aXZlLFxuICAgIC5tZW51LWJhciBidXR0b246Zm9jdXMsXG4gICAgLm1lbnUtYmFyIGJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGOEYxQztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7IH1cbiAgICAuY291bnRyeS1zZWxlY3RvciBhOm5vdCguYnV0dG9uKS5pcy1hY3RpdmUsIC5jb3VudHJ5LXNlbGVjdG9yIGE6bm90KC5idXR0b24pOmFjdGl2ZSwgLmNvdW50cnktc2VsZWN0b3IgYTpub3QoLmJ1dHRvbik6Zm9jdXMsIC5jb3VudHJ5LXNlbGVjdG9yIGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIC5jb3VudHJ5LXNlbGVjdG9yIGJ1dHRvbi5pcy1hY3RpdmUsXG4gICAgLmNvdW50cnktc2VsZWN0b3IgYnV0dG9uOmFjdGl2ZSxcbiAgICAuY291bnRyeS1zZWxlY3RvciBidXR0b246Zm9jdXMsXG4gICAgLmNvdW50cnktc2VsZWN0b3IgYnV0dG9uOmhvdmVyLFxuICAgIC53aWRlc2NyZWVuLW1lbnUgYTpub3QoLmJ1dHRvbikuaXMtYWN0aXZlLFxuICAgIC53aWRlc2NyZWVuLW1lbnUgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIC53aWRlc2NyZWVuLW1lbnUgYTpub3QoLmJ1dHRvbik6Zm9jdXMsXG4gICAgLndpZGVzY3JlZW4tbWVudSBhOm5vdCguYnV0dG9uKTpob3ZlcixcbiAgICAud2lkZXNjcmVlbi1tZW51IGJ1dHRvbi5pcy1hY3RpdmUsXG4gICAgLndpZGVzY3JlZW4tbWVudSBidXR0b246YWN0aXZlLFxuICAgIC53aWRlc2NyZWVuLW1lbnUgYnV0dG9uOmZvY3VzLFxuICAgIC53aWRlc2NyZWVuLW1lbnUgYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTpub3QoLmJ1dHRvbikuaXMtYWN0aXZlLCAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOm5vdCguYnV0dG9uKTphY3RpdmUsIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6bm90KC5idXR0b24pOmZvY3VzLCAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOm5vdCguYnV0dG9uKTpob3ZlcixcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBidXR0b24uaXMtYWN0aXZlLFxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGJ1dHRvbjphY3RpdmUsXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYnV0dG9uOmZvY3VzLFxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGJ1dHRvbjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLm1lbnUtYmFyIGJ1dHRvbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLm1lbnUtYmFyIC50b3AtYmFyLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLm1lbnUtYmFyIC5zaXRlLXRpdGxlIHtcbiAgICBoZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1lbnUtYmFyIC5tZW51LXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTg3NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDI1MG1zIGVhc2U7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tZW51LWJhciAubWVudS10b2dnbGU6OmFmdGVyLCAubWVudS1iYXIgLm1lbnUtdG9nZ2xlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLCBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7IH1cbiAgICAubWVudS1iYXIgLm1lbnUtdG9nZ2xlOmFjdGl2ZSwgLm1lbnUtYmFyIC5tZW51LXRvZ2dsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAubWVudS1iYXIgLm1lbnUtdG9nZ2xlLmluYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMTg3NXJlbSBzb2xpZCAjRkY1RjE0O1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAyNTBtcyBlYXNlOyB9XG4gICAgICAubWVudS1iYXIgLm1lbnUtdG9nZ2xlLmluYWN0aXZlOjphZnRlciwgLm1lbnUtYmFyIC5tZW51LXRvZ2dsZS5pbmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAwLjE4NzVyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRkY1RjE0OyB9XG4gICAgICAubWVudS1iYXIgLm1lbnUtdG9nZ2xlLmluYWN0aXZlOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgICAgIC5tZW51LWJhciAubWVudS10b2dnbGUuaW5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLm1lbnUtYmFyIC5tZW51LXRvZ2dsZS5pcy1hY3RpdmU6YWZ0ZXIsIC5tZW51LWJhciAubWVudS10b2dnbGUuaXMtYWN0aXZlOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDAuMTg3NXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLCBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7IH1cbiAgICAubWVudS1iYXIgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgLm1lbnUtYmFyIC5tZW51LXRvZ2dsZS5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NC4xMjM3NWVtKSB7XG4gICAgLm1lbnUtYmFyIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgICAubWVudS1iYXIgLm1lbnUtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAubWVudS1iYXIgLnRvdWNoc2NyZWVuLW1lbnUge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAgIC5hY2NvcmRpb24gPiBsaSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgcmdiYSg5NCwgODEsIDc3LCAwLjUpO1xuICAgICAgcGFkZGluZzogMXJlbSAwOyB9XG4gICAgICAuYWNjb3JkaW9uID4gbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYWNjb3JkaW9uID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IGluc2V0IDRweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICNEN0QyQ0IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAubWVudS1iYXIgLnNpdGUtdGl0bGUge1xuICAgICAgdG9wOiAwLjU2MjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAzOyB9XG4gICAgLm1lbnUtYmFyIC53aWRlc2NyZWVuLW1lbnUge1xuICAgICAgbWFyZ2luOiAxLjMzcmVtIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5tZW51ID4gbGkgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTsgfVxuICAgICAgLm1lbnUtYmFyIC53aWRlc2NyZWVuLW1lbnUgLm1lbnUgYSxcbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5tZW51IGJ1dHRvbiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgIC5uby1qcyAubWVudS1iYXIgLndpZGVzY3JlZW4tbWVudSAubWVudSB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5tZW51LWNlbnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAubWVudS1iYXIgLndpZGVzY3JlZW4tbWVudSBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLm1lbnUtYmFyIC53aWRlc2NyZWVuLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCAuZG93bi1hcnJvdyB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgLm1lbnUtYmFyIC53aWRlc2NyZWVuLW1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IC5kb3duLWFycm93OjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA0cHg7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0Q3RDJDQiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCAuZG93bi1hcnJvdy5iZWxvdzo6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdG9wOiA3NSU7IH1cbiAgICAgICAgICAubWVudS1iYXIgLndpZGVzY3JlZW4tbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgLmRvd24tYXJyb3cuYWZ0ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gICAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC50b3AtbGV2ZWwtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMCAwLjYyNXJlbTsgfVxuICAgICAgICAubWVudS1iYXIgLndpZGVzY3JlZW4tbWVudSAudG9wLWxldmVsLWl0ZW0gPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMC42MjVyZW07IH1cbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5zdWJoZWFkaW5nLXBhcmVudDpmaXJzdC1jaGlsZCAuc3ViaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC43NXJlbTsgfVxuICAgICAgLm1lbnUtYmFyIC53aWRlc2NyZWVuLW1lbnUgLmlzLWFjdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG4gICAgICAgIC5tZW51LWJhciAud2lkZXNjcmVlbi1tZW51IC5pcy1hY3RpdmUgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgICAgLm1lbnUtYmFyIC53aWRlc2NyZWVuLW1lbnUgLmlzLWFjdGl2ZSA+IC5pcy1kcm9wZG93bi1zdWJtZW51IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4uY291bnRyeS1zZWxlY3RvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY291bnRyeS1zZWxlY3RvciBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY291bnRyeS1zZWxlY3RvciAudG9wLWxldmVsLWl0ZW06Zmlyc3QtY2hpbGQsXG4gIC5jb3VudHJ5LXNlbGVjdG9yIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpmaXJzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY291bnRyeS1zZWxlY3RvciAudG9wLWxldmVsLWl0ZW06bGFzdC1jaGlsZCxcbiAgLmNvdW50cnktc2VsZWN0b3IgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwLjA2MjVyZW0gc29saWQgIzZFNjI1OTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07IH1cbiAgICAuY291bnRyeS1zZWxlY3RvciAudG9wLWxldmVsLWl0ZW06bGFzdC1jaGlsZCA+IGEsXG4gICAgLmNvdW50cnktc2VsZWN0b3IgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Omxhc3QtY2hpbGQgPiBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07IH1cblxuLm5vLWpzIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi51dGlsaXR5LWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC43NXJlbSAycmVtIDAuNzVyZW0gMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnV0aWxpdHktYmFubmVyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC51dGlsaXR5LWJhbm5lciBhOm5vdCguYnV0dG9uKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkOyB9XG4gICAgLnV0aWxpdHktYmFubmVyIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZDsgfVxuICAudXRpbGl0eS1iYW5uZXIgYSxcbiAgLnV0aWxpdHktYmFubmVyIGE6YWN0aXZlLFxuICAudXRpbGl0eS1iYW5uZXIgYTpmb2N1cyxcbiAgLnV0aWxpdHktYmFubmVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC51dGlsaXR5LWJhbm5lciAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnV0aWxpdHktYmFubmVyIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjM3NXJlbTtcbiAgICB0b3A6IDAuNjI1cmVtOyB9XG4gICAgLnV0aWxpdHktYmFubmVyIC5jbG9zZS1idXR0b246aG92ZXIge1xuICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQ7IH1cbiAgLnV0aWxpdHktYmFubmVyIC5idXR0b24ge1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAudXRpbGl0eS1iYW5uZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZDsgfVxuXG5hLmFycm93Om5vdCguYnV0dG9uKSwgYnV0dG9uLmFycm93LFxuLmJ1dHRvbi5hcnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBhLmFycm93Om5vdCguYnV0dG9uKTo6YWZ0ZXIsIGJ1dHRvbi5hcnJvdzo6YWZ0ZXIsXG4gIC5idXR0b24uYXJyb3c6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNS44IDEyLjlcIj48cGF0aCBkPVwiTTAgNS41aDEydjEuOUgwelwiLz48cGF0aCBkPVwiTTExLjkgMTIuOVYxMWwxMS40LTQuNS0xMS40LTQuNlYwbDEzLjkgNS42djEuNmwtMTMuOSA1Ljd6bTEyLjktNi42di4yLS4yelwiLz48L3N2Zz4nKTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIGEuYXJyb3c6bm90KC5idXR0b24pOjphZnRlciwgYnV0dG9uLmFycm93OjphZnRlcixcbiAgLmJ1dHRvbi5hcnJvdzo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luIDI1MG1zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kIDI1MG1zIGVhc2Utb3V0OyB9XG4gIGEuYXJyb3c6bm90KC5idXR0b24pOmZvY3VzOjphZnRlciwgYnV0dG9uLmFycm93OmZvY3VzOjphZnRlcixcbiAgLmJ1dHRvbi5hcnJvdzpmb2N1czo6YWZ0ZXIsIGEuYXJyb3c6bm90KC5idXR0b24pOmhvdmVyOjphZnRlciwgYnV0dG9uLmFycm93OmhvdmVyOjphZnRlcixcbiAgLmJ1dHRvbi5hcnJvdzpob3Zlcjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICMwMDc3Qzg7IH1cbiAgYTpob3ZlciwgYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDI1MG1zIGVhc2Utb3V0LCBjb2xvciAyNTBtcyBlYXNlLW91dDtcbiAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgaW5oZXJpdDsgfVxuICBhLnNlY29uZGFyeTpub3QoLmJ1dHRvbikge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2UsIGNvbG9yIDI1MG1zIGVhc2U7IH1cbiAgICBhLnNlY29uZGFyeTpub3QoLmJ1dHRvbik6Zm9jdXMsIGEuc2Vjb25kYXJ5Om5vdCguYnV0dG9uKTpob3ZlciwgYS5zZWNvbmRhcnk6bm90KC5idXR0b24pOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICMyMjI7IH1cbiAgYS5hcnJvdzpub3QoLmJ1dHRvbikge1xuICAgIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIGEuYXJyb3c6bm90KC5idXR0b24pOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0M4OyB9XG4gICAgYS5hcnJvdzpub3QoLmJ1dHRvbik6Zm9jdXMsIGEuYXJyb3c6bm90KC5idXR0b24pOmhvdmVyLCBhLmFycm93Om5vdCguYnV0dG9uKTphY3RpdmUge1xuICAgICAgY29sb3I6ICMwMDc3Qzg7IH1cbiAgICAgIGEuYXJyb3c6bm90KC5idXR0b24pOmZvY3VzOjphZnRlciwgYS5hcnJvdzpub3QoLmJ1dHRvbik6aG92ZXI6OmFmdGVyLCBhLmFycm93Om5vdCguYnV0dG9uKTphY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdDODsgfVxuICAgIGEuYXJyb3c6bm90KC5idXR0b24pLnJldmVyc2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICBhLmFycm93Om5vdCguYnV0dG9uKS5yZXZlcnNlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNS44IDEyLjlcIj48cGF0aCBkPVwiTTAgNS41aDEydjEuOUgwelwiLz48cGF0aCBkPVwiTTExLjkgMTIuOVYxMWwxMS40LTQuNS0xMS40LTQuNlYwbDEzLjkgNS42djEuNmwtMTMuOSA1Ljd6bTEyLjktNi42di4yLS4yelwiLz48L3N2Zz4nKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgYS5hcnJvdzpub3QoLmJ1dHRvbikucmV2ZXJzZTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS41NjI1cmVtOyB9XG4gICAgICBhLmFycm93Om5vdCguYnV0dG9uKS5yZXZlcnNlOmZvY3VzOjphZnRlciwgYS5hcnJvdzpub3QoLmJ1dHRvbikucmV2ZXJzZTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtOyB9XG4gICAgYS5hcnJvdzpub3QoLmJ1dHRvbikuZG93biB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICBhLmFycm93Om5vdCguYnV0dG9uKS5kb3duOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNS44IDEyLjlcIj48cGF0aCBkPVwiTTAgNS41aDEydjEuOUgwelwiLz48cGF0aCBkPVwiTTExLjkgMTIuOVYxMWwxMS40LTQuNS0xMS40LTQuNlYwbDEzLjkgNS42djEuNmwtMTMuOSA1Ljd6bTEyLjktNi42di4yLS4yelwiLz48L3N2Zz4nKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgYS5hcnJvdzpub3QoLmJ1dHRvbikuZG93bjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDkwZGVnKTsgfVxuICAgICAgYS5hcnJvdzpub3QoLmJ1dHRvbikuZG93bjpmb2N1czo6YWZ0ZXIsIGEuYXJyb3c6bm90KC5idXR0b24pLmRvd246aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIGEuYXJyb3c6bm90KC5idXR0b24pLnVwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIGEuYXJyb3c6bm90KC5idXR0b24pLnVwOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNS44IDEyLjlcIj48cGF0aCBkPVwiTTAgNS41aDEydjEuOUgwelwiLz48cGF0aCBkPVwiTTExLjkgMTIuOVYxMWwxMS40LTQuNS0xMS40LTQuNlYwbDEzLjkgNS42djEuNmwtMTMuOSA1Ljd6bTEyLjktNi42di4yLS4yelwiLz48L3N2Zz4nKTtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgYS5hcnJvdzpub3QoLmJ1dHRvbikudXA6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpOyB9XG4gICAgICBhLmFycm93Om5vdCguYnV0dG9uKS51cDpmb2N1czo6YWZ0ZXIsIGEuYXJyb3c6bm90KC5idXR0b24pLnVwOmhvdmVyOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi8qXG4gICAgRm9yIGxpbmtzIHRoYXQgZmlsbCB0aGUgZW50aXJlIHNwYWNlIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyXG4gICAgKHJlcXVpcmVzIHJlbGF0aXZlIHBvc2l0aW9uIG9uIHBhcmVudClcbiAgKi9cbi5maWxsLXNwYWNlLWxpbmsge1xuICBib3JkZXItYm90dG9tOiBpbml0aWFsO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDsgfVxuICAuZmlsbC1zcGFjZS1saW5rOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7IH1cblxuLypcbiAgICBGb3IgbGlua3MgdGhhdCB3cmFwIHRleHQgY29udGVudCAod2Ugd2FudCB0byBhdm9pZCB1bmRlcmxpbmVzIG9uIHRoZXNlKVxuICAqL1xuLmJsb2NrLWxpbmsge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsOyB9XG4gIC5ibG9jay1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgY29sb3I6IGluaXRpYWw7IH1cblxuLnBhZ2luYXRpb24gW2NsYXNzXj0ncGFnaW5hdGlvbi0nXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGFnaW5hdGlvbiBhIHtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDsgfVxuICAucGFnaW5hdGlvbiBhOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiBpbml0aWFsOyB9XG5cbmEuY3RhLFxuLmN0YSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuYnV0dG9uLFxuLmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzIE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0M4O1xuICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMDA3N0M4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nOiAxLjA2MjVyZW0gMS4xMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDsgfVxuICBidXR0b246Zm9jdXMsIGJ1dHRvbjpob3ZlcixcbiAgLmJ1dHRvbjpmb2N1cyxcbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjMDA3N0M4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgYnV0dG9uOmZvY3VzOjphZnRlciwgYnV0dG9uOmhvdmVyOjphZnRlcixcbiAgICAuYnV0dG9uOmZvY3VzOjphZnRlcixcbiAgICAuYnV0dG9uOmhvdmVyOjphZnRlciB7XG4gICAgICBjb2xvcjogIzAwNzdDODsgfVxuICBidXR0b24uaG9sbG93OmZvY3VzLCBidXR0b24uaG9sbG93OmhvdmVyLFxuICAuYnV0dG9uLmhvbGxvdzpmb2N1cyxcbiAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIGJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5LFxuICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyxcbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdDODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIGJ1dHRvbi5hcnJvdyxcbiAgLmJ1dHRvbi5hcnJvdyB7XG4gICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07IH1cbiAgICBidXR0b24uYXJyb3c6OmFmdGVyLFxuICAgIC5idXR0b24uYXJyb3c6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICBidXR0b24uYXJyb3c6Zm9jdXM6OmFmdGVyLCBidXR0b24uYXJyb3c6aG92ZXI6OmFmdGVyLFxuICAgIC5idXR0b24uYXJyb3c6Zm9jdXM6OmFmdGVyLFxuICAgIC5idXR0b24uYXJyb3c6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7IH1cbiAgYnV0dG9uLndoaXRlLFxuICAuYnV0dG9uLndoaXRlLFxuICAuYmctc2Vjb25kYXJ5IGEuYnV0dG9uLFxuICAuYmctb3JhbmdlIGEuYnV0dG9uLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGEuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICBidXR0b24ud2hpdGU6OmFmdGVyLFxuICAgIC5idXR0b24ud2hpdGU6OmFmdGVyLFxuICAgIC5iZy1zZWNvbmRhcnkgYS5idXR0b246OmFmdGVyLFxuICAgIC5iZy1vcmFuZ2UgYS5idXR0b246OmFmdGVyLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYS5idXR0b246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7IH1cbiAgICBidXR0b24ud2hpdGU6Zm9jdXMsIGJ1dHRvbi53aGl0ZTpob3ZlcixcbiAgICAuYnV0dG9uLndoaXRlOmZvY3VzLFxuICAgIC5iZy1zZWNvbmRhcnkgYS5idXR0b246Zm9jdXMsXG4gICAgLmJnLW9yYW5nZSBhLmJ1dHRvbjpmb2N1cyxcbiAgICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGEuYnV0dG9uOmZvY3VzLFxuICAgIC5idXR0b24ud2hpdGU6aG92ZXIsXG4gICAgLmJnLXNlY29uZGFyeSBhLmJ1dHRvbjpob3ZlcixcbiAgICAuYmctb3JhbmdlIGEuYnV0dG9uOmhvdmVyLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYS5idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgYnV0dG9uLndoaXRlOmZvY3VzOjphZnRlciwgYnV0dG9uLndoaXRlOmhvdmVyOjphZnRlcixcbiAgICAgIC5idXR0b24ud2hpdGU6Zm9jdXM6OmFmdGVyLFxuICAgICAgLmJnLXNlY29uZGFyeSBhLmJ1dHRvbjpmb2N1czo6YWZ0ZXIsXG4gICAgICAuYmctb3JhbmdlIGEuYnV0dG9uOmZvY3VzOjphZnRlcixcbiAgICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYS5idXR0b246Zm9jdXM6OmFmdGVyLFxuICAgICAgLmJ1dHRvbi53aGl0ZTpob3Zlcjo6YWZ0ZXIsXG4gICAgICAuYmctc2Vjb25kYXJ5IGEuYnV0dG9uOmhvdmVyOjphZnRlcixcbiAgICAgIC5iZy1vcmFuZ2UgYS5idXR0b246aG92ZXI6OmFmdGVyLFxuICAgICAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBhLmJ1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgYnV0dG9uLndoaXRlLnNlY29uZGFyeSxcbiAgICAuYnV0dG9uLndoaXRlLnNlY29uZGFyeSxcbiAgICAuYmctc2Vjb25kYXJ5IGEuc2Vjb25kYXJ5LmJ1dHRvbixcbiAgICAuYmctb3JhbmdlIGEuc2Vjb25kYXJ5LmJ1dHRvbixcbiAgICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGEuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNmZmY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgYnV0dG9uLndoaXRlLnNlY29uZGFyeTo6YWZ0ZXIsXG4gICAgICAuYnV0dG9uLndoaXRlLnNlY29uZGFyeTo6YWZ0ZXIsXG4gICAgICAuYmctc2Vjb25kYXJ5IGEuc2Vjb25kYXJ5LmJ1dHRvbjo6YWZ0ZXIsXG4gICAgICAuYmctb3JhbmdlIGEuc2Vjb25kYXJ5LmJ1dHRvbjo6YWZ0ZXIsXG4gICAgICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGEuc2Vjb25kYXJ5LmJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgICBidXR0b24ud2hpdGUuc2Vjb25kYXJ5OmZvY3VzLCBidXR0b24ud2hpdGUuc2Vjb25kYXJ5OmhvdmVyLFxuICAgICAgLmJ1dHRvbi53aGl0ZS5zZWNvbmRhcnk6Zm9jdXMsXG4gICAgICAuYmctc2Vjb25kYXJ5IGEuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1cyxcbiAgICAgIC5iZy1vcmFuZ2UgYS5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzLFxuICAgICAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBhLnNlY29uZGFyeS5idXR0b246Zm9jdXMsXG4gICAgICAuYnV0dG9uLndoaXRlLnNlY29uZGFyeTpob3ZlcixcbiAgICAgIC5iZy1zZWNvbmRhcnkgYS5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyLFxuICAgICAgLmJnLW9yYW5nZSBhLnNlY29uZGFyeS5idXR0b246aG92ZXIsXG4gICAgICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGEuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAgIGJ1dHRvbi53aGl0ZS5zZWNvbmRhcnk6Zm9jdXM6OmFmdGVyLCBidXR0b24ud2hpdGUuc2Vjb25kYXJ5OmhvdmVyOjphZnRlcixcbiAgICAgICAgLmJ1dHRvbi53aGl0ZS5zZWNvbmRhcnk6Zm9jdXM6OmFmdGVyLFxuICAgICAgICAuYmctc2Vjb25kYXJ5IGEuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1czo6YWZ0ZXIsXG4gICAgICAgIC5iZy1vcmFuZ2UgYS5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzOjphZnRlcixcbiAgICAgICAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBhLnNlY29uZGFyeS5idXR0b246Zm9jdXM6OmFmdGVyLFxuICAgICAgICAuYnV0dG9uLndoaXRlLnNlY29uZGFyeTpob3Zlcjo6YWZ0ZXIsXG4gICAgICAgIC5iZy1zZWNvbmRhcnkgYS5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyOjphZnRlcixcbiAgICAgICAgLmJnLW9yYW5nZSBhLnNlY29uZGFyeS5idXR0b246aG92ZXI6OmFmdGVyLFxuICAgICAgICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGEuc2Vjb25kYXJ5LmJ1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7IH1cbiAgYnV0dG9uLnNlY29uZGFyeSxcbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICBidXR0b24uc2Vjb25kYXJ5OjphZnRlcixcbiAgICAuYnV0dG9uLnNlY29uZGFyeTo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdDODsgfVxuICAgIGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsIGJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsXG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsXG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdDODtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICBidXR0b24uc2Vjb25kYXJ5OmZvY3VzOjphZnRlciwgYnV0dG9uLnNlY29uZGFyeTpob3Zlcjo6YWZ0ZXIsXG4gICAgICAuYnV0dG9uLnNlY29uZGFyeTpmb2N1czo6YWZ0ZXIsXG4gICAgICAuYnV0dG9uLnNlY29uZGFyeTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIGJ1dHRvbi5zbWFsbCxcbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxLjEyNXJlbTsgfVxuICBidXR0b24uY2hldnJvbixcbiAgLmJ1dHRvbi5jaGV2cm9uLFxuICBkZXRhaWxzLmJ1dHRvbmlzaCBzdW1tYXJ5ID4gc3Bhbi5idXR0b24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuODEyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBidXR0b24uY2hldnJvbjo6YWZ0ZXIsXG4gICAgLmJ1dHRvbi5jaGV2cm9uOjphZnRlcixcbiAgICBkZXRhaWxzLmJ1dHRvbmlzaCBzdW1tYXJ5ID4gc3Bhbi5idXR0b246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzAuNCAxNC41XCI+PHBhdGggZD1cIk0xNS45IDE0LjVoLTEuNEwwIDBoMy4xbDEyLjEgMTIuMUwyNy4zIDBoMy4xTDE1LjkgMTQuNXpcIi8+PC9zdmc+Jyk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgYnV0dG9uLmNoZXZyb246OmFmdGVyLFxuICAgIC5idXR0b24uY2hldnJvbjo6YWZ0ZXIsXG4gICAgZGV0YWlscy5idXR0b25pc2ggc3VtbWFyeSA+IHNwYW4uYnV0dG9uOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0M4OyB9XG4gICAgYnV0dG9uLmNoZXZyb246OmFmdGVyLFxuICAgIC5idXR0b24uY2hldnJvbjo6YWZ0ZXIsXG4gICAgZGV0YWlscy5idXR0b25pc2ggc3VtbWFyeSA+IHNwYW4uYnV0dG9uOjphZnRlciB7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAyNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjUwbXMgZWFzZSwgYmFja2dyb3VuZCAyNTBtcyBlYXNlOyB9XG4gICAgYnV0dG9uLmNoZXZyb24uYWN0aXZlOjphZnRlciwgYnV0dG9uLmNoZXZyb246Zm9jdXM6OmFmdGVyLCBidXR0b24uY2hldnJvbjphY3RpdmU6OmFmdGVyLFxuICAgIC5idXR0b24uY2hldnJvbi5hY3RpdmU6OmFmdGVyLFxuICAgIGRldGFpbHMuYnV0dG9uaXNoIHN1bW1hcnkgPiBzcGFuLmFjdGl2ZS5idXR0b246OmFmdGVyLFxuICAgIGRldGFpbHMuYnV0dG9uaXNoW29wZW5dIHN1bW1hcnkgPiBzcGFuOjphZnRlcixcbiAgICAuYnV0dG9uLmNoZXZyb246Zm9jdXM6OmFmdGVyLFxuICAgIGRldGFpbHMuYnV0dG9uaXNoIHN1bW1hcnkgPiBzcGFuLmJ1dHRvbjpmb2N1czo6YWZ0ZXIsXG4gICAgLmJ1dHRvbi5jaGV2cm9uOmFjdGl2ZTo6YWZ0ZXIsXG4gICAgZGV0YWlscy5idXR0b25pc2ggc3VtbWFyeSA+IHNwYW4uYnV0dG9uOmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB0b3A6IDEuMTg3NXJlbTsgfVxuICBidXR0b24ucG9kY2FzdCxcbiAgLmJ1dHRvbi5wb2RjYXN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjgxMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYnV0dG9uLnBvZGNhc3Q6OmFmdGVyLFxuICAgIC5idXR0b24ucG9kY2FzdDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNyAyNC4zXCI+PHBhdGggZD1cIk0yMyA0Yy0yLjUtMi41LTUuOS00LTkuNS00UzYuNSAxLjQgNCA0Yy0yLjUgMi41LTQgNS45LTQgOS41IDAgMy41IDEuMyA2LjggMy43IDkuM2wxLTFDLjMgMTcuMS40IDkuNiA1IDVjMi4zLTIuMyA1LjMtMy41IDguNS0zLjVTMTkuOCAyLjggMjIgNWM0LjYgNC42IDQuNyAxMi4xLjIgMTYuOWwxIDFjMi40LTIuNSAzLjctNS44IDMuNy05LjNDMjcgOS45IDI1LjYgNi41IDIzIDR6XCIvPjxwYXRoIGQ9XCJNMjAgN2MtMS43LTEuNy00LjEtMi43LTYuNS0yLjdDMTEgNC4zIDguNyA1LjIgNyA3Yy0zLjUgMy41LTMuNiA5LjItLjIgMTIuOGwxLTFjLTEuMy0xLjUtMi4xLTMuMy0yLjEtNS4zIDAtMi4xLjgtNCAyLjMtNS41czMuNC0yLjMgNS41LTIuMyA0IC44IDUuNSAyLjMgMi4zIDMuNCAyLjMgNS41YzAgMi0uNyAzLjgtMi4xIDUuM2wxIDFjMy40LTMuNiAzLjMtOS4zLS4yLTEyLjh6XCIvPjxwYXRoIGQ9XCJNMTcuMiA5LjljLTIuMS0yLTUuMy0yLTcuMyAwLTEuOSAxLjktMiA1LS4yIDdsMS0xYy0uNi0uNy0uOS0xLjUtLjktMi40IDAtMSAuNC0xLjkgMS4xLTIuNiAxLjUtMS40IDMuNy0xLjQgNS4yIDAgMS4zIDEuMyAxLjQgMy41LjIgNC45bDEgMWMxLjgtMS45IDEuNy01LS4xLTYuOXpcIi8+PHBhdGggZD1cIk0xNS4xIDEzLjRjMC0uOS0uNy0xLjYtMS42LTEuNi0uOSAwLTEuNi43LTEuNiAxLjYgMCAuNi4zIDEuMS44IDEuNGguMXY5LjRoMS41di05LjRoLjFjLjQtLjIuNy0uOC43LTEuNHpcIi8+PC9zdmc+Jyk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgYnV0dG9uLnBvZGNhc3Q6OmFmdGVyLFxuICAgIC5idXR0b24ucG9kY2FzdDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdDODsgfVxuICAgIGJ1dHRvbi5wb2RjYXN0OjphZnRlcixcbiAgICAuYnV0dG9uLnBvZGNhc3Q6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjkzNzVyZW07IH1cblxuLm9wZW4tYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBjb2xvcjogIzFhMTkxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjA2MjVyZW0gMC4zNzVyZW0gMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIHotaW5kZXg6IDE7IH1cblxuLmJ1dHRvbi1jbG91ZCAuYnV0dG9uIHtcbiAgbWluLXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1jbG91ZCAuYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfSB9XG5cbmRldGFpbHMuYnV0dG9uaXNoIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgZGV0YWlscy5idXR0b25pc2ggc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIGRldGFpbHMuYnV0dG9uaXNoIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIGRldGFpbHMuYnV0dG9uaXNoIHN1bW1hcnkgPiBzcGFuLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGRldGFpbHMuYnV0dG9uaXNoW29wZW5dIHN1bW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cblxuLmJnLWNyZWFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjBlYjsgfVxuXG5cbi5iZy1uZXV0cmFsLTEsXG5hc2lkZS5wYW5lbC5kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4MkUyQztcbiAgY29sb3I6ICNmZmY7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgaDEsXG4gIGFzaWRlLnBhbmVsLmRhcmsgaDEsXG4gIC5iZy1uZXV0cmFsLTEgLmgxLFxuICBhc2lkZS5wYW5lbC5kYXJrIC5oMSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgaDIsXG4gIGFzaWRlLnBhbmVsLmRhcmsgaDIsXG4gIC5iZy1uZXV0cmFsLTEgLmgyLFxuICBhc2lkZS5wYW5lbC5kYXJrIC5oMiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgaDMsXG4gIGFzaWRlLnBhbmVsLmRhcmsgaDMsXG4gIC5iZy1uZXV0cmFsLTEgLmgzLFxuICBhc2lkZS5wYW5lbC5kYXJrIC5oMyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgaDQsXG4gIGFzaWRlLnBhbmVsLmRhcmsgaDQsXG4gIC5iZy1uZXV0cmFsLTEgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLW5ldXRyYWwtMSBkdCxcbiAgYXNpZGUucGFuZWwuZGFyayBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCBhc2lkZS5wYW5lbC5kYXJrIGR0LFxuICAuYmctbmV1dHJhbC0xIC5oNCxcbiAgYXNpZGUucGFuZWwuZGFyayAuaDQge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIFxuICAuYmctbmV1dHJhbC0xIGg1LFxuICBhc2lkZS5wYW5lbC5kYXJrIGg1LFxuICAuYmctbmV1dHJhbC0xIC5oNSxcbiAgYXNpZGUucGFuZWwuZGFyayAuaDUsXG4gIC5iZy1uZXV0cmFsLTEgLnN0YXRzLTJjb2wgaDMsXG4gIC5zdGF0cy0yY29sIC5iZy1uZXV0cmFsLTEgaDMsXG4gIGFzaWRlLnBhbmVsLmRhcmsgLnN0YXRzLTJjb2wgaDMsXG4gIC5zdGF0cy0yY29sIGFzaWRlLnBhbmVsLmRhcmsgaDMsXG4gIC5iZy1uZXV0cmFsLTEgLnN0YXRzLTJjb2wgaDQsXG4gIC5zdGF0cy0yY29sIC5iZy1uZXV0cmFsLTEgaDQsXG4gIGFzaWRlLnBhbmVsLmRhcmsgLnN0YXRzLTJjb2wgaDQsXG4gIC5zdGF0cy0yY29sIGFzaWRlLnBhbmVsLmRhcmsgaDQsXG4gIC5iZy1uZXV0cmFsLTEgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LFxuICAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmJnLW5ldXRyYWwtMSBkdCxcbiAgYXNpZGUucGFuZWwuZGFyayAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsXG4gIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBhc2lkZS5wYW5lbC5kYXJrIGR0LFxuICAuYmctbmV1dHJhbC0xIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCxcbiAgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5iZy1uZXV0cmFsLTEgZHQsXG4gIGFzaWRlLnBhbmVsLmRhcmsgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LFxuICBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgYXNpZGUucGFuZWwuZGFyayBkdCxcbiAgLmJnLW5ldXRyYWwtMSAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgLmJnLW5ldXRyYWwtMSBoNSxcbiAgYXNpZGUucGFuZWwuZGFyayAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgYXNpZGUucGFuZWwuZGFyayBoNSxcbiAgLmJnLW5ldXRyYWwtMSAuc3RhdHMtMmNvbCBoNixcbiAgLnN0YXRzLTJjb2wgLmJnLW5ldXRyYWwtMSBoNixcbiAgYXNpZGUucGFuZWwuZGFyayAuc3RhdHMtMmNvbCBoNixcbiAgLnN0YXRzLTJjb2wgYXNpZGUucGFuZWwuZGFyayBoNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgaDYsXG4gIGFzaWRlLnBhbmVsLmRhcmsgaDYsXG4gIC5iZy1uZXV0cmFsLTEgLmg2LFxuICBhc2lkZS5wYW5lbC5kYXJrIC5oNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgbGFiZWwsXG4gIGFzaWRlLnBhbmVsLmRhcmsgbGFiZWwge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgXG4gICAgLmJnLW5ldXRyYWwtMSBsYWJlbC5lcnJvcixcbiAgICBhc2lkZS5wYW5lbC5kYXJrIGxhYmVsLmVycm9yIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIFxuICAuYmctbmV1dHJhbC0xIGE6bm90KC5idXR0b24pLFxuICBhc2lkZS5wYW5lbC5kYXJrIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIFxuICAgIC5iZy1uZXV0cmFsLTEgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIGFzaWRlLnBhbmVsLmRhcmsgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIC5iZy1uZXV0cmFsLTEgYTpub3QoLmJ1dHRvbik6Zm9jdXMsXG4gICAgYXNpZGUucGFuZWwuZGFyayBhOm5vdCguYnV0dG9uKTpmb2N1cyxcbiAgICAuYmctbmV1dHJhbC0xIGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIGFzaWRlLnBhbmVsLmRhcmsgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgLnRleHQtc2Vjb25kYXJ5LFxuICBhc2lkZS5wYW5lbC5kYXJrIC50ZXh0LXNlY29uZGFyeSxcbiAgLmJnLW5ldXRyYWwtMSAudGV4dC1vcmFuZ2UsXG4gIGFzaWRlLnBhbmVsLmRhcmsgLnRleHQtb3JhbmdlLFxuICAuYmctbmV1dHJhbC0xIGRsLmljb24tbGlzdCBkdCxcbiAgZGwuaWNvbi1saXN0IC5iZy1uZXV0cmFsLTEgZHQsXG4gIGFzaWRlLnBhbmVsLmRhcmsgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgYXNpZGUucGFuZWwuZGFyayBkdCB7XG4gICAgY29sb3I6ICNGRjVGMTQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgLmljb24ub3JhbmdlLFxuICBhc2lkZS5wYW5lbC5kYXJrIC5pY29uLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNUYxNDsgfVxuICBcbiAgLmJnLW5ldXRyYWwtMSAuY2xvc2UtYnV0dG9uOmFjdGl2ZSxcbiAgYXNpZGUucGFuZWwuZGFyayAuY2xvc2UtYnV0dG9uOmFjdGl2ZSxcbiAgLmJnLW5ldXRyYWwtMSAuY2xvc2UtYnV0dG9uOmZvY3VzLFxuICBhc2lkZS5wYW5lbC5kYXJrIC5jbG9zZS1idXR0b246Zm9jdXMsXG4gIC5iZy1uZXV0cmFsLTEgLmNsb3NlLWJ1dHRvbjpob3ZlcixcbiAgYXNpZGUucGFuZWwuZGFyayAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBcbiAgLmJnLW5ldXRyYWwtMSBibG9ja3F1b3RlLFxuICBhc2lkZS5wYW5lbC5kYXJrIGJsb2NrcXVvdGUge1xuICAgIGNvbG9yOiAjRkY1RjE0OyB9XG4gICAgXG4gICAgLmJnLW5ldXRyYWwtMSBibG9ja3F1b3RlIHAsXG4gICAgYXNpZGUucGFuZWwuZGFyayBibG9ja3F1b3RlIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgY2l0ZSxcbiAgYXNpZGUucGFuZWwuZGFyayBjaXRlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBcbiAgLmJnLW5ldXRyYWwtMSBkbCxcbiAgYXNpZGUucGFuZWwuZGFyayBkbCxcbiAgLmJnLW5ldXRyYWwtMSBkdCxcbiAgYXNpZGUucGFuZWwuZGFyayBkdCxcbiAgLmJnLW5ldXRyYWwtMSBkZCxcbiAgYXNpZGUucGFuZWwuZGFyayBkZCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1uZXV0cmFsLTEgcCxcbiAgYXNpZGUucGFuZWwuZGFyayBwIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4uYmctYmxhY2ssIC5iZy1vbnl4LCAuYmctdmVyeS1kYXJrLWdyYXksIC5iZy1kYXJrLWdyYXksIC5iZy1tZWRpdW0tZ3JheSxcbi5iZy1uZXV0cmFsLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmJnLWJsYWNrIGgxLCAuYmctb255eCBoMSwgLmJnLXZlcnktZGFyay1ncmF5IGgxLCAuYmctZGFyay1ncmF5IGgxLCAuYmctbWVkaXVtLWdyYXkgaDEsIC5iZy1ibGFjayAuaDEsIC5iZy1vbnl4IC5oMSwgLmJnLXZlcnktZGFyay1ncmF5IC5oMSwgLmJnLWRhcmstZ3JheSAuaDEsIC5iZy1tZWRpdW0tZ3JheSAuaDEsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIGgxLFxuICAuYmctbmV1dHJhbC1ibGFjayAuaDEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1ibGFjayBoMiwgLmJnLW9ueXggaDIsIC5iZy12ZXJ5LWRhcmstZ3JheSBoMiwgLmJnLWRhcmstZ3JheSBoMiwgLmJnLW1lZGl1bS1ncmF5IGgyLCAuYmctYmxhY2sgLmgyLCAuYmctb255eCAuaDIsIC5iZy12ZXJ5LWRhcmstZ3JheSAuaDIsIC5iZy1kYXJrLWdyYXkgLmgyLCAuYmctbWVkaXVtLWdyYXkgLmgyLFxuICAuYmctbmV1dHJhbC1ibGFjayBoMixcbiAgLmJnLW5ldXRyYWwtYmxhY2sgLmgyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctYmxhY2sgaDMsIC5iZy1vbnl4IGgzLCAuYmctdmVyeS1kYXJrLWdyYXkgaDMsIC5iZy1kYXJrLWdyYXkgaDMsIC5iZy1tZWRpdW0tZ3JheSBoMywgLmJnLWJsYWNrIC5oMywgLmJnLW9ueXggLmgzLCAuYmctdmVyeS1kYXJrLWdyYXkgLmgzLCAuYmctZGFyay1ncmF5IC5oMywgLmJnLW1lZGl1bS1ncmF5IC5oMyxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgaDMsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIC5oMyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLWJsYWNrIGg0LCAuYmctb255eCBoNCwgLmJnLXZlcnktZGFyay1ncmF5IGg0LCAuYmctZGFyay1ncmF5IGg0LCAuYmctbWVkaXVtLWdyYXkgaDQsIC5iZy1ibGFjayBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuYmctYmxhY2sgZHQsIC5iZy1vbnl4IGRsLmljb24tbGlzdCBkdCwgZGwuaWNvbi1saXN0IC5iZy1vbnl4IGR0LCAuYmctdmVyeS1kYXJrLWdyYXkgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLmJnLXZlcnktZGFyay1ncmF5IGR0LCAuYmctZGFyay1ncmF5IGRsLmljb24tbGlzdCBkdCwgZGwuaWNvbi1saXN0IC5iZy1kYXJrLWdyYXkgZHQsIC5iZy1tZWRpdW0tZ3JheSBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuYmctbWVkaXVtLWdyYXkgZHQsIC5iZy1ibGFjayAuaDQsIC5iZy1vbnl4IC5oNCwgLmJnLXZlcnktZGFyay1ncmF5IC5oNCwgLmJnLWRhcmstZ3JheSAuaDQsIC5iZy1tZWRpdW0tZ3JheSAuaDQsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIGg0LFxuICAuYmctbmV1dHJhbC1ibGFjayBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCAuYmctbmV1dHJhbC1ibGFjayBkdCxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgLmg0IHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctYmxhY2sgaDUsIC5iZy1vbnl4IGg1LCAuYmctdmVyeS1kYXJrLWdyYXkgaDUsIC5iZy1kYXJrLWdyYXkgaDUsIC5iZy1tZWRpdW0tZ3JheSBoNSwgLmJnLWJsYWNrIC5oNSwgLmJnLW9ueXggLmg1LCAuYmctdmVyeS1kYXJrLWdyYXkgLmg1LCAuYmctZGFyay1ncmF5IC5oNSwgLmJnLW1lZGl1bS1ncmF5IC5oNSwgLmJnLWJsYWNrIC5zdGF0cy0yY29sIGgzLCAuc3RhdHMtMmNvbCAuYmctYmxhY2sgaDMsIC5iZy1vbnl4IC5zdGF0cy0yY29sIGgzLCAuc3RhdHMtMmNvbCAuYmctb255eCBoMywgLmJnLXZlcnktZGFyay1ncmF5IC5zdGF0cy0yY29sIGgzLCAuc3RhdHMtMmNvbCAuYmctdmVyeS1kYXJrLWdyYXkgaDMsIC5iZy1kYXJrLWdyYXkgLnN0YXRzLTJjb2wgaDMsIC5zdGF0cy0yY29sIC5iZy1kYXJrLWdyYXkgaDMsIC5iZy1tZWRpdW0tZ3JheSAuc3RhdHMtMmNvbCBoMywgLnN0YXRzLTJjb2wgLmJnLW1lZGl1bS1ncmF5IGgzLCAuYmctYmxhY2sgLnN0YXRzLTJjb2wgaDQsIC5zdGF0cy0yY29sIC5iZy1ibGFjayBoNCwgLmJnLW9ueXggLnN0YXRzLTJjb2wgaDQsIC5zdGF0cy0yY29sIC5iZy1vbnl4IGg0LCAuYmctdmVyeS1kYXJrLWdyYXkgLnN0YXRzLTJjb2wgaDQsIC5zdGF0cy0yY29sIC5iZy12ZXJ5LWRhcmstZ3JheSBoNCwgLmJnLWRhcmstZ3JheSAuc3RhdHMtMmNvbCBoNCwgLnN0YXRzLTJjb2wgLmJnLWRhcmstZ3JheSBoNCwgLmJnLW1lZGl1bS1ncmF5IC5zdGF0cy0yY29sIGg0LCAuc3RhdHMtMmNvbCAuYmctbWVkaXVtLWdyYXkgaDQsIC5iZy1ibGFjayAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCAuYmctYmxhY2sgZHQsIC5iZy1vbnl4IC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBkdCwgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IC5iZy1vbnl4IGR0LCAuYmctdmVyeS1kYXJrLWdyYXkgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmJnLXZlcnktZGFyay1ncmF5IGR0LCAuYmctZGFyay1ncmF5IC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBkdCwgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IC5iZy1kYXJrLWdyYXkgZHQsIC5iZy1tZWRpdW0tZ3JheSAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCAuYmctbWVkaXVtLWdyYXkgZHQsIC5iZy1ibGFjayBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgZHQsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCAuYmctYmxhY2sgZHQsIC5iZy1vbnl4IGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCwgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5iZy1vbnl4IGR0LCAuYmctdmVyeS1kYXJrLWdyYXkgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LCBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgLmJnLXZlcnktZGFyay1ncmF5IGR0LCAuYmctZGFyay1ncmF5IGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCwgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5iZy1kYXJrLWdyYXkgZHQsIC5iZy1tZWRpdW0tZ3JheSBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgZHQsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCAuYmctbWVkaXVtLWdyYXkgZHQsIC5iZy1ibGFjayAuc3RhdHMtMmNvbCBoNSwgLnN0YXRzLTJjb2wgLmJnLWJsYWNrIGg1LCAuYmctb255eCAuc3RhdHMtMmNvbCBoNSwgLnN0YXRzLTJjb2wgLmJnLW9ueXggaDUsIC5iZy12ZXJ5LWRhcmstZ3JheSAuc3RhdHMtMmNvbCBoNSwgLnN0YXRzLTJjb2wgLmJnLXZlcnktZGFyay1ncmF5IGg1LCAuYmctZGFyay1ncmF5IC5zdGF0cy0yY29sIGg1LCAuc3RhdHMtMmNvbCAuYmctZGFyay1ncmF5IGg1LCAuYmctbWVkaXVtLWdyYXkgLnN0YXRzLTJjb2wgaDUsIC5zdGF0cy0yY29sIC5iZy1tZWRpdW0tZ3JheSBoNSwgLmJnLWJsYWNrIC5zdGF0cy0yY29sIGg2LCAuc3RhdHMtMmNvbCAuYmctYmxhY2sgaDYsIC5iZy1vbnl4IC5zdGF0cy0yY29sIGg2LCAuc3RhdHMtMmNvbCAuYmctb255eCBoNiwgLmJnLXZlcnktZGFyay1ncmF5IC5zdGF0cy0yY29sIGg2LCAuc3RhdHMtMmNvbCAuYmctdmVyeS1kYXJrLWdyYXkgaDYsIC5iZy1kYXJrLWdyYXkgLnN0YXRzLTJjb2wgaDYsIC5zdGF0cy0yY29sIC5iZy1kYXJrLWdyYXkgaDYsIC5iZy1tZWRpdW0tZ3JheSAuc3RhdHMtMmNvbCBoNiwgLnN0YXRzLTJjb2wgLmJnLW1lZGl1bS1ncmF5IGg2LFxuICAuYmctbmV1dHJhbC1ibGFjayBoNSxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgLmg1LFxuICAuYmctbmV1dHJhbC1ibGFjayAuc3RhdHMtMmNvbCBoMyxcbiAgLnN0YXRzLTJjb2wgLmJnLW5ldXRyYWwtYmxhY2sgaDMsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIC5zdGF0cy0yY29sIGg0LFxuICAuc3RhdHMtMmNvbCAuYmctbmV1dHJhbC1ibGFjayBoNCxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LFxuICAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmJnLW5ldXRyYWwtYmxhY2sgZHQsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCxcbiAgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5iZy1uZXV0cmFsLWJsYWNrIGR0LFxuICAuYmctbmV1dHJhbC1ibGFjayAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgLmJnLW5ldXRyYWwtYmxhY2sgaDUsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIC5zdGF0cy0yY29sIGg2LFxuICAuc3RhdHMtMmNvbCAuYmctbmV1dHJhbC1ibGFjayBoNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLWJsYWNrIGg2LCAuYmctb255eCBoNiwgLmJnLXZlcnktZGFyay1ncmF5IGg2LCAuYmctZGFyay1ncmF5IGg2LCAuYmctbWVkaXVtLWdyYXkgaDYsIC5iZy1ibGFjayAuaDYsIC5iZy1vbnl4IC5oNiwgLmJnLXZlcnktZGFyay1ncmF5IC5oNiwgLmJnLWRhcmstZ3JheSAuaDYsIC5iZy1tZWRpdW0tZ3JheSAuaDYsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIGg2LFxuICAuYmctbmV1dHJhbC1ibGFjayAuaDYge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1ibGFjayBsYWJlbCwgLmJnLW9ueXggbGFiZWwsIC5iZy12ZXJ5LWRhcmstZ3JheSBsYWJlbCwgLmJnLWRhcmstZ3JheSBsYWJlbCwgLmJnLW1lZGl1bS1ncmF5IGxhYmVsLFxuICAuYmctbmV1dHJhbC1ibGFjayBsYWJlbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuYmctYmxhY2sgbGFiZWwuZXJyb3IsIC5iZy1vbnl4IGxhYmVsLmVycm9yLCAuYmctdmVyeS1kYXJrLWdyYXkgbGFiZWwuZXJyb3IsIC5iZy1kYXJrLWdyYXkgbGFiZWwuZXJyb3IsIC5iZy1tZWRpdW0tZ3JheSBsYWJlbC5lcnJvcixcbiAgICAuYmctbmV1dHJhbC1ibGFjayBsYWJlbC5lcnJvciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctYmxhY2sgYTpub3QoLmJ1dHRvbiksIC5iZy1vbnl4IGE6bm90KC5idXR0b24pLCAuYmctdmVyeS1kYXJrLWdyYXkgYTpub3QoLmJ1dHRvbiksIC5iZy1kYXJrLWdyYXkgYTpub3QoLmJ1dHRvbiksIC5iZy1tZWRpdW0tZ3JheSBhOm5vdCguYnV0dG9uKSxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJnLWJsYWNrIGE6bm90KC5idXR0b24pOmFjdGl2ZSwgLmJnLW9ueXggYTpub3QoLmJ1dHRvbik6YWN0aXZlLCAuYmctdmVyeS1kYXJrLWdyYXkgYTpub3QoLmJ1dHRvbik6YWN0aXZlLCAuYmctZGFyay1ncmF5IGE6bm90KC5idXR0b24pOmFjdGl2ZSwgLmJnLW1lZGl1bS1ncmF5IGE6bm90KC5idXR0b24pOmFjdGl2ZSwgLmJnLWJsYWNrIGE6bm90KC5idXR0b24pOmZvY3VzLCAuYmctb255eCBhOm5vdCguYnV0dG9uKTpmb2N1cywgLmJnLXZlcnktZGFyay1ncmF5IGE6bm90KC5idXR0b24pOmZvY3VzLCAuYmctZGFyay1ncmF5IGE6bm90KC5idXR0b24pOmZvY3VzLCAuYmctbWVkaXVtLWdyYXkgYTpub3QoLmJ1dHRvbik6Zm9jdXMsIC5iZy1ibGFjayBhOm5vdCguYnV0dG9uKTpob3ZlciwgLmJnLW9ueXggYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5iZy12ZXJ5LWRhcmstZ3JheSBhOm5vdCguYnV0dG9uKTpob3ZlciwgLmJnLWRhcmstZ3JheSBhOm5vdCguYnV0dG9uKTpob3ZlciwgLmJnLW1lZGl1bS1ncmF5IGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIC5iZy1uZXV0cmFsLWJsYWNrIGE6bm90KC5idXR0b24pOmFjdGl2ZSxcbiAgICAuYmctbmV1dHJhbC1ibGFjayBhOm5vdCguYnV0dG9uKTpmb2N1cyxcbiAgICAuYmctbmV1dHJhbC1ibGFjayBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmctYmxhY2sgLnRleHQtc2Vjb25kYXJ5LCAuYmctb255eCAudGV4dC1zZWNvbmRhcnksIC5iZy12ZXJ5LWRhcmstZ3JheSAudGV4dC1zZWNvbmRhcnksIC5iZy1kYXJrLWdyYXkgLnRleHQtc2Vjb25kYXJ5LCAuYmctbWVkaXVtLWdyYXkgLnRleHQtc2Vjb25kYXJ5LFxuICAuYmctYmxhY2sgLnRleHQtb3JhbmdlLFxuICAuYmctb255eCAudGV4dC1vcmFuZ2UsXG4gIC5iZy12ZXJ5LWRhcmstZ3JheSAudGV4dC1vcmFuZ2UsXG4gIC5iZy1kYXJrLWdyYXkgLnRleHQtb3JhbmdlLFxuICAuYmctbWVkaXVtLWdyYXkgLnRleHQtb3JhbmdlLFxuICAuYmctYmxhY2sgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLWJsYWNrIGR0LFxuICAuYmctb255eCBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCAuYmctb255eCBkdCxcbiAgLmJnLXZlcnktZGFyay1ncmF5IGRsLmljb24tbGlzdCBkdCxcbiAgZGwuaWNvbi1saXN0IC5iZy12ZXJ5LWRhcmstZ3JheSBkdCxcbiAgLmJnLWRhcmstZ3JheSBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCAuYmctZGFyay1ncmF5IGR0LFxuICAuYmctbWVkaXVtLWdyYXkgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLW1lZGl1bS1ncmF5IGR0LFxuICAuYmctbmV1dHJhbC1ibGFjayAudGV4dC1zZWNvbmRhcnksXG4gIC5iZy1uZXV0cmFsLWJsYWNrIC50ZXh0LW9yYW5nZSxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLW5ldXRyYWwtYmxhY2sgZHQge1xuICAgIGNvbG9yOiAjRkY1RjE0OyB9XG4gIC5iZy1ibGFjayAuaWNvbi5vcmFuZ2UsIC5iZy1vbnl4IC5pY29uLm9yYW5nZSwgLmJnLXZlcnktZGFyay1ncmF5IC5pY29uLm9yYW5nZSwgLmJnLWRhcmstZ3JheSAuaWNvbi5vcmFuZ2UsIC5iZy1tZWRpdW0tZ3JheSAuaWNvbi5vcmFuZ2UsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIC5pY29uLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNUYxNDsgfVxuICAuYmctYmxhY2sgLmNsb3NlLWJ1dHRvbjphY3RpdmUsIC5iZy1vbnl4IC5jbG9zZS1idXR0b246YWN0aXZlLCAuYmctdmVyeS1kYXJrLWdyYXkgLmNsb3NlLWJ1dHRvbjphY3RpdmUsIC5iZy1kYXJrLWdyYXkgLmNsb3NlLWJ1dHRvbjphY3RpdmUsIC5iZy1tZWRpdW0tZ3JheSAuY2xvc2UtYnV0dG9uOmFjdGl2ZSwgLmJnLWJsYWNrIC5jbG9zZS1idXR0b246Zm9jdXMsIC5iZy1vbnl4IC5jbG9zZS1idXR0b246Zm9jdXMsIC5iZy12ZXJ5LWRhcmstZ3JheSAuY2xvc2UtYnV0dG9uOmZvY3VzLCAuYmctZGFyay1ncmF5IC5jbG9zZS1idXR0b246Zm9jdXMsIC5iZy1tZWRpdW0tZ3JheSAuY2xvc2UtYnV0dG9uOmZvY3VzLCAuYmctYmxhY2sgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmJnLW9ueXggLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmJnLXZlcnktZGFyay1ncmF5IC5jbG9zZS1idXR0b246aG92ZXIsIC5iZy1kYXJrLWdyYXkgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmJnLW1lZGl1bS1ncmF5IC5jbG9zZS1idXR0b246aG92ZXIsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIC5jbG9zZS1idXR0b246YWN0aXZlLFxuICAuYmctbmV1dHJhbC1ibGFjayAuY2xvc2UtYnV0dG9uOmZvY3VzLFxuICAuYmctbmV1dHJhbC1ibGFjayAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctYmxhY2sgYmxvY2txdW90ZSwgLmJnLW9ueXggYmxvY2txdW90ZSwgLmJnLXZlcnktZGFyay1ncmF5IGJsb2NrcXVvdGUsIC5iZy1kYXJrLWdyYXkgYmxvY2txdW90ZSwgLmJnLW1lZGl1bS1ncmF5IGJsb2NrcXVvdGUsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIGJsb2NrcXVvdGUge1xuICAgIGNvbG9yOiAjRkY1RjE0OyB9XG4gICAgLmJnLWJsYWNrIGJsb2NrcXVvdGUgcCwgLmJnLW9ueXggYmxvY2txdW90ZSBwLCAuYmctdmVyeS1kYXJrLWdyYXkgYmxvY2txdW90ZSBwLCAuYmctZGFyay1ncmF5IGJsb2NrcXVvdGUgcCwgLmJnLW1lZGl1bS1ncmF5IGJsb2NrcXVvdGUgcCxcbiAgICAuYmctbmV1dHJhbC1ibGFjayBibG9ja3F1b3RlIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLWJsYWNrIGNpdGUsIC5iZy1vbnl4IGNpdGUsIC5iZy12ZXJ5LWRhcmstZ3JheSBjaXRlLCAuYmctZGFyay1ncmF5IGNpdGUsIC5iZy1tZWRpdW0tZ3JheSBjaXRlLFxuICAuYmctbmV1dHJhbC1ibGFjayBjaXRlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmctYmxhY2sgZGwsIC5iZy1vbnl4IGRsLCAuYmctdmVyeS1kYXJrLWdyYXkgZGwsIC5iZy1kYXJrLWdyYXkgZGwsIC5iZy1tZWRpdW0tZ3JheSBkbCwgLmJnLWJsYWNrIGR0LCAuYmctb255eCBkdCwgLmJnLXZlcnktZGFyay1ncmF5IGR0LCAuYmctZGFyay1ncmF5IGR0LCAuYmctbWVkaXVtLWdyYXkgZHQsIC5iZy1ibGFjayBkZCwgLmJnLW9ueXggZGQsIC5iZy12ZXJ5LWRhcmstZ3JheSBkZCwgLmJnLWRhcmstZ3JheSBkZCwgLmJnLW1lZGl1bS1ncmF5IGRkLFxuICAuYmctbmV1dHJhbC1ibGFjayBkbCxcbiAgLmJnLW5ldXRyYWwtYmxhY2sgZHQsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIGRkIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctYmxhY2sgcCwgLmJnLW9ueXggcCwgLmJnLXZlcnktZGFyay1ncmF5IHAsIC5iZy1kYXJrLWdyYXkgcCwgLmJnLW1lZGl1bS1ncmF5IHAsXG4gIC5iZy1uZXV0cmFsLWJsYWNrIHAge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cblxuLmJnLXByaW1hcnktYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExOTE5O1xuICBjb2xvcjogI2ZmZjsgfVxuICBcbiAgLmJnLXByaW1hcnktYmxhY2sgaDEsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIC5oMSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGgyLFxuICAuYmctcHJpbWFyeS1ibGFjayAuaDIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIFxuICAuYmctcHJpbWFyeS1ibGFjayBoMyxcbiAgLmJnLXByaW1hcnktYmxhY2sgLmgzIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBcbiAgLmJnLXByaW1hcnktYmxhY2sgaDQsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGRsLmljb24tbGlzdCBkdCxcbiAgZGwuaWNvbi1saXN0IC5iZy1wcmltYXJ5LWJsYWNrIGR0LFxuICAuYmctcHJpbWFyeS1ibGFjayAuaDQge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIFxuICAuYmctcHJpbWFyeS1ibGFjayBoNSxcbiAgLmJnLXByaW1hcnktYmxhY2sgLmg1LFxuICAuYmctcHJpbWFyeS1ibGFjayAuc3RhdHMtMmNvbCBoMyxcbiAgLnN0YXRzLTJjb2wgLmJnLXByaW1hcnktYmxhY2sgaDMsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIC5zdGF0cy0yY29sIGg0LFxuICAuc3RhdHMtMmNvbCAuYmctcHJpbWFyeS1ibGFjayBoNCxcbiAgLmJnLXByaW1hcnktYmxhY2sgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LFxuICAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmJnLXByaW1hcnktYmxhY2sgZHQsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCxcbiAgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5iZy1wcmltYXJ5LWJsYWNrIGR0LFxuICAuYmctcHJpbWFyeS1ibGFjayAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgLmJnLXByaW1hcnktYmxhY2sgaDUsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIC5zdGF0cy0yY29sIGg2LFxuICAuc3RhdHMtMmNvbCAuYmctcHJpbWFyeS1ibGFjayBoNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGg2LFxuICAuYmctcHJpbWFyeS1ibGFjayAuaDYge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIFxuICAuYmctcHJpbWFyeS1ibGFjayBsYWJlbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICBcbiAgICAuYmctcHJpbWFyeS1ibGFjayBsYWJlbC5lcnJvciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBcbiAgLmJnLXByaW1hcnktYmxhY2sgYTpub3QoLmJ1dHRvbikge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgXG4gICAgLmJnLXByaW1hcnktYmxhY2sgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIC5iZy1wcmltYXJ5LWJsYWNrIGE6bm90KC5idXR0b24pOmZvY3VzLFxuICAgIC5iZy1wcmltYXJ5LWJsYWNrIGE6bm90KC5idXR0b24pOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIFxuICAuYmctcHJpbWFyeS1ibGFjayAudGV4dC1zZWNvbmRhcnksXG4gIC5iZy1wcmltYXJ5LWJsYWNrIC50ZXh0LW9yYW5nZSxcbiAgLmJnLXByaW1hcnktYmxhY2sgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLXByaW1hcnktYmxhY2sgZHQge1xuICAgIGNvbG9yOiAjRkY1RjE0OyB9XG4gIFxuICAuYmctcHJpbWFyeS1ibGFjayAuaWNvbi5vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjVGMTQ7IH1cbiAgXG4gIC5iZy1wcmltYXJ5LWJsYWNrIC5jbG9zZS1idXR0b246YWN0aXZlLFxuICAuYmctcHJpbWFyeS1ibGFjayAuY2xvc2UtYnV0dG9uOmZvY3VzLFxuICAuYmctcHJpbWFyeS1ibGFjayAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBcbiAgLmJnLXByaW1hcnktYmxhY2sgYmxvY2txdW90ZSB7XG4gICAgY29sb3I6ICNGRjVGMTQ7IH1cbiAgICBcbiAgICAuYmctcHJpbWFyeS1ibGFjayBibG9ja3F1b3RlIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGNpdGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIFxuICAuYmctcHJpbWFyeS1ibGFjayBkbCxcbiAgLmJnLXByaW1hcnktYmxhY2sgZHQsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGRkIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBcbiAgLmJnLXByaW1hcnktYmxhY2sgcCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmJnLXByaW1hcnksXG4uYmctYmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5iZy1wcmltYXJ5IGgxLCAuYmctcHJpbWFyeSAuaDEsXG4gIC5iZy1ibHVlIGgxLFxuICAuYmctYmx1ZSAuaDEge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1wcmltYXJ5IGgyLCAuYmctcHJpbWFyeSAuaDIsXG4gIC5iZy1ibHVlIGgyLFxuICAuYmctYmx1ZSAuaDIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1wcmltYXJ5IGgzLCAuYmctcHJpbWFyeSAuaDMsXG4gIC5iZy1ibHVlIGgzLFxuICAuYmctYmx1ZSAuaDMge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1wcmltYXJ5IGg0LCAuYmctcHJpbWFyeSBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuYmctcHJpbWFyeSBkdCwgLmJnLXByaW1hcnkgLmg0LFxuICAuYmctYmx1ZSBoNCxcbiAgLmJnLWJsdWUgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLWJsdWUgZHQsXG4gIC5iZy1ibHVlIC5oNCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXByaW1hcnkgaDUsIC5iZy1wcmltYXJ5IC5oNSwgLmJnLXByaW1hcnkgLnN0YXRzLTJjb2wgaDMsIC5zdGF0cy0yY29sIC5iZy1wcmltYXJ5IGgzLCAuYmctcHJpbWFyeSAuc3RhdHMtMmNvbCBoNCwgLnN0YXRzLTJjb2wgLmJnLXByaW1hcnkgaDQsIC5iZy1wcmltYXJ5IC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBkdCwgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IC5iZy1wcmltYXJ5IGR0LCAuYmctcHJpbWFyeSBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgZHQsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCAuYmctcHJpbWFyeSBkdCwgLmJnLXByaW1hcnkgLnN0YXRzLTJjb2wgaDUsIC5zdGF0cy0yY29sIC5iZy1wcmltYXJ5IGg1LCAuYmctcHJpbWFyeSAuc3RhdHMtMmNvbCBoNiwgLnN0YXRzLTJjb2wgLmJnLXByaW1hcnkgaDYsXG4gIC5iZy1ibHVlIGg1LFxuICAuYmctYmx1ZSAuaDUsXG4gIC5iZy1ibHVlIC5zdGF0cy0yY29sIGgzLFxuICAuc3RhdHMtMmNvbCAuYmctYmx1ZSBoMyxcbiAgLmJnLWJsdWUgLnN0YXRzLTJjb2wgaDQsXG4gIC5zdGF0cy0yY29sIC5iZy1ibHVlIGg0LFxuICAuYmctYmx1ZSAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsXG4gIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCAuYmctYmx1ZSBkdCxcbiAgLmJnLWJsdWUgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LFxuICBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgLmJnLWJsdWUgZHQsXG4gIC5iZy1ibHVlIC5zdGF0cy0yY29sIGg1LFxuICAuc3RhdHMtMmNvbCAuYmctYmx1ZSBoNSxcbiAgLmJnLWJsdWUgLnN0YXRzLTJjb2wgaDYsXG4gIC5zdGF0cy0yY29sIC5iZy1ibHVlIGg2IHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctcHJpbWFyeSBoNiwgLmJnLXByaW1hcnkgLmg2LFxuICAuYmctYmx1ZSBoNixcbiAgLmJnLWJsdWUgLmg2IHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctcHJpbWFyeSBsYWJlbCxcbiAgLmJnLWJsdWUgbGFiZWwge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmJnLXByaW1hcnkgbGFiZWwuZXJyb3IsXG4gICAgLmJnLWJsdWUgbGFiZWwuZXJyb3Ige1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXByaW1hcnkgYTpub3QoLmJ1dHRvbiksXG4gIC5iZy1ibHVlIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5iZy1wcmltYXJ5IGE6bm90KC5idXR0b24pOmFjdGl2ZSwgLmJnLXByaW1hcnkgYTpub3QoLmJ1dHRvbik6Zm9jdXMsIC5iZy1wcmltYXJ5IGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIC5iZy1ibHVlIGE6bm90KC5idXR0b24pOmFjdGl2ZSxcbiAgICAuYmctYmx1ZSBhOm5vdCguYnV0dG9uKTpmb2N1cyxcbiAgICAuYmctYmx1ZSBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmctcHJpbWFyeSAudGV4dC1zZWNvbmRhcnksXG4gIC5iZy1wcmltYXJ5IC50ZXh0LW9yYW5nZSxcbiAgLmJnLXByaW1hcnkgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmJnLXByaW1hcnkgZHQsXG4gIC5iZy1ibHVlIC50ZXh0LXNlY29uZGFyeSxcbiAgLmJnLWJsdWUgLnRleHQtb3JhbmdlLFxuICAuYmctYmx1ZSBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCAuYmctYmx1ZSBkdCB7XG4gICAgY29sb3I6ICNGRjVGMTQ7IH1cbiAgLmJnLXByaW1hcnkgLmljb24ub3JhbmdlLFxuICAuYmctYmx1ZSAuaWNvbi5vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjVGMTQ7IH1cbiAgLmJnLXByaW1hcnkgLmNsb3NlLWJ1dHRvbjphY3RpdmUsIC5iZy1wcmltYXJ5IC5jbG9zZS1idXR0b246Zm9jdXMsIC5iZy1wcmltYXJ5IC5jbG9zZS1idXR0b246aG92ZXIsXG4gIC5iZy1ibHVlIC5jbG9zZS1idXR0b246YWN0aXZlLFxuICAuYmctYmx1ZSAuY2xvc2UtYnV0dG9uOmZvY3VzLFxuICAuYmctYmx1ZSAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctcHJpbWFyeSBibG9ja3F1b3RlLFxuICAuYmctYmx1ZSBibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI0ZGNUYxNDsgfVxuICAgIC5iZy1wcmltYXJ5IGJsb2NrcXVvdGUgcCxcbiAgICAuYmctYmx1ZSBibG9ja3F1b3RlIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXByaW1hcnkgY2l0ZSxcbiAgLmJnLWJsdWUgY2l0ZSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJnLXByaW1hcnkgZGwsIC5iZy1wcmltYXJ5IGR0LCAuYmctcHJpbWFyeSBkZCxcbiAgLmJnLWJsdWUgZGwsXG4gIC5iZy1ibHVlIGR0LFxuICAuYmctYmx1ZSBkZCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXByaW1hcnkgcCxcbiAgLmJnLWJsdWUgcCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmJnLXNlY29uZGFyeSxcbi5iZy1vcmFuZ2UsXG5hc2lkZS5wYW5lbDpub3QoLmRhcmspIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkNGQxMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmJnLXNlY29uZGFyeSBoMSwgLmJnLXNlY29uZGFyeSAuaDEsXG4gIC5iZy1vcmFuZ2UgaDEsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgaDEsXG4gIC5iZy1vcmFuZ2UgLmgxLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5oMSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXNlY29uZGFyeSBoMiwgLmJnLXNlY29uZGFyeSAuaDIsXG4gIC5iZy1vcmFuZ2UgaDIsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgaDIsXG4gIC5iZy1vcmFuZ2UgLmgyLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5oMiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXNlY29uZGFyeSBoMywgLmJnLXNlY29uZGFyeSAuaDMsXG4gIC5iZy1vcmFuZ2UgaDMsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgaDMsXG4gIC5iZy1vcmFuZ2UgLmgzLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5oMyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXNlY29uZGFyeSBoNCwgLmJnLXNlY29uZGFyeSBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuYmctc2Vjb25kYXJ5IGR0LCAuYmctc2Vjb25kYXJ5IC5oNCxcbiAgLmJnLW9yYW5nZSBoNCxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBoNCxcbiAgLmJnLW9yYW5nZSBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCAuYmctb3JhbmdlIGR0LFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGRsLmljb24tbGlzdCBkdCxcbiAgZGwuaWNvbi1saXN0IGFzaWRlLnBhbmVsOm5vdCguZGFyaykgZHQsXG4gIC5iZy1vcmFuZ2UgLmg0LFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5oNCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXNlY29uZGFyeSBoNSwgLmJnLXNlY29uZGFyeSAuaDUsIC5iZy1zZWNvbmRhcnkgLnN0YXRzLTJjb2wgaDMsIC5zdGF0cy0yY29sIC5iZy1zZWNvbmRhcnkgaDMsIC5iZy1zZWNvbmRhcnkgLnN0YXRzLTJjb2wgaDQsIC5zdGF0cy0yY29sIC5iZy1zZWNvbmRhcnkgaDQsIC5iZy1zZWNvbmRhcnkgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmJnLXNlY29uZGFyeSBkdCwgLmJnLXNlY29uZGFyeSBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgZHQsIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCAuYmctc2Vjb25kYXJ5IGR0LCAuYmctc2Vjb25kYXJ5IC5zdGF0cy0yY29sIGg1LCAuc3RhdHMtMmNvbCAuYmctc2Vjb25kYXJ5IGg1LCAuYmctc2Vjb25kYXJ5IC5zdGF0cy0yY29sIGg2LCAuc3RhdHMtMmNvbCAuYmctc2Vjb25kYXJ5IGg2LFxuICAuYmctb3JhbmdlIGg1LFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGg1LFxuICAuYmctb3JhbmdlIC5oNSxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSAuaDUsXG4gIC5iZy1vcmFuZ2UgLnN0YXRzLTJjb2wgaDMsXG4gIC5zdGF0cy0yY29sIC5iZy1vcmFuZ2UgaDMsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgLnN0YXRzLTJjb2wgaDMsXG4gIC5zdGF0cy0yY29sIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgaDMsXG4gIC5iZy1vcmFuZ2UgLnN0YXRzLTJjb2wgaDQsXG4gIC5zdGF0cy0yY29sIC5iZy1vcmFuZ2UgaDQsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgLnN0YXRzLTJjb2wgaDQsXG4gIC5zdGF0cy0yY29sIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgaDQsXG4gIC5iZy1vcmFuZ2UgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LFxuICAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmJnLW9yYW5nZSBkdCxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQsXG4gIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGR0LFxuICAuYmctb3JhbmdlIGRsLmljb24tbGlzdCAuc3RhdHMtMmNvbCBkdCxcbiAgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5iZy1vcmFuZ2UgZHQsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LFxuICBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBkdCxcbiAgLmJnLW9yYW5nZSAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgLmJnLW9yYW5nZSBoNSxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBoNSxcbiAgLmJnLW9yYW5nZSAuc3RhdHMtMmNvbCBoNixcbiAgLnN0YXRzLTJjb2wgLmJnLW9yYW5nZSBoNixcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSAuc3RhdHMtMmNvbCBoNixcbiAgLnN0YXRzLTJjb2wgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBoNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXNlY29uZGFyeSBoNiwgLmJnLXNlY29uZGFyeSAuaDYsXG4gIC5iZy1vcmFuZ2UgaDYsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgaDYsXG4gIC5iZy1vcmFuZ2UgLmg2LFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5oNiB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmJnLXNlY29uZGFyeSBsYWJlbCxcbiAgLmJnLW9yYW5nZSBsYWJlbCxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBsYWJlbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuYmctc2Vjb25kYXJ5IGxhYmVsLmVycm9yLFxuICAgIC5iZy1vcmFuZ2UgbGFiZWwuZXJyb3IsXG4gICAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBsYWJlbC5lcnJvciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctc2Vjb25kYXJ5IGE6bm90KC5idXR0b24pLFxuICAuYmctb3JhbmdlIGE6bm90KC5idXR0b24pLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgIC5iZy1zZWNvbmRhcnkgYTpub3QoLmJ1dHRvbik6YWN0aXZlLCAuYmctc2Vjb25kYXJ5IGE6bm90KC5idXR0b24pOmZvY3VzLCAuYmctc2Vjb25kYXJ5IGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIC5iZy1vcmFuZ2UgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIC5iZy1vcmFuZ2UgYTpub3QoLmJ1dHRvbik6Zm9jdXMsXG4gICAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBhOm5vdCguYnV0dG9uKTpmb2N1cyxcbiAgICAuYmctb3JhbmdlIGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYTpub3QoLmJ1dHRvbik6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJnLXNlY29uZGFyeSAudGV4dC1zZWNvbmRhcnksXG4gIC5iZy1zZWNvbmRhcnkgLnRleHQtb3JhbmdlLFxuICAuYmctc2Vjb25kYXJ5IGRsLmljb24tbGlzdCBkdCxcbiAgZGwuaWNvbi1saXN0IC5iZy1zZWNvbmRhcnkgZHQsXG4gIC5iZy1vcmFuZ2UgLnRleHQtc2Vjb25kYXJ5LFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC50ZXh0LXNlY29uZGFyeSxcbiAgLmJnLW9yYW5nZSAudGV4dC1vcmFuZ2UsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgLnRleHQtb3JhbmdlLFxuICAuYmctb3JhbmdlIGRsLmljb24tbGlzdCBkdCxcbiAgZGwuaWNvbi1saXN0IC5iZy1vcmFuZ2UgZHQsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBkdCB7XG4gICAgY29sb3I6ICNGRjVGMTQ7IH1cbiAgLmJnLXNlY29uZGFyeSAuaWNvbi5vcmFuZ2UsXG4gIC5iZy1vcmFuZ2UgLmljb24ub3JhbmdlLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5pY29uLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNUYxNDsgfVxuICAuYmctc2Vjb25kYXJ5IC5jbG9zZS1idXR0b246YWN0aXZlLCAuYmctc2Vjb25kYXJ5IC5jbG9zZS1idXR0b246Zm9jdXMsIC5iZy1zZWNvbmRhcnkgLmNsb3NlLWJ1dHRvbjpob3ZlcixcbiAgLmJnLW9yYW5nZSAuY2xvc2UtYnV0dG9uOmFjdGl2ZSxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSAuY2xvc2UtYnV0dG9uOmFjdGl2ZSxcbiAgLmJnLW9yYW5nZSAuY2xvc2UtYnV0dG9uOmZvY3VzLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5jbG9zZS1idXR0b246Zm9jdXMsXG4gIC5iZy1vcmFuZ2UgLmNsb3NlLWJ1dHRvbjpob3ZlcixcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSAuY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYmctc2Vjb25kYXJ5IGJsb2NrcXVvdGUsXG4gIC5iZy1vcmFuZ2UgYmxvY2txdW90ZSxcbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogI0ZGNUYxNDsgfVxuICAgIC5iZy1zZWNvbmRhcnkgYmxvY2txdW90ZSBwLFxuICAgIC5iZy1vcmFuZ2UgYmxvY2txdW90ZSBwLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYmxvY2txdW90ZSBwIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1zZWNvbmRhcnkgY2l0ZSxcbiAgLmJnLW9yYW5nZSBjaXRlLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGNpdGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iZy1zZWNvbmRhcnkgZGwsIC5iZy1zZWNvbmRhcnkgZHQsIC5iZy1zZWNvbmRhcnkgZGQsXG4gIC5iZy1vcmFuZ2UgZGwsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgZGwsXG4gIC5iZy1vcmFuZ2UgZHQsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgZHQsXG4gIC5iZy1vcmFuZ2UgZGQsXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgZGQge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1zZWNvbmRhcnkgcCxcbiAgLmJnLW9yYW5nZSBwLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIHAge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5iZy1zZWNvbmRhcnkgYTpub3QoLmJ1dHRvbiksXG4gIC5iZy1vcmFuZ2UgYTpub3QoLmJ1dHRvbiksXG4gIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYTpub3QoLmJ1dHRvbikge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2UsIGNvbG9yIDI1MG1zIGVhc2U7IH1cbiAgICAuYmctc2Vjb25kYXJ5IGE6bm90KC5idXR0b24pOmZvY3VzLCAuYmctc2Vjb25kYXJ5IGE6bm90KC5idXR0b24pOmhvdmVyLCAuYmctc2Vjb25kYXJ5IGE6bm90KC5idXR0b24pOmFjdGl2ZSxcbiAgICAuYmctb3JhbmdlIGE6bm90KC5idXR0b24pOmZvY3VzLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYTpub3QoLmJ1dHRvbik6Zm9jdXMsXG4gICAgLmJnLW9yYW5nZSBhOm5vdCguYnV0dG9uKTpob3ZlcixcbiAgICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIGE6bm90KC5idXR0b24pOmhvdmVyLFxuICAgIC5iZy1vcmFuZ2UgYTpub3QoLmJ1dHRvbik6YWN0aXZlLFxuICAgIGFzaWRlLnBhbmVsOm5vdCguZGFyaykgYTpub3QoLmJ1dHRvbik6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogIzIyMjsgfVxuICAuYmctc2Vjb25kYXJ5IC5pbGx1c3RyYXRlZC1idWxsZXQ6bm90KHVsKSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuICAuYmctc2Vjb25kYXJ5IHVsLmlsbHVzdHJhdGVkLWJ1bGxldCBsaTo6YmVmb3JlLFxuICAuYmctb3JhbmdlIC5pbGx1c3RyYXRlZC1idWxsZXQ6bm90KHVsKSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIC5pbGx1c3RyYXRlZC1idWxsZXQ6bm90KHVsKSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuICAuYmctb3JhbmdlIHVsLmlsbHVzdHJhdGVkLWJ1bGxldCBsaTo6YmVmb3JlLFxuICBhc2lkZS5wYW5lbDpub3QoLmRhcmspIHVsLmlsbHVzdHJhdGVkLWJ1bGxldCBsaTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLmJnLXJlcGVhdCB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7IH1cblxuLmJnLXJlcGVhdC14IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OyB9XG5cbi5iZy1yZXBlYXQteSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTsgfVxuXG4uYmctbm8tcmVwZWF0IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uYmctcG9zLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7IH1cblxuLmJnLXBvcy1jZW50ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG5cbi5iZy1wb3MtYm90dG9tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tOyB9XG5cbnN0cm9uZy5ub3JtYWwsXG5iLm5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuc3Ryb25nLm1lZGl1bSxcbmIubWVkaXVtIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uZGF0ZSxcbnRpbWUge1xuICBjb2xvcjogI2NkNGQxMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGUuc21hbGwsXG4gIHRpbWUuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4ubGFiZWwsXG5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzIE1vbm9cIiwgbW9ub3NwYWNlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbmJsb2NrcXVvdGUge1xuICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBibG9ja3F1b3RlLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuXG5jaXRlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG4gIGNpdGU6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNGRjVGMTQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTAuMDYyNXJlbTsgfVxuXG4uZm9udC1uZXVlLWhhYXMge1xuICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjsgfVxuXG4uaGVhZGVyLWZvbnQtc21hbGwge1xuICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udGV4dC1zZWNvbmRhcnksXG4udGV4dC1vcmFuZ2UsXG5kbC5pY29uLWxpc3QgZHQge1xuICBjb2xvcjogI2NkNGQxMDsgfVxuXG4udGV4dC1uZXV0cmFsLTgge1xuICBjb2xvcjogI0Q3RDJDQiAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LW5ldXRyYWwtYmxhY2sge1xuICBjb2xvcjogIzIyMjsgfVxuXG5zbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5sZWFkLCAuaGVybyBwOm5vdCguZXllYnJvdyksIC5saXZlLXN0YXRzLXdyYXBwZXIgZmlnY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIGJsb2NrcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5cbi5maXhlZC1zaXplLXh4LXNtYWxsIHtcbiAgZm9udC1zaXplOiB4eC1zbWFsbDsgfVxuXG5cbi5maXhlZC1zaXplLXgtc21hbGwge1xuICBmb250LXNpemU6IHgtc21hbGw7IH1cblxuXG4uZml4ZWQtc2l6ZS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogc21hbGw7IH1cblxuXG4uZml4ZWQtc2l6ZS1tZWRpdW0ge1xuICBmb250LXNpemU6IG1lZGl1bTsgfVxuXG5cbi5maXhlZC1zaXplLWxhcmdlIHtcbiAgZm9udC1zaXplOiBsYXJnZTsgfVxuXG5cbi5maXhlZC1zaXplLXgtbGFyZ2Uge1xuICBmb250LXNpemU6IHgtbGFyZ2U7IH1cblxuXG4uZml4ZWQtc2l6ZS14eC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogeHgtbGFyZ2U7IH1cblxuLm51bWVyYWwtcGFuZWwge1xuICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuICAubnVtZXJhbC1wYW5lbDpiZWZvcmUge1xuICAgIGNvbG9yOiAjY2Q0ZDEwO1xuICAgIGNvbnRlbnQ6IFwiMDFcIjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIm5ldWUtaGFhcy11bmljYVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDcuMTg3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXJlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5udW1lcmFsLXBhbmVsLTIge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG4gICAgLm51bWVyYWwtcGFuZWwtMjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNjZDRkMTA7XG4gICAgICBjb250ZW50OiBcIjAyXCI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDcuMTg3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLm51bWVyYWwtcGFuZWwtMyB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgICAubnVtZXJhbC1wYW5lbC0zOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2NkNGQxMDtcbiAgICAgIGNvbnRlbnQ6IFwiMDNcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogNy4xODc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNXJlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc2lkZWJhci1zZWFyY2gtZm9ybSBsaS5ib3JkZXJlZC10b3Age1xuICBib3JkZXItY29sb3I6ICMwMDA7IH1cblxuLnNpZGViYXItc2VhcmNoLWZvcm0gYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMC41cmVtIDA7IH1cbiAgLnNpZGViYXItc2VhcmNoLWZvcm0gYS5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAjY2Q0ZDEwOyB9XG5cbi5zaWRlYmFyLXNlYXJjaC1mb3JtIGgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNzU7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNpZGViYXItc2VhcmNoLWZvcm0gaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnNpZGViYXItc2VhcmNoLWZvcm0gaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnF1aWNrLWJyb3dzZSBoMSwgLnF1aWNrLWJyb3dzZSBoMiwgLnF1aWNrLWJyb3dzZSBoMywgLnF1aWNrLWJyb3dzZSBoNCwgLnF1aWNrLWJyb3dzZSBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAucXVpY2stYnJvd3NlIGR0LCAucXVpY2stYnJvd3NlIGg1LCAucXVpY2stYnJvd3NlIGg2IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucXVpY2stYnJvd3NlIGgxLCAucXVpY2stYnJvd3NlIGgyLCAucXVpY2stYnJvd3NlIGgzLCAucXVpY2stYnJvd3NlIGg0LCAucXVpY2stYnJvd3NlIGRsLmljb24tbGlzdCBkdCwgZGwuaWNvbi1saXN0IC5xdWljay1icm93c2UgZHQsIC5xdWljay1icm93c2UgaDUsIC5xdWljay1icm93c2UgaDYge1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5xdWljay1icm93c2UgaDEsIC5xdWljay1icm93c2UgaDIsIC5xdWljay1icm93c2UgaDMsIC5xdWljay1icm93c2UgaDQsIC5xdWljay1icm93c2UgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLnF1aWNrLWJyb3dzZSBkdCwgLnF1aWNrLWJyb3dzZSBoNSwgLnF1aWNrLWJyb3dzZSBoNiB7XG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLnJlc3VsdHMtY29udGVudCBoMSwgLnJlc3VsdHMtY29udGVudCBoMiwgLnJlc3VsdHMtY29udGVudCBoMywgLnJlc3VsdHMtY29udGVudCBoNCwgLnJlc3VsdHMtY29udGVudCBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAucmVzdWx0cy1jb250ZW50IGR0LCAucmVzdWx0cy1jb250ZW50IGg1LCAucmVzdWx0cy1jb250ZW50IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5wLnMtZGV0YWlscy1vYmplY3RpdmVzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucy1kZXRhaWxzLW9iamVjdGl2ZXM6Zmlyc3QtbGV0dGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS10ZXh0LW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zbWFsbC1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5pY29uIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgbWFzay1zaXplOiBjb250YWluO1xuICBtYXNrLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICBtaW4td2lkdGg6IDEuMjVyZW07XG4gIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNpemUsIDEuMjVyZW0pO1xuICBtaW4td2lkdGg6IHZhcigtLXNpemUsIDEuMjVyZW0pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuaWNvbi5zbWFsbCB7XG4gICAgbWluLWhlaWdodDogMC44MTI1cmVtO1xuICAgIG1pbi13aWR0aDogMC44MTI1cmVtOyB9XG4gIC5pY29uOmhvdmVyLCAuaWNvbjpmb2N1cywgLmljb246YWN0aXZlIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5pY29uLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7IH1cbiAgICAuaWNvbi5ibHVlOmhvdmVyLCAuaWNvbi5ibHVlOmFjdGl2ZSwgLmljb24uYmx1ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N0M4OyB9XG4gIC5pY29uLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NkNGQxMDsgfVxuICAgIC5pY29uLm9yYW5nZTpob3ZlciwgLmljb24ub3JhbmdlOmFjdGl2ZSwgLmljb24ub3JhbmdlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDRkMTA7IH1cbiAgLmljb24uZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVFNTE0RDsgfVxuICAgIC5pY29uLmdyYXk6aG92ZXIsIC5pY29uLmdyYXk6YWN0aXZlLCAuaWNvbi5ncmF5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1RTUxNEQ7IH1cbiAgLmljb24ud2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuaWNvbi53aGl0ZTpob3ZlciwgLmljb24ud2hpdGU6YWN0aXZlLCAuaWNvbi53aGl0ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5pY29uLmJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgLmljb24uYmxhY2s6aG92ZXIsIC5pY29uLmJsYWNrOmFjdGl2ZSwgLmljb24uYmxhY2s6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAuY2hlY2sge1xuICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDIyIDIyXCI+PHBhdGggZD1cIk02LjEgMjEuM0wuNSAxMy43bDEuOC0xLjMgNC42IDYuM0wxOS40LjcgMjEuMiAyIDcuOSAyMS4zelwiLz48L3N2Zz4nKTsgfVxuICAuZW52ZWxvcGUge1xuICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCw8c3ZnIHdpZHRoPVwiMTc5MlwiIGhlaWdodD1cIjE3OTJcIiB2aWV3Qm94PVwiMCAwIDE3OTIgMTc5MlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTE3OTIgNzEwdjc5NHEwIDY2LTQ3IDExM3QtMTEzIDQ3SDE2MHEtNjYgMC0xMTMtNDdUMCAxNTA0VjcxMHE0NCA0OSAxMDEgODcgMzYyIDI0NiA0OTcgMzQ1IDU3IDQyIDkyLjUgNjUuNXQ5NC41IDQ4IDExMCAyNC41aDJxNTEgMCAxMTAtMjQuNXQ5NC41LTQ4IDkyLjUtNjUuNXExNzAtMTIzIDQ5OC0zNDUgNTctMzkgMTAwLTg3em0wLTI5NHEwIDc5LTQ5IDE1MXQtMTIyIDEyM3EtMzc2IDI2MS00NjggMzI1LTEwIDctNDIuNSAzMC41dC01NCAzOC01MiAzMi41LTU3LjUgMjctNTAgOWgtMnEtMjMgMC01MC05dC01Ny41LTI3LTUyLTMyLjUtNTQtMzhUNjM5IDEwMTVxLTkxLTY0LTI2Mi0xODIuNVQxNzIgNjkwcS02Mi00Mi0xMTctMTE1LjVUMCA0MzhxMC03OCA0MS41LTEzMFQxNjAgMjU2aDE0NzJxNjUgMCAxMTIuNSA0N3Q0Ny41IDExM3pcIi8+PC9zdmc+Jyk7IH1cbiAgLmV4dGVybmFsLWxpbmstc3F1YXJlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB3aWR0aD1cIjE3OTJcIiBoZWlnaHQ9XCIxNzkyXCIgdmlld0JveD1cIjAgMCAxNzkyIDE3OTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xNDA4IDkyOFY0NDhxMC0yNi0xOS00NXQtNDUtMTlIODY0cS00MiAwLTU5IDM5LTE3IDQxIDE0IDcwbDE0NCAxNDQtNTM0IDUzNHEtMTkgMTktMTkgNDV0MTkgNDVsMTAyIDEwMnExOSAxOSA0NSAxOXQ0NS0xOWw1MzQtNTM0IDE0NCAxNDRxMTggMTkgNDUgMTkgMTIgMCAyNS01IDM5LTE3IDM5LTU5em0yNTYtNTEydjk2MHEwIDExOS04NC41IDIwMy41VDEzNzYgMTY2NEg0MTZxLTExOSAwLTIwMy41LTg0LjVUMTI4IDEzNzZWNDE2cTAtMTE5IDg0LjUtMjAzLjVUNDE2IDEyOGg5NjBxMTE5IDAgMjAzLjUgODQuNVQxNjY0IDQxNnpcIi8+PC9zdmc+Jyk7IH1cbiAgLmZhY2Vib29rIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE5IDE4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNOS40MzUgMGMtNC45NzEgMC05IDQuMDUzLTkgOS4wNTUgMCA0LjUyIDMuMjkgOC4yNjYgNy41OTMgOC45NDV2LTYuMzI4SDUuNzQzVjkuMDU1aDIuMjg1VjcuMDZjMC0yLjI3IDEuMzQzLTMuNTIzIDMuNC0zLjUyMy45ODQgMCAyLjAxNC4xNzcgMi4wMTQuMTc3djIuMjI4aC0xLjEzNWMtMS4xMTggMC0xLjQ2Ni42OTktMS40NjYgMS40MTV2MS42OThoMi40OTZsLS4zOTkgMi42MTdoLTIuMDk3VjE4YzQuMzAzLS42OCA3LjU5NC00LjQyNSA3LjU5NC04Ljk0NSAwLTUuMDAyLTQuMDMtOS4wNTUtOS05LjA1NXpcIi8+PC9zdmc+Jyk7IH1cbiAgLmZheCB7XG4gICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LDxzdmcgd2lkdGg9XCIxNzkyXCIgaGVpZ2h0PVwiMTc5MlwiIHZpZXdCb3g9XCIwIDAgMTc5MiAxNzkyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMjg4IDM4NHE2NiAwIDExMyA0N3Q0NyAxMTN2MTA4OHEwIDY2LTQ3IDExM3QtMTEzIDQ3SDE2MHEtNjYgMC0xMTMtNDdUMCAxNjMyVjU0NHEwLTY2IDQ3LTExM3QxMTMtNDdoMTI4em0xMzc2IDE2M3E1OCAzNCA5MyA5M3QzNSAxMjh2NzY4cTAgMTA2LTc1IDE4MXQtMTgxIDc1SDY3MnEtNjYgMC0xMTMtNDd0LTQ3LTExM1Y5NnEwLTQwIDI4LTY4dDY4LTI4aDY3MnE0MCAwIDg4IDIwdDc2IDQ4bDE1MiAxNTJxMjggMjggNDggNzZ0MjAgODh2MTYzem0tNzM2IDk4OXYtMTI4cTAtMTQtOS0yM3QtMjMtOUg3NjhxLTE0IDAtMjMgOXQtOSAyM3YxMjhxMCAxNCA5IDIzdDIzIDloMTI4cTE0IDAgMjMtOXQ5LTIzem0wLTI1NnYtMTI4cTAtMTQtOS0yM3QtMjMtOUg3NjhxLTE0IDAtMjMgOXQtOSAyM3YxMjhxMCAxNCA5IDIzdDIzIDloMTI4cTE0IDAgMjMtOXQ5LTIzem0wLTI1NlY4OTZxMC0xNC05LTIzdC0yMy05SDc2OHEtMTQgMC0yMyA5dC05IDIzdjEyOHEwIDE0IDkgMjN0MjMgOWgxMjhxMTQgMCAyMy05dDktMjN6bTI1NiA1MTJ2LTEyOHEwLTE0LTktMjN0LTIzLTloLTEyOHEtMTQgMC0yMyA5dC05IDIzdjEyOHEwIDE0IDkgMjN0MjMgOWgxMjhxMTQgMCAyMy05dDktMjN6bTAtMjU2di0xMjhxMC0xNC05LTIzdC0yMy05aC0xMjhxLTE0IDAtMjMgOXQtOSAyM3YxMjhxMCAxNCA5IDIzdDIzIDloMTI4cTE0IDAgMjMtOXQ5LTIzem0wLTI1NlY4OTZxMC0xNC05LTIzdC0yMy05aC0xMjhxLTE0IDAtMjMgOXQtOSAyM3YxMjhxMCAxNCA5IDIzdDIzIDloMTI4cTE0IDAgMjMtOXQ5LTIzem0yNTYgNTEydi0xMjhxMC0xNC05LTIzdC0yMy05aC0xMjhxLTE0IDAtMjMgOXQtOSAyM3YxMjhxMCAxNCA5IDIzdDIzIDloMTI4cTE0IDAgMjMtOXQ5LTIzem0wLTI1NnYtMTI4cTAtMTQtOS0yM3QtMjMtOWgtMTI4cS0xNCAwLTIzIDl0LTkgMjN2MTI4cTAgMTQgOSAyM3QyMyA5aDEyOHExNCAwIDIzLTl0OS0yM3ptMC0yNTZWODk2cTAtMTQtOS0yM3QtMjMtOWgtMTI4cS0xNCAwLTIzIDl0LTkgMjN2MTI4cTAgMTQgOSAyM3QyMyA5aDEyOHExNCAwIDIzLTl0OS0yM3ptOTYtMzg0VjM4NGgtMTYwcS00MCAwLTY4LTI4dC0yOC02OFYxMjhINjQwdjUxMmg4OTZ6XCIvPjwvc3ZnPicpOyB9XG4gIC5pbnN0YWdyYW0ge1xuICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCw8c3ZnIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTkgMThcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTkuNjU3IDEuNjI1YzIuNDA1IDAgMi42OTIuMDA4IDMuNjM3LjA1My44NzguMDM4IDEuMzU0LjE5IDEuNjcyLjMxYTIuOTczIDIuOTczIDAgMDExLjcxIDEuNzA5Yy4xMi4zMTcuMjcxLjc5NC4zMSAxLjY3LjA0NC45NTMuMDUyIDEuMjMzLjA1MiAzLjYzN3MtLjAwOCAyLjY5MS0uMDUzIDMuNjM2Yy0uMDM4Ljg3Ny0uMTg5IDEuMzUzLS4zMSAxLjY3YTIuOTczIDIuOTczIDAgMDEtMS43MSAxLjcxYy0uMzE3LjEyLS43OTMuMjcxLTEuNjcuMzEtLjk1NC4wNDUtMS4yMzMuMDUyLTMuNjM4LjA1MnMtMi42OTMtLjAwNy0zLjYzOC0uMDUzYy0uODc4LS4wMzgtMS4zNTQtLjE4OS0xLjY3Mi0uMzFhMi45NzMgMi45NzMgMCAwMS0xLjcwOS0xLjcwOGMtLjEyLS4zMTgtLjI3Mi0uNzk0LS4zMS0xLjY3LS4wNDUtLjk1NC0uMDUzLTEuMjMzLS4wNTMtMy42MzdzLjAwOC0yLjY5Mi4wNTMtMy42MzdjLjAzOC0uODc2LjE5LTEuMzUzLjMxLTEuNjdhMi45NzMgMi45NzMgMCAwMTEuNzEtMS43MDljLjMxNy0uMTIuNzkzLS4yNzIgMS42Ny0uMzEuOTQ2LS4wNDUgMS4yMzQtLjA1MyAzLjYzOS0uMDUzem0wLTEuNjI1Yy0yLjQ1IDAtMi43NTMuMDA4LTMuNzE0LjA1My0uOTYuMDQ1LTEuNjE4LjE5Ni0yLjE4Ni40MjNhNC42MDEgNC42MDEgMCAwMC0yLjYzMiAyLjYzMUMuOTA2IDMuNjgyLjc0NyA0LjMzMi43MSA1LjI5MmMtLjA1My45Ni0uMDYxIDEuMjYyLS4wNjEgMy43MTJzLjAwOCAyLjc1Mi4wNTMgMy43MTJjLjA0NS45Ni4xOTcgMS42MS40MTYgMi4xODRhNC42MDEgNC42MDEgMCAwMDIuNjMyIDIuNjMxYy41NzUuMjIgMS4yMjUuMzc4IDIuMTg2LjQxNi45Ni4wNDUgMS4yNy4wNTMgMy43MTMuMDUzczIuNzUzLS4wMDggMy43MTQtLjA1M2MuOTYtLjA0NSAxLjYxLS4xOTcgMi4xODUtLjQxNmE0LjYwMSA0LjYwMSAwIDAwMi42MzItMi42M2MuMjItLjU3NS4zNzgtMS4yMjUuNDE2LTIuMTg1LjA0Ni0uOTYuMDUzLTEuMjcuMDUzLTMuNzEyczAtMi43NTItLjA0NS0zLjcxMmMtLjA0Ni0uOTYtLjE5Ny0xLjYxLS40MTYtMi4xODVhNC42MDEgNC42MDEgMCAwMC0yLjYzMi0yLjYzQzE0Ljk4LjI1NiAxNC4zMy4wOTcgMTMuMzcuMDYgMTIuNDEuMDA4IDEyLjEgMCA5LjY1NyAwem0wIDQuMzc3YTQuNjIgNC42MiAwIDAwLTQuNjIxIDQuNjIgNC42MjQgNC42MjQgMCAwMDQuNjIgNC42MTggNC42MjQgNC42MjQgMCAwMDQuNjIyLTQuNjE5IDQuNjI0IDQuNjI0IDAgMDAtNC42MjEtNC42MTl6bTAgNy42MjhhMy4wMDQgMy4wMDQgMCAwMS0zLjAwMy0zLjAwMSAzLjAwNCAzLjAwNCAwIDAxMy4wMDMtMy4wMDEgMy4wMDQgMy4wMDQgMCAwMTMuMDAyIDMgMy4wMDQgMy4wMDQgMCAwMS0zLjAwMiAzLjAwMnptNC44MDItNi43MjdhMS4wODEgMS4wODEgMCAxMDAtMi4xNjMgMS4wODEgMS4wODEgMCAwMDAgMi4xNjN6XCIvPjwvc3ZnPicpOyB9XG4gIC5saW5rZWRpbiB7XG4gICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTggMTcuOVwiPjxwYXRoIGQ9XCJNMTIuNyAxNS4zaDIuN3YtNC43YzAtMi4zLS41LTQuMS0zLjItNC4xLTEgMC0yIC41LTIuNSAxLjRWNi43SDd2OC42aDIuN1YxMWMwLTEuMS4yLTIuMiAxLjYtMi4yIDEuNCAwIDEuNCAxLjMgMS40IDIuM3Y0LjJ6TTIuNCA0YzAgLjkuNyAxLjYgMS42IDEuNlM1LjYgNC45IDUuNiA0IDQuOSAyLjUgNCAyLjUgMi40IDMuMiAyLjQgNHptLjMgMi43djguNmgyLjdWNi43SDIuN3pNMS4zIDBoMTUuM2MuOCAwIDEuNC42IDEuNCAxLjN2MTUuM2MwIC43LS42IDEuMy0xLjMgMS4zSDEuM2MtLjcgMC0xLjMtLjYtMS4zLTEuM1YxLjNDMCAuNi42IDAgMS4zIDB6XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIi8+PC9zdmc+Jyk7IH1cbiAgLnBob25lIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB3aWR0aD1cIjE3OTJcIiBoZWlnaHQ9XCIxNzkyXCIgdmlld0JveD1cIjAgMCAxNzkyIDE3OTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xNjAwIDEyNDBxMCAyNy0xMCA3MC41dC0yMSA2OC41cS0yMSA1MC0xMjIgMTA2LTk0IDUxLTE4NiA1MS0yNyAwLTUyLjUtMy41VDExNTEgMTUyMHQtNDcuNS0xNC41LTU1LjUtMjAuNS00OS0xOHEtOTgtMzUtMTc1LTgzLTEyOC03OS0yNjQuNS0yMTUuNVQzNDQgOTA0cS00OC03Ny04My0xNzUtMy05LTE4LTQ5dC0yMC41LTU1LjVUMjA4IDU3N3QtMTIuNS01Ny41VDE5MiA0NjdxMC05MiA1MS0xODYgNTYtMTAxIDEwNi0xMjIgMjUtMTEgNjguNS0yMXQ3MC41LTEwcTE0IDAgMjEgMyAxOCA2IDUzIDc2IDExIDE5IDMwIDU0dDM1IDYzLjUgMzEgNTMuNXEzIDQgMTcuNSAyNXQyMS41IDM1LjUgNyAyOC41cTAgMjAtMjguNSA1MHQtNjIgNTUtNjIgNTMtMjguNSA0NnEwIDkgNSAyMi41dDguNSAyMC41IDE0IDI0IDExLjUgMTlxNzYgMTM3IDE3NCAyMzV0MjM1IDE3NHEyIDEgMTkgMTEuNXQyNCAxNCAyMC41IDguNSAyMi41IDVxMTggMCA0Ni0yOC41dDUzLTYyIDU1LTYyIDUwLTI4LjVxMTQgMCAyOC41IDd0MzUuNSAyMS41IDI1IDE3LjVxMjUgMTUgNTMuNSAzMXQ2My41IDM1IDU0IDMwcTcwIDM1IDc2IDUzIDMgNyAzIDIxelwiLz48L3N2Zz4nKTsgfVxuICAucnNzIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMDBcIiBoZWlnaHQ9XCIxMDBcIiB2aWV3Qm94PVwiMCAwIDEwMCAxMDBcIj48cGF0aCBkPVwiTTEwIDEzLjY3MnYxNC4wNDNjMzYuMjMgMCA2NS43MDUgMjkuNDc0IDY1LjcwNSA2NS43MDRoMTQuMDQzYzAtNDMuOTczLTM1Ljc3NS03OS43NDctNzkuNzQ4LTc5Ljc0N3pcIi8+PHBhdGggZD1cIk0xMC4wMTIgNDEuNzd2MTQuMDQzYzIwLjczNyAwIDM3LjYwNiAxNi44NzEgMzcuNjA2IDM3LjYwN2gxNC4wNDNjMC0yOC40OC0yMy4xNjktNTEuNjUtNTEuNjQ5LTUxLjY1elwiLz48Y2lyY2xlIGN4PVwiMTkuMjhcIiBjeT1cIjg0LjE0MVwiIHI9XCI5LjI3OVwiLz48L3N2Zz4nKTsgfVxuICAuc2VhcmNoIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB3aWR0aD1cIjE3OTJcIiBoZWlnaHQ9XCIxNzkyXCIgdmlld0JveD1cIjAgMCAxNzkyIDE3OTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMjE2IDgzMnEwLTE4NS0xMzEuNS0zMTYuNVQ3NjggMzg0IDQ1MS41IDUxNS41IDMyMCA4MzJ0MTMxLjUgMzE2LjVUNzY4IDEyODB0MzE2LjUtMTMxLjVUMTIxNiA4MzJ6bTUxMiA4MzJxMCA1Mi0zOCA5MHQtOTAgMzhxLTU0IDAtOTAtMzhsLTM0My0zNDJxLTE3OSAxMjQtMzk5IDEyNC0xNDMgMC0yNzMuNS01NS41dC0yMjUtMTUwLTE1MC0yMjVUNjQgODMydDU1LjUtMjczLjUgMTUwLTIyNSAyMjUtMTUwVDc2OCAxMjh0MjczLjUgNTUuNSAyMjUgMTUwIDE1MCAyMjVUMTQ3MiA4MzJxMCAyMjAtMTI0IDM5OWwzNDMgMzQzcTM3IDM3IDM3IDkwelwiLz48L3N2Zz4nKTsgfVxuICAudHdpdHRlciB7XG4gICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCItODQ4LjcgLTEwMy43IDExMjQuMSAxMDAwXCI+PHBhdGggZD1cIk0yNzUuNCAxNC42QzIzMy44IDM1IDE4OS42IDQ4LjMgMTQyLjcgNTQuNCAxOTAuNSAyMy4yIDIyNy4xLTI2LjEgMjQ0LjUtODVjLTQ0LjcgMjguOC05NC4xIDQ5LjMtMTQ2LjggNjEuNC00Mi00OS4zLTEwMi4xLTgwLTE2OC4yLTgwLTEyNy40IDAtMjMwLjYgMTEyLjktMjMwLjYgMjUyLjUgMCAxOS42IDIgMzguOSA1LjggNTcuMi0xOTEuMy0xMC4xLTM2MS41LTExMS00NzUuMy0yNjMuNC0xOS43IDM3LjItMzEuMSA4MC41LTMxLjEgMTI2LjkgMCA4Ny40IDQwLjcgMTY1LjEgMTAyLjcgMjA5LjctMzcuOS0xLjYtNzMuNS0xMi4zLTEwNC41LTMxLjR2My40YzAgMTIyLjEgNzkuNSAyMjQgMTg1IDI0Ny41LTE5LjMgNS44LTM5LjggOC40LTYwLjkgOC40LTE0LjggMC0yOC45LTEtNDMuMS00LjUgMjkuMiAxMDAuNyAxMTQuNCAxNzMuOCAyMTUuNCAxNzUuMy03OC45IDY4LTE3OC4zIDEwOC0yODYuNCAxMDgtMTguNyAwLTM3LjEtMS4xLTU1LjEtMy41IDEwMiA3MS45IDIyMyAxMTMuOCAzNTMuNSAxMTMuOCA0MjQuMSAwIDY1Ni4yLTM4NC43IDY1Ni4yLTcxOC4zIDAtMTAuNi0uMi0yMS41LS44LTMyLjMgNDUtMzYuMSA4NC4yLTgwLjYgMTE1LjEtMTMxLjF6XCIvPjwvc3ZnPicpOyB9XG4gIC55b3V0dWJlIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDIxIDE4XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMjAuMjI5IDQuMTlhMi41MjMgMi41MjMgMCAwMC0xLjc3My0xLjc3MkMxNi44OTkgMiAxMC42NDkgMiAxMC42NDkgMnMtNi4yNSAwLTcuODE4LjQxOEEyLjUwNCAyLjUwNCAwIDAwMS4wNTggNC4xOUMuNjUgNS43NDguNjUgOSAuNjUgOXMwIDMuMjUyLjQyIDQuODFjLjIyOC44NTguOTEgMS41MzUgMS43NzMgMS43NzJDNC40IDE2IDEwLjY1IDE2IDEwLjY1IDE2czYuMjUgMCA3LjgxOC0uNDE4YTIuNTA0IDIuNTA0IDAgMDAxLjc3My0xLjc3MmMuNDA5LTEuNTU4LjQwOS00LjgxLjQwOS00LjgxczAtMy4yNTItLjQyLTQuODF6TTguNjA0IDExLjk1OFY2LjA0MkwxMy44MyA5bC01LjIyNyAyLjk1OHpcIi8+PC9zdmc+Jyk7IH1cblxuXG4ueCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEuMjVyZW07XG4gIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNpemUsIDEuMjVyZW0pO1xuICBtaW4td2lkdGg6IHZhcigtLXNpemUsIDEuMjVyZW0pOyB9XG4gIFxuICAueDo6YmVmb3JlLFxuICAueDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIHRvcDogMC45Mzc1cmVtO1xuICAgIGxlZnQ6IDAuMzEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMDA3N0M4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIFxuICAueDo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgXG4gIC54OjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICBcbiAgLnguYmxhY2s6OmJlZm9yZSxcbiAgLnguYmxhY2s6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIFxuICAueC53aGl0ZTo6YmVmb3JlLFxuICAueC53aGl0ZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5sYWJlbC5lcnJvciB7XG4gIGNvbG9yOiAjYmEyZTE2O1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tdG9wOiAtMS4yNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmlucHV0LWdyb3VwIGxhYmVsLmVycm9yIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTsgfVxuICBbdHlwZT0ndGV4dCddOmhvdmVyLCBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ndGV4dCddOmFjdGl2ZSwgW3R5cGU9J3Bhc3N3b3JkJ106aG92ZXIsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTphY3RpdmUsIFt0eXBlPSdkYXRlJ106aG92ZXIsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106YWN0aXZlLCBbdHlwZT0nZGF0ZXRpbWUnXTpob3ZlciwgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmFjdGl2ZSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106aG92ZXIsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTphY3RpdmUsIFt0eXBlPSdtb250aCddOmhvdmVyLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106YWN0aXZlLCBbdHlwZT0nd2VlayddOmhvdmVyLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nd2VlayddOmFjdGl2ZSwgW3R5cGU9J2VtYWlsJ106aG92ZXIsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTphY3RpdmUsIFt0eXBlPSdudW1iZXInXTpob3ZlciwgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106YWN0aXZlLCBbdHlwZT0nc2VhcmNoJ106aG92ZXIsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmFjdGl2ZSwgW3R5cGU9J3RlbCddOmhvdmVyLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTphY3RpdmUsIFt0eXBlPSd0aW1lJ106aG92ZXIsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106YWN0aXZlLCBbdHlwZT0ndXJsJ106aG92ZXIsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J3VybCddOmFjdGl2ZSwgW3R5cGU9J2NvbG9yJ106aG92ZXIsIFt0eXBlPSdjb2xvciddOmZvY3VzLCBbdHlwZT0nY29sb3InXTphY3RpdmUsXG4gIHNlbGVjdDpob3ZlcixcbiAgc2VsZWN0OmZvY3VzLFxuICBzZWxlY3Q6YWN0aXZlLFxuICB0ZXh0YXJlYTpob3ZlcixcbiAgdGV4dGFyZWE6Zm9jdXMsXG4gIHRleHRhcmVhOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5zZWxlY3Qge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5zZWxlY3QjcGFuZWwtZHJvcGRvd24ge1xuICBmb250LWZhbWlseTogXCJPdmVycGFzcyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG50ZXh0YXJlYSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBtaW4taGVpZ2h0OiA0LjM3NXJlbTsgfVxuXG5bdHlwZT1cInRleHRcIl0uaWNvbi5zZWFyY2gge1xuICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAuOTM3NXJlbSAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjU2MjVyZW0gMS41NjI1cmVtOyB9XG5cbi5wYWRkZWQtZm9ybS13cmFwcGVyIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkZWQtZm9ybS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMy43NXJlbSAyLjVyZW07IH0gfVxuXG4ubGVhZC1mb3JtLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmxlYWQtZm9ybS13cmFwcGVyIC5jb21tZW50cyB7XG4gICAgbWluLWhlaWdodDogMTNyZW07IH1cbiAgLmxlYWQtZm9ybS13cmFwcGVyIGgxIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5sZWFkLWZvcm0td3JhcHBlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgICAgLmxlYWQtZm9ybS13cmFwcGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIC5sZWFkLWZvcm0td3JhcHBlciAubGVhZC1mb3JtIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBtYXJnaW46IDEuNTYyNXJlbSBhdXRvIDA7IH1cbiAgLmxlYWQtZm9ybS13cmFwcGVyIC5sZWFkLWZvcm0udGFsZW50LXBvb2wgLnByZS1mb3JtLWNvbnRlbnQgaDIge1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmxlYWQtZm9ybS13cmFwcGVyIC5sZWFkLWZvcm0udGFsZW50LXBvb2wgLnByZS1mb3JtLWNvbnRlbnQgaDI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDMzJTsgfVxuICAubGVhZC1mb3JtLXdyYXBwZXIgLmxlYWQtZm9ybS50YWxlbnQtcG9vbCAucHJlLWZvcm0tY29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5sZWFkLWZvcm0td3JhcHBlciAucmVzcG9uc2Uge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmxlYWQtZm9ybS13cmFwcGVyIC5yZXNwb25zZSBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gICAgLmxlYWQtZm9ybS13cmFwcGVyIC5yZXNwb25zZSBuYXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZsb2F0OiBub25lOyB9XG4gICAgICAubGVhZC1mb3JtLXdyYXBwZXIgLnJlc3BvbnNlIG5hdiBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmxlYWQtZm9ybS13cmFwcGVyIC5yZXNwb25zZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmxlYWQtZm9ybS13cmFwcGVyIC50YWxlbnQtcGFuZWwge1xuICAgIGNvbG9yOiAjNUU1MTREO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmxlYWQtZm9ybS13cmFwcGVyIC50YWxlbnQtcGFuZWwgZmllbGRzZXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5sZWFkLWZvcm0td3JhcHBlciAudGFsZW50LXBhbmVsIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5sZWFkLWZvcm0td3JhcHBlciAudGFsZW50LXBhbmVsIGxhYmVsID4gW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAubGVhZC1mb3JtLXdyYXBwZXIgLnRhbGVudC1wYW5lbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5sZWFkLWZvcm0td3JhcHBlciAudGFsZW50LXBhbmVsIFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuXG4vKiBFbGltaW5hdGVzIGJyb3dzZXItc3BlY2lmaWMgb3V0bGluZSBmb3IgZm9jdXNlZCBlbGVtZW50cyAqL1xuaW5wdXQ6Zm9jdXMsXG5zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFJlY2FwdGNoYSBzdHVmZiAqL1xuLmdyZWNhcHRjaGEtbG9nbyB7XG4gIGxlZnQ6IC0xODZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuMjVzIGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICB3aWR0aDogNzBweCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlLW91dCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZ3JlY2FwdGNoYS1iYWRnZTpob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZS1vdXQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMjU2cHggIWltcG9ydGFudDsgfVxuICAgIC5ncmVjYXB0Y2hhLWJhZGdlOmhvdmVyIC5ncmVjYXB0Y2hhLWxvZ28ge1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjI1cyBlYXNlLW91dCAhaW1wb3J0YW50O1xuICAgICAgbGVmdDogMDsgfVxuXG4ubW9kYWwtZmllbGQtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubW9kYWwtZmxleC1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5tb2RhbC1maWVsZC13cmFwcGVyIHtcbiAgICB3aWR0aDogMzMlOyB9XG4gICAgLm1vZGFsLWZpZWxkLXdyYXBwZXI6bnRoLW9mLXR5cGUoMikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTYyNC45Mzc1cmVtOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMC40Mzc1cmVtIDAgMC40Mzc1cmVtIDIuMzc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBjb2xvcjogIzIyMjtcbiAgICBmb250LWZhbWlseTogXCJQVCBTZXJpZlwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogMjUwbXMgY29sb3IgZWFzZTsgfVxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YmVmb3JlLFxuICAgIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwLjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMS43NXJlbTtcbiAgICAgIGhlaWdodDogMS43NXJlbTtcbiAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YWZ0ZXIsXG4gICAgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYmFja2dyb3VuZDogIzAwNzdDODtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmFjdGl2ZTo6YmVmb3JlLCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6Zm9jdXM6OmJlZm9yZSwgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyOjpiZWZvcmUsXG4gICAgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmFjdGl2ZTo6YmVmb3JlLFxuICAgIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpmb2N1czo6YmVmb3JlLFxuICAgIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM4Mzc4NkY7IH1cbiAgICBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUsXG4gICAgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzVFNTE0RDsgfVxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpjaGVja2VkICsgbGFiZWw6OmFmdGVyLFxuICAgIFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsOjphZnRlcixcbiAgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cblxuW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG5cblt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogMC43NXJlbTtcbiAgaGVpZ2h0OiAwLjc1cmVtO1xuICB0b3A6IDFyZW07XG4gIGxlZnQ6IDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTsgfVxuXG5bdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6OmFmdGVyIHtcbiAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMiAyMlwiPjxwb2x5Z29uIHBvaW50cz1cIjYuMSwyMS4zIDAuNSwxMy43IDIuMywxMi40IDYuOSwxOC43IDE5LjQsMC43IDIxLjIsMiA3LjksMjEuM1wiLz48L3N2Zz4nKTtcbiAgbWFzay1zaXplOiBjb250YWluO1xuICB3aWR0aDogMS4zNzVyZW07XG4gIGhlaWdodDogMS4zNzVyZW07XG4gIHRvcDogMC42ODc1cmVtO1xuICBsZWZ0OiAwLjE4NzVyZW07IH1cblxuLmZhbmN5LWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mYW5jeS1kcm9wZG93biA+IGlucHV0ICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMi41cmVtIDAuODEyNXJlbSAwLjkzNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjBlYjtcbiAgICBmb250LWZhbWlseTogXCJPdmVycGFzcyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mYW5jeS1kcm9wZG93biA+IGlucHV0ICsgbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAxMDAgMTAwXCI+PHBhdGggZD1cIk01MCA2OC4zbDIzLTM2LjVIMjdsMjMgMzYuNXpcIi8+PC9zdmc+Jyk7XG4gICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdDODtcbiAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjkzNzVyZW07XG4gICAgICByaWdodDogMC43NXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mYW5jeS1kcm9wZG93biA+IGlucHV0Om5vdCg6Y2hlY2tlZCkgKyBsYWJlbCArIGZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZhbmN5LWRyb3Bkb3duID4gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBib3JkZXItY29sb3I6ICM2RTYyNTk7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mYW5jeS1kcm9wZG93biA+IGlucHV0OmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICByaWdodDogMC42ODc1cmVtO1xuICAgICAgdG9wOiAwLjg3NXJlbTsgfVxuICAgIC5mYW5jeS1kcm9wZG93biA+IGlucHV0OmNoZWNrZWQgKyBsYWJlbCArIGZvcm0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjNkU2MjU5O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiBjYWxjKDMuMTI1cmVtIC0gcmVtLWNhbGMoMSkpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMGViOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZmFuY3ktZHJvcGRvd24gPiBpbnB1dDpjaGVja2VkICsgbGFiZWwgKyBmb3JtIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDE0LjM3NXJlbTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDE0LjM3NXJlbTsgfSB9XG4gIC5mYW5jeS1kcm9wZG93biBmaWVsZHNldCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gIC5mYW5jeS1kcm9wZG93biBmaWVsZHNldCBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtIDMuMjVyZW07IH1cbiAgICAuZmFuY3ktZHJvcGRvd24gZmllbGRzZXQgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjpiZWZvcmUsXG4gICAgLmZhbmN5LWRyb3Bkb3duIGZpZWxkc2V0IFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBsZWZ0OiAwLjkzNzVyZW07XG4gICAgICB0b3A6IDAuOTM3NXJlbTsgfVxuICAgIC5mYW5jeS1kcm9wZG93biBmaWVsZHNldCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YWN0aXZlLCAuZmFuY3ktZHJvcGRvd24gZmllbGRzZXQgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmZvY3VzLCAuZmFuY3ktZHJvcGRvd24gZmllbGRzZXQgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmhvdmVyLFxuICAgIC5mYW5jeS1kcm9wZG93biBmaWVsZHNldCBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YWN0aXZlLFxuICAgIC5mYW5jeS1kcm9wZG93biBmaWVsZHNldCBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6Zm9jdXMsXG4gICAgLmZhbmN5LWRyb3Bkb3duIGZpZWxkc2V0IFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNSwgMjEwLCAyMDMsIDAuNSk7IH1cbiAgLmZhbmN5LWRyb3Bkb3duIGZpZWxkc2V0IFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICAgIHRvcDogMS40Mzc1cmVtO1xuICAgIGxlZnQ6IDEuNDM3NXJlbTsgfVxuICAuZmFuY3ktZHJvcGRvd24gZmllbGRzZXQgW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjphZnRlciB7XG4gICAgdG9wOiAxLjEyNXJlbTtcbiAgICBsZWZ0OiAxLjEyNXJlbTsgfVxuXG5cbi5ib3JkZXJlZCB7XG4gIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH1cblxuXG4uYm9yZGVyZWQtdG9wIHtcbiAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH1cblxuXG4uYm9yZGVyZWQtYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgXG4gIC5zbWFsbC1vbmx5LWJvcmRlcmVkLXRvcCB7XG4gICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH1cbiAgXG4gIC5zbWFsbC1vbmx5LWJvcmRlcmVkLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBcbiAgLm1lZGl1bS1ib3JkZXJlZC10b3Age1xuICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjQUNBMzlBOyB9XG4gIFxuICAubWVkaXVtLWJvcmRlcmVkLWJvdHRvbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDU0LjEyMzc1ZW0pIHtcbiAgXG4gIC5tZWRpdW0tb25seS1ib3JkZXJlZC10b3Age1xuICAgIGJvcmRlci10b3A6IDAuMDYyNXJlbSBzb2xpZCAjQUNBMzlBOyB9XG4gIFxuICAubWVkaXVtLW9ubHktYm9yZGVyZWQtYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICBcbiAgLmxhcmdlLWJvcmRlcmVkLXRvcCB7XG4gICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7IH1cbiAgXG4gIC5sYXJnZS1ib3JkZXJlZC1ib3R0b20ge1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQUNBMzlBOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICBcbiAgLmxhcmdlLW9ubHktYm9yZGVyZWQtdG9wIHtcbiAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTsgfVxuICBcbiAgLmxhcmdlLW9ubHktYm9yZGVyZWQtYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTsgfSB9XG5cbi5zaWRlLXNlcGFyYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zaWRlLXNlcGFyYXRvcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNBQ0EzOUE7XG4gICAgY29udGVudDogJyc7XG4gICAgZmxleDogMTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5jYXJkLWFydGljbGUgdGltZS5zaWRlLXNlcGFyYXRvcjo6YWZ0ZXIsIC5zaWRlLXNlcGFyYXRvci5uZXV0cmFsLTc6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQkZCOEFGOyB9XG4gIC5zaWRlLXNlcGFyYXRvci5uZXV0cmFsLTg6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEMkNCOyB9XG5cbi5iZy1uZXV0cmFsLWJsYWNrIGhyLFxuLmJnLXByaW1hcnktYmxhY2sgaHIge1xuICBib3JkZXItY29sb3I6ICM1RTUxNEQ7IH1cblxuaHIubGlnaHQge1xuICBib3JkZXItY29sb3I6ICNEN0QyQ0I7IH1cblxuaHIuZGFyayxcbmhyLmxpZ2h0IHtcbiAgbWFyZ2luOiAwOyB9XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzay1yb3RhdGVwbGFuZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKDBkZWcpIHJvdGF0ZVkoMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODAuMWRlZykgcm90YXRlWSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE3OS45ZGVnKTsgfSB9XG5cbmRpdltkYXRhLXByb2dyZXNzaXZlLWlkXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBkaXZbZGF0YS1wcm9ncmVzc2l2ZS1pZF06bm90KC5sb2FkZWQpOjphZnRlciB7XG4gICAgYm9yZGVyOiAxcmVtIHNvbGlkICNEN0QyQ0I7XG4gICAgYm9yZGVyLWJvdHRvbTogMXJlbSBzb2xpZCAjY2Q0ZDEwO1xuICAgIGJvcmRlci10b3A6IDFyZW0gc29saWQgI2NkNGQxMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDcuNXJlbTtcbiAgICBoZWlnaHQ6IDcuNXJlbTtcbiAgICBhbmltYXRpb246IHNwaW4gMnMgbGluZWFyIGluZmluaXRlO1xuICAgIG1hcmdpbjogMy4xMjVyZW0gYXV0byAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zdWJtaXR0aW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY2Nik7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uc3Bpbm5lciB7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUU1MTREO1xuICBhbmltYXRpb246IHNrLXJvdGF0ZXBsYW5lIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLm51bWJlcnMsXG4ua2FyYXQge1xuICBjb2xvcjogI0ZGNUYxNDtcbiAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5udW1iZXJzLFxuICAgIC5rYXJhdCB7XG4gICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG5cbi5rYXJhdCB7XG4gIHRvcDogMDsgfVxuXG4uc3RhdC10ZXh0IHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cblxuLmZhZGUtaW4tdG9wIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhZGUtaW4tdG9wIDAuNXMgY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSkgYm90aDtcbiAgYW5pbWF0aW9uOiBmYWRlLWluLXRvcCAwLjVzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpIGJvdGg7IH1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogR2VuZXJhdGVkIGJ5IEFuaW1pc3RhIG9uIDIwMjEtMy0zMCAxNjozOToxM1xuICogTGljZW5zZWQgdW5kZXIgRnJlZUJTRCBMaWNlbnNlLlxuICogU2VlIGh0dHA6Ly9hbmltaXN0YS5uZXQvbGljZW5zZSBmb3IgbW9yZSBpbmZvLiBcbiAqIHc6IGh0dHA6Ly9hbmltaXN0YS5uZXQsIHQ6IEBjc3NhbmltaXN0YVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhbmltYXRpb24gZmFkZS1pbi10b3BcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUtaW4tdG9wIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGUtaW4tdG9wIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4udGFicy1wYW5lbC1kcm9wZG93biB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJPdmVycGFzcyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudGFicy1wYW5lbC1kcm9wZG93bjphY3RpdmUsIC50YWJzLXBhbmVsLWRyb3Bkb3duOmZvY3VzLCAudGFicy1wYW5lbC1kcm9wZG93bjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMTkxOTsgfVxuXG4udGFicyB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRhYnMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH0gfVxuXG4udGFiIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogI0FDQTM5QSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDEuMzc1cmVtIDA7XG4gIG1hcmdpbi1yaWdodDogMi4zNzVyZW07XG4gIHRvcDogMC4wNjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRhYjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAwLjI1cmVtIHNvbGlkICNGRjVGMTQ7IH1cblxuLnRhYi1ib3JkZXItYm90dG9tIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICM4Mzc4NkY7IH1cblxuLnBhbmVsLWRldGFpbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJhZGlvLWlucHV0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcGFuZWwtMS1yYWRpbzpjaGVja2VkIH4gLnBhbmVsLWRldGFpbC5vbmUtcGFuZWwsXG4jcGFuZWwtMi1yYWRpbzpjaGVja2VkIH4gLnBhbmVsLWRldGFpbC50d28tcGFuZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jcGFuZWwtMS1yYWRpbzpjaGVja2VkIH4gLnRhYnMgI29uZS10YWIsXG4jcGFuZWwtMi1yYWRpbzpjaGVja2VkIH4gLnRhYnMgI3R3by10YWIge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiAwLjI1cmVtIHNvbGlkICNGRjVGMTQ7IH1cblxuI3J3Zi10YWJzIHtcbiAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgI3J3Zi10YWJzIC50YWJzLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMC4wNjI1cmVtOyB9XG5cbi5oZXJvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgei1pbmRleDogOTtcbiAgbWluLWhlaWdodDogMy4xMjVyZW07IH1cbiAgLmhlcm8uZGVmYXVsdCB7XG4gICAgbWluLWhlaWdodDogMTIuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaGVyby5kZWZhdWx0IHtcbiAgICAgICAgbWluLWhlaWdodDogMTguNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgICAgLmhlcm8uZGVmYXVsdCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmhlcm8ge1xuICAgICAgbWluLWhlaWdodDogNS4yNXJlbTsgfSB9XG4gIC5oZXJvLnNsaW0ge1xuICAgIG1pbi1oZWlnaHQ6IDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAuaGVyby5zbGltIHtcbiAgICAgICAgbWluLWhlaWdodDogNS4yNXJlbTsgfSB9XG4gIC5oZXJvIGgxIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5oZXJvIHA6bm90KC5leWVicm93KSB7XG4gICAgbWF4LXdpZHRoOiA0OC41NjI1cmVtO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5oZXJvLWNvbnRlbnQtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHotaW5kZXg6IDI7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmhlcm8tY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuXG4uaGVyby1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmNvbnRhY3QtdXMtaGVybyB7XG4gIG1pbi1oZWlnaHQ6IDQyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC51cyAuY29udGFjdC11cy1oZXJvIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE3JSA1MCU7IH0gfVxuICAuY29udGFjdC11cy1oZXJvIGgxIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb250YWN0LXVzLWhlcm8gLnN0YXRzIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjRkY1RjE0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbnRhY3QtdXMtaGVybyAuc3RhdHMgZGl2IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAgIC5jb250YWN0LXVzLWhlcm8gLnN0YXRzIGRpdjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbi5jb250ZW50LWdyaWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q3RDJDQjsgfVxuICAuY29udGVudC1ncmlkIC5ib3gsIC5jb250ZW50LWdyaWQgLmJpZ2dlci1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbnRlbnQtZ3JpZCAuYm94LCAuY29udGVudC1ncmlkIC5iaWdnZXItYm94IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gIC5jb250ZW50LWdyaWQgLmJpZ2dlci1ib3gge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAuY29udGVudC1ncmlkIC5iaWdnZXItYm94IHtcbiAgICAgICAgd2lkdGg6IDY2LjY1JTsgfSB9XG4gIC5jb250ZW50LWdyaWQgYS5ncmlkLWl0ZW06aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjI1cyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgLmNvbnRlbnQtZ3JpZCBhLmdyaWQtaXRlbS5zdHVkeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Q3RDJDQjsgfVxuICAuY29udGVudC1ncmlkIGEuZ3JpZC1pdGVtLmJsb2c6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuOTU7IH1cblxuLmdyaWQtaXRlbS5mZWF0dXJlZC1pbmR1c3RyeSB7XG4gIG1pbi1oZWlnaHQ6IDMxLjI1cmVtOyB9XG5cbi5ncmlkLWl0ZW0uc3RhdCAuaDMge1xuICBjb2xvcjogI2NkNGQxMDsgfVxuXG4ubGl2ZS1zdGF0cy13cmFwcGVyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5saXZlLXN0YXRzLXdyYXBwZXIgPiAucm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5saXZlLXN0YXRzLXdyYXBwZXIgZmlnY2FwdGlvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnBhbmVsLXNwbGl0LXZlcnQge1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICBhLnBhbmVsLXNwbGl0LXZlcnQ6Zm9jdXMsIGEucGFuZWwtc3BsaXQtdmVydDpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjk1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNW1zIGVhc2Utb3V0O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgYS5wYW5lbC1zcGxpdC12ZXJ0OmZvY3VzIHAsIGEucGFuZWwtc3BsaXQtdmVydDpob3ZlciBwIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjMDA3N0M4OyB9XG4gIC5wYW5lbC1zcGxpdC12ZXJ0IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc21hbGwtY2VudGVyZWQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDU0LjEyMzc1ZW0pIHtcbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGluaXRpYWwgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmxhcmdlLXVuY2VudGVyZWQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgY2xlYXI6IGluaXRpYWwgIWltcG9ydGFudDsgfSB9XG5cbi5hbHQtYmFuZHM6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YwZWI7IH1cblxuLmFsdC1iYW5kczpudGgtb2YtdHlwZShldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuYS5hbHQtYmFuZHM6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMGViO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDEwMG1zIGVhc2U7IH1cblxuLnNpZGUtYnktc2lkZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjkzNzVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTtcbiAgbWFyZ2luLXRvcDogNC42ODc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnNpZGUtYnktc2lkZSAuZGF0ZSxcbiAgLnNpZGUtYnktc2lkZSB0aW1lIHtcbiAgICBjb2xvcjogI2NkNGQxMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5zaWRlLWJ5LXNpZGUgLmNvcHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5zaWRlLWJ5LXNpZGUgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMCU7IH1cbiAgLnNpZGUtYnktc2lkZSAub3ZlcmxheSB7XG4gICAgbWF4LXdpZHRoOiAxOC43NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuc2lkZS1ieS1zaWRlIC5vdmVybGF5IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwcmVtO1xuICAgICAgbWF4LWhlaWdodDogNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zaWRlLWJ5LXNpZGUgLmltYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MCU7IH1cbiAgICAuc2lkZS1ieS1zaWRlIC5jb3B5IHtcbiAgICAgIGZsZXg6IDEgNDglOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnNpZGUtYnktc2lkZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgIC5zaWRlLWJ5LXNpZGUuZmxpcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICAgLnNpZGUtYnktc2lkZSAuY29weSB7XG4gICAgICAgIGZsZXg6IDEgNTAlOyB9XG4gICAgICAuc2lkZS1ieS1zaWRlIC5jb3B5LFxuICAgICAgLnNpZGUtYnktc2lkZSAuaW1hZ2Uge1xuICAgICAgICBmbGV4OiAxIDUwJTsgfVxuICAgICAgLnNpZGUtYnktc2lkZSAuaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNTQuMTIzNzVlbSkge1xuICAudmVydGljYWwtZ3JpZGxpbmVzLm1lZGl1bS11cC0yIC5jb2x1bW46bnRoLW9mLXR5cGUoMm4pLCAudmVydGljYWwtZ3JpZGxpbmVzLm1lZGl1bS11cC0yIC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDdEMkNCOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC52ZXJ0aWNhbC1ncmlkbGluZXMubGFyZ2UtdXAtMiAuY29sdW1uOm50aC1jaGlsZCgybiksIC52ZXJ0aWNhbC1ncmlkbGluZXMubGFyZ2UtdXAtMiAuY29sdW1uczpudGgtY2hpbGQoMm4pIHtcbiAgICBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkICNEN0QyQ0I7IH1cbiAgLnZlcnRpY2FsLWdyaWRsaW5lcy5sYXJnZS11cC0zIC5jb2x1bW46bnRoLW9mLXR5cGUoNSksIC52ZXJ0aWNhbC1ncmlkbGluZXMubGFyZ2UtdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSg1KSxcbiAgLnZlcnRpY2FsLWdyaWRsaW5lcy5sYXJnZS11cC0zIC5jb2x1bW46bnRoLW9mLXR5cGUoMiksXG4gIC52ZXJ0aWNhbC1ncmlkbGluZXMubGFyZ2UtdXAtMyAuY29sdW1uczpudGgtb2YtdHlwZSgyKSB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDdEMkNCO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEN0QyQ0I7IH1cbiAgLnZlcnRpY2FsLWdyaWRsaW5lcy5sYXJnZS11cC00IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4pLCAudmVydGljYWwtZ3JpZGxpbmVzLmxhcmdlLXVwLTQgLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4pLFxuICAudmVydGljYWwtZ3JpZGxpbmVzLmxhcmdlLXVwLTQgLmNvbHVtbjpudGgtb2YtdHlwZSgzbiksXG4gIC52ZXJ0aWNhbC1ncmlkbGluZXMubGFyZ2UtdXAtNCAuY29sdW1uczpudGgtb2YtdHlwZSgzbikge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0Q3RDJDQjsgfSB9XG5cbi8qIFJldXNhYmxlIEZsZXhib3ggUG9zaXRpb25pbmcgKi9cbi5mbGV4Ym94IC5mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxleGJveCAuZmxleC52ZXJ0aWNhbC1jZW50ZXIge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5vZy1pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDgxLjI1cmVtO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vZy1pbWFnZXMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbi5vZy10aHVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMXJlbTtcbiAgdHJhbnNpdGlvbjogdG9wIDEwMG1zIGVhc2UsIHdpZHRoIDEwMG1zIGVhc2U7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub2ctdGh1bWIge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMi4wNjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5vZy10aHVtYiB7XG4gICAgICB3aWR0aDogY2FsYygzMyUgLSAyLjA2MjVyZW0pOyB9IH1cbiAgLm9nLXRodW1iLmFjdGl2ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogLTAuNzVyZW07XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogMCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMC43NXJlbTtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDAuNzVyZW07XG4gICAgYm9yZGVyLXRvcDogMC43NXJlbSBzb2xpZCAjODM3ODZGOyB9XG4gIC5vZy10aHVtYi5hY3RpdmUgLm92ZXJsYXksXG4gIC5vZy10aHVtYjpob3ZlciAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTsgfVxuICAub2ctdGh1bWIgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMTAwJSAvICg0IC8gMykpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vZy10aHVtYiAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vZy10aHVtYiBpbWcge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogMTByZW07XG4gICAgbWF4LWhlaWdodDogNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5vZy10aHVtYiBoMiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5cbi5vZy1kZXRhaWxzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q3RDJDQjtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDEwMG1zIGVhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMDsgfVxuICAub2ctZGV0YWlscyBoNCwgLm9nLWRldGFpbHMgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLm9nLWRldGFpbHMgZHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLm9nLWRldGFpbHMgLm92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTguNzVyZW07XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLm9nLWRldGFpbHMgLm92ZXJsYXkgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTByZW07XG4gICAgICBtYXgtaGVpZ2h0OiA1cmVtOyB9XG5cbi5vZy1pbm5lciB7XG4gIG1heC13aWR0aDogODEuMjVyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5vZy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiA0LjY4NzVyZW0gMDsgfSB9XG5cbi5vZy1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5vZy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4ub2ctY29weSwgLm9nLWxhcmdlLWltYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxcmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5vZy1jb3B5LCAub2ctbGFyZ2UtaW1hZ2Utd3JhcHBlciB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAycmVtKTsgfSB9XG5cbi5vZy1sYXJnZS1pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmFuZ2UtbGV0dGVyLWxpc3QgcCB7XG4gIGNvbG9yOiAjY2Q0ZDEwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjsgfVxuXG4ub3JhbmdlLWxldHRlci1saXN0IHNwYW4ge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIiwgc2VyaWY7IH1cblxudGFibGUuY29va2llLXRhYmxlIHAsXG50YWJsZS5jb29raWUtdGFibGUgdGQge1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG50YWJsZS5jb29raWUtdGFibGUgdGgsXG50YWJsZS5jb29raWUtdGFibGUgdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbnRhYmxlLmNvb2tpZS10YWJsZSB0ciA+IHRkOmZpcnN0LWNoaWxkIHAge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbnRhYmxlLm1hdGgge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cbiAgdGFibGUubWF0aCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTsgfVxuICAgICAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtaW4td2lkdGg6IDIuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkOmVtcHR5IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDsgfVxuICAgICAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHRkW2NsYXNzXj1jYWxjLV06OmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgdGFibGUubWF0aCB0Ym9keSB0ciB0ZC5jYWxjLWFkZDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFwwMDJiJzsgfVxuICAgICAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHRkLmNhbGMtZGl2aWRlOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXDAwZjcnOyB9XG4gICAgICAgIHRhYmxlLm1hdGggdGJvZHkgdHIgdGQuY2FsYy1tdWx0aXBseTo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFwwMGQ3JzsgfVxuICAgICAgICB0YWJsZS5tYXRoIHRib2R5IHRyIHRkLmNhbGMtc3VidHJhY3Q6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMjIxMic7IH1cbiAgICB0YWJsZS5tYXRoIHRib2R5IC50b3RhbCB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG50YWJsZS5wYWRkaW5nIHRkLFxudGFibGUucGFkZGluZyB0aCB7XG4gIHBhZGRpbmc6IDMuNXJlbSAxLjI1cmVtIDMuNXJlbTsgfVxuXG4ueC1zbGlkZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbnRhYmxlLngtc2xpZGUge1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGFibGUtbGF5b3V0OiBhdXRvOyB9XG4gIHRhYmxlLngtc2xpZGUgdGgge1xuICAgIGNvbG9yOiAjNkU2MjU5O1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjOTY4QzgzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtaW4td2lkdGg6IDEyLjVyZW07XG4gICAgbWF4LXdpZHRoOiAxNC4wNjI1cmVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgdGFibGUueC1zbGlkZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGFibGUueC1zbGlkZSAueC1zdGlja3ktY29sIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogNC4wNjI1cmVtOyB9XG4gICAgdGFibGUueC1zbGlkZSAueC1zdGlja3ktY29sLndpZGUge1xuICAgICAgd2lkdGg6IDEyLjVyZW07IH1cbiAgdGFibGUueC1zbGlkZS5zY3JvbGwtYWN0aXZlIHRib2R5LFxuICB0YWJsZS54LXNsaWRlLnNjcm9sbC1hY3RpdmUgdGhlYWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMjsgfVxuICAgIHRhYmxlLngtc2xpZGUuc2Nyb2xsLWFjdGl2ZSB0Ym9keTphZnRlcixcbiAgICB0YWJsZS54LXNsaWRlLnNjcm9sbC1hY3RpdmUgdGhlYWQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA0LjA2MjVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgdGFibGUueC1zbGlkZS5zY3JvbGwtYWN0aXZlLndpZGUgdGJvZHk6YWZ0ZXIsXG4gIHRhYmxlLngtc2xpZGUuc2Nyb2xsLWFjdGl2ZS53aWRlIHRoZWFkOmFmdGVyIHtcbiAgICBsZWZ0OiAxMi41cmVtOyB9XG4gIC54LXNsaWRlLXdyYXBwZXIuc2Nyb2xsLWFjdGl2ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgLngtc2xpZGUtc2Nyb2xsZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC54LXNsaWRlLXNjcm9sbGVyLndpZGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41cmVtOyB9XG4gIHRhYmxlLngtc2xpZGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG5cbnRhYmxlLm5ldXRyYWwgdGgge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQUNBMzlBOyB9XG4gIHRhYmxlLm5ldXRyYWwgdGg6bnRoLW9mLXR5cGUoMikge1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjNkU2MjU5O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIHRhYmxlLm5ldXRyYWwgdGg6bnRoLW9mLXR5cGUobis0KSB7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMDYyNXJlbSBzb2xpZCAjQUNBMzlBOyB9XG5cbnRhYmxlLm5ldXRyYWwgdGQ6bnRoLW9mLXR5cGUobis0KSB7XG4gIGJvcmRlci1sZWZ0OiAwLjA2MjVyZW0gc29saWQgI0FDQTM5QTsgfVxuXG50YWJsZS5uZXV0cmFsIHRkOm50aC1vZi10eXBlKDEpIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG50YWJsZS5uZXV0cmFsIC5iZy1uZXV0cmFsLTEsIHRhYmxlLm5ldXRyYWwgYXNpZGUucGFuZWwuZGFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODJFMkM7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIHRhYmxlLm5ldXRyYWwgLmJnLW5ldXRyYWwtMSBwLCB0YWJsZS5uZXV0cmFsIGFzaWRlLnBhbmVsLmRhcmsgcCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbnRhYmxlLm5ldXRyYWwgLmJnLW5ldXRyYWwtYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyOyB9XG5cbnRhYmxlLm5ldXRyYWwgdWwgbGk6OmJlZm9yZSB7XG4gIGNvbG9yOiAjRkY1RjE0OyB9XG5cbmRsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgZGw6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICBkbCBkdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICM1RTUxNEQ7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGRsLmljb24tbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogNi41OTM3NXJlbTsgfVxuICAgIGRsLmljb24tbGlzdCAubGVhZCwgZGwuaWNvbi1saXN0IC5oZXJvIHA6bm90KC5leWVicm93KSwgLmhlcm8gZGwuaWNvbi1saXN0IHA6bm90KC5leWVicm93KSwgZGwuaWNvbi1saXN0IC5saXZlLXN0YXRzLXdyYXBwZXIgZmlnY2FwdGlvbiwgLmxpdmUtc3RhdHMtd3JhcHBlciBkbC5pY29uLWxpc3QgZmlnY2FwdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gICAgZGwuaWNvbi1saXN0IC50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgZGwuaWNvbi1saXN0IGRkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjg0Mzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMuNDY4NzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgZGwuaWNvbi1saXN0IGRkIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy40Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNS45Njg3NXJlbTsgfSB9XG4gICAgICBkbC5pY29uLWxpc3QgZGQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIGRsLmljb24tbGlzdCBkZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHNvbGlkICNBQ0EzOUEgMC4xMjVyZW07IH1cbiAgICBkbC5pY29uLWxpc3QgZHQge1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzLjc1cmVtO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNC44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIGRsLmljb24tbGlzdCBkdCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA3LjM3NXJlbTsgfSB9XG5cbmRkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMjIyOyB9XG5cbi5jb250ZW50IG9sIGxpLFxuLmNvbnRlbnQgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5jb250ZW50IG9sLm5vLWJ1bGxldCBsaTo6YmVmb3JlLFxuLmNvbnRlbnQgdWwubm8tYnVsbGV0IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBub25lOyB9XG5cbi5jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuY29udGVudCB1bCBsaTo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2NkNGQxMDtcbiAgICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgICB3aWR0aDogMXJlbTsgfVxuICAgIC5jb250ZW50IC5iZy1wcmltYXJ5LW9yYW5nZSB1bCBsaTo6YmVmb3JlLFxuICAgIC5jb250ZW50IC5iZy1vcmFuZ2UgdWwgbGk6OmJlZm9yZSxcbiAgICAuY29udGVudCBhc2lkZS5wYW5lbDpub3QoLmRhcmspIHVsIGxpOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNEN0QyQ0I7IH1cblxuLmNlbnRlcmVkLWxpc3Qge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuc21hbGwtY2VudGVyZWQtbGlzdCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWNlbnRlcmVkLWxpc3Qge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5sYXJnZS1jZW50ZXJlZC1saXN0IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfSB9XG5cbi5jb3VudGVyIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY291bnRlci1yZXNldDogbnVtZXJpYy1jb3VudGVyOyB9XG4gIC5jb3VudGVyID4gbGkge1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBudW1lcmljLWNvdW50ZXI7XG4gICAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvdW50ZXIgPiBsaTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobnVtZXJpYy1jb3VudGVyKSBcIi4gXCI7XG4gICAgICBjb2xvcjogI2NkNGQxMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xcmVtOyB9XG4gIC5jb3VudGVyLmZvb3Rub3RlID4gbGk6OmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb250ZW50OiBcIltcIiBjb3VudGVyKG51bWVyaWMtY291bnRlcikgXCJdIFwiOyB9XG4gIC5jb3VudGVyLmZvb3Rub3RlID4gbGkgcCxcbiAgLmNvdW50ZXIuZm9vdG5vdGUgPiBsaSB1bCBsaSB7XG4gICAgY29sb3I6ICM2RTYyNTk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4gIC5jb3VudGVyLmZvb3Rub3RlID4gbGkgdWwgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY291bnRlci5mb290bm90ZSA+IGxpIHVsIGxpOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2RTYyNTk7IH1cblxuLmlsbHVzdHJhdGVkLWJ1bGxldDpub3QoW2NsYXNzKj0nY29sdW1uLWxpc3QnXSkge1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG5cbi5pbGx1c3RyYXRlZC1idWxsZXRbY2xhc3MqPSdjb2x1bW4tbGlzdCddIC5jZWxsLCAuaWxsdXN0cmF0ZWQtYnVsbGV0W2NsYXNzKj0nY29sdW1uLWxpc3QnXSBsaSB7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cblxuLmlsbHVzdHJhdGVkLWJ1bGxldCBoMywgLmlsbHVzdHJhdGVkLWJ1bGxldCAuaDMsIC5pbGx1c3RyYXRlZC1idWxsZXQgaDQsIC5pbGx1c3RyYXRlZC1idWxsZXQgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLmlsbHVzdHJhdGVkLWJ1bGxldCBkdCwgLmlsbHVzdHJhdGVkLWJ1bGxldCAuaDQsIC5pbGx1c3RyYXRlZC1idWxsZXQgaDUsIC5pbGx1c3RyYXRlZC1idWxsZXQgLmg1LCAuaWxsdXN0cmF0ZWQtYnVsbGV0IC5zdGF0cy0yY29sIGgzLCAuc3RhdHMtMmNvbCAuaWxsdXN0cmF0ZWQtYnVsbGV0IGgzLCAuaWxsdXN0cmF0ZWQtYnVsbGV0IC5zdGF0cy0yY29sIGg0LCAuc3RhdHMtMmNvbCAuaWxsdXN0cmF0ZWQtYnVsbGV0IGg0LCAuaWxsdXN0cmF0ZWQtYnVsbGV0IC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBkdCwgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IC5pbGx1c3RyYXRlZC1idWxsZXQgZHQsIC5pbGx1c3RyYXRlZC1idWxsZXQgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LCBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgLmlsbHVzdHJhdGVkLWJ1bGxldCBkdCwgLmlsbHVzdHJhdGVkLWJ1bGxldCAuc3RhdHMtMmNvbCBoNSwgLnN0YXRzLTJjb2wgLmlsbHVzdHJhdGVkLWJ1bGxldCBoNSwgLmlsbHVzdHJhdGVkLWJ1bGxldCAuc3RhdHMtMmNvbCBoNiwgLnN0YXRzLTJjb2wgLmlsbHVzdHJhdGVkLWJ1bGxldCBoNiwgLmlsbHVzdHJhdGVkLWJ1bGxldCBoNiwgLmlsbHVzdHJhdGVkLWJ1bGxldCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmlsbHVzdHJhdGVkLWJ1bGxldCBoMzpmaXJzdC1vZi10eXBlOjpiZWZvcmUsIC5pbGx1c3RyYXRlZC1idWxsZXQgLmgzOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gIHRvcDogMS4yNXJlbTsgfVxuXG4uaWxsdXN0cmF0ZWQtYnVsbGV0IGg0OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSwgLmlsbHVzdHJhdGVkLWJ1bGxldCBkbC5pY29uLWxpc3QgZHQ6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlLCBkbC5pY29uLWxpc3QgLmlsbHVzdHJhdGVkLWJ1bGxldCBkdDpmaXJzdC1vZi10eXBlOjpiZWZvcmUsIC5pbGx1c3RyYXRlZC1idWxsZXQgLmg0OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gIHRvcDogMXJlbTsgfVxuXG4uaWxsdXN0cmF0ZWQtYnVsbGV0IGg1OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSwgLmlsbHVzdHJhdGVkLWJ1bGxldCAuaDU6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlLCAuaWxsdXN0cmF0ZWQtYnVsbGV0IC5zdGF0cy0yY29sIGgzOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSwgLnN0YXRzLTJjb2wgLmlsbHVzdHJhdGVkLWJ1bGxldCBoMzpmaXJzdC1vZi10eXBlOjpiZWZvcmUsIC5pbGx1c3RyYXRlZC1idWxsZXQgLnN0YXRzLTJjb2wgaDQ6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlLCAuc3RhdHMtMmNvbCAuaWxsdXN0cmF0ZWQtYnVsbGV0IGg0OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSwgLmlsbHVzdHJhdGVkLWJ1bGxldCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZHQ6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlLCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgLmlsbHVzdHJhdGVkLWJ1bGxldCBkdDpmaXJzdC1vZi10eXBlOjpiZWZvcmUsIC5pbGx1c3RyYXRlZC1idWxsZXQgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSwgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIC5pbGx1c3RyYXRlZC1idWxsZXQgZHQ6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlLCAuaWxsdXN0cmF0ZWQtYnVsbGV0IC5zdGF0cy0yY29sIGg1OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSwgLnN0YXRzLTJjb2wgLmlsbHVzdHJhdGVkLWJ1bGxldCBoNTpmaXJzdC1vZi10eXBlOjpiZWZvcmUsIC5pbGx1c3RyYXRlZC1idWxsZXQgLnN0YXRzLTJjb2wgaDY6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlLCAuc3RhdHMtMmNvbCAuaWxsdXN0cmF0ZWQtYnVsbGV0IGg2OmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gIHRvcDogMC42MjVyZW07IH1cblxuLmlsbHVzdHJhdGVkLWJ1bGxldCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uaWxsdXN0cmF0ZWQtYnVsbGV0Om5vdCh1bCkgPiA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSxcbnVsLmlsbHVzdHJhdGVkLWJ1bGxldCBsaTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuNXJlbTtcbiAgY29udGVudDogJyc7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogLTEuODc1cmVtO1xuICB3aWR0aDogMC44NzVyZW07XG4gIGhlaWdodDogMC44NzVyZW07XG4gIG1hc2s6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDYxLjYgNjMuMlwiPjxwYXRoIGQ9XCJNMzAuNSA2My4yYy03LjggMC0xNC44LTIuNy0yMC4yLTcuOEMyLjkgNDguNC4xIDM4LjYgMCAzMi40Yy0uMS04LjkgMy4yLTE3LjUgOS4yLTIzLjZDMTQuOSAzIDIyLjQgMCAzMSAwYzEyLjkgMCAyMS4xIDUuNCAyNC41IDE2IC40IDEuNC44IDIuOSAxIDQuNSAzLjIgNC4xIDQuOSA4LjYgNS4xIDEyLjkuMyAxMS40LTcuMyAyOC43LTI5LjUgMjkuNy0uNi4xLTEuMS4xLTEuNi4xek0zMSA2Yy02LjkgMC0xMyAyLjQtMTcuNSA3QzguNiAxNy45IDUuOSAyNSA2IDMyLjNjLjEgNS41IDIuNyAxMy40IDguNCAxOC43IDQuNiA0LjQgMTAuNSA2LjQgMTcuNCA2LjEgMTcuOC0uOCAyMy4yLTEzLjUgMjMuOC0yMS42LTEgMy41LTIuNSA3LTQuOCAxMC40LTMgNC40LTguMyA3LjMtMTUuMSA4LjEtOC4yLjktMTYuNy0xLjUtMjEuNy02LjItNS4zLTUtNy43LTExLjctNi45LTE4LjkuOC03LjIgNS0xMy44IDEwLjgtMTcuMiA0LjUtMi44IDEwLTQgMTUuMy0zLjMgNS4zLjUgOS45IDIgMTMuOSA0LjJDNDQgOC4xIDM4LjcgNiAzMSA2em0tLjYgOC4yYy0zLjMgMC02LjUuOS05LjMgMi43LTQuMyAyLjUtNy40IDcuNC04IDEyLjctLjYgNS4zIDEuMiAxMC4yIDUuMSAxMy45IDMuNyAzLjUgMTAuNSA1LjMgMTYuOSA0LjYgNC45LS42IDguOC0yLjUgMTAuNy01LjQgNC40LTYuOCA1LjYtMTMuOSA1LTE5LjYtNC00LjQtMTAuNC04LTE4LjEtOC42aC0uMWMtLjctLjMtMS41LS4zLTIuMi0uM3pcIi8+PC9zdmc+Jykgbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZDRkMTA7IH1cblxudWwuaWxsdXN0cmF0ZWQtYnVsbGV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgdWwuaWxsdXN0cmF0ZWQtYnVsbGV0IGxpIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gICAgdWwuaWxsdXN0cmF0ZWQtYnVsbGV0IGxpIDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxudWxbY2xhc3MqPSdjb2x1bW4tbGlzdCddIGxpLCBvbFtjbGFzcyo9J2NvbHVtbi1saXN0J10gbGkge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9XG5cbltjbGFzcyo9J2NvbHVtbi1saXN0LSddLm5vLWJ1bGxldCBsaSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb2x1bW4tbGlzdC00LTItMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTA7XG4gIG1hcmdpbi1sZWZ0OiAtMDsgfVxuICAuY29sdW1uLWxpc3QtNC0yLTEgPiAuY2VsbCwgLmNvbHVtbi1saXN0LTQtMi0xIGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sdW1uLWxpc3QtNC0yLTEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH1cbiAgICAgIC5jb2x1bW4tbGlzdC00LTItMSA+IC5jZWxsLCAuY29sdW1uLWxpc3QtNC0yLTEgbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS44NzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5jb2x1bW4tbGlzdC00LTItMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yLjE4NzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTIuMTg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1saXN0LTQtMi0xID4gLmNlbGwsIC5jb2x1bW4tbGlzdC00LTItMSBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYygyNSUgLSA0LjM3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4xODc1cmVtOyB9IH1cblxuLmNvbHVtbi1saXN0LTMtMi0xIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMDtcbiAgbWFyZ2luLWxlZnQ6IC0wOyB9XG4gIC5jb2x1bW4tbGlzdC0zLTItMSA+IC5jZWxsLCAuY29sdW1uLWxpc3QtMy0yLTEgbGkge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tbGlzdC0zLTItMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1saXN0LTMtMi0xID4gLmNlbGwsIC5jb2x1bW4tbGlzdC0zLTItMSBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjg3NXJlbSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmNvbHVtbi1saXN0LTMtMi0xIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIuMTg3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMi4xODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWxpc3QtMy0yLTEgPiAuY2VsbCwgLmNvbHVtbi1saXN0LTMtMi0xIGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDQuMzc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuMTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjE4NzVyZW07IH0gfVxuXG4uY29sdW1uLWxpc3QtMi0xIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMDtcbiAgbWFyZ2luLWxlZnQ6IC0wOyB9XG4gIC5jb2x1bW4tbGlzdC0yLTEgPiAuY2VsbCwgLmNvbHVtbi1saXN0LTItMSBsaSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1saXN0LTItMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1saXN0LTItMSA+IC5jZWxsLCAuY29sdW1uLWxpc3QtMi0xIGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuODc1cmVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAuY29sdW1uLWxpc3QtMi0xIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTIuMTg3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMi4xODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWxpc3QtMi0xID4gLmNlbGwsIC5jb2x1bW4tbGlzdC0yLTEgbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNC4zNzVyZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogMi4xODc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTsgfSB9XG5cbi52aWV3cG9ydCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7IH1cblxuYm9keSB7XG4gIHNjcm9sbC1wYWRkaW5nLXRvcDogMy4wNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIGJvZHkge1xuICAgICAgc2Nyb2xsLXBhZGRpbmctdG9wOiA2cmVtOyB9IH1cbiAgYm9keS5zY3JvbGwtbWFuZGF0b3J5IHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsgfVxuICBib2R5LnNjcm9sbC1wcm94aW1pdHkge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgcHJveGltaXR5OyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2l0aW9uOiB0b3AgMTAwbXMgZWFzZSwgb3BhY2l0eSAxMDBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2U7IH1cbiAgLnNuYXA6OmJlZm9yZSwgLnNuYXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnNuYXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc25hcC5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLnNuYXAuaXMtaW5hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDA7IH1cbiAgLnNuYXAgLmlsbHVzdHJhdGlvbiB7XG4gICAgbWFzay1pbWFnZTogdmFyKC0taWxsdXN0cmF0aW9uKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNUYxNDtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5zbmFwLmJnLW9yYW5nZSAuaWxsdXN0cmF0aW9uLCBhc2lkZS5zbmFwLnBhbmVsOm5vdCguZGFyaykgLmlsbHVzdHJhdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uc3RvcC1zY3JvbGxpbmcge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNjcm9sbC1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMXM7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc2Nyb2xsLW5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLnNjcm9sbC1uYXYgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuc2Nyb2xsLW5hdiBhOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMC4yNXJlbTtcbiAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZFNjI1OTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuc2Nyb2xsLW5hdiBhOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDRyZW07IH1cbiAgICAuc2Nyb2xsLW5hdiBhLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAuc2Nyb2xsLW5hdiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cblxuLnN1Y2Nlc3Mtc3Rvcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdWNjZXNzLXN0b3J5IHtcbiAgICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDZyZW07IH0gfVxuICAuc3VjY2Vzcy1zdG9yeSAuZGF0ZSxcbiAgLnN1Y2Nlc3Mtc3RvcnkgdGltZSB7XG4gICAgY29sb3I6ICNjZDRkMTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuc3VjY2Vzcy1zdG9yeSAuY29weSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLnN1Y2Nlc3Mtc3RvcnkgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7IH1cbiAgLnN1Y2Nlc3Mtc3RvcnkgLmxvZ28ge1xuICAgIG1heC13aWR0aDogMTguNzVyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmaWx0ZXI6IGludmVydCgxKTsgfVxuICAgIC5zdWNjZXNzLXN0b3J5IC5sb2dvIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgICBtYXgtaGVpZ2h0OiA1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAuc3VjY2Vzcy1zdG9yeSAubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuc3VjY2Vzcy1zdG9yeSAuc3ViaGVhZGVyLCAuc3VjY2Vzcy1zdG9yeSAuZXllYnJvdyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAuc3VjY2Vzcy1zdG9yeSBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLnN1Y2Nlc3Mtc3RvcnkgaDMgfiBociB7XG4gICAgICB0b3A6IC0zLjE4NzVyZW07IH1cbiAgLnN1Y2Nlc3Mtc3RvcnkgLmhlYWRsaW5lIHtcbiAgICBjb2xvcjogI0ZGNUYxNDsgfVxuICAuc3VjY2Vzcy1zdG9yeSBoNSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgLnN1Y2Nlc3Mtc3RvcnkgaDUgfiBociB7XG4gICAgICB0b3A6IC0yLjI1cmVtOyB9XG4gIC5zdWNjZXNzLXN0b3J5IGhyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzVFNTE0RDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zdWNjZXNzLXN0b3J5IHAge1xuICAgIGNvbG9yOiAjRDdEMkNCOyB9XG4gIC5zdWNjZXNzLXN0b3J5IC5zZXJ2aWNlLWJsb2NrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3VjY2Vzcy1zdG9yeSAubG9nbyB7XG4gICAgICBib3R0b206IDZyZW07IH1cbiAgICAuc3VjY2Vzcy1zdG9yeSAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoMTAwJSAvICgxNiAvIDkpKTsgfVxuICAgIC5zdWNjZXNzLXN0b3J5IC5jb3B5IHtcbiAgICAgIGZsZXg6IDEgNDglOyB9XG4gICAgLnN1Y2Nlc3Mtc3RvcnkgLnNlcnZpY2UtYmxvY2sge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnN1Y2Nlc3Mtc3Rvcnkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gICAgICAuc3VjY2Vzcy1zdG9yeSAubG9nbyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHRvcDogNHJlbTtcbiAgICAgICAgd2lkdGg6IDkwJTsgfVxuICAgICAgLnN1Y2Nlc3Mtc3RvcnkgLmNvcHkge1xuICAgICAgICBmbGV4OiAxIDUwJTsgfVxuICAgICAgLnN1Y2Nlc3Mtc3RvcnkgLmNvcHksXG4gICAgICAuc3VjY2Vzcy1zdG9yeSAuaW1hZ2Uge1xuICAgICAgICBmbGV4OiAxIDUwJTsgfVxuICAgICAgLnN1Y2Nlc3Mtc3RvcnkgLmltYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE0NSU7XG4gICAgICAgIHRvcDogMC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjIuNWVtKSB7XG4gICAgLnN1Y2Nlc3Mtc3RvcnkgLmltYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyNy44MTI1cmVtOyB9IH1cblxuLnNoYXJlIC5pY29uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uc2hhcmUgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnN0YXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0YXRzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuc3RhdHMgZGl2IHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RhdHMgZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zdGF0cyBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjY2Q0ZDEwO1xuICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAuc3RhdHMgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtOyB9IH1cbiAgLnN0YXRzIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGF0cyBzcGFuOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnN0YXRzLnNtYWxsIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAuc3RhdHMuc21hbGwgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9IH1cbiAgLnN0YXRzLnNtYWxsIHNwYW46bGFzdC1jaGlsZCB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zdGF0cyAub3BlcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgIGNvbG9yOiAjNUU1MTREO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5zdGF0cyAub3BlcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5zdGF0cyAub3BlcmF0b3IgKyBkaXYge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0YXRzIC5vcGVyYXRvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgICAuc3RhdHMgLm9wZXJhdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtOyB9IH1cblxuLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gMCkgLyAxKTsgfVxuXG4uZ3JpZC1tYXJnaW4td2lkZS5zbWFsbC11cC0xID4gLmNlbGw6bnRoLWNoaWxkKDNuICsgMikge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIDApIC8gMik7IH1cblxuLmdyaWQtbWFyZ2luLXdpZGUuc21hbGwtdXAtMiA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZ3JpZC1tYXJnaW4td2lkZSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLSAwKSAvIDMpOyB9XG5cbi5ncmlkLW1hcmdpbi13aWRlLnNtYWxsLXVwLTMgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLnNtYWxsLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDYwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDYwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLnNtYWxsLXVwLTMgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNjBweCkgLyAxKTsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZS5tZWRpdW0tdXAtMSA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2MHB4KSAvIDIpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLm1lZGl1bS11cC0yID4gLmNlbGw6bnRoLWNoaWxkKDNuICsgMikge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDYwcHgpIC8gMyk7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUubWVkaXVtLXVwLTMgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNDBweCk7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUuc21hbGwtdXAtMSA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0MHB4KTsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZS5tZWRpdW0tdXAtMSA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTQwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE0MHB4KTsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZS5tZWRpdW0tdXAtMiA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMTQwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLnNtYWxsLXVwLTMgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDE0MHB4KTsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZS5tZWRpdW0tdXAtMyA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxNDBweCkgLyAxKTsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZS5sYXJnZS11cC0xID4gLmNlbGw6bnRoLWNoaWxkKDNuICsgMikge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNzBweDsgfVxuICAuZ3JpZC1tYXJnaW4td2lkZSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAtIDE0MHB4KSAvIDIpOyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlLmxhcmdlLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTQwcHgpIC8gMyk7IH1cbiAgLmdyaWQtbWFyZ2luLXdpZGUubGFyZ2UtdXAtMyA+IC5jZWxsOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7IH0gfVxuXG4uZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDApOyB9XG5cbi5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZS5zbWFsbC11cC0xID4gLmNlbGw6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmdyaWQtbWFyZ2luLXVsdHJhLXdpZGUgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDApOyB9XG5cbi5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZS5zbWFsbC11cC0yID4gLmNlbGw6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXVsdHJhLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDM1cHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTsgfVxuICAuZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZS5tZWRpdW0tdXAtMSA+IC5jZWxsOm50aC1jaGlsZChvZGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7IH1cbiAgLmdyaWQtbWFyZ2luLXVsdHJhLXdpZGUubWVkaXVtLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDM1cHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLm1lZGl1bS11cC0yID4gLmNlbGw6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogMzVweDsgfVxuICAuZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZS5tZWRpdW0tdXAtMiA+IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXVsdHJhLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTsgfVxuICAuZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZS5tZWRpdW0tdXAtMSA+IC5jZWxsOm50aC1jaGlsZChvZGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXVsdHJhLXdpZGUubWVkaXVtLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLnNtYWxsLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLm1lZGl1bS11cC0yID4gLmNlbGw6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1yaWdodDogNTBweDsgfVxuICAuZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZS5tZWRpdW0tdXAtMiA+IC5jZWxsOm50aC1jaGlsZChldmVuKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7IH1cbiAgLmdyaWQtbWFyZ2luLXVsdHJhLXdpZGUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLmxhcmdlLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLmxhcmdlLXVwLTEgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLmxhcmdlLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQob2RkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gIC5ncmlkLW1hcmdpbi11bHRyYS13aWRlLmxhcmdlLXVwLTIgPiAuY2VsbDpudGgtY2hpbGQoZXZlbikge1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9IH1cblxuLndpZGUtd3JhcHBlciAuZ3JpZC1jb250YWluZXIsXG4ud2lkZS13cmFwcGVyIC5yb3cge1xuICBtYXgtd2lkdGg6IDEyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5tb3NhaWMtY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICBjb2x1bW4tZ2FwOiAwLjkzNzVyZW07XG4gIHJvdy1nYXA6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAubW9zYWljLWNvbnRhaW5lciAuZ3JpZC1jb250YWluZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7IH0gfVxuXG4ubW9zYWljLWNvbnRhaW5lci5sYXlvdXQtMSAuZ3JpZC1jb250YWluZXIge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJpZyBiaWdcIiBcImJpZyBiaWdcIiBcInNtYWxsMSBzbWFsbDJcIiBcIm1lZGl1bSBtZWRpdW1cIjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAubW9zYWljLWNvbnRhaW5lci5sYXlvdXQtMSAuZ3JpZC1jb250YWluZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJiaWcgYmlnIHNtYWxsMSBzbWFsbDJcIiBcImJpZyBiaWcgbWVkaXVtIG1lZGl1bVwiOyB9IH1cblxuLm1vc2FpYy1jb250YWluZXIubGF5b3V0LTIgLmdyaWQtY29udGFpbmVyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJiaWcgYmlnXCIgXCJiaWcgYmlnXCIgXCJtZWRpdW0gbWVkaXVtXCIgXCJzbWFsbDEgc21hbGwyXCI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLm1vc2FpYy1jb250YWluZXIubGF5b3V0LTIgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibWVkaXVtIG1lZGl1bSBiaWcgYmlnXCIgXCJzbWFsbDEgc21hbGwyIGJpZyBiaWdcIjsgfSB9XG5cbi5tb3NhaWMtY29udGFpbmVyLmxheW91dC0zIC5ncmlkLWNvbnRhaW5lciB7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic21hbGwyIHNtYWxsMVwiIFwibWVkaXVtIG1lZGl1bVwiIFwiYmlnIGJpZ1wiIFwiYmlnIGJpZ1wiOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5tb3NhaWMtY29udGFpbmVyLmxheW91dC0zIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImJpZyBiaWcgc21hbGwxIG1lZGl1bVwiIFwiYmlnIGJpZyBzbWFsbDIgbWVkaXVtXCI7IH0gfVxuXG4ubW9zYWljLWNvbnRhaW5lciAuZ3JpZC1jb250YWluZXIgPiA6bnRoLWNoaWxkKDEpIHtcbiAgZ3JpZC1hcmVhOiBiaWc7IH1cblxuLm1vc2FpYy1jb250YWluZXIgLmdyaWQtY29udGFpbmVyID4gOm50aC1jaGlsZCgyKSB7XG4gIGdyaWQtYXJlYTogc21hbGwxOyB9XG5cbi5tb3NhaWMtY29udGFpbmVyIC5ncmlkLWNvbnRhaW5lciA+IDpudGgtY2hpbGQoMykge1xuICBncmlkLWFyZWE6IHNtYWxsMjsgfVxuXG4ubW9zYWljLWNvbnRhaW5lciAuZ3JpZC1jb250YWluZXIgPiA6bnRoLWNoaWxkKDQpIHtcbiAgZ3JpZC1hcmVhOiBtZWRpdW07IH1cblxuLm1vc2FpYy1jb250YWluZXIgLmdyaWQtY29udGFpbmVyID4gcCA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cblxuLmJpby1ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtY29sdW1uLWdhcDogNC42ODc1cmVtO1xuICBncmlkLXJvdy1nYXA6IDJyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmlvLWdyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmJpby1ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7IH0gfVxuICAuYmlvLWdyaWQgaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmJpby1ncmlkIGhlYWRlciA+IDpub3QoaW1nKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA2LjI1cmVtOyB9XG4gIC5iaW8tZ3JpZCBoMywgLmJpby1ncmlkIGg0LCAuYmlvLWdyaWQgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLmJpby1ncmlkIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmJpby1ncmlkIGltZyB7XG4gICAgbWF4LXdpZHRoOiA1LjMxMjVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvb2tpZXMtd3JhcHBlciBzdW1tYXJ5ID4gaDMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC42MjVyZW07IH1cblxuLmxvZ28tZ3JpZCAubG9nbyB7XG4gIG1heC13aWR0aDogMTguNzVyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvdHRvbTogNHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmaWx0ZXI6IGludmVydCgxKTtcbiAgaGVpZ2h0OiA3LjY4NzVyZW07XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxvZ28tZ3JpZCAubG9nbyBpbWcge1xuICAgIG1heC13aWR0aDogOHJlbTtcbiAgICBtYXgtaGVpZ2h0OiA0LjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxvZ28tZ3JpZCAubG9nbyBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1cmVtOyB9IH1cblxuLnBpbm5lZC1hcnRpY2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtOyB9XG5cbi5uZXdzLXN2ZyBpbWcge1xuICBoZWlnaHQ6IDMuNzVyZW07XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5jYXJkLWFydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciBoMyxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciBoNCxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciBkbC5pY29uLWxpc3QgZHQsXG4gIGRsLmljb24tbGlzdCAuY2FyZC1hcnRpY2xlOmhvdmVyIGR0LFxuICAuY2FyZC1hcnRpY2xlOmhvdmVyIC5oMyxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciAuaDQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTIuNXJlbSAjMDA3N0M4OyB9XG4gIC5jYXJkLWFydGljbGU6aG92ZXIgaDUsXG4gIC5jYXJkLWFydGljbGU6aG92ZXIgLmg1LFxuICAuY2FyZC1hcnRpY2xlOmhvdmVyIC5zdGF0cy0yY29sIGgzLFxuICAuc3RhdHMtMmNvbCAuY2FyZC1hcnRpY2xlOmhvdmVyIGgzLFxuICAuY2FyZC1hcnRpY2xlOmhvdmVyIC5zdGF0cy0yY29sIGg0LFxuICAuc3RhdHMtMmNvbCAuY2FyZC1hcnRpY2xlOmhvdmVyIGg0LFxuICAuY2FyZC1hcnRpY2xlOmhvdmVyIC5zdGF0cy0yY29sIGRsLmljb24tbGlzdCBkdCxcbiAgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IC5jYXJkLWFydGljbGU6aG92ZXIgZHQsXG4gIC5jYXJkLWFydGljbGU6aG92ZXIgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LFxuICBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgLmNhcmQtYXJ0aWNsZTpob3ZlciBkdCxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciAuc3RhdHMtMmNvbCBoNSxcbiAgLnN0YXRzLTJjb2wgLmNhcmQtYXJ0aWNsZTpob3ZlciBoNSxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciAuc3RhdHMtMmNvbCBoNixcbiAgLnN0YXRzLTJjb2wgLmNhcmQtYXJ0aWNsZTpob3ZlciBoNiB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMnJlbSAjMDA3N0M4OyB9XG4gIC5jYXJkLWFydGljbGU6aG92ZXIgaDYsXG4gIC5jYXJkLWFydGljbGU6aG92ZXIgLmg2IHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xLjYyNXJlbSAjMDA3N0M4OyB9XG4gIC5jYXJkLWFydGljbGU6aG92ZXIgaDMsXG4gIC5jYXJkLWFydGljbGU6aG92ZXIgaDQsXG4gIC5jYXJkLWFydGljbGU6aG92ZXIgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmNhcmQtYXJ0aWNsZTpob3ZlciBkdCxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciBoNSxcbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciBoNiB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciBpbWc6bm90KC5sb2dvKSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKSBwZXJzcGVjdGl2ZSgwKSB0cmFuc2xhdGVaKDApOyB9XG4gIC5jYXJkLWFydGljbGU6aG92ZXIgaW1nLmxvZ28ge1xuICAgIHdpZHRoOiA1MSU7IH1cbiAgLmNhcmQtYXJ0aWNsZTpob3ZlciAucG9zdC1pbWFnZS1vdmVybGF5LWNvbnRhaW5lciAuYmctbmV1dHJhbC1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwKTsgfVxuICAuY2FyZC1hcnRpY2xlOmhvdmVyIC5wb3N0LWltYWdlLW92ZXJsYXktY29udGFpbmVyIC5wb3N0LXN2ZyB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY2FyZC1hcnRpY2xlIC5kZXRhaWxzIDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYXJkLWFydGljbGUgaDMsXG4gIC5jYXJkLWFydGljbGUgaDQsXG4gIC5jYXJkLWFydGljbGUgZGwuaWNvbi1saXN0IGR0LFxuICBkbC5pY29uLWxpc3QgLmNhcmQtYXJ0aWNsZSBkdCxcbiAgLmNhcmQtYXJ0aWNsZSBoNSxcbiAgLmNhcmQtYXJ0aWNsZSBoNiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTAuMDYyNXJlbSAjMDA3N0M4O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjUwbXMgZWFzZSwgY29sb3IgMjUwbXMgZWFzZTsgfVxuICAuY2FyZC1hcnRpY2xlIHAge1xuICAgIG1hcmdpbjogMXJlbSBhdXRvOyB9XG4gIC5jYXJkLWFydGljbGUgc21hbGwge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogIzZFNjI1OTsgfVxuICAuY2FyZC1hcnRpY2xlIHBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDkgLyAxNiAqIDEwMCUpOyB9XG4gICAgLmNhcmQtYXJ0aWNsZSBwaWN0dXJlID4gaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMjUwbXMgZWFzZSwgdHJhbnNmb3JtIDI1MG1zIGVhc2U7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDApIHRyYW5zbGF0ZVooMCk7IH1cbiAgICAgIC5jYXJkLWFydGljbGUgcGljdHVyZSA+IGltZy5sb2dvIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNhcmQtYXJ0aWNsZSAucG9zdC1pbWFnZS1vdmVybGF5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg5IC8gMTYgKiAxMDAlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmNhcmQtYXJ0aWNsZSAucG9zdC1pbWFnZS1vdmVybGF5LWNvbnRhaW5lciBwaWN0dXJlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgIC5jYXJkLWFydGljbGUgLnBvc3QtaW1hZ2Utb3ZlcmxheS1jb250YWluZXIgLmJnLW5ldXRyYWwtYmxhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzQsIDM0LCAwLjcpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLW91dDsgfVxuICAgIC5jYXJkLWFydGljbGUgLnBvc3QtaW1hZ2Utb3ZlcmxheS1jb250YWluZXIgLnBvc3Qtc3ZnIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2Utb3V0OyB9XG4gIC5jYXJkLWFydGljbGUgdGltZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjNkU2MjU5O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmJnLW5ldXRyYWwtYmxhY2sgLmNhcmQtYXJ0aWNsZSB0aW1lLFxuICAuYmctbmV1dHJhbC1ibGFjayAuY2FyZC1hcnRpY2xlIHNtYWxsIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubmV3cy1hcnRpY2xlLmFydGljbGUtZnVsbCAudGhlLXBvc3QgPiBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7XG4gIGNvbG9yOiAjY2Q0ZDEwO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiA1cmVtO1xuICBsaW5lLWhlaWdodDogLjk7XG4gIG1hcmdpbi1yaWdodDogMi4zMzNyZW07IH1cblxuLm5ld3MtYXJ0aWNsZSAudmlkZW8tY2FwdGlvbiB7XG4gIG1heC13aWR0aDogNTQuMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5uZXdzLWFydGljbGUgLmxheW91dC1jb21wcmVzc2VkOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLmNhcmQtYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTsgfVxuICAuc3Rvcmllcy1zY3JvbGwge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDEuMjVyZW07XG4gICAgZ3JpZC1yb3ctZ2FwOiA3LjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY2FyZC1hcnRpY2xlLmJpZyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuNjg3NWZyIDAuMzExNWZyO1xuICAgIGdyaWQtY29sdW1uLWdhcDogNC42ODc1cmVtOyB9XG4gIC5jYXJkLWFydGljbGUuZmxpcCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjMxMTVmciAwLjY4NzVmcjsgfVxuICAgIC5jYXJkLWFydGljbGUuZmxpcCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jYXJkLWFydGljbGUuZmxpcCA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gIC5hcnRpY2xlcy13cmFwcGVyLFxuICAuc3Rvcmllcy1zY3JvbGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtY29sdW1uLWdhcDogNC42ODc1cmVtO1xuICAgIGdyaWQtcm93LWdhcDogNy41cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA1NC4xMjM3NWVtKSB7XG4gIC5jYXJkLWFydGljbGUuYmlnIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICBncmlkLWNvbHVtbi1lbmQ6IDM7IH1cbiAgICAuY2FyZC1hcnRpY2xlLmJpZy0xIHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLmNhcmQtYXJ0aWNsZS5iaWctMiB7XG4gICAgICBvcmRlcjogNDsgfVxuICAgIC5jYXJkLWFydGljbGUuYmlnLTMge1xuICAgICAgb3JkZXI6IDY7IH1cbiAgICAuY2FyZC1hcnRpY2xlLmJpZy00IHtcbiAgICAgIG9yZGVyOiA4OyB9XG4gICAgLmNhcmQtYXJ0aWNsZS5iaWctNSB7XG4gICAgICBvcmRlcjogMTA7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xIHtcbiAgICBvcmRlcjogMTtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMTsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTIge1xuICAgIG9yZGVyOiAxO1xuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC00IHtcbiAgICBvcmRlcjogMzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTUge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtNiB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC03IHtcbiAgICBvcmRlcjogNTsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTgge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtOSB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xMCB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xMSB7XG4gICAgb3JkZXI6IDk7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xMiB7XG4gICAgb3JkZXI6IDk7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xMyB7XG4gICAgb3JkZXI6IDExOyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtMTQge1xuICAgIG9yZGVyOiAxMTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAuYXJ0aWNsZXMtd3JhcHBlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsgfVxuICAudGFicy1wYW5lbCAuYXJ0aWNsZXMtd3JhcHBlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgLmNhcmQtYXJ0aWNsZS5iaWcge1xuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xuICAgIGdyaWQtY29sdW1uLWVuZDogNDsgfVxuICAgIC5jYXJkLWFydGljbGUuYmlnLTEge1xuICAgICAgb3JkZXI6IDI7IH1cbiAgICAuY2FyZC1hcnRpY2xlLmJpZy0yIHtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmNhcmQtYXJ0aWNsZS5iaWctMyB7XG4gICAgICBvcmRlcjogNjsgfVxuICAgIC5jYXJkLWFydGljbGUuYmlnLTQge1xuICAgICAgb3JkZXI6IDg7IH1cbiAgICAuY2FyZC1hcnRpY2xlLmJpZy01IHtcbiAgICAgIG9yZGVyOiAxMDsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTEge1xuICAgIG9yZGVyOiAxO1xuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxOyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtMiB7XG4gICAgb3JkZXI6IDE7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0zIHtcbiAgICBvcmRlcjogMTtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTQge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtNSB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC02IHtcbiAgICBvcmRlcjogMzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTcge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtOCB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC05IHtcbiAgICBvcmRlcjogNTsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTcge1xuICAgIG9yZGVyOiA3OyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtOCB7XG4gICAgb3JkZXI6IDc7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC05IHtcbiAgICBvcmRlcjogNzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTEwIHtcbiAgICBvcmRlcjogNzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTExIHtcbiAgICBvcmRlcjogNzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTEyIHtcbiAgICBvcmRlcjogNzsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTEzIHtcbiAgICBvcmRlcjogOTsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTE0IHtcbiAgICBvcmRlcjogOTsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTE1IHtcbiAgICBvcmRlcjogOTsgfVxuICAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTQsIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtNywgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xMCwgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC0xMyB7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7IH1cbiAgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC01LCAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTgsIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtMTEsIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtMTQge1xuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAyOyB9XG4gIC5jYXJkLWFydGljbGUuc3RhbmRhcmQtNiwgLmNhcmQtYXJ0aWNsZS5zdGFuZGFyZC05LCAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTEyLCAuY2FyZC1hcnRpY2xlLnN0YW5kYXJkLTE1IHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMzsgfSB9XG5cbi5zdG9yaWVzLXNjcm9sbCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfVxuXG4udGFicy1jb250ZW50IGgzIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDsgfVxuXG4udGFicy1jb250ZW50IC5jb2x1bW4tbGlzdC0yLTEgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLmNhcmQtcm9sZSBoNixcbi5jYXJkLXJvbGUgLmg2IHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4uY2FyZC1yb2xlOmhvdmVyIGg2LFxuLmNhcmQtcm9sZTpob3ZlciAuaDYge1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5jYXJkLXJvbGU6aG92ZXIgaDMsXG4uY2FyZC1yb2xlOmhvdmVyIGg0LFxuLmNhcmQtcm9sZTpob3ZlciBkbC5pY29uLWxpc3QgZHQsXG5kbC5pY29uLWxpc3QgLmNhcmQtcm9sZTpob3ZlciBkdCxcbi5jYXJkLXJvbGU6aG92ZXIgaDUsXG4uY2FyZC1yb2xlOmhvdmVyIGg2IHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLmNhcmQtcm9sZTpob3ZlciBpbWc6bm90KC5sb2dvKSB7XG4gIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4uY2FyZC1yb2xlIGltZy5sb2dvIHtcbiAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICB0b3A6IDc5JSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxOSUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MyUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjBlYjsgfVxuXG4uY2FyZC1yb2xlIGltZzpub3QoLmxvZ28pIHtcbiAgdHJhbnNmb3JtOiBub25lOyB9XG5cbi5yb2xlLWxpc3QgbGk6OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgLnJ3Zi1zdG9yaWVzLXdyYXBwZXIgbmF2IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucndmLXN0b3JpZXMtd3JhcHBlciBuYXYgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnN0b3JpZXMtc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5jYXJkLXJvbGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLyogU2FmYXJpIDkrICovXG4gIF86Oi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLCBfOmZ1dHVyZSwgOnJvb3QgLmNhcmQtcm9sZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTsgfVxuICAubm9uLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICBjb2xvcjogI0FDQTM5QSAhaW1wb3J0YW50OyB9XG4gIC5zdG9yeS0xOjpiZWZvcmUsIC5zdG9yeS0yOjpiZWZvcmUge1xuICAgIHdpZHRoOiAxLjVyZW0gIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEuNWVtOyB9IH1cblxuYXNpZGUucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBwYWRkaW5nOiAxLjU2MjVyZW07IH1cbiAgYXNpZGUucGFuZWwuZnVsbC13aWR0aCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICBhc2lkZS5wYW5lbCBoNCwgYXNpZGUucGFuZWwgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgYXNpZGUucGFuZWwgZHQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICBhc2lkZS5wYW5lbCAuc2lkZS1zZXBhcmF0b3I6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDdEMkNCOyB9XG4gIGFzaWRlLnBhbmVsIHAge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICBhc2lkZS5wYW5lbCB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIGFzaWRlLnBhbmVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgYXNpZGUucGFuZWw6bm90KC5kYXJrKSBsaTo6YmVmb3JlIHtcbiAgICBjb2xvcjogI0Q3RDJDQiAhaW1wb3J0YW50OyB9XG4gIC5sYXlvdXQtY29tcHJlc3NlZCBhc2lkZS5wYW5lbCB7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5sYXlvdXQtY29tcHJlc3NlZCBhc2lkZS5wYW5lbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyggLTEyLjUlIC0gMzBweCk7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgzLjg3NWVtKSB7XG4gICAgICAubGF5b3V0LWNvbXByZXNzZWQgYXNpZGUucGFuZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTI1JSAtIDMwcHgpOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgYXNpZGUucGFuZWw6bm90KC5mdWxsLXdpZHRoKSB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS44NzVyZW0pO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgYXNpZGUucGFuZWwuZnVsbC13aWR0aCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBhc2lkZS5hc2lkZS1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH1cbiAgYXNpZGUuYXNpZGUtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5oMSwgaDIsIGgzLFxuaDQsXG5kbC5pY29uLWxpc3QgZHQsIGg1LCBoNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBoMSA+IHNwYW4ubGFiZWwsIGgyID4gc3Bhbi5sYWJlbCwgaDMgPiBzcGFuLmxhYmVsLCBoNCA+IHNwYW4ubGFiZWwsIGRsLmljb24tbGlzdCBkdCA+IHNwYW4ubGFiZWwsIGg1ID4gc3Bhbi5sYWJlbCwgaDYgPiBzcGFuLmxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zdWJoZWFkZXIsIC5leWVicm93LFxuLmZvbnQtbW9ub3NwYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaDEsIC5oMSwgaDIsIC5oMiwgaDMuZm9udC1ibGFjaywgLmgzLmZvbnQtYmxhY2sge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIFxuICBoNCxcbiAgZGwuaWNvbi1saXN0IGR0LCAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIFxuICAgIGg0LFxuICAgIGRsLmljb24tbGlzdCBkdCwgLmg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkgYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgXG4gICAgaDQsXG4gICAgZGwuaWNvbi1saXN0IGR0LCAuaDQge1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbmgxIHNtYWxsIHtcbiAgZm9udC1zaXplOiA1MCU7IH1cblxuaDIgc21hbGwge1xuICBmb250LXNpemU6IDY2JTsgfVxuXG5oMyBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogNjYlOyB9XG5cblxuaDQgc21hbGwsXG5kbC5pY29uLWxpc3QgZHQgc21hbGwge1xuICBmb250LXNpemU6IDY2JTsgfVxuXG5oNSBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogNjYlOyB9XG5cbmg2IHNtYWxsIHtcbiAgZm9udC1zaXplOiA2NiU7IH1cblxuZGwuaW5mby1jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBkbC5pbmZvLWNhcmQgLmgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgZGwuaW5mby1jYXJkIC5oMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9IH1cbiAgZGwuaW5mby1jYXJkIC5oNSwgZGwuaW5mby1jYXJkIC5zdGF0cy0yY29sIGgzLCAuc3RhdHMtMmNvbCBkbC5pbmZvLWNhcmQgaDMsIGRsLmluZm8tY2FyZCAuc3RhdHMtMmNvbCBoNCwgLnN0YXRzLTJjb2wgZGwuaW5mby1jYXJkIGg0LCBkbC5pbmZvLWNhcmQgLnN0YXRzLTJjb2wgZGwuaWNvbi1saXN0IGR0LCAuc3RhdHMtMmNvbCBkbC5pY29uLWxpc3QgZGwuaW5mby1jYXJkIGR0LCBkbC5pbmZvLWNhcmQgZGwuaWNvbi1saXN0IC5zdGF0cy0yY29sIGR0LCBkbC5pY29uLWxpc3QgLnN0YXRzLTJjb2wgZGwuaW5mby1jYXJkIGR0LCBkbC5pbmZvLWNhcmQgLnN0YXRzLTJjb2wgaDUsIC5zdGF0cy0yY29sIGRsLmluZm8tY2FyZCBoNSwgZGwuaW5mby1jYXJkIC5zdGF0cy0yY29sIGg2LCAuc3RhdHMtMmNvbCBkbC5pbmZvLWNhcmQgaDYge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgZGwuaW5mby1jYXJkIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgZGwuaW5mby1jYXJkIC5oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICAgZGwuaW5mby1jYXJkIC5oZWFkaW5nIGkge1xuICAgICAgY29sb3I6ICNEN0QyQ0I7IH1cbiAgZGwuaW5mby1jYXJkIGRkIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgI2NkNGQxMCAwLjEyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgICBkbC5pbmZvLWNhcmQgZGQgc3Bhbi5oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NkNGQxMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5sYXlvdXQtY29tcHJlc3NlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubGF5b3V0LWNvbXByZXNzZWQuYm9yZGVyOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtICNBQ0EzOUEgc29saWQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4MS4yNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLmxheW91dC1jb21wcmVzc2VkLmhhcy1ieWxpbmUgLmdyaWQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAubGF5b3V0LWNvbXByZXNzZWQgaW1nLCAubGF5b3V0LWNvbXByZXNzZWQgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubGF5b3V0LWNvbXByZXNzZWQgLmdyaWQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMC45Mzc1cmVtOyB9XG4gICAgLmxheW91dC1jb21wcmVzc2VkIC5ncmlkLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAgIC5sYXlvdXQtY29tcHJlc3NlZCAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDU0LjEyNXJlbTsgfSB9XG4gIC5ieWxpbmUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA0LjA2MjVyZW07IH1cbiAgICAuYnlsaW5lLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzZFNjI1OTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk92ZXJwYXNzIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuYnlsaW5lLWNvbnRhaW5lciA+IGFzaWRlLCAuYnlsaW5lLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5ieWxpbmUtY29udGFpbmVyID4gZGl2IHtcbiAgICAgICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA0LjEyNXJlbTsgfVxuICAgICAgICAuYnlsaW5lLWNvbnRhaW5lciA+IGRpdjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQUNBMzlBOyB9IH1cbiAgICAuYnlsaW5lLWNvbnRhaW5lciB0aW1lIHtcbiAgICAgIGNvbG9yOiAjMjIyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmJ5bGluZS1jb250YWluZXIgLnNoYXJlIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDAgMS4yNXJlbSAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYnlsaW5lLWNvbnRhaW5lciAuc2hhcmUge1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAgICAgLmJ5bGluZS1jb250YWluZXIgLnNoYXJlIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuYnlsaW5lLWNvbnRhaW5lciAuaWNvbiB7XG4gICAgICBtaW4td2lkdGg6IDEuMDYyNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAgICAgLmJ5bGluZS1jb250YWluZXIgLmljb246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYnlsaW5lLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDU0LjEyNXJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpOyB9XG4gICAgICAgIC5ieWxpbmUtY29udGFpbmVyID4gOm50aC1jaGlsZCgzKSxcbiAgICAgICAgLmJ5bGluZS1jb250YWluZXIgPiA6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBib3JkZXItbGVmdDogMC4wNjI1cmVtIHNvbGlkICNBQ0EzOUE7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgICAgLmJ5bGluZS1jb250YWluZXIgLnNoYXJlIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgICAgLmJ5bGluZS1jb250YWluZXIgLnNoYXJlIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgICAgLmJ5bGluZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogY2FsYyg4NjZweCAtIDMwcHgpOyB9IH1cbiAgLmxheW91dC1jb21wcmVzc2VkIGhyIHtcbiAgICBtYXJnaW4tdG9wOiA0LjY4NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI0Q3RDJDQjsgfVxuICAubGF5b3V0LWNvbXByZXNzZWQgLm92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5sYXlvdXQtY29tcHJlc3NlZCAub3ZlcmxheTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAubGF5b3V0LWNvbXByZXNzZWQgLm92ZXJsYXk6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgd2lkdGg6IDMuNzVyZW07XG4gICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubGF5b3V0LWNvbXByZXNzZWQgLm92ZXJsYXkuY2hlY2ttYXJrOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCJodHRwczovL2Fzc2V0cy5hcXVlbnQuY29tL3N2Zy9yZWRlc2lnbi9vdmVybGF5LWNoZWNrLnN2Z1wiKTsgfVxuICAgIC5sYXlvdXQtY29tcHJlc3NlZCAub3ZlcmxheS54bWFyazo6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiaHR0cHM6Ly9hc3NldHMuYXF1ZW50LmNvbS9zdmcvcmVkZXNpZ24vb3ZlcmxheS14LnN2Z1wiKTsgfVxuXG4ubGF5b3V0LW1vZHVsYXItZ3JpZCAuZ3JpZCB7XG4gIG1heC13aWR0aDogODEuMjVyZW07XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgcm93LWdhcDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGF5b3V0LW1vZHVsYXItZ3JpZCAuZ3JpZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGF5b3V0LW1vZHVsYXItZ3JpZCAuZ3JpZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBjb2x1bW4tZ2FwOiAyLjVyZW07XG4gICAgICByb3ctZ2FwOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLmxheW91dC1tb2R1bGFyLWdyaWQgLmdyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIGNvbHVtbi1nYXA6IDUuOTM3NXJlbTtcbiAgICAgIHJvdy1nYXA6IDQuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGF5b3V0LW1vZHVsYXItZ3JpZC5mb3VyIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiAzLjEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGF5b3V0LW1vZHVsYXItZ3JpZC50d28gLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiAxMS4yNXJlbTsgfSB9XG5cbi5sYXlvdXQtbW9kdWxhci1ncmlkLnRocmVlIC5jYXJkIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5sYXlvdXQtaW50ZXJpb3ItcGFuZWwgPiBkaXYge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAubGF5b3V0LWludGVyaW9yLXBhbmVsIC5ncmlkLW1hcmdpbi14IHtcbiAgICBtYXJnaW4tbGVmdDogLTMuMDYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zLjA2MjVyZW07IH1cbiAgICAubGF5b3V0LWludGVyaW9yLXBhbmVsIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMDYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMy4wNjI1cmVtOyB9XG4gICAgICAubGF5b3V0LWludGVyaW9yLXBhbmVsIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwubGFyZ2UtMyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDYuMTI1cmVtKTsgfVxuICAgICAgLmxheW91dC1pbnRlcmlvci1wYW5lbCAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsLmxhcmdlLTQge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSA2LjEyNXJlbSk7IH1cbiAgICAgIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwgLmdyaWQtbWFyZ2luLXggPiAuY2VsbC5sYXJnZS01IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gNi4xMjVyZW0pOyB9XG4gICAgICAubGF5b3V0LWludGVyaW9yLXBhbmVsIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwubGFyZ2UtNiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDYuMTI1cmVtKTsgfVxuICAgICAgLmxheW91dC1pbnRlcmlvci1wYW5lbCAuZ3JpZC1tYXJnaW4teCA+IC5jZWxsLmxhcmdlLTcge1xuICAgICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSA2LjEyNXJlbSk7IH1cbiAgICAgIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwgLmdyaWQtbWFyZ2luLXggPiAuY2VsbC5sYXJnZS04IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gNi4xMjVyZW0pOyB9XG4gICAgICAubGF5b3V0LWludGVyaW9yLXBhbmVsIC5ncmlkLW1hcmdpbi14ID4gLmNlbGwubGFyZ2UtOSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDYuMTI1cmVtKTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwuYWx0ZXJuYXRpbmc6bnRoLWNoaWxkKG9kZCkgLmNlbGw6Zmlyc3QtY2hpbGQge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwuYWx0ZXJuYXRpbmc6bnRoLWNoaWxkKG9kZCkgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubGF5b3V0LWludGVyaW9yLXBhbmVsLmZsaXAgLmNlbGw6Zmlyc3QtY2hpbGQge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwuZmxpcCAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBvcmRlcjogMTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwubW9iaWxlLXRleHQtZmlyc3QgLmNlbGw6Zmlyc3QtY2hpbGQge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXlvdXQtaW50ZXJpb3ItcGFuZWwubW9iaWxlLXRleHQtZmlyc3QgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG4ubGF5b3V0LXN0YW5kYXJkID4gZGl2LFxuLnZlcnQtc3BjLWxnLTEgPiBkaXYsXG4ubWFyZ2luLWxnLTEge1xuICBtYXJnaW4tdG9wOiA0LjY4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sYXlvdXQtc3RhbmRhcmQgPiBkaXYsXG4gICAgLnZlcnQtc3BjLWxnLTEgPiBkaXYsXG4gICAgLm1hcmdpbi1sZy0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDcuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5sYXlvdXQtc3RhbmRhcmQgPiBkaXYsXG4gICAgLnZlcnQtc3BjLWxnLTEgPiBkaXYsXG4gICAgLm1hcmdpbi1sZy0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDExLjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMS41NjI1cmVtOyB9IH1cblxuLnBhZGRpbmctbGctMSB7XG4gIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0LjY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy1sZy0xIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3LjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNy41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctbGctMSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTEuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMS41NjI1cmVtOyB9IH1cblxuLnZlcnQtc3BjLWxnLTEtdG9wID4gZGl2LFxuLm1hcmdpbi10b3AtbGctMSB7XG4gIG1hcmdpbi10b3A6IDQuNjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZXJ0LXNwYy1sZy0xLXRvcCA+IGRpdixcbiAgICAubWFyZ2luLXRvcC1sZy0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDcuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC52ZXJ0LXNwYy1sZy0xLXRvcCA+IGRpdixcbiAgICAubWFyZ2luLXRvcC1sZy0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDExLjU2MjVyZW07IH0gfVxuXG4ucGFkZGluZy10b3AtbGctMSB7XG4gIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy10b3AtbGctMSB7XG4gICAgICBwYWRkaW5nLXRvcDogNy41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctdG9wLWxnLTEge1xuICAgICAgcGFkZGluZy10b3A6IDExLjU2MjVyZW07IH0gfVxuXG4udmVydC1zcGMtbGctMS1ib3R0b20gPiBkaXYsXG4ubWFyZ2luLWJvdHRvbS1sZy0xIHtcbiAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlcnQtc3BjLWxnLTEtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLWxnLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNy41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLWxnLTEtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLWxnLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTEuNTYyNXJlbTsgfSB9XG5cbi5wYWRkaW5nLWJvdHRvbS1sZy0xIHtcbiAgcGFkZGluZy1ib3R0b206IDQuNjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLWJvdHRvbS1sZy0xIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFkZGluZy1ib3R0b20tbGctMSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTEuNTYyNXJlbTsgfSB9XG5cblxuLnZlcnQtc3BjLWxnLTIgPiBkaXYsXG4ubWFyZ2luLWxnLTIge1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBcbiAgICAudmVydC1zcGMtbGctMiA+IGRpdixcbiAgICAubWFyZ2luLWxnLTIge1xuICAgICAgbWFyZ2luLXRvcDogNC42ODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgXG4gICAgLnZlcnQtc3BjLWxnLTIgPiBkaXYsXG4gICAgLm1hcmdpbi1sZy0yIHtcbiAgICAgIG1hcmdpbi10b3A6IDcuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcuNXJlbTsgfSB9XG5cbi5wYWRkaW5nLWxnLTIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLWxnLTIge1xuICAgICAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFkZGluZy1sZy0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3LjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNy41cmVtOyB9IH1cblxuLnZlcnQtc3BjLWxnLTItdG9wID4gZGl2LFxuLm1hcmdpbi10b3AtbGctMiB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlcnQtc3BjLWxnLTItdG9wID4gZGl2LFxuICAgIC5tYXJnaW4tdG9wLWxnLTIge1xuICAgICAgbWFyZ2luLXRvcDogNC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLWxnLTItdG9wID4gZGl2LFxuICAgIC5tYXJnaW4tdG9wLWxnLTIge1xuICAgICAgbWFyZ2luLXRvcDogNy41cmVtOyB9IH1cblxuLnBhZGRpbmctdG9wLWxnLTIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy10b3AtbGctMiB7XG4gICAgICBwYWRkaW5nLXRvcDogNC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctdG9wLWxnLTIge1xuICAgICAgcGFkZGluZy10b3A6IDcuNXJlbTsgfSB9XG5cbi52ZXJ0LXNwYy1sZy0yLWJvdHRvbSA+IGRpdixcbi5tYXJnaW4tYm90dG9tLWxnLTIge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZXJ0LXNwYy1sZy0yLWJvdHRvbSA+IGRpdixcbiAgICAubWFyZ2luLWJvdHRvbS1sZy0yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC52ZXJ0LXNwYy1sZy0yLWJvdHRvbSA+IGRpdixcbiAgICAubWFyZ2luLWJvdHRvbS1sZy0yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcuNXJlbTsgfSB9XG5cbi5wYWRkaW5nLWJvdHRvbS1sZy0yIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLWxnLTIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkaW5nLWJvdHRvbS1sZy0yIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBcbiAgLnZlcnQtc3BjLWxnLTMgPiBkaXYsXG4gIC5tYXJnaW4tbGctMyB7XG4gICAgbWFyZ2luLXRvcDogNC42ODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICBcbiAgLnZlcnQtc3BjLWxnLTMgPiBkaXYsXG4gIC5tYXJnaW4tbGctMyB7XG4gICAgbWFyZ2luLXRvcDogNi4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZGRpbmctbGctMyB7XG4gICAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC42ODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gIC5wYWRkaW5nLWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnZlcnQtc3BjLWxnLTMtdG9wID4gZGl2LFxuICAubWFyZ2luLXRvcC1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiA0LjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLnZlcnQtc3BjLWxnLTMtdG9wID4gZGl2LFxuICAubWFyZ2luLXRvcC1sZy0zIHtcbiAgICBtYXJnaW4tdG9wOiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZGRpbmctdG9wLWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLnBhZGRpbmctdG9wLWxnLTMge1xuICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnZlcnQtc3BjLWxnLTMtYm90dG9tID4gZGl2LFxuICAubWFyZ2luLWJvdHRvbS1sZy0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLnZlcnQtc3BjLWxnLTMtYm90dG9tID4gZGl2LFxuICAubWFyZ2luLWJvdHRvbS1sZy0zIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnBhZGRpbmctYm90dG9tLWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgLnBhZGRpbmctYm90dG9tLWxnLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1cmVtOyB9IH1cblxuXG4udmVydC1zcGMtbWQtMSA+IGRpdixcbi5tYXJnaW4tbWQtMSB7XG4gIG1hcmdpbi10b3A6IDQuNjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgXG4gICAgLnZlcnQtc3BjLW1kLTEgPiBkaXYsXG4gICAgLm1hcmdpbi1tZC0xIHtcbiAgICAgIG1hcmdpbi10b3A6IDQuNjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIFxuICAgIC52ZXJ0LXNwYy1tZC0xID4gZGl2LFxuICAgIC5tYXJnaW4tbWQtMSB7XG4gICAgICBtYXJnaW4tdG9wOiA2LjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTsgfSB9XG5cbi5wYWRkaW5nLW1kLTEge1xuICBwYWRkaW5nLXRvcDogNC42ODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNC42ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZGRpbmctbWQtMSB7XG4gICAgICBwYWRkaW5nLXRvcDogNC42ODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkaW5nLW1kLTEge1xuICAgICAgcGFkZGluZy10b3A6IDYuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTsgfSB9XG5cbi52ZXJ0LXNwYy1tZC0xLXRvcCA+IGRpdixcbi5tYXJnaW4tdG9wLW1kLTEge1xuICBtYXJnaW4tdG9wOiA0LjY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVydC1zcGMtbWQtMS10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3AtbWQtMSB7XG4gICAgICBtYXJnaW4tdG9wOiA0LjY4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAudmVydC1zcGMtbWQtMS10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3AtbWQtMSB7XG4gICAgICBtYXJnaW4tdG9wOiA2LjI1cmVtOyB9IH1cblxuLnBhZGRpbmctdG9wLW1kLTEge1xuICBwYWRkaW5nLXRvcDogNC42ODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZGRpbmctdG9wLW1kLTEge1xuICAgICAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkaW5nLXRvcC1tZC0xIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtOyB9IH1cblxuLnZlcnQtc3BjLW1kLTEtYm90dG9tID4gZGl2LFxuLm1hcmdpbi1ib3R0b20tbWQtMSB7XG4gIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZXJ0LXNwYy1tZC0xLWJvdHRvbSA+IGRpdixcbiAgICAubWFyZ2luLWJvdHRvbS1tZC0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC52ZXJ0LXNwYy1tZC0xLWJvdHRvbSA+IGRpdixcbiAgICAubWFyZ2luLWJvdHRvbS1tZC0xIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH0gfVxuXG4ucGFkZGluZy1ib3R0b20tbWQtMSB7XG4gIHBhZGRpbmctYm90dG9tOiA0LjY4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy1ib3R0b20tbWQtMSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLW1kLTEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH0gfVxuXG5cbi52ZXJ0LXNwYy1tZC0yID4gZGl2LFxuLm1hcmdpbi1tZC0yIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgXG4gICAgLnZlcnQtc3BjLW1kLTIgPiBkaXYsXG4gICAgLm1hcmdpbi1tZC0yIHtcbiAgICAgIG1hcmdpbi10b3A6IDMuNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgXG4gICAgLnZlcnQtc3BjLW1kLTIgPiBkaXYsXG4gICAgLm1hcmdpbi1tZC0yIHtcbiAgICAgIG1hcmdpbi10b3A6IDQuNjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG5cbi5wYWRkaW5nLW1kLTIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLW1kLTIge1xuICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkaW5nLW1kLTIge1xuICAgICAgcGFkZGluZy10b3A6IDQuNjg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG4udmVydC1zcGMtbWQtMi10b3AgPiBkaXYsXG4ubWFyZ2luLXRvcC1tZC0yIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVydC1zcGMtbWQtMi10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3AtbWQtMiB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTItdG9wID4gZGl2LFxuICAgIC5tYXJnaW4tdG9wLW1kLTIge1xuICAgICAgbWFyZ2luLXRvcDogNC42ODc1cmVtOyB9IH1cblxuLnBhZGRpbmctdG9wLW1kLTIge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy10b3AtbWQtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkaW5nLXRvcC1tZC0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjY4NzVyZW07IH0gfVxuXG4udmVydC1zcGMtbWQtMi1ib3R0b20gPiBkaXYsXG4ubWFyZ2luLWJvdHRvbS1tZC0yLFxuLnN0YXQtcm93Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTItYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLW1kLTIsXG4gICAgLnN0YXQtcm93Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTItYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLW1kLTIsXG4gICAgLnN0YXQtcm93Om5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjY4NzVyZW07IH0gfVxuXG4ucGFkZGluZy1ib3R0b20tbWQtMiB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLWJvdHRvbS1tZC0yIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLW1kLTIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG5cblxuLnZlcnQtc3BjLW1kLTMgPiBkaXYsXG4ubWFyZ2luLW1kLTMge1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBcbiAgICAudmVydC1zcGMtbWQtMyA+IGRpdixcbiAgICAubWFyZ2luLW1kLTMge1xuICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIFxuICAgIC52ZXJ0LXNwYy1tZC0zID4gZGl2LFxuICAgIC5tYXJnaW4tbWQtMyB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfSB9XG5cbi5wYWRkaW5nLW1kLTMge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLW1kLTMge1xuICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctbWQtMyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtOyB9IH1cblxuLnZlcnQtc3BjLW1kLTMtdG9wID4gZGl2LFxuLm1hcmdpbi10b3AtbWQtMyB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTMtdG9wID4gZGl2LFxuICAgIC5tYXJnaW4tdG9wLW1kLTMge1xuICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAudmVydC1zcGMtbWQtMy10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3AtbWQtMyB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjc1cmVtOyB9IH1cblxuLnBhZGRpbmctdG9wLW1kLTMge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy10b3AtbWQtMyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFkZGluZy10b3AtbWQtMyB7XG4gICAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfSB9XG5cbi52ZXJ0LXNwYy1tZC0zLWJvdHRvbSA+IGRpdixcbi5tYXJnaW4tYm90dG9tLW1kLTMge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC52ZXJ0LXNwYy1tZC0zLWJvdHRvbSA+IGRpdixcbiAgICAubWFyZ2luLWJvdHRvbS1tZC0zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTMtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLW1kLTMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfSB9XG5cbi5wYWRkaW5nLWJvdHRvbS1tZC0zIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLW1kLTMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLW1kLTMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH0gfVxuXG5cbi52ZXJ0LXNwYy1tZC00ID4gZGl2LFxuLm1hcmdpbi1tZC00IHtcbiAgbWFyZ2luLXRvcDogMi4xODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBcbiAgICAudmVydC1zcGMtbWQtNCA+IGRpdixcbiAgICAubWFyZ2luLW1kLTQge1xuICAgICAgbWFyZ2luLXRvcDogMi4xODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgXG4gICAgLnZlcnQtc3BjLW1kLTQgPiBkaXYsXG4gICAgLm1hcmdpbi1tZC00IHtcbiAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ucGFkZGluZy1tZC00IHtcbiAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLW1kLTQge1xuICAgICAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFkZGluZy1tZC00IHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTsgfSB9XG5cbi52ZXJ0LXNwYy1tZC00LXRvcCA+IGRpdixcbi5tYXJnaW4tdG9wLW1kLTQge1xuICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVydC1zcGMtbWQtNC10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3AtbWQtNCB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAudmVydC1zcGMtbWQtNC10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3AtbWQtNCB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfSB9XG5cbi5wYWRkaW5nLXRvcC1tZC00IHtcbiAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLXRvcC1tZC00IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFkZGluZy10b3AtbWQtNCB7XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH0gfVxuXG4udmVydC1zcGMtbWQtNC1ib3R0b20gPiBkaXYsXG4ubWFyZ2luLWJvdHRvbS1tZC00IHtcbiAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTQtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLW1kLTQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLW1kLTQtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLW1kLTQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4ucGFkZGluZy1ib3R0b20tbWQtNCB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy1ib3R0b20tbWQtNCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLW1kLTQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuXG4udmVydC1zcGMtc20tMSA+IGRpdixcbi5tYXJnaW4tc20tMSB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIFxuICAgIC52ZXJ0LXNwYy1zbS0xID4gZGl2LFxuICAgIC5tYXJnaW4tc20tMSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICBcbiAgICAudmVydC1zcGMtc20tMSA+IGRpdixcbiAgICAubWFyZ2luLXNtLTEge1xuICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuLnBhZGRpbmctc20tMSB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZGRpbmctc20tMSB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5wYWRkaW5nLXNtLTEge1xuICAgICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuXG4udmVydC1zcGMtc20tMS10b3AgPiBkaXYsXG4ubWFyZ2luLXRvcC1zbS0xIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVydC1zcGMtc20tMS10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3Atc20tMSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAudmVydC1zcGMtc20tMS10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3Atc20tMSB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH0gfVxuXG4ucGFkZGluZy10b3Atc20tMSB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wYWRkaW5nLXRvcC1zbS0xIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFkZGluZy10b3Atc20tMSB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtOyB9IH1cblxuLnZlcnQtc3BjLXNtLTEtYm90dG9tID4gZGl2LFxuLm1hcmdpbi1ib3R0b20tc20tMSB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnZlcnQtc3BjLXNtLTEtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLXNtLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnZlcnQtc3BjLXNtLTEtYm90dG9tID4gZGl2LFxuICAgIC5tYXJnaW4tYm90dG9tLXNtLTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuLnBhZGRpbmctYm90dG9tLXNtLTEge1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy1ib3R0b20tc20tMSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLXNtLTEge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG5cblxuLnZlcnQtc3BjLXNtLTIgPiBkaXYsXG4ubWFyZ2luLXNtLTIge1xuICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIFxuICAgIC52ZXJ0LXNwYy1zbS0yID4gZGl2LFxuICAgIC5tYXJnaW4tc20tMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICBcbiAgICAudmVydC1zcGMtc20tMiA+IGRpdixcbiAgICAubWFyZ2luLXNtLTIge1xuICAgICAgbWFyZ2luLXRvcDogMi4xODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cblxuLnBhZGRpbmctc20tMiB7XG4gIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy1zbS0yIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctc20tMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMi4xODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuMTg3NXJlbTsgfSB9XG5cbi52ZXJ0LXNwYy1zbS0yLXRvcCA+IGRpdixcbi5tYXJnaW4tdG9wLXNtLTIge1xuICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVydC1zcGMtc20tMi10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3Atc20tMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAudmVydC1zcGMtc20tMi10b3AgPiBkaXYsXG4gICAgLm1hcmdpbi10b3Atc20tMiB7XG4gICAgICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07IH0gfVxuXG4ucGFkZGluZy10b3Atc20tMiB7XG4gIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy10b3Atc20tMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMi4xODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctdG9wLXNtLTIge1xuICAgICAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTsgfSB9XG5cbi52ZXJ0LXNwYy1zbS0yLWJvdHRvbSA+IGRpdixcbi5tYXJnaW4tYm90dG9tLXNtLTIge1xuICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAudmVydC1zcGMtc20tMi1ib3R0b20gPiBkaXYsXG4gICAgLm1hcmdpbi1ib3R0b20tc20tMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAudmVydC1zcGMtc20tMi1ib3R0b20gPiBkaXYsXG4gICAgLm1hcmdpbi1ib3R0b20tc20tMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH0gfVxuXG4ucGFkZGluZy1ib3R0b20tc20tMiB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFkZGluZy1ib3R0b20tc20tMiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0LjEyNWVtKSB7XG4gICAgLnBhZGRpbmctYm90dG9tLXNtLTIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuMTg3NXJlbTsgfSB9XG5cblxuLnZlcnQtc3BjLXNtLTMgPiBkaXYsXG4ubWFyZ2luLXNtLTMge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLnBhZGRpbmctc20tMyB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG5cbi52ZXJ0LXNwYy1zbS0zLXRvcCA+IGRpdixcbi5tYXJnaW4tdG9wLXNtLTMge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuXG4ucGFkZGluZy10b3Atc20tMyB7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuXG4udmVydC1zcGMtc20tMy1ib3R0b20gPiBkaXYsXG4ubWFyZ2luLWJvdHRvbS1zbS0zIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLnBhZGRpbmctYm90dG9tLXNtLTMge1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cblxuXG4udmVydC1zcGMtc20tNCA+IGRpdixcbi5tYXJnaW4tc20tNCB7XG4gIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG5cbi5wYWRkaW5nLXNtLTQge1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9XG5cbi52ZXJ0LXNwYy1zbS00LXRvcCA+IGRpdixcbi5tYXJnaW4tdG9wLXNtLTQge1xuICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cblxuLnBhZGRpbmctdG9wLXNtLTQge1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtOyB9XG5cbi52ZXJ0LXNwYy1zbS00LWJvdHRvbSA+IGRpdixcbi5tYXJnaW4tYm90dG9tLXNtLTQge1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLnBhZGRpbmctYm90dG9tLXNtLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9XG5cblxuLmZsdXNoLWJvdHRvbSA+IGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4uZmx1c2gtdG9wID4gZGl2IHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc3RhdHMtMmNvbCAudGV4dC1zdGF0IHtcbiAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDMuNDM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDMuNzVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhdHMtMmNvbCAudGV4dC1zdGF0IHtcbiAgICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IC43NTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zdGF0LXJvdyA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4uc3RhdC1yb3c6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICM1RTUxNEQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RhdC1yb3c6bm90KDpsYXN0LW9mLXR5cGUpID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAuc3RhdC1yb3c6bm90KDpsYXN0LW9mLXR5cGUpID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfSB9XG5cbi5zdGF0LXJvdyBwIHtcbiAgY29sb3I6ICNEN0QyQ0I7IH1cbiAgLnN0YXQtcm93IHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5bc3R5bGUqPVwiLWFzcGVjdC1yYXRpb1wiXSA+IDpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbltzdHlsZSo9XCItYXNwZWN0LXJhdGlvXCJdID4gaW1nIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbkBzdXBwb3J0cyAoLS1jdXN0b206IHByb3BlcnR5KSB7XG4gIFtzdHlsZSo9XCItYXNwZWN0LXJhdGlvXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBbc3R5bGUqPVwiLWFzcGVjdC1yYXRpb1wiXTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIFtzdHlsZSo9XCItYXNwZWN0LXJhdGlvXCJdID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBbc3R5bGUqPVwiLWFzcGVjdC1yYXRpb1wiXSBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgW3N0eWxlKj1cIi0tYXNwZWN0LXJhdGlvXCJdOjpiZWZvcmUge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMCUgLyAodmFyKC0tYXNwZWN0LXJhdGlvKSkpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW3N0eWxlKj1cIi0tbWVkaXVtLWFzcGVjdC1yYXRpb1wiXTo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMCUgLyAodmFyKC0tbWVkaXVtLWFzcGVjdC1yYXRpbykpKTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIFtzdHlsZSo9XCItLWxhcmdlLWFzcGVjdC1yYXRpb1wiXTo6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDEwMCUgLyAodmFyKC0tbGFyZ2UtYXNwZWN0LXJhdGlvKSkpOyB9IH0gfVxuXG4uY2FyZC5kZWZhdWx0IGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG1heC13aWR0aDogMjIuNXJlbTsgfVxuXG4uY2FyZC5kZWZhdWx0IGgxLCAuY2FyZC5kZWZhdWx0IGgyLCAuY2FyZC5kZWZhdWx0IGgzLCAuY2FyZC5kZWZhdWx0IGg0LCAuY2FyZC5kZWZhdWx0IGRsLmljb24tbGlzdCBkdCwgZGwuaWNvbi1saXN0IC5jYXJkLmRlZmF1bHQgZHQsIC5jYXJkLmRlZmF1bHQgaDUsIC5jYXJkLmRlZmF1bHQgaDYge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJkLmRlZmF1bHQgaDEsIC5jYXJkLmRlZmF1bHQgaDIsIC5jYXJkLmRlZmF1bHQgaDMsIC5jYXJkLmRlZmF1bHQgaDQsIC5jYXJkLmRlZmF1bHQgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLmNhcmQuZGVmYXVsdCBkdCwgLmNhcmQuZGVmYXVsdCBoNSwgLmNhcmQuZGVmYXVsdCBoNiB7XG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5jYXJkLmRlZmF1bHQgaDEsIC5jYXJkLmRlZmF1bHQgaDIsIC5jYXJkLmRlZmF1bHQgaDMsIC5jYXJkLmRlZmF1bHQgaDQsIC5jYXJkLmRlZmF1bHQgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLmNhcmQuZGVmYXVsdCBkdCwgLmNhcmQuZGVmYXVsdCBoNSwgLmNhcmQuZGVmYXVsdCBoNiB7XG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfSB9XG5cbi5jYXJkLmRlZmF1bHQgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLmNhcmQuZGVmYXVsdC5mbGV4eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY2FyZC5kZWZhdWx0LmZsZXh5IGgxLCAuY2FyZC5kZWZhdWx0LmZsZXh5IGgyLCAuY2FyZC5kZWZhdWx0LmZsZXh5IGgzLCAuY2FyZC5kZWZhdWx0LmZsZXh5IGg0LCAuY2FyZC5kZWZhdWx0LmZsZXh5IGRsLmljb24tbGlzdCBkdCwgZGwuaWNvbi1saXN0IC5jYXJkLmRlZmF1bHQuZmxleHkgZHQsIC5jYXJkLmRlZmF1bHQuZmxleHkgaDUsIC5jYXJkLmRlZmF1bHQuZmxleHkgaDYge1xuICAgIGZsZXg6IDA7IH1cbiAgLmNhcmQuZGVmYXVsdC5mbGV4eSA6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG5cbi5jYXJkLmxlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY2FyZC5sZWFkZXIgaDMge1xuICAgIGNvbG9yOiAjY2Q0ZDEwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhcmQubGVhZGVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIm5ldWUtaGFhcy11bmljYVwiLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY2FyZC5sZWFkZXI6Zm9jdXMsIC5jYXJkLmxlYWRlcjpob3ZlciB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjk1O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNW1zIGVhc2Utb3V0O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmNhcmQubGVhZGVyOmZvY3VzIHNwYW4sIC5jYXJkLmxlYWRlcjpob3ZlciBzcGFuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3Qzg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjUwbXMgZWFzZS1vdXQsIGJvcmRlci1jb2xvciAyNTBtcyBlYXNlLW91dCwgY29sb3IgMjUwbXMgZWFzZS1vdXQ7XG4gICAgICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgaW5oZXJpdDsgfVxuICAuY2FyZC5sZWFkZXIgc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogIzAwNzdDODsgfVxuICAuY2FyZC5sZWFkZXIgYS5maWxsLXNwYWNlLWxpbmsge1xuICAgIHJpZ2h0OiAwOyB9XG5cbi8qIEN1c3RvbSBDU1MgRHJvcCBTaGFkb3cgRm9yIEltYWdlcyAqL1xuZmlndXJlLmRyb3Atc2hhZG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG4gIGZpZ3VyZS5kcm9wLXNoYWRvdyBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIGZpZ3VyZS5kcm9wLXNoYWRvdzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgd2lkdGg6IDEwNiU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZpbHRlcjogYmx1cigxMHB4KTsgfVxuXG4vKiBIZWxwZXJzIGZvciBSZXZlYWwgTW9kYWwgYXJvdW5kIGltYWdlcyAqL1xuLnJldmVhbC1pbWctaGVscGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucmV2ZWFsLWhlbHBlci1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDVweCA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEwcHg7IH1cblxuLnJldmVhbC1oZWxwZXItaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNXB4IDVweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDE1cHg7IH1cblxuLyogQmxvZyBJbWFnZXMgKHByZXZlbnQgMTAwJSB3aWR0aCBpbWFnZXMgaW4gYmxvZyBwb3N0IGJvZHkpICovXG5pbWcuYXV0by13aWR0aCxcbi50aGUtcG9zdCBpbWcge1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICBpbWcuc2NhbGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfSB9XG5cbi5zdmctaW1nIHtcbiAgbWF4LXdpZHRoOiAxLjI1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmFnZW50LWluZm9ybWF0aW9uIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hZ2VudC1pbmZvcm1hdGlvbiBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuYWdlbnQtaW5mb3JtYXRpb24gaDI6YWZ0ZXIge1xuICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDA7IH0gfVxuXG4uYWdlbnQtaW5mb3JtYXRpb24gaDMge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzVFNTE0RDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmFnZW50LWluZm9ybWF0aW9uIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hZ2VudC1pbmZvcm1hdGlvbiBwLmFnZW50LWxpbmsgYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3ZlcnBhc3MgTW9ub1wiLCBtb25vc3BhY2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5hZ2VudC1pbmZvcm1hdGlvbiAudGVsZXBob25lIHNwYW4ge1xuICBtaW4taGVpZ2h0OiAxLjc1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzc1cmVtOyB9XG5cbi5hZ2VudC1pbmZvcm1hdGlvbiAudGVsZXBob25lIGEge1xuICBmb250LWZhbWlseTogXCJPdmVycGFzcyBNb25vXCIsIG1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNjZDRkMTA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5hZ2VudC1pbmZvcm1hdGlvbiAudGVsZXBob25lIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICMwMDc3Qzg7IH1cblxuLmFnZW50LWluZm9ybWF0aW9uIC5yb2xlIHtcbiAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM1RTUxNEQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmpvYi1zZWFyY2ggLmFkdmFuY2VkLW9wdGlvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5qb2Itc2VhcmNoIC5hZHZhbmNlZC1vcHRpb25zIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRvcDogMC41cmVtOyB9IH1cblxuLmpvYi1zZWFyY2ggLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cblxuLmpvYi1zZWFyY2ggZmllbGRzZXQgcCB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uam9iLXNlYXJjaCAuY2hlY2tib3gtbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMS41cmVtOyB9XG5cbi5qb2Itc2VhcmNoIC5vZmZzaXRlLWNoZWNrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5qb2Itc2VhcmNoIC5maWx0ZXJzIHtcbiAgbWFyZ2luLXRvcDogMS4xMjVyZW07IH1cblxuLmZpbmQtd29yay13cmFwcGVyIC5yZXN1bHQtc3VtbWFyeSBoMyB7XG4gIGZvbnQtZmFtaWx5OiBcIlBUIFNlcmlmXCIsIHNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLmZpbmQtd29yay13cmFwcGVyIC5wYWdpbmF0aW9uIC5uZXh0LXBhZ2UtdHJpZ2dlciB7XG4gIG1hcmdpbjogMi44MTI1cmVtIDAgNi4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maW5kLXdvcmstd3JhcHBlciAucGFnaW5hdGlvbiAubmV4dC1wYWdlLXRyaWdnZXIge1xuICAgICAgd2lkdGg6IDQwJTsgfSB9XG5cbi5maW5kLXdvcmstd3JhcHBlciAuam9iLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmMGViO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7IH1cbiAgLmZpbmQtd29yay13cmFwcGVyIC5qb2ItaXRlbTpmb2N1cywgLmZpbmQtd29yay13cmFwcGVyIC5qb2ItaXRlbTphY3RpdmUsIC5maW5kLXdvcmstd3JhcHBlciAuam9iLWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEN0QyQ0I7IH1cbiAgLmZpbmQtd29yay13cmFwcGVyIC5qb2ItaXRlbSAubG9jYXRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zdGVwLXNwbGl0LXZlcnQge1xuICB0b3A6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zdGVwLXNwbGl0LXZlcnQgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tdG9wOiAyLjY4NzVyZW07IH1cblxuLmZpbmQtd29yay1yZXN1bHRzIC5wb3N0ZWQtYnkge1xuICBjb2xvcjogIzVFNTE0RDtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZmluZC13b3JrLXJlc3VsdHMgLm5hbWUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmluZC13b3JrLXJlc3VsdHMgLmxvY2F0aW9uIHtcbiAgY29sb3I6ICM1RTUxNEQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZmluZC13b3JrLXJlc3VsdHMgLmN0YSBhIHtcbiAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uYmVuZWZpdHMtcGFuZWwgLmJlbmVmaXQtY29sIHtcbiAgcGFkZGluZzogMy43NXJlbSAzLjc1cmVtIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC5iZW5lZml0cy1wYW5lbCAuYmVuZWZpdC1jb2wge1xuICAgICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNEN0QyQ0I7XG4gICAgICBib3JkZXItcmlnaHQ6IDAuMDYyNXJlbSBzb2xpZCAjRDdEMkNCO1xuICAgICAgYm9yZGVyLWxlZnQ6IDAuMDYyNXJlbSBzb2xpZCAjRDdEMkNCO1xuICAgICAgbWluLWhlaWdodDogMjNyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmJlbmVmaXRzLXBhbmVsIC5iZW5lZml0LWNvbDpudGgtY2hpbGQoLW4rMikge1xuICAgICAgICBib3JkZXItdG9wOiBub25lOyB9XG4gICAgICAuYmVuZWZpdHMtcGFuZWwgLmJlbmVmaXQtY29sOm50aC1jaGlsZChuKzMpIHtcbiAgICAgICAgcGFkZGluZzogMy43NXJlbSAzLjc1cmVtIDA7IH0gfVxuXG4vKiBIaXN0b3J5L1RpbWVsaW5lIFBhZ2UgKi9cbi50aW1lbGluZSA+IHNlY3Rpb24ge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50aW1lbGluZSA+IHNlY3Rpb24gaGVhZGVyIHtcbiAgICBtYXJnaW46IDYuMjVyZW0gMCA3LjgxMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRpbWVsaW5lID4gc2VjdGlvbiBoZWFkZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogNS42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC50aW1lbGluZSA+IHNlY3Rpb24gaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMS4yNXJlbTsgfSB9XG5cbi50aW1lbGluZS1lbnRyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA3LjVyZW07IH1cbiAgLnRpbWVsaW5lLWVudHJ5LnBhbmVsLWxlZnQsIC50aW1lbGluZS1lbnRyeS5wYW5lbC1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnRpbWVsaW5lLWVudHJ5ID4gZGl2LCAudGltZWxpbmUtZW50cnkgc2VjdGlvbiB7XG4gICAgd2lkdGg6IDY1MHB4OyB9XG4gIC50aW1lbGluZS1lbnRyeSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAudGltZWxpbmUtZW50cnkgaDMge1xuICAgIGNvbG9yOiAjY2Q0ZDEwO1xuICAgIGZvbnQtc2l6ZTogOS4zNzVyZW07XG4gICAgbWFyZ2luLXRvcDogLTYuMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MnB4KTsgfVxuICAgIC50aW1lbGluZS1lbnRyeSBoMyArIHAge1xuICAgICAgcGFkZGluZy10b3A6IDcuNXJlbTsgfVxuICAudGltZWxpbmUtZW50cnkgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC50aW1lbGluZS1lbnRyeSBwOmFmdGVyIHtcbiAgICAgIGJvcmRlci10b3A6IDAuMzc1cmVtIHNvbGlkICNjZDRkMTA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxLjQzNzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy40Mzc1cmVtO1xuICAgICAgd2lkdGg6IDE1JTsgfVxuICAgIC50aW1lbGluZS1lbnRyeSBwIHNwYW4ge1xuICAgICAgY29sb3I6ICNjZDRkMTA7XG4gICAgICBmb250LWZhbWlseTogXCJuZXVlLWhhYXMtdW5pY2FcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC50aW1lbGluZS1lbnRyeSBwICsgLmVudHJ5LXRhZ2xpbmUge1xuICAgICAgY29sb3I6ICNjZDRkMTA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm5ldWUtaGFhcy11bmljYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50aW1lbGluZS1lbnRyeSBzZWN0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAudGltZWxpbmUtZW50cnkgc2VjdGlvbi5oYXMtaW1hZ2UgZmlndXJlIHtcbiAgICAgIG1hcmdpbi10b3A6IC05cmVtO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudGltZWxpbmUtZW50cnkgc2VjdGlvbi5oYXMtaW1hZ2UgZmlndXJlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgICAgICAudGltZWxpbmUtZW50cnkgc2VjdGlvbi5oYXMtaW1hZ2UgZmlndXJlIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDI1cmVtOyB9IH1cbiAgICAudGltZWxpbmUtZW50cnkgc2VjdGlvbi5oYXMtaW1hZ2UgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAudGltZWxpbmUtZW50cnkgc2VjdGlvbi5oYXMtaW1hZ2UgcDphZnRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMS4yNXJlbTsgfVxuICAgIC50aW1lbGluZS1lbnRyeSBzZWN0aW9uID4gZGl2IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDI3LjM3NXJlbTtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC50aW1lbGluZS1lbnRyeS5wYW5lbC1sZWZ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50aW1lbGluZS1lbnRyeS5wYW5lbC1yaWdodCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnRpbWVsaW5lLWVudHJ5IC52ZXJ0aWNhbC1vZmZzZXQtMTAwIHtcbiAgICAgIG1hcmdpbi10b3A6IC02LjI1cmVtOyB9XG4gICAgLnRpbWVsaW5lLWVudHJ5IC52ZXJ0aWNhbC1vZmZzZXQtMjAwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMi41cmVtOyB9XG4gICAgLnRpbWVsaW5lLWVudHJ5IC52ZXJ0aWNhbC1vZmZzZXQtMzAwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xOC43NXJlbTsgfVxuICAgIC50aW1lbGluZS1lbnRyeSAudmVydGljYWwtb2Zmc2V0LTQwMCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMjVyZW07IH1cbiAgICAudGltZWxpbmUtZW50cnkgLnZlcnRpY2FsLW9mZnNldC01MDAge1xuICAgICAgbWFyZ2luLXRvcDogLTMxLjI1cmVtOyB9XG4gICAgLnRpbWVsaW5lLWVudHJ5IC52ZXJ0aWNhbC1vZmZzZXQtNjAwIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zNy41cmVtOyB9XG4gICAgLnRpbWVsaW5lLWVudHJ5IC52ZXJ0aWNhbC1vZmZzZXQtNzAwIHtcbiAgICAgIG1hcmdpbi10b3A6IC00My43NXJlbTsgfSB9XG5cbi5hYm91dC11cy1oaXN0b3J5IC5yZXZlYWwudmlkZW8ge1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgLmFib3V0LXVzLWhpc3RvcnkgLnJldmVhbC52aWRlbyAuY2xvc2UtYnV0dG9uIHtcbiAgICB6LWluZGV4OiAyOyB9XG5cbi5pbmR1c3RyeS1jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuaW5kdXN0cnktY29udGVudCAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogMC44MTI1cmVtIDFyZW07IH1cbiAgLmluZHVzdHJ5LWNvbnRlbnQgLm1vcmUge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLmJ1dHRvbi1jbG91ZCBoMSB7XG4gIGNvbG9yOiAjNUU1MTREO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLmluZHVzdHJ5LWRldGFpbCAuYnV0dG9uLmhvbGxvdyB7XG4gIGNvbG9yOiAjNUU1MTREO1xuICBib3JkZXItY29sb3I6ICM1RTUxNEQ7IH1cblxuLmluZHVzdHJ5LWRldGFpbCAuaW50cm8gdWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5pbmR1c3RyeS1kZXRhaWwgLmludHJvIGxpIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgY29sb3I6ICM1RTUxNEQ7IH1cblxuLmluZHVzdHJ5LWRldGFpbCAuZGVlcC1kaXZlIGgxIHtcbiAgZm9udC1zaXplOiAycmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmluZHVzdHJ5LWRldGFpbCAuZGVlcC1kaXZlIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy43NXJlbTsgfSB9XG4gIC5pbmR1c3RyeS1kZXRhaWwgLmRlZXAtZGl2ZSBoMSAuc2lkZWxpbmVzIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG4uaW5kdXN0cnktZGV0YWlsIC5kZWVwLWRpdmUgaDMge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tdG9wOiAyLjE4NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmluZHVzdHJ5LWRldGFpbCAuaW5kdXN0cnktdGVzdGltb25pYWxzIHtcbiAgbWluLWhlaWdodDogMjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuaW5kdXN0cnktZGV0YWlsIC5pbmR1c3RyeS10ZXN0aW1vbmlhbHMgY2l0ZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIC5pbmR1c3RyeS1kZXRhaWwgLmluZHVzdHJ5LXRlc3RpbW9uaWFscyBjaXRlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lOyB9XG4gIC5pbmR1c3RyeS1kZXRhaWwgLmluZHVzdHJ5LXRlc3RpbW9uaWFscyBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuLmluZHVzdHJ5LWRldGFpbCAuaW5kdXN0cnktdGVhbSAubGVhZGVyLWxpbmsge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmluZHVzdHJ5LWRldGFpbCAuaW5kdXN0cnktdGVhbSAubGVhZGVyLWxpbmsgLmxlYWRlci1ib3gtbW9yZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1mYW1pbHk6IFwibmV1ZS1oYWFzLXVuaWNhXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLmluZHVzdHJ5LWRldGFpbCAuaW5kdXN0cnktdGVhbSAubGVhZGVyLWxpbmsgLmxlYWRlci1ib3gtbW9yZSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUFQgU2VyaWZcIiwgc2VyaWY7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5pbmR1c3RyeS1kZXRhaWwgLmluZHVzdHJ5LXRlYW0gLmxlYWRlci1saW5rIC5sZWFkZXItZGV0YWlscyB7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG8gMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gIC5pbmR1c3RyeS1kZXRhaWwgLmluZHVzdHJ5LXRlYW0gLmxlYWRlci1saW5rIGgzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uaW5kdXN0cnktZGV0YWlsIC5pbmR1c3RyeS10ZWFtIC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5pbmR1c3RyeS1kZXRhaWwgLmluZHVzdHJ5LXRlYW0gLmN0YSB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi50ZWFtLWdyaWQtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAudGVhbS1ncmlkLWl0ZW0gLmNvcm5lci1idXR0b24ge1xuICAgIGNvbG9yOiAjMDA3N0M4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2lkdGg6IDUuNXJlbTtcbiAgICBoZWlnaHQ6IDIuODEyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0ycmVtO1xuICAgIGJvdHRvbTogLTAuNjI1cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC50ZWFtLWdyaWQtaXRlbSAuY29ybmVyLWJ1dHRvbiBzcGFuIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMC44MTI1cmVtO1xuICAgICAgcmlnaHQ6IDIuNjg3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAudGVhbS1ncmlkLWl0ZW0gLml0ZW0tZnJvbnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAudGVhbS1ncmlkLWl0ZW0gPiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnRlYW0tZ3JpZC1pdGVtIHAge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAudGVhbS1ncmlkLWl0ZW0gcCBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm5ldWUtaGFhcy11bmljYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgY29sb3I6ICNjZDRkMTA7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5pdGVtLWJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuaXRlbS1iYWNrOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLml0ZW0tYmFjayAuY29ybmVyLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICAuaXRlbS1iYWNrIC5jb3JuZXItYnV0dG9uOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZTsgfVxuICAgIC5pdGVtLWJhY2sgLmNvcm5lci1idXR0b24gc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgIHRvcDogMC45Mzc1cmVtO1xuICAgICAgcmlnaHQ6IDIuMzc1cmVtOyB9XG5cbi50b3AtbmF2LS1sYW5kaW5nLXBhZ2Uge1xuICBwYWRkaW5nOiAxLjI1cmVtIDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NC4xMjVlbSkge1xuICAgIC50b3AtbmF2LS1sYW5kaW5nLXBhZ2Uge1xuICAgICAgcGFkZGluZzogMi41cmVtIDAgMS44NzVyZW07IH0gfVxuXG4ubGVhZC1mb3JtLS1sYW5kaW5nLXBhZ2UgLnNob3ctZm9yLXNyIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB1bnNldCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4ubGVhZC1mb3JtLS1sYW5kaW5nLXBhZ2Ugc2VsZWN0LFxuLmxlYWQtZm9ybS0tbGFuZGluZy1wYWdlIGlucHV0IHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmxlYWQtZm9ybS0tbGFuZGluZy1wYWdlIHNlbGVjdDo6cGxhY2Vob2xkZXIsXG4ubGVhZC1mb3JtLS1sYW5kaW5nLXBhZ2UgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuLmxlYWQtZm9ybS0tbGFuZGluZy1wYWdlIGlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjRDdEMkNCOyB9XG5cbi5sZWFkLWZvcm0tLWxhbmRpbmctcGFnZSBzZWxlY3Q6aG92ZXIsIC5sZWFkLWZvcm0tLWxhbmRpbmctcGFnZSBzZWxlY3Q6Zm9jdXMsIC5sZWFkLWZvcm0tLWxhbmRpbmctcGFnZSBzZWxlY3Q6YWN0aXZlLFxuLmxlYWQtZm9ybS0tbGFuZGluZy1wYWdlIHRleHRhcmVhOmhvdmVyLFxuLmxlYWQtZm9ybS0tbGFuZGluZy1wYWdlIHRleHRhcmVhOmZvY3VzLFxuLmxlYWQtZm9ybS0tbGFuZGluZy1wYWdlIHRleHRhcmVhOmFjdGl2ZSxcbi5sZWFkLWZvcm0tLWxhbmRpbmctcGFnZSBpbnB1dDpob3Zlcixcbi5sZWFkLWZvcm0tLWxhbmRpbmctcGFnZSBpbnB1dDpmb2N1cyxcbi5sZWFkLWZvcm0tLWxhbmRpbmctcGFnZSBpbnB1dDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5oci5kYXJrLS1sYW5kaW5nLXBhZ2Uge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgzNzg2RjsgfVxuXG4uY2FyZC1hcnRpY2xlLS1sYW5kaW5nLXBhZ2U6aG92ZXIgaDQsIC5jYXJkLWFydGljbGUtLWxhbmRpbmctcGFnZTpob3ZlciBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuY2FyZC1hcnRpY2xlLS1sYW5kaW5nLXBhZ2U6aG92ZXIgZHQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY2FyZC1hcnRpY2xlLS1sYW5kaW5nLXBhZ2UgaDQsIC5jYXJkLWFydGljbGUtLWxhbmRpbmctcGFnZSBkbC5pY29uLWxpc3QgZHQsIGRsLmljb24tbGlzdCAuY2FyZC1hcnRpY2xlLS1sYW5kaW5nLXBhZ2UgZHQge1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5hcXVlbnQtZm9vdGVyLS1sYW5kaW5nLXBhZ2UgLmZvb3Rlci10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5hcXVlbnQtZm9vdGVyLS1sYW5kaW5nLXBhZ2UgLmZvb3Rlci10aXRsZSxcbi5hcXVlbnQtZm9vdGVyLS1sYW5kaW5nLXBhZ2UgcCB7XG4gIGNvbG9yOiAjQUNBMzlBOyB9XG5cbi5zdWItZm9vdGVyLS1sYW5kaW5nLXBhZ2UgLnNvY2lhbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyogRGV2cywgcGxlYXNlIHB1dCBvbmUtb2ZmcyBoZXJlICovXG4uZGlyZWN0LWhpcmUgaDEge1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAuZGlyZWN0LWhpcmUgaDEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDgzdm1pbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAuZGlyZWN0LWhpcmUgaDEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDg4dm1pbjsgfSB9XG5cbi50cmktY29sdW1uIHtcbiAgY29sdW1uLXdpZHRoOiAyMi41cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAudHJpLWNvbHVtbiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbi5wYXJ0bmVyLWxvZ29zIC5wYXJ0bmVyLWxvZ28ge1xuICBtaW4taGVpZ2h0OiAxNS42MjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAucGFydG5lci1sb2dvcyAucGFydG5lci1sb2dvIHtcbiAgICAgIGhlaWdodDogMjJyZW07XG4gICAgICBib3JkZXItdG9wOiAwLjA2MjVyZW0gc29saWQgI0Q3RDJDQjtcbiAgICAgIGJvcmRlci1yaWdodDogMC4wNjI1cmVtIHNvbGlkICNEN0QyQ0I7IH1cbiAgICAgIC5wYXJ0bmVyLWxvZ29zIC5wYXJ0bmVyLWxvZ286bnRoLWNoaWxkKC1uKzMpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsgfVxuICAgICAgLnBhcnRuZXItbG9nb3MgLnBhcnRuZXItbG9nbzpudGgtY2hpbGQoM24rMykge1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH0gfVxuICAucGFydG5lci1sb2dvcyAucGFydG5lci1sb2dvIGltZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDYuNjI1cmVtO1xuICAgIHdpZHRoOiA2MCU7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5sb2NhdGlvbnMgLmNpdGllcyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzMzMzNyZW07IH1cbiAgLmxvY2F0aW9ucyAuY2l0aWVzIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgLmxvY2F0aW9ucyAuY2l0aWVzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLmxvY2F0aW9ucyAuY291bnRyeS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogI2NkNGQxMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubG9jYXRpb25zIC51c2Ege1xuICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgLW1vei1jb2x1bW4tZ2FwOiAwO1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAwO1xuICBjb2x1bW4tY291bnQ6IDI7XG4gIGNvbHVtbi1nYXA6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQuMTI1ZW0pIHtcbiAgICAubG9jYXRpb25zIC51c2Ege1xuICAgICAgLW1vei1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgIGNvbHVtbi1jb3VudDogMzsgfSB9XG5cbi5zb2NpYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMXJlbSBhdXRvOyB9XG4gIC5zb2NpYWwgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2U7IH1cbiAgICAuc29jaWFsIGE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuc29jaWFsIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zaXRlLWZvb3RlciAuc29jaWFsIGEge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NC4xMjM3NWVtKSB7XG4gIC5hcXVlbnQtZm9vdGVyIC5sb2dvIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLmFxdWVudC1mb290ZXIgLmFxdWVudC1sYXJnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIHdpZHRoOiAxMy4xODc1cmVtOyB9XG4gICAgLmFxdWVudC1mb290ZXIgLmFxdWVudC1sYXJnZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDsgfSB9XG5cbi5hcXVlbnQtZm9vdGVyIC5mb290ZXItYnV0dG9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDQuNjg3NXJlbTsgfVxuICAuYXF1ZW50LWZvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5idXR0b24ge1xuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYXF1ZW50LWZvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuYXF1ZW50LWZvb3RlciAuZm9vdGVyLWJ1dHRvbnMgYS5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uYXF1ZW50LWZvb3RlciBoNCwgLmFxdWVudC1mb290ZXIgZGwuaWNvbi1saXN0IGR0LCBkbC5pY29uLWxpc3QgLmFxdWVudC1mb290ZXIgZHQge1xuICBib3JkZXItYm90dG9tOiAwLjA2MjVyZW0gc29saWQgIzVFNTE0RDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmZvb3Rlci1saW5rcyBsaSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgLmZvb3Rlci1saW5rcyBsaSBkbC5zaW1wbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZm9vdGVyLWxpbmtzIGxpIGRsLnNpbXBsZSBkdCB7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5zdWItZm9vdGVyIHtcbiAgY29sb3I6ICM1RTUxNEQ7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY29weS1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtOyB9XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuLyoqXG4gKiBNYXN0ZXIgU0NTUyBGaWxlIChBUU5BKVxuICogVmVyc2lvbiAyLjAuMVxuICogQnVpbHQgd2l0aCBmb3VuZGF0aW9uLXNpdGVzIDYuNC4zXG4gKi9cbi8vIEltcG9ydCBBcXVlbnQgQ3VzdG9tIEZ1bmN0aW9uc1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvdXRpbC9mdW5jdGlvbnMnO1xuXG4vLyBJbXBvcnQgY3VzdG9tIHNldHRpbmdzXG5AaW1wb3J0ICdzZXR0aW5ncyc7XG5cbi8vIEltcG9ydCBGb3VuZGF0aW9uIFNBU1MgKGZyb20gbm9kZV9tb2R1bGVzKVxuQGltcG9ydCBcImZvdW5kYXRpb25cIjtcblxuQGltcG9ydCAnbW90aW9uLXVpJztcblxuLy8gSW1wb3J0IEZvdW5kYXRpb24gQ29yZSBDb21wb25lbnQgT3ZlcnJpZGVzXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZvdW5kYXRpb24vZ2xvYmFsJztcblxuLy8gSW1wb3J0IEFxdWVudCBVdGlsc1xuQGltcG9ydCAnaWNvbi1tYXAnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvdXRpbC9taXhpbnMnO1xuXG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2JhY2tncm91bmRzJztcblxuLy8gSW1wb3J0IEZvdW5kYXRpb24gQ29tcG9uZW50IE92ZXJyaWRlcyAmIE90aGVyIENvbXBvbmVudHMgaGVyZVxuQGltcG9ydCAnY29tcG9uZW50cy9mb3VuZGF0aW9uL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3VuZGF0aW9uL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm91bmRhdGlvbi9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm91bmRhdGlvbi9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3VuZGF0aW9uL3Zpc2liaWxpdHknO1xuXG4vLyBJbXBvcnQgQXF1ZW50IENvbXBvbmVudCBTQVNTXG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2dsb2JhbHMnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9idXR0b25zLWxpbmtzJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2xvZ28nO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvaWNvbnMnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9mb3Jtcyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2JvcmRlcnMnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9hbmltYXRpb25zJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2Zvb3Rlcic7XG5cbi8vIEluaXRpYWxpemUgQ29yZSBGb3VuZGF0aW9uIENvbXBvbmVudHMgKG5vbi1tb2RpZmllZClcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDsgLy8gbGVnYWN5IGdyaWRcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7IC8vIGNzcyBncmlkIGdyaWRcbkBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXJhbmdlLWlucHV0O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmc7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyZWQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3c7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdztcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNlcGFyYXRvcjtcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLW92ZXJmbG93O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uO1xuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtYm9yZGVyLWJveDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZztcblxuLy8gQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuLy8gQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8qIE5vbi1Gb3VuZGF0aW9uIEluY2x1ZGVzICovXG5AaW5jbHVkZSBhcXVlbnQtZ2xvYmFscztcbkBpbmNsdWRlIGFxdWVudC1sb2dvO1xuQGluY2x1ZGUgYXF1ZW50LW5hdmlnYXRpb247XG5AaW5jbHVkZSBhcXVlbnQtYnV0dG9ucy1saW5rcztcbkBpbmNsdWRlIGFxdWVudC1iYWNrZ3JvdW5kcztcbkBpbmNsdWRlIGFxdWVudC10eXBvZ3JhcGh5O1xuQGluY2x1ZGUgcmV2aXNlZC1pY29ucztcbkBpbmNsdWRlIGFxdWVudC1mb3JtcztcbkBpbmNsdWRlIGFxdWVudC1ib3JkZXJzO1xuQGluY2x1ZGUgYXF1ZW50LWFuaW1hdGlvbnM7XG5AaW5jbHVkZSBhcXVlbnQtdGFicztcblxuLy8gQWRkIG91ciBvd24gcGFydGlhbHMgYmVsb3cgaGVyZVxuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9oZXJvJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xheW91dHMvbGVnYWN5JztcblxuLy8gUmVkZXNpZ24gU3R1ZmZcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvdGFibGVzJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvbGlzdHMnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9hc3BlY3QtcmF0aW9zJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xheW91dHMvbGF5b3V0cyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sYXlvdXRzL21vZHVsYXItZ3JpZCc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sYXlvdXRzL3N0YW5kYXJkJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xheW91dHMvY29tcHJlc3NlZCc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sYXlvdXRzL2ludGVyaW9yLXBhbmVscyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sYXlvdXRzL3N0YXRzLTJjb2wnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9hcnRpY2xlcyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2FzaWRlcyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9jb21wb25lbnRzL2hlYWRpbmdzJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2NvbXBvbmVudHMvY2FyZHMnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9pbWFnZXMnO1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvY29tcG9uZW50cy9zcGFjaW5nJztcblxuQGluY2x1ZGUgbGF5b3V0LXN0YW5kYXJkO1xuQGluY2x1ZGUgbGF5b3V0LWNvbXByZXNzZWQ7XG5AaW5jbHVkZSBtb2R1bGFyLWdyaWQ7XG5AaW5jbHVkZSBpbnRlcmlvci1wYW5lbHM7XG5AaW5jbHVkZSBzcGFjaW5nO1xuQGluY2x1ZGUgbGF5b3V0LXN0YXRzLTJjb2w7XG5AaW5jbHVkZSBhc3BlY3QtcmF0aW9zO1xuQGluY2x1ZGUgY2FyZHM7XG5AaW5jbHVkZSBpbWFnZXM7XG5cbi8vIGxlZ2FjeSBwYWdlIHN0eWxlc1xuQGltcG9ydCAnLi9zcmMvYXNzZXRzLmFxdWVudC5jb20vc2Nzcy9hcXVlbnQvbGVnYWN5L2FnZW50cyc7XG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC9sZWdhY3kvZmluZC13b3JrJztcbkBpbXBvcnQgJy4vc3JjL2Fzc2V0cy5hcXVlbnQuY29tL3Njc3MvYXF1ZW50L2xlZ2FjeS9oaXN0b3J5JztcblxuQGltcG9ydCAncGFnZXMvaW5kdXN0cmllcyc7XG5AaW1wb3J0ICdwYWdlcy9sYW5kaW5nLXBhZ2UnO1xuQGltcG9ydCAncGFnZXMvbWlzY2VsbGFuZW91cyc7XG5cbi8vIEluY2x1ZGUgbGFzdCBiZWNhdXNlIHRoZXkncmUgYXQgdGhlIGJvdHRvbSBvZiB0aGUgcGFnZVxuQGluY2x1ZGUgYXF1ZW50LWZvb3RlcjtcbiIsIi8qIEN1c3RvbSBGdW5jdGlvbnMgKG5vdCBGb3VuZGF0aW9uLWJhc2VkKSAqL1xuLy8gSGVscGVyIGZ1bmN0aW9uXG4vLyBSZXR1cm4gbnVsbCByYXRoZXIgdGhhbiB0aHJvd2luZyBhbiBlcnJvciBpZiBpbmRleCBpcyBvdXRzaWRlIGxpc3QgcmFuZ2UuXG5AZnVuY3Rpb24gbnRoLW9yLW51bGwoJGxpc3QsICRpbmRleCkge1xuICAgQHJldHVybiBpZihsZW5ndGgoJGxpc3QpID49ICRpbmRleCwgbnRoKCRsaXN0LCAkaW5kZXgpLCBudWxsKTtcbn1cbi8vXG4vLyAgRnVuY3Rpb24gdG8gcmVwbGFjZSBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nXG4vL1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcbiAgQGlmICRpbmRleCB7XG4gICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuICBAcmV0dXJuICRzdHJpbmc7XG59XG4vL1xuLy8gIEZ1bmN0aW9uIHRvIGNyZWF0ZSBhbiBvcHRpbWl6ZWQgc3ZnIHVybFxuLy8gIChtYXkgbmVlZCBhIGZldyBleHRyYSByZXBsYWNlbWVudHMpXG4vL1xuQGZ1bmN0aW9uIG9sZF9zdmctdXJsKCRzdmcpIHtcbiAgJHN2Zzogc3RyLXJlcGxhY2UoJHN2ZywnXCInLCdcXCcnKTtcbiAgJHN2Zzogc3RyLXJlcGxhY2UoJHN2ZywnPCcsJyUzQycpO1xuICAkc3ZnOiBzdHItcmVwbGFjZSgkc3ZnLCc+JywnJTNFJyk7XG4gICRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsJyYnLCclMjYnKTtcbiAgJHN2Zzogc3RyLXJlcGxhY2UoJHN2ZywnIycsJyUyMycpO1xuICBAcmV0dXJuIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3skc3ZnfVwiKTtcbn1cbkBmdW5jdGlvbiBzdmctdXJsKCRzdmcpIHtcbiAgLy9cbiAgLy8gQ2h1bmsgdXAgc3RyaW5nIGluIG9yZGVyIHRvIGF2b2lkXG4gIC8vIFwiU3lzdGVtU3RhY2tFcnJvcjogc3RhY2sgbGV2ZWwgdG9vIGRlZXBcIlxuICAvL1xuICAkZW5jb2RlZDogJyc7XG4gICRzbGljZTogMjAwMDtcbiAgJGluZGV4OiAwO1xuICAkbG9vcHM6IGNlaWwoc3RyLWxlbmd0aCgkc3ZnKS8kc2xpY2UpO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsb29wcyB7XG4gICAgJGNodW5rOiBzdHItc2xpY2UoJHN2ZywgJGluZGV4LCAkaW5kZXggKyAkc2xpY2UgLSAxKTtcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnXCInLCdcXCcnKTtcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnPCcsJyUzQycpO1xuICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCc+JywnJTNFJyk7XG4gICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJyYnLCclMjYnKTtcbiAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnIycsJyUyMycpO1xuICAgICRlbmNvZGVkOiAjeyRlbmNvZGVkfSN7JGNodW5rfTtcbiAgICAkaW5kZXg6ICRpbmRleCArICRzbGljZTtcbiAgfVxuICBAcmV0dXJuIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3skZW5jb2RlZH1cIik7XG59XG5AZnVuY3Rpb24gc3ZnLWZpbGwgKCRzdmcsICRjb2xvciwgJGRlYnVnOiBmYWxzZSkge1xuICAgQHJldHVybiBzdHItcmVwbGFjZSgkc3ZnLCAnPHN2ZycsICc8c3ZnIGZpbGw9XCIjeyRjb2xvcn1cIicpO1xufVxuQGZ1bmN0aW9uIHRvLXN0cmluZygkbGlzdCwgJGdsdWU6ICcnLCAkaXMtbmVzdGVkOiBmYWxzZSkge1xuICAkcmVzdWx0OiBudWxsO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuICAgICRlOiBudGgoJGxpc3QsICRpKTtcbiAgICBAaWYgdHlwZS1vZigkZSkgPT0gbGlzdCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0I3t0by1zdHJpbmcoJGUsICRnbHVlLCB0cnVlKX07XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRyZXN1bHQ6IGlmKCRpICE9IGxlbmd0aCgkbGlzdCkgb3IgJGlzLW5lc3RlZCwgJHJlc3VsdCN7JGV9I3skZ2x1ZX0sICRyZXN1bHQjeyRlfSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cbkBmdW5jdGlvbiBleHBsb2RlKCRzdHJpbmcsJGRlbSkge1xuICAkbGlzdDogKCk7XG4gICRzdW06IHN0ci1sZW5ndGgoJHN0cmluZyk7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHN1bSB7XG4gICAgJHN0cjogc3RyLWluZGV4KCRzdHJpbmcsJGRlbSk7XG4gICAgQGlmIChzdHItbGVuZ3RoKCRzdHJpbmcpID49IDEgYW5kICRzdHIgPT0gbnVsbCkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwkc3RyaW5nKTtcbiAgICAgICRzdHJpbmc6ICcnO1xuICAgIH1cbiAgICBAaWYgKHR5cGUtb2YoJHN0cikgPT0gbnVtYmVyKSB7XG4gICAgICAkZWFjaDogc3RyLXNsaWNlKCRzdHJpbmcsMCwoJHN0ciAtIDEpKTtcbiAgICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsJGVhY2gpO1xuICAgICAgJHN0cmluZzogc3RyLXNsaWNlKCRzdHJpbmcsKCRzdHIgKyAxKSwgJHN1bSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG4vKiAvLyBHZW5lcmF0ZXMgTGlzdCBvZiBIZWFkaW5ncyBBdXRvbWF0aWNhbGx5IC8vICovXG5AZnVuY3Rpb24gaGVhZGluZ3MoJGhlYWRpbmdzOiAoKSkge1xuICAkcmV0dXJuOiAoKTtcblxuICAkYWxsLWhlYWRpbmdzOiBoMSBoMiBoMyBoNCBoNSBoNjtcbiAgQGlmIG5vdCBoYXMtdmFsdWUoJGhlYWRpbmdzKSB7XG4gICAgJGhlYWRpbmdzOiAkYWxsLWhlYWRpbmdzO1xuICB9XG4gIEBlYWNoICRoZWFkaW5nIGluICRoZWFkaW5ncyB7XG4gICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JGhlYWRpbmd9JyksIGNvbW1hKTtcbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8qIC8vIE1vZGlmaWVkIHZlcnNpb24gb2YgQGh0dHBzOi8vZ2l0aHViLmNvbS9hZ29yaWxsYS9zYXNzLWZ1bmN0aW9ucy9ibG9iL21hc3Rlci9fbWFwLWdldC1wcmV2LnNjc3MgLy8gKi9cbi8qIC8vIEZ1bmN0aW9uIHRvIGdldCBwcmV2aW91cyBtYXAgaXRlbSAvLyAqL1xuLy8vIHJldHVybnMgcHJldmlvdXMgbWFwIGl0ZW0gb3IgZmFsbGJhY2sgdmFsdWUgaWYgbWFwLCBrZXkgb3IgcHJldmlvdXMgaXRlbSBkb2VzIG5vdCBleGlzdFxuLy8vXG4vLy8gQGF1dGhvciBTaW1vbiBLb2NoIDxhZ29yaWxsYUBtZS5jb20+XG4vLy9cbi8vLyBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBTYXNzIGxpc3QgbWFwXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBMaXN0IG1hcCBrZXlcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZhbGxiYWNrIChmYWxzZSkgLSBGYWxsYmFjayB2YWx1ZSBpZiBtYXAsIGtleSBvciBwcmV2aW91cyBpdGVtIGRvZXMgbm90IGV4aXN0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXR1cm4gKHZhbHVlKSAtIFJldHVybiB2YWx1ZSBvciBrZXkgb2YgcHJldmlvdXMgbGlzdCBpdGVtXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAkbWFwOiAoXG4vLy8gICBhOiAxMDBweCxcbi8vLyAgIGI6IDIwMHB4XG4vLy8gKTtcbi8vL1xuLy8vIC5mb28ge1xuLy8vICAgd2lkdGg6IG1hcC1nZXQtcHJldigkbWFwLCBuKTtcbi8vLyB9XG4vLy9cbi8vLyAuYmFyIHtcbi8vLyAgICB3aWR0aDogbWFwLWdldC1wcmV2KCRtYXAsIGEsIGF1dG8pO1xuLy8vIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAuZm9vIHtcbi8vLyAgIHdpZHRoOiAxMDBweDtcbi8vLyB9XG4vLy9cbi8vLyAuYmFyIHtcbi8vLyAgIHdpZHRoOiBhdXRvO1xuLy8vIH1cbkBmdW5jdGlvbiBtYXAtZ2V0LXByZXYoJG1hcCwgJGtleSwgJGZhbGxiYWNrOiBmYWxzZSwgJHJldHVybjogdmFsdWUsICRkZWJ1ZzogZmFsc2UpIHtcblxuICAvLyBDaGVjayBpZiBtYXAgaXMgdmFsaWRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gbWFwIHtcbiAgICBAaWYgJGRlYnVnIHtcbiAgICAgIEBkZWJ1ZydNYXAgZXhpc3RzICN7JG1hcH0nO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIGtleSBleGlzdHMgaW4gbWFwXG4gICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgIEBpZiAkZGVidWcge1xuICAgICAgICBAZGVidWcnTWFwIGhhcyBrZXkgI3ska2V5fSc7XG4gICAgICB9XG5cbiAgICAgIC8vIEluaXQgaW5kZXggY291bnRlciB2YXJpYWJsZVxuICAgICAgJGk6IDE7XG5cbiAgICAgIC8vIEluaXQga2V5IGluZGV4XG4gICAgICAka2V5LWluZGV4OiBmYWxzZTtcbiAgICAgICRwcmV2aW91cy1pbmRleDogZmFsc2U7XG5cbiAgICAgIC8vIFRyYXZlcnNlIG1hcCBmb3Iga2V5XG4gICAgICBAZWFjaCAkbWFwLWtleSwgJG1hcC12YWx1ZSBpbiAkbWFwIHtcbiAgICAgICAgQGlmICRkZWJ1ZyB7XG4gICAgICAgICAgQGRlYnVnJ21hcC1rZXk6ICN7JG1hcC1rZXl9LCBtYXAtdmFsdWU6ICN7JG1hcC12YWx1ZX0sIGk6ICN7JGl9JztcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLy8gSWYgbWFwIGtleSBmb3VuZCwgc2V0IGtleSBpbmRleFxuICAgICAgICBAaWYgJG1hcC1rZXkgPT0gJGtleSB7XG4gICAgICAgICAgJGtleS1pbmRleDogJGk7XG4gICAgICAgICAgQGlmICRkZWJ1ZyB7XG4gICAgICAgICAgICBAZGVidWcgJ2ZvdW5kIGtleS1pbmRleDogI3ska2V5LWluZGV4fSc7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLy8gVXBkYXRlIGluZGV4XG4gICAgICAgICRpOiAkaSArIDE7XG5cbiAgICAgIH1cblxuICAgICAgQGlmICRrZXktaW5kZXggIT0gZmFsc2Uge1xuICAgICAgICAkcHJldmlvdXMtaW5kZXg6ICRrZXktaW5kZXggLSAxO1xuICAgICAgICAkaTogMTtcblxuICAgICAgICBAaWYgJHByZXZpb3VzLWluZGV4IDwgMSB7XG4gICAgICAgICAgLy8gSWYgZmlyc3QgZW50cnkgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgICAgQHdhcm4gJ25vIHByZXZpb3VzIGl0ZW0gaW4gbWFwLCByZXR1cm5pbmcgZmFsbGJhY2snO1xuICAgICAgICAgICAgQHJldHVybiAkZmFsbGJhY2s7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIC8vIFRyYXZlcnNlIG1hcCBmb3Iga2V5XG4gICAgICAgICAgQGVhY2ggJG1hcC1rZXksICRtYXAtdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgICAgICBAaWYgJGkgPT0gJHByZXZpb3VzLWluZGV4IHtcbiAgICAgICAgICAgICAgIEBpZiAkcmV0dXJuID09ICdrZXknIHtcbiAgICAgICAgICAgICAgICAgQGlmICRkZWJ1ZyB7XG4gICAgICAgICAgICAgICAgICAgQGRlYnVnICdmb3VuZCEgcmV0dXJuaW5nIG1hcC1rZXk6ICN7JG1hcC1rZXl9JztcbiAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQHJldHVybiAkbWFwLWtleTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmICRkZWJ1ZyB7XG4gICAgICAgICAgICAgICAgICBAZGVidWcgJ2ZvdW5kISByZXR1cm5pbmcgbWFwLXZhbHVlOiAjeyRtYXAtdmFsdWV9JztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAcmV0dXJuICRtYXAtdmFsdWU7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVXBkYXRlIGluZGV4XG4gICAgICAgICAgICAkaTogJGkgKyAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ05vIHByZXZpb3VzIG1hcCBpdGVtIGZvciBrZXkgI3ska2V5fSc7XG4gICAgICAgIEByZXR1cm4gJGZhbGxiYWNrO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgQHdhcm4gJ05vIHZhbGlkIGtleSAjeyRrZXl9IGluIG1hcCc7XG4gICAgICBAcmV0dXJuICRmYWxsYmFjaztcbiAgICB9XG5cbiAgfVxuICBAZWxzZSB7XG4gICAgIEB3YXJuJ05vIHZhbGlkIG1hcCc7XG4gICAgQHJldHVybiAkZmFsbGJhY2s7XG4gIH1cbn1cblxuLy8gUmV0dXJucyBhIGRhdGEgdXJsIGZvciBhbiBpY29uXG5AZnVuY3Rpb24gZ2VuZXJhdGUtZGF0YS11cmwoJGljb24pIHtcbiAgQHJldHVybiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3ttYXAtc2FmZS1nZXQoJGljb24tbWFwLCAkaWNvbil9Jyk7XG59XG5cblxuLy8vIERlZXAgc2V0IGZ1bmN0aW9uIHRvIHNldCBhIHZhbHVlIGluIG5lc3RlZCBtYXBzXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcFxuLy8vIEBwYXJhbSB7TGlzdH0gJGtleXMgLSAgS2V5IGNoYWluZVxuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gYXNzaWduXG4vLy8gQHJldHVybiB7TWFwfVxuQGZ1bmN0aW9uIG1hcC1kZWVwLXNldCgkbWFwLCAka2V5cywgJHZhbHVlKSB7XG4gICRtYXBzOiAoJG1hcCwpO1xuICAkcmVzdWx0OiBudWxsO1xuXG4gIC8vIElmIHRoZSBsYXN0IGtleSBpcyBhIG1hcCBhbHJlYWR5XG4gIC8vIFdhcm4gdGhlIHVzZXIgd2Ugd2lsbCBiZSBvdmVycmlkaW5nIGl0IHdpdGggJHZhbHVlXG4gIEBpZiB0eXBlLW9mKG50aCgka2V5cywgLTEpKSA9PSBcIm1hcFwiIHtcbiAgICBAd2FybiBcIlRoZSBsYXN0IGtleSB5b3Ugc3BlY2lmaWVkIGlzIGEgbWFwOyBpdCB3aWxsIGJlIG92ZXJyaWRlZCB3aXRoIGAjeyR2YWx1ZX1gLlwiO1xuICB9XG5cbiAgLy8gSWYgJGtleXMgaXMgYSBzaW5nbGUga2V5XG4gIC8vIEp1c3QgbWVyZ2UgYW5kIHJldHVyblxuICBAaWYgbGVuZ3RoKCRrZXlzKSA9PSAxIHtcbiAgICBAcmV0dXJuIG1hcC1tZXJnZSgkbWFwLCAoJGtleXM6ICR2YWx1ZSkpO1xuICB9XG5cbiAgLy8gTG9vcCBmcm9tIHRoZSBmaXJzdCB0byB0aGUgc2Vjb25kIHRvIGxhc3Qga2V5IGZyb20gJGtleXNcbiAgLy8gU3RvcmUgdGhlIGFzc29jaWF0ZWQgbWFwIHRvIHRoaXMga2V5IGluIHRoZSAkbWFwcyBsaXN0XG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgdGhyb3cgYW4gZXJyb3JcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGtleXMpIC0gMSB7XG4gICAgJGN1cnJlbnQta2V5OiBudGgoJGtleXMsICRpKTtcbiAgICAkY3VycmVudC1tYXA6IG50aCgkbWFwcywgLTEpO1xuICAgICRjdXJyZW50LWdldDogbWFwLWdldCgkY3VycmVudC1tYXAsICRjdXJyZW50LWtleSk7XG4gICAgQGlmICRjdXJyZW50LWdldCA9PSBudWxsIHtcbiAgICAgIEBlcnJvciBcIktleSBgI3ska2V5fWAgZG9lc24ndCBleGlzdCBhdCBjdXJyZW50IGxldmVsIGluIG1hcC5cIjtcbiAgICB9XG4gICAgJG1hcHM6IGFwcGVuZCgkbWFwcywgJGN1cnJlbnQtZ2V0KTtcbiAgfVxuXG4gIC8vIExvb3AgZnJvbSB0aGUgbGFzdCBtYXAgdG8gdGhlIGZpcnN0IG9uZVxuICAvLyBNZXJnZSBpdCB3aXRoIHRoZSBwcmV2aW91cyBvbmVcbiAgQGZvciAkaSBmcm9tIGxlbmd0aCgkbWFwcykgdGhyb3VnaCAxIHtcbiAgICAkY3VycmVudC1tYXA6IG50aCgkbWFwcywgJGkpO1xuICAgICRjdXJyZW50LWtleTogbnRoKCRrZXlzLCAkaSk7XG4gICAgJGN1cnJlbnQtdmFsOiBpZigkaSA9PSBsZW5ndGgoJG1hcHMpLCAkdmFsdWUsICRyZXN1bHQpO1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkY3VycmVudC1tYXAsICgkY3VycmVudC1rZXk6ICRjdXJyZW50LXZhbCkpO1xuICB9XG5cbiAgLy8gUmV0dXJuIHJlc3VsdFxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiLyogQXF1ZW50IE1peGlucyAqL1xuLy8gQ3JlYXRlIGEgZm9udCBzaXplIHRoYXQgaXMgZmxleGlibGUgYmV0d2VlbiB0d28gdmlld3BvcnQgc2l6ZXMgd2l0aCBtaW4vbWF4IHNpemVcbi8vIE1vcmUgaW5mbzogaHR0cDovL21hZGVieW1pa2UuY29tLmF1L3dyaXRpbmcvcHJlY2lzZS1jb250cm9sLXJlc3BvbnNpdmUtdHlwb2dyYXBoeS9cbi8vIFRoaXMgaXMgdGhlIGNvcmUgZWxhc3RpYyBmb250IGZ1bmN0aW9uYWxpdHlcbkBtaXhpbiBlbGFzdGljLWZvbnQtYmFzZSgkbWluLWZvbnQsICRtYXgtZm9udCwgJG1pbi13aWR0aCwgJG1heC13aWR0aCwgJGF1dG9icmVha3BvaW50cykge1xuICBmb250LXNpemU6IGNhbGMoI3tzdHJpcC11bml0KCRtaW4tZm9udCl9cHggKyAoI3tzdHJpcC11bml0KCRtYXgtZm9udCl9IC0gI3tzdHJpcC11bml0KCRtaW4tZm9udCl9KSAqICgoMTAwdncgLSAje3N0cmlwLXVuaXQoJG1pbi13aWR0aCl9cHgpIC8gKCN7c3RyaXAtdW5pdCgkbWF4LXdpZHRoKX0gLSAje3N0cmlwLXVuaXQoJG1pbi13aWR0aCl9KSkpO1xufVxuXG5AbWl4aW4gZWxhc3RpYy1mb250LXNpemUoJG1pbi1mb250OiAxOCwgJG1heC1mb250OiAyNCwgJG1pbi13aWR0aDogMzIwLCAkbWF4LXdpZHRoOiAxNDQwLCAkYXV0b2JyZWFrcG9pbnRzOiB0cnVlKSB7XG4gIC8vIEF1dG9icmVha3BvaW50cyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlcyBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIG1pbi9tYXggd2lkdGggc3BlY3NcbiAgQGlmICRhdXRvYnJlYWtwb2ludHMge1xuICAgIC8vIFNldHMgdGhlIGZvbnQtc2l6ZSB0byBhIGZpeGVkIHNpemUgYmVsb3cgdGhlIG1pbi13aWR0aFxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc3RyaXAtdW5pdCgkbWluLWZvbnQpKTtcbiAgICAvLyBVc2VzIGVsYXN0aWMgZm9udCBzY2FsaW5nIGF0IHRoZSBtaW4gd2lkdGhcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHN0cmlwLXVuaXQoJG1pbi13aWR0aCkpIHtcbiAgICAgIEBpbmNsdWRlIGVsYXN0aWMtZm9udC1iYXNlKCRtaW4tZm9udCwgJG1heC1mb250LCAkbWluLXdpZHRoLCAkbWF4LXdpZHRoLCAkYXV0b2JyZWFrcG9pbnRzKTtcbiAgICB9XG4gICAgLy8gU2V0cyB0aGUgZm9udC1zaXplIHRvIGEgZml4ZWQgc2l6ZSBhYm92ZSB0aGUgbWF4LXdpZHRoXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzdHJpcC11bml0KCRtYXgtd2lkdGgpKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKHN0cmlwLXVuaXQoJG1heC1mb250KSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBlbGFzdGljLWZvbnQtYmFzZSgkbWluLWZvbnQsICRtYXgtZm9udCwgJG1pbi13aWR0aCwgJG1heC13aWR0aCwgJGF1dG9icmVha3BvaW50cyk7XG4gIH1cbn1cblxuLy8vIFNpbmNlIHRoZSBjdXJyZW50IHdheSB0byBxdWFsaWZ5IGEgY2xhc3MgZnJvbSB3aXRoaW4gaXRzIHJ1bGVzZXQgaXMgcXVpdGVcbi8vLyB1Z2x5LCBoZXJlIGlzIGEgbWl4aW4gcHJvdmlkaW5nIGEgZnJpZW5kbHkgQVBJIHRvIGRvIHNvLlxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWxlbWVudC1zZWxlY3RvciAtIEVsZW1lbnQgc2VsZWN0b3JcbkBtaXhpbiBxdWFsaWZ5KCRlbGVtZW50LXNlbGVjdG9yKSB7XG4gIEBhdC1yb290ICN7JGVsZW1lbnQtc2VsZWN0b3IgKyAmfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNoYWRvdy1ob3Zlci1lZmZlY3QoJHNoYWRvdy1jb2xvcjogJGJsYWNrKSB7XG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCByZW0tY2FsYyg1KSByZ2JhKCRzaGFkb3ctY29sb3IsIDAuNzUpO1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG59XG5cbkBtaXhpbiBnZW5lcmF0ZS1pY29uKCRpY29uLW5hbWUsICRvcmllbnRhdGlvbjogJ2FmdGVyJywgJHR5cGU6ICdtYXNrJykge1xuICBAaWYgKCRpY29uLW5hbWUgPT0gbnVsbCkge1xuICAgIEB3YXJuICdJIG5lZWQgYW4gaWNvbiBuYW1lLCBkdW1teS4nO1xuICB9IEBlbHNlIHtcblxuICAgIC8vIEdlbmVyYXRlIGVpdGhlciBhIG1hc2sgb3IgYmFja2dyb3VuZCBpbWFnZVxuICAgIEBpZiAkdHlwZSA9PSAnbWFzaycgb3IgJHR5cGUgPT0gJ2JhY2tncm91bmQnIHtcbiAgICAgIEBpZiAoJG9yaWVudGF0aW9uID09ICdhdXRvJyBvciAkb3JpZW50YXRpb24gPT0gJ25vbmUnKSB7XG4gICAgICAgICN7JHR5cGV9LWltYWdlOiBnZW5lcmF0ZS1kYXRhLXVybCgkaWNvbi1uYW1lKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgKCRvcmllbnRhdGlvbiA9PSAnYmVmb3JlJyBvciAkb3JpZW50YXRpb24gPT0gJ2FmdGVyJykge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOjojeyRvcmllbnRhdGlvbn0ge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAjeyR0eXBlfS1pbWFnZTogZ2VuZXJhdGUtZGF0YS11cmwoJGljb24tbmFtZSk7XG4gICAgICAgICAgICAjeyR0eXBlfS1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIEB3YXJuICckb3JpZW50YXRpb24gbXVzdCBiZSBiZWZvcmUgb3IgYWZ0ZXInO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiAnJHR5cGUgbXVzdCBiZSBtYXNrIG9yIGJhY2tncm91bmQuJztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFycm93LWxpbmsoJGFycm93LWxpbms6ICdhcnJvdy1saW5rJywgJGRpcjogYXV0bykge1xuICBAaW5jbHVkZSBnZW5lcmF0ZS1pY29uKCRhcnJvdy1saW5rKTtcblxuICBAaWYgKCRkaXIgPT0gcmV2ZXJzZSkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICB9XG5cbiAgICAmOmZvY3VzOjphZnRlcixcbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgfVxuICB9IEBlbHNlIGlmICAoJGRpciA9PSBkb3duKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuXG4gICAgJjpmb2N1czo6YWZ0ZXIsXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9IFxuICB9IEBlbHNlIGlmICAoJGRpciA9PSB1cCkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzOjphZnRlcixcbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygtMTApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9IFxuICB9IEBlbHNlIHtcbiAgICAmOjphZnRlciB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gMjUwbXMgZWFzZS1vdXQsIGJhY2tncm91bmQgMjUwbXMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1czo6YWZ0ZXIsXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGljb24tY29sb3IoJGljb24tY29sb3I6ICR3aGl0ZSwgJG9yaWVudGF0aW9uOiAnYWZ0ZXInKSB7XG4gIEBpZigkb3JpZW50YXRpb24gIT0gJ2F1dG8nIG9yICRvcmllbnRhdGlvbiAhPSAnbm9uZScpIHtcbiAgICAmOjojeyRvcmllbnRhdGlvbn0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29sb3I7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb2xvcjtcbiAgfVxufVxuXG4vLyBDb3BpZWQgYW5kIGhhY2tlZCBmcm9tIEZvdW5kYXRpb24ncyBjb2RlXG5AbWl4aW4gd2lkZS1tYXJnaW4tYmxvY2stZ3JpZHMoJGd1dHRlcnM6ICR3aWRlLWd1dHRlcnMsICRuOiAzLCAkc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4td2lkZScpIHtcbiAgQGlmICRuID4gMyB7XG4gICAgQHdhcm4gJ1RoZXNlIHdpZGUgbWFyZ2luIGJsb2NrIGdyaWRzIGRvblxcJ3Qgc3VwcG9ydCBtb3JlIHRoYW4gdGhyZWUgY29sdW1ucyc7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRuIHtcbiAgICAgIEBpZih0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICAgICAkdmFsdWU6IG1hcC1nZXQoJGd1dHRlcnMsICQtemYtc2l6ZSk7XG4gICAgICAgICAgICAvLyAyIGNvbHVtblxuICAgICAgICAgICAgQGlmICRuID09IDIge1xuICAgICAgICAgICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgICAgID4gLmNlbGwge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEvJGkpfSAtICN7JHZhbHVlIC8gMn0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLiN7JGJwfS11cC0jeyRpfSA+IC5jZWxsIHtcbiAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICN7JHZhbHVlIC8gMn07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAjeyR2YWx1ZSAvIDJ9O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkbiA9PSAzIHtcbiAgICAgICAgICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxLyRpKX0gLSAjeyR2YWx1ZSAqIDJ9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi4jeyRicH0tdXAtI3skaX0gPiAuY2VsbCB7XG4gICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICN7JHZhbHVlfTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG4ge1xuICAgICAgQGlmKG1hcC1oYXMta2V5KCRndXR0ZXJzLCAkLXpmLXNpemUpKSB7XG4gICAgICAgICR2YWx1ZTogbWFwLWdldCgkZ3V0dGVycywgJC16Zi1zaXplKTtcbiAgICAgICAgQGlmICRuID09IDIge1xuICAgICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEvJGkpfSAtICN7JHZhbHVlIC8gMn0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi4jeyQtemYtc2l6ZX0tdXAtI3skaX0gPiAuY2VsbCB7XG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogI3skdmFsdWUgLyAyfTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICN7JHZhbHVlIC8gMn07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgJG4gPT0gMyB7XG4gICAgICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgID4gLmNlbGwge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JHZhbHVlICogMn0pIC8gI3skaX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi4jeyQtemYtc2l6ZX0tdXAtI3skaX0gPiAuY2VsbCB7XG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAjeyR2YWx1ZX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRXh0cmFjdCBzcGVjaWZpYyBoZWFkaW5nIHNpemUvcnVsZXMgd2l0aCBicmVha3BvaW50cy4gVXNlcyBgJGhlYWRlci1zdHlsZXNgIGFzIGRlZmluZWQgaW4gYHNldHRpbmdzYFxuQG1peGluIGluaGVyaXQtaGVhZGluZy1zdHlsZSgkaGVhZGluZykge1xuICBAZWFjaCAkc2l6ZSwgJGhlYWRlcnMgaW4gJGhlYWRlci1zdHlsZXMge1xuICAgICRkZWZzOiBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsICRzaXplLCAkaGVhZGluZyk7XG5cbiAgICAvLyBpZiB0aGUgc2l6ZSBpcyBzbWFsbCwgZG9uJ3QgdXNlIHRoZSBicmVha3BvaW50XG4gICAgQGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIEBlYWNoICRsYWJlbCwgJHZhbHVlIGluICRkZWZzIHtcbiAgICAgICAgQGlmICRsYWJlbCA9PSAnbGluZS1oZWlnaHQnIHtcbiAgICAgICAgICAjeyRsYWJlbH06IHVuaXRsZXNzLWNhbGMoJHZhbHVlKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skbGFiZWx9OiByZW0tY2FsYygkdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLy8gaWYgbGFyZ2VyIHRoYW4gc21hbGwsIHVzZSB0aGUgYnJlYWtwb2ludFxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkbGFiZWwsICR2YWx1ZSBpbiAkZGVmcyB7XG4gICAgICAgICAgQGlmICRsYWJlbCA9PSAnbGluZS1oZWlnaHQnIHtcbiAgICAgICAgICAgICN7JGxhYmVsfTogdW5pdGxlc3MtY2FsYygkdmFsdWUpO1xuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgI3skbGFiZWx9OiByZW0tY2FsYygkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUT0RPOiBjb21iaW5lIHRoaXMgcnVsZSB3aXRoIEFRIHN0dWRpb3Mgc2FtZSBydWxlXG4vLyBUT0RPOiB0aGlzIG1lc3MgYmVjb21lcyBpcnJlbGV2YW50IGlmIHdlIHVzZSBDU1MgZ3JpZFxuQG1peGluIGN1c3RvbS1ncmlkLW1hcmdpbnMoJG1hcmdpbiwgJGNvbHVtbnMsICRicmVha3BvaW50OiBtZWRpdW0pIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRtYXJnaW4vMn07XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRtYXJnaW4vMn07XG5cbiAgICAgID4gLmNlbGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogI3skbWFyZ2luLzJ9O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICN7JG1hcmdpbi8yfTtcblxuICAgICAgICAvLyBUT0RPOiB0aGUgY29sdW1uIG9wdGlvbnMgcmFuZ2UgZnJvbSAzIHRvIDkgY29sdW1ucyBpbiB0aGUgQVEgMiBDb2x1bW4gUGFuZWwgY29udGVudCB0eXBlLiBJZiB0aGV5IGFyZSBjaGFuZ2VkIHRoZXJlLCB0aGlzIHNob3VsZCBiZSBjaGFuZ2VkIGFzIHdlbGwuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAzIHRocm91Z2ggOSB7XG4gICAgICAgICAgJHBlcmNlbnRhZ2U6ICgxMDAlIC8gMTIpICogJGk7XG4gICAgICAgICAgJi4jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygjeyRwZXJjZW50YWdlfSAtICN7JG1hcmdpbn0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogQXF1ZW50IEJhY2tncm91bmQgQ2xhc3NlcyBNaXhpbiAqL1xuJGJhY2tncm91bmQtcGFsZXR0ZTogKFxuICB3aGl0ZTogJHdoaXRlLFxuICBjcmVhbTogJGNyZWFtLFxuICBuZXV0cmFsLTE6ICRuZXV0cmFsLTEsIC8vIHVzZWQgZm9yIGFzaWRlXG4gIG5ldXRyYWwtYmxhY2s6ICRuZXV0cmFsLWJsYWNrLCAvLyB1c2VkIHdpdGhpbiBjb250ZW50IGZvciBiYWNrZ3JvdW5kcywgZXRjXG4gIHByaW1hcnktYmxhY2s6ICRwcmltYXJ5LWJsYWNrLCAvLyB1c2VkIGluIHRoZSBmb290ZXIgYW5kIG5hdlxuICBibHVlOiAkYmx1ZSxcbiAgb3JhbmdlOiAkb3JhbmdlXG4pICFkZWZhdWx0O1xuXG5AbWl4aW4gZGFyay1iYWNrZ3JvdW5kLXRleHQtY29sb3Ige1xuICAvLyBwYXJlbnQgd3JhcHBlciBjb2xvciBmb3IgY2hpbGQgaW5oZXJpdGFuY2VcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAvLyBoZWFkaW5ncyBhbmQgaGVhZGluZyB1dGlsaXR5IGNsYXNzZXNcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICBoI3skaX0sIC5oI3skaX0ge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBGaWVsZCBMYWJlbHNcbiAgbGFiZWwge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICYuZXJyb3Ige1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG4gIC8vIExpbmsgY29sb3JzXG4gIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAudGV4dC1zZWNvbmRhcnksXG4gIC50ZXh0LW9yYW5nZSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LW9yYW5nZTtcbiAgfVxuXG4gIC5pY29uLm9yYW5nZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICBibG9ja3F1b3RlIHtcbiAgICBjb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICAgIHAge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG4gIGNpdGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cbiAgZGwsIGR0LCBkZCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgcCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gV2hpdGUgdGV4dCBsaW5rcyBvbiBvcmFuZ2UgYmFja2dyb3VuZHNcbkBtaXhpbiB3aGl0ZS10ZXh0LWxpbmsge1xuICAmOm5vdCguYnV0dG9uKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyNTBtcyBlYXNlLCBjb2xvciAyNTBtcyBlYXNlO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGNvbG9yOiAkbmV1dHJhbC1ibGFjaztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHdoaXRlLWJ1dHRvbiB7XG4gICYuYnV0dG9uIHtcbiAgICBAZXh0ZW5kIC5idXR0b24ud2hpdGU7XG4gIH1cbn1cblxuQG1peGluIHdoaXRlLWlsbHVzdHJhdGVkLWJ1bGxldCB7XG4gIC5pbGx1c3RyYXRlZC1idWxsZXQ6bm90KHVsKSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuICB1bC5pbGx1c3RyYXRlZC1idWxsZXQgbGk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICB9XG59XG5cbkBtaXhpbiBhcXVlbnQtYmFja2dyb3VuZHMge1xuXG4gIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJhY2tncm91bmQtcGFsZXR0ZSB7XG4gICAgJWJnLSN7JG5hbWV9LFxuICAgIC5iZy0jeyRuYW1lfSAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3skY29sb3J9O1xuXG4gICAgICAvLyBVc2UgdGhlIGBjb2xvci1waWNrLWNvbnRyYXN0YCBtaXhpbiB0byBkZWNpZGUgaWYgc29tZXRoaW5nIGlzIGRhcmsgZW5vdWdoIHRvIGhhdmUgd2hpdGUgdGV4dDogdmlhIEBodHRwczovL2ZvdW5kYXRpb24uenVyYi5jb20vc2l0ZXMvZG9jcy9zYXNzLWZ1bmN0aW9ucy5odG1sI2NvbG9yLXBpY2stY29udHJhc3RcbiAgICAgIEBpZiAoY29sb3ItcGljay1jb250cmFzdCgkY29sb3IpID09ICR3aGl0ZSkge1xuICAgICAgICBAaW5jbHVkZSBkYXJrLWJhY2tncm91bmQtdGV4dC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLy8gQWxsb3cgYmctb3JhbmdlIGFuY2hvciB0YWdzIHRvIGluaGVyaXQgdGhlIGFwcHJvcHJpYXRlIGxpbmsgc3R5bGVzLlxuICAgICAgQGlmICgkY29sb3IgPT0gJG9yYW5nZSBvciAkY29sb3IgPT0gJG9yYW5nZSkge1xuICAgICAgICBhIHtcbiAgICAgICAgICBAaW5jbHVkZSB3aGl0ZS10ZXh0LWxpbms7XG4gICAgICAgICAgQGluY2x1ZGUgd2hpdGUtYnV0dG9uO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgd2hpdGUtaWxsdXN0cmF0ZWQtYnVsbGV0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwganVzdCBpbiBjYXNlXG4gIC5iZy1wcmltYXJ5IHtcbiAgICBAZXh0ZW5kICViZy1ibHVlO1xuICB9XG4gIC5iZy1zZWNvbmRhcnkge1xuICAgIEBleHRlbmQgJWJnLW9yYW5nZTtcbiAgfVxuXG4gIC8vIFRPRE86IHJlbW92ZSBhZnRlciByZWRlc2lnbiBwaGFzZSAxIGlzIGNvbXBsZXRlIDIwMjAuIEJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGZpeCB0byBwcmV2ZW50IG1pc3NpbmcgZGFyayBiYWNrZ3JvdW5kIGNvbG9ycyBmcm9tIGNhdXNpbmcgaXNzdWVzIG9uIHRoZSBsaXZlIHNpdGUuXG4gIC5iZy1ibGFjaywgLmJnLW9ueXgsIC5iZy12ZXJ5LWRhcmstZ3JheSwgLmJnLWRhcmstZ3JheSwgLmJnLW1lZGl1bS1ncmF5IHtcbiAgICBAZXh0ZW5kICViZy1uZXV0cmFsLWJsYWNrO1xuICB9XG5cblxuICAvLyBVdGlsaXR5IGNsYXNzIHRvIGVuc3VyZSBpbWFnZXMgYXJlIGBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyYFxuICAuYmctY292ZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIH1cbiAgLmJnLXJlcGVhdCB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgfVxuICAuYmctcmVwZWF0LXgge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgfVxuICAuYmctcmVwZWF0LXkge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgfVxuICAuYmctbm8tcmVwZWF0IHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5iZy1wb3MtcmlnaHQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICB9XG4gIC5iZy1wb3MtY2VudGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICB9XG4gIC5iZy1wb3MtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gIH1cbn1cbiIsIi8qIExvYWRpbmcgR3JhcGhpYyAqL1xuQG1peGluIGFxdWVudC1hbmltYXRpb25zIHtcbiAgQGtleWZyYW1lcyBzcGluIHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gU3VibWl0dGluZyBvdmVybGF5IENTUyBzcGlubmVyXG4gIEBrZXlmcmFtZXMgc2stcm90YXRlcGxhbmUge1xuICAgIDAlIHtcbiAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMGRlZykgcm90YXRlWSgwZGVnKTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwLjFkZWcpIHJvdGF0ZVkoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoLTE3OS45ZGVnKTtcbiAgICB9XG4gIH1cblxuICBkaXZbZGF0YS1wcm9ncmVzc2l2ZS1pZF0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6bm90KC5sb2FkZWQpOjphZnRlciB7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDE2KSBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDE2KSBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMTYpIHNvbGlkICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMTIwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTIwKTtcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDUwKSBhdXRvIDA7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5zdWJtaXR0aW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjY2Nik7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgLnNwaW5uZXIge1xuICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgICBhbmltYXRpb246IHNrLXJvdGF0ZXBsYW5lIDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH1cblxuICAvLyBDb250YWN0IFVzIEhlcm8gbnVtYmVyIHN0YXRzIGFuaW1hdGlvblxuICAubnVtYmVycyxcbiAgLmthcmF0IHtcbiAgICBjb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gICAgfVxuXG4gIH1cblxuICAua2FyYXQge1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIC5zdGF0LXRleHQge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cblxuICAuZmFkZS1pbi10b3Age1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmYWRlLWluLXRvcCAuNXMgY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKSBib3RoO1xuICAgIGFuaW1hdGlvbjogZmFkZS1pbi10b3AgLjVzIGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCkgYm90aDtcbiAgfVxuXG4gIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEdlbmVyYXRlZCBieSBBbmltaXN0YSBvbiAyMDIxLTMtMzAgMTY6Mzk6MTNcbiAqIExpY2Vuc2VkIHVuZGVyIEZyZWVCU0QgTGljZW5zZS5cbiAqIFNlZSBodHRwOi8vYW5pbWlzdGEubmV0L2xpY2Vuc2UgZm9yIG1vcmUgaW5mby4gXG4gKiB3OiBodHRwOi8vYW5pbWlzdGEubmV0LCB0OiBAY3NzYW5pbWlzdGFcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIGFuaW1hdGlvbiBmYWRlLWluLXRvcFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4gIEAtd2Via2l0LWtleWZyYW1lcyBmYWRlLWluLXRvcCB7XG4gICAgMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlLWluLXRvcCB7XG4gICAgMCUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cblxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtc2FmZS1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBtYXAtc2FmZS1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtc2FmZS1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLXNhZmUtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBtYXAtc2FmZS1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAxMDAlOy8vIEFkZGVkIGZvciBBcXVlbnQgQ1NTXG4gICAgbWFyZ2luOiBhdXRvOy8vIEFkZGVkIGZvciBBcXVlbnQgQ1NTXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7Ly8gQWRkZWQgZm9yIEFxdWVudCBDU1NcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBoZWlnaHQ6IDEwMCU7Ly8gQWRkZWQgZm9yIEFxdWVudCBDU1NcbiAgICBtaW4taGVpZ2h0OiAxMDAlOy8vIEFkZGVkIGZvciBBcXVlbnQgQ1NTXG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOy8vIEFkZGVkIGZvciBBcXVlbnQgQ1NTXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJZFNlbGVjdG9yXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBBZGRlZCBmb3IgQXF1ZW50IENTU1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwOyAvLyBBZGRlZCBmb3IgQXF1ZW50IENTU1xuICB9XG59IiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAnLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvdXRpbCc7XG5cbi8vIEltcG9ydCBvdXIgY3VzdG9tIHZhcmlhYmxlcyB0byBvdmVycmlkZSBGb3VuZGF0aW9uIGRlZmF1bHRzXG5AaW1wb3J0ICcuL3NyYy9hc3NldHMuYXF1ZW50LmNvbS9zY3NzL2FxdWVudC92YXJzJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMzAwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogdW5pdGxlc3MtY2FsYygyNCk7XG5cbi8vIFNpbXBsaWZ5IHNvbWUgbmV1dHJhbHMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICYgY29udmVuaWVuY2VcbiRsaWdodC1ncmF5OiAkbmV1dHJhbC04O1xuJG1lZGl1bS1ncmF5OiAkbmV1dHJhbC00O1xuJGRhcmstZ3JheTogJG5ldXRyYWwtMjtcbiR2ZXJ5LWRhcmstZ3JheTogJG5ldXRyYWwtMTtcblxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAkYmx1ZSxcbiAgc2Vjb25kYXJ5OiAkb3JhbmdlLFxuICBzdWNjZXNzOiAjM2FkYjc2LCAvLyBrZWVwIHRoZXNlIGludGFjdCBmb3IgY2FsbG91dHMvYWxlcnRzL3dhcm5pbmdzXG4gIHdhcm5pbmc6ICNmZmFlMDAsIC8vIGtlZXAgdGhlc2UgaW50YWN0IGZvciBjYWxsb3V0cy9hbGVydHMvd2FybmluZ3NcbiAgYWxlcnQ6ICRmb3JtLWVycm9yLWNvbG9yLCAvLyBrZWVwIHRoZXNlIGludGFjdCBmb3IgY2FsbG91dHMvYWxlcnRzL3dhcm5pbmdzXG4pO1xuXG4vLyAuLi5Db250aW51ZSBGb3VuZGF0aW9uIERlZmF1bHQgVmFyaWFibGVzXG4kYm9keS1iYWNrZ3JvdW5kOiAkY3JlYW07XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ1BUIFNlcmlmJywgc2VyaWY7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xuJGdsb2JhbC1wb3NpdGlvbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogNDAwO1xuJGdsb2JhbC13ZWlnaHQtbWVkaXVtOiA1MDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA2MDA7XG4kZ2xvYmFsLXdlaWdodC1ibGFjazogODAwO1xuJGdsb2JhbC1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiB0cnVlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMy45O1xuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiA4NjZweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcblxuLy8gMy4gVGhlIEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiRncmlkLXJvdy13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbi1jb3VudDogMTI7XG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAnbmV1ZS1oYWFzLXVuaWNhJywgc2Fucy1zZXJpZjsgLy8gSW1wb3J0ZWQgZnJvbSBUeXBla2l0XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWw7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAnT3ZlcnBhc3MgTW9ubycsIG1vbm9zcGFjZTtcbiRoZWFkZXItY29sb3I6ICRibGFjaztcbiRoZWFkZXItbGluZWhlaWdodDogdW5pdGxlc3MtY2FsYygzMCk7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDFyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICAvLyBUT0RPOiBUaGVzZSBzaXplcyBhcmUgYSBXSVAuIFBsZWFzZSB1cGRhdGUgZnJvbSBkZXNpZ24gdGVhbSBhcyBuZWNlc3NhcnlcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM4LCAnbGluZS1oZWlnaHQnOiAzOCwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAzMCwgJ2xpbmUtaGVpZ2h0JzogMzIsICdtYXJnaW4tYm90dG9tJzogMzApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzAsICdsaW5lLWhlaWdodCc6IDMyLCAnbWFyZ2luLWJvdHRvbSc6IDMwKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDMwLCAnbGluZS1oZWlnaHQnOiAzMiwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyNCwgJ2xpbmUtaGVpZ2h0JzogMjYsICdtYXJnaW4tYm90dG9tJzogMzApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMjAsICdsaW5lLWhlaWdodCc6IDIyLCAnbWFyZ2luLWJvdHRvbSc6IDMwKSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA1NSwgJ2xpbmUtaGVpZ2h0JzogNjAsICdtYXJnaW4tYm90dG9tJzogMzApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNTAsICdsaW5lLWhlaWdodCc6IDU1LCAnbWFyZ2luLWJvdHRvbSc6IDMwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDQwLCAnbGluZS1oZWlnaHQnOiA0NSwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAzMiwgJ2xpbmUtaGVpZ2h0JzogMzcsICdtYXJnaW4tYm90dG9tJzogMzApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjUsICdsaW5lLWhlaWdodCc6IDMwLCAnbWFyZ2luLWJvdHRvbSc6IDMwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAyNSwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICksXG4gIGxhcmdlOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA2MywgJ2xpbmUtaGVpZ2h0JzogNjgsICdtYXJnaW4tYm90dG9tJzogMzApLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNTUsICdsaW5lLWhlaWdodCc6IDYwLCAnbWFyZ2luLWJvdHRvbSc6IDMwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDQ1LCAnbGluZS1oZWlnaHQnOiA1MCwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAzNSwgJ2xpbmUtaGVpZ2h0JzogNDAsICdtYXJnaW4tYm90dG9tJzogMzApLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjUsICdsaW5lLWhlaWdodCc6IDMwLCAnbWFyZ2luLWJvdHRvbSc6IDMwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDIwLCAnbGluZS1oZWlnaHQnOiAyNSwgJ21hcmdpbi1ib3R0b20nOiAzMCksXG4gICksXG4pO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiBpbmhlcml0O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiB1bml0bGVzcy1jYWxjKDI0KTtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkZGFyay1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJGJsYWNrO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJHByaW1hcnktYmxhY2s7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtNjtcbiRoci1tYXJnaW46ICRnbG9iYWwtbWFyZ2luIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMDtcbiRibG9ja3F1b3RlLWNvbG9yOiAkb3JhbmdlO1xuJGJsb2NrcXVvdGUtcGFkZGluZzogMDtcbiRibG9ja3F1b3RlLWJvcmRlcjogbm9uZTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGNpdGUtY29sb3I6ICRuZXV0cmFsLWJsYWNrO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogcmVtLWNhbGMoMSkgZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRuZXV0cmFsLTM7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDA7XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiRzdGF0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4kaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvcjtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6ICRmb3JtLWVycm9yLWZvbnQtc2l6ZTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogZmFsc2U7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkYmx1ZTtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkbmV1dHJhbC04O1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA0cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJGJsdWU7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRkYXJrLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJGRhcmstZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogZmFsc2U7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRkYXJrLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRidXR0b24tcGFkZGluZzogcmVtLWNhbGMoMjAgMzIpO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJGJsdWU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6IDA7XG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDI1MG1zIGVhc2Utb3V0LCBjb2xvciAyNTBtcyBlYXNlLW91dDtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IHJlbS1jYWxjKDEwKTtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XG5cbi8vIDEzLiBDYWxsb3V0XG4vLyAtLS0tLS0tLS0tLVxuXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JTtcbiRjYWxsb3V0LWJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGJsYWNrO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMnJlbTtcbiRjYWxsb3V0LXBhZGRpbmc6IDJyZW07XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6IDA7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtO1xuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJGJsYWNrO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkbmV1dHJhbC04O1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA0cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkZGFyay1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAwO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRuZXV0cmFsLTg7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDRweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDEwMCU7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICRibGFjaztcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiBub25lO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkZGFyay1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMjApO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogbm9ybWFsO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkY3JlYW07XG4kaW5wdXQtcHJlZml4LWJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGxpZ2h0LWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRibHVlO1xuJHNlbGVjdC1yYWRpdXM6IDA7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJHBsYWNlaG9sZGVyLWNvbG9yO1xuJGlucHV0LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRpbnB1dC1mb250LXNpemU6ICRmb3JtLWZpZWxkLWZvbnQtc2l6ZTtcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kaW5wdXQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtNjtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTg7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBub25lO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIHJlbS1jYWxjKDEpICRibHVlO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogMDtcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6IDA7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAwO1xuXG4vLyAyMi4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAwO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogMDtcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMy4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMDtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6IHJlbS1jYWxjKDIgMTApO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkYmx1ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWljb24tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogMDtcbiRtZXRlci1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMjBweDtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSk7XG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTM7XG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuXG4vLyAyNi4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI3LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6IDA7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkZGFyay1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogZmFsc2U7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogMDtcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiAwO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogcmVtLWNhbGMoMCA1IDIwIDApIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNpemluZzogKFxuICB3aWR0aCxcbiAgaGVpZ2h0XG4pO1xuJHByb3RvdHlwZS1zaXplczogKFxuICAyNTogMjUlLFxuICA1MDogNTAlLFxuICA3NTogNzUlLFxuICAxMDA6IDEwMCVcbik7XG5cbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNwYWNlcnMtY291bnQ6IDg7XG5cbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKTtcblxuLy8gNDQuIFByb3RvdHlwZSBUZXh0LVRyYW5zZm9ybWF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgLy8gbG93ZXJjYXNlLFxuICAvLyB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbik7XG5cbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4gIHNxdWFyZTogMSBieSAxXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNzUlO1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkZGFyay1ncmF5O1xuJHJldmVhbC1yYWRpdXM6IDA7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC42NjYpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogMDtcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6IDA7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6IDA7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDUwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkY3JlYW07XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgc21hcnQtc2NhbGUoJGxpZ2h0LWdyYXksICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJG5ldXRyYWwtOCwgJGxpZ2h0bmVzczogMzAlKTtcbiR0YWJsZS1zdHJpcGU6IG9kZDtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1oZWFkLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1oZWFkLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1mb290LXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1mb290LWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkbmV1dHJhbC00O1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1MS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRhYi1jb2xvcjogdHJhbnNwYXJlbnQ7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcbiR0YWItYWN0aXZlLWNvbG9yOiAkb3JhbmdlO1xuJHRhYi1pdGVtLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHRhYi1pdGVtLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTcgMTgpO1xuJHRhYi1leHBhbmQtbWF4OiA3O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRhYi1jb250ZW50LWJvcmRlcjogbm9uZTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCByZW0tY2FsYygxKSByZ2JhKCRibGFjaywgMC4yKTtcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IHJlbS1jYWxjKDEpIHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogMDtcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMDtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJGJsdWU7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgcmVtLWNhbGMoMSkgJG1lZGl1bS1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6IDA7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDA7XG4kdG9wYmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICRibGFjaztcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IGxhcmdlO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbik7XG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGg7XG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDU3LiBDdXN0b20gU2V0dGluZ3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVE9ETzogcHJvYmFibHkgcmVtb3ZlIG1lOiBDdXN0b20gUGFnZSBTZWN0aW9uIFBhZGRpbmcvL1xuLy8gLS0tLS0tLS0tLS1cbiRzZWN0aW9uLXBhZGRpbmc6KFxuICBzbWFsbDogcmVtLWNhbGMoMzApLFxuICBtZWRpdW06IHJlbS1jYWxjKDY2KVxuKTtcbiIsIi8vIFRoZSBTaGFyZWQgQXF1ZW50IFBhbGV0dGVcbiRhcXVlbnQtcGFsZXR0ZTogKFxuICBwcmltYXJ5LW9yYW5nZTogI0ZGNUYxNCxcbiAgYmx1ZTogIzAwNzdDOCxcbiAgb3JhbmdlOiAjY2Q0ZDEwLFxuICBjcmVhbTogI2YzZjBlYixcbiAgbGlnaHQtb3JhbmdlOiAjRkY4RjFDLFxuICBibGFjazogIzAwMCxcbiAgcHJpbWFyeS1ibGFjazogIzFhMTkxOSxcbiAgbmV1dHJhbC1ibGFjazogIzIyMixcbiAgbmV1dHJhbC0xOiAjMzgyRTJDLCAvLyBkYXJrZXN0IGdyYXlcbiAgbmV1dHJhbC0yOiAjNUU1MTRELFxuICBuZXV0cmFsLTM6ICM2RTYyNTksXG4gIG5ldXRyYWwtNDogIzgzNzg2RixcbiAgbmV1dHJhbC01OiAjOTY4QzgzLFxuICBuZXV0cmFsLTY6ICNBQ0EzOUEsXG4gIG5ldXRyYWwtNzogI0JGQjhBRixcbiAgbmV1dHJhbC04OiAjRDdEMkNCLCAvLyBsaWdodGVzdCBncmF5XG4gIHdoaXRlOiAjZmZmLFxuKTtcblxuLy8gRXh0cmFjdCBvdXIgY29sb3IgdmFyaWFibGVzIGZvciBjb252ZW5pZW5jZVxuJHByaW1hcnktb3JhbmdlOiBtYXAtc2FmZS1nZXQoJGFxdWVudC1wYWxldHRlLCBwcmltYXJ5LW9yYW5nZSk7XG4kYmx1ZTogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgYmx1ZSk7XG4kbGlnaHQtb3JhbmdlOiBtYXAtc2FmZS1nZXQoJGFxdWVudC1wYWxldHRlLCBsaWdodC1vcmFuZ2UpO1xuJG9yYW5nZTogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgb3JhbmdlKTtcbiR3aGl0ZTogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgd2hpdGUpO1xuJGNyZWFtOiBtYXAtc2FmZS1nZXQoJGFxdWVudC1wYWxldHRlLCBjcmVhbSk7XG4kcHJpbWFyeS1ibGFjazogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgcHJpbWFyeS1ibGFjayk7XG4kYmxhY2s6IG1hcC1zYWZlLWdldCgkYXF1ZW50LXBhbGV0dGUsIGJsYWNrKTtcbiRuZXV0cmFsLWJsYWNrOiBtYXAtc2FmZS1nZXQoJGFxdWVudC1wYWxldHRlLCBuZXV0cmFsLWJsYWNrKTtcblxuJG5ldXRyYWwtMTogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgbmV1dHJhbC0xKTtcbiRuZXV0cmFsLTI6IG1hcC1zYWZlLWdldCgkYXF1ZW50LXBhbGV0dGUsIG5ldXRyYWwtMik7XG4kbmV1dHJhbC0zOiBtYXAtc2FmZS1nZXQoJGFxdWVudC1wYWxldHRlLCBuZXV0cmFsLTMpO1xuJG5ldXRyYWwtNDogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgbmV1dHJhbC00KTtcbiRuZXV0cmFsLTU6IG1hcC1zYWZlLWdldCgkYXF1ZW50LXBhbGV0dGUsIG5ldXRyYWwtNSk7XG4kbmV1dHJhbC02OiBtYXAtc2FmZS1nZXQoJGFxdWVudC1wYWxldHRlLCBuZXV0cmFsLTYpO1xuJG5ldXRyYWwtNzogbWFwLXNhZmUtZ2V0KCRhcXVlbnQtcGFsZXR0ZSwgbmV1dHJhbC03KTtcbiRuZXV0cmFsLTg6IG1hcC1zYWZlLWdldCgkYXF1ZW50LXBhbGV0dGUsIG5ldXRyYWwtOCk7XG5cbi8vIExheW91dCB3aWR0aHNcbiR3aWR0aC1zdGFuZGFyZDogcmVtLWNhbGMoMTMwMCk7XG4kd2lkdGgtbmFycm93OiByZW0tY2FsYyg4NjYpO1xuXG5cbiRpbnRlcmlvci1ob3Jpem9udGFsLW1hcmdpbnM6IHJlbS1jYWxjKDk4KTtcblxuLy8gVmVydGljYWwgc3BhY2luZyBhcyBkZWZpbmVkIGhlcmU6IGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL0dwcU9oWlFFNWh3SXBIazBaTUZDb3UvQXF1ZW50LURlc2lnbi1MYW5ndWFnZT9ub2RlLWlkPTElM0ExM1xuLy8gVE9ETzogYWRkIG1vcmUgYXMgYXBwcm9wcmlhdGVcbiR2ZXJ0aWNhbC1zcGFjaW5nOiAoXG4gIC8vIGxhcmdlIDFcbiAgbGctMTogKFxuICAgIHNtYWxsOiByZW0tY2FsYyg3NSksXG4gICAgbWVkaXVtOiByZW0tY2FsYygxMjApLFxuICAgIGxhcmdlOiByZW0tY2FsYygxODUpXG4gICksXG4gIC8vIGxhcmdlIDJcbiAgbGctMjogKFxuICAgIHNtYWxsOiByZW0tY2FsYyg1MCksXG4gICAgbWVkaXVtOiByZW0tY2FsYyg3NSksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDEyMClcbiAgKSxcbiAgbGctMzogKFxuICAgIG1lZGl1bTogcmVtLWNhbGMoNzUpLFxuICAgIGxhcmdlOiByZW0tY2FsYygxMDApXG4gICksXG4gIC8vIG1lZGl1bSAxXG4gIG1kLTE6IChcbiAgICBzbWFsbDogcmVtLWNhbGMoNzUpLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoNzUpLFxuICAgIGxhcmdlOiByZW0tY2FsYygxMDApXG4gICksXG4gIC8vIG1lZGl1bSAyXG4gIG1kLTI6IChcbiAgICBzbWFsbDogcmVtLWNhbGMoNTApLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoNjApLFxuICAgIGxhcmdlOiByZW0tY2FsYyg3NSlcbiAgKSxcbiAgLy8gbWVkaXVtIDNcbiAgbWQtMzogKFxuICAgIHNtYWxsOiByZW0tY2FsYyg1MCksXG4gICAgbWVkaXVtOiByZW0tY2FsYyg1MCksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDYwKVxuICApLFxuICAvLyBtZWRpdW0gNFxuICBtZC00OiAoXG4gICAgc21hbGw6IHJlbS1jYWxjKDM1KSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDM1KSxcbiAgICBsYXJnZTogcmVtLWNhbGMoNTApXG4gICksXG4gIC8vIHNtYWxsIDFcbiAgc20tMTogKFxuICAgIHNtYWxsOiByZW0tY2FsYygzMCksXG4gICAgbWVkaXVtOiByZW0tY2FsYyg0MCksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDQwKVxuICApLFxuICAvLyBzbWFsbCAyXG4gIHNtLTI6IChcbiAgICBzbWFsbDogcmVtLWNhbGMoMzUpLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMzUpLFxuICAgIGxhcmdlOiByZW0tY2FsYygzNSlcbiAgKSxcbiAgLy8gc21hbGwgM1xuICBzbS0zOiAoXG4gICAgc21hbGw6IHJlbS1jYWxjKDMwKVxuICApLFxuICAvLyBzbWFsbCA0XG4gIHNtLTQ6IChcbiAgICBzbWFsbDogcmVtLWNhbGMoMjUpXG4gICksXG4pO1xuXG4vLyBUT0RPOiB0aGlzIG1pZ2h0IGJlIGRlcHJlY2F0ZWQuXG4vLyBXaWRlIGd1dHRlcnMgZm9yIGdyaWQgKHVzZSBgLmdyaWQtbWFyZ2luLXdpZGVgIGluc3RlYWQgb2YgYC5ncmlkLW1hcmdpbi14YClcbiR3aWRlLWd1dHRlcnM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDcwcHhcbik7XG5cbi8vIFRPRE86IHRoaXMgbWlnaHQgYmUgZGVwcmVjYXRlZC5cbi8vIFVsdHJhIHdpZGUgZ3V0dGVycyBmb3IgZ3JpZCAodXNlIGAuZ3JpZC1tYXJnaW4tdWx0cmEtd2lkZWAgaW5zdGVhZCBvZiBgLmdyaWQtbWFyZ2luLXhgKVxuJHVsdHJhLXdpZGUtZ3V0dGVyczogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA3MHB4LFxuICBsYXJnZTogMTAwcHhcbik7XG5cbi8vIEZvcm0gc2V0dGluZ3NcbiRwbGFjZWhvbGRlci1jb2xvcjogJG5ldXRyYWwtNDtcbiRwbGFjZWhvbGRlci1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWVycm9yLWNvbG9yOiByZ2IoMTg2LCA0NiwgMjIpO1xuJGZvcm0tZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1maWVsZC1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiRmb3JtLWZpZWxkLWhlaWdodDogcmVtLWNhbGMoNTApO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsMCwwLDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWVcbiAgICAgIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgSGlEUEkgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMgZm9yIHJlc29sdXRpb25zLlxuLy8vIFZhbHVlcyBtdXN0IHJlcHJlc2VudCB0aGUgZGV2aWNlIHBpeGVscyAvIHdlYiBwaXhlbHMgcmF0aW9uIGFuZCBiZSB1bml0bGVzcyBvciBpbiBEUFBYLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXG4gIGhpZHBpLTE6IDEsXG4gIGhpZHBpLTEtNTogMS41LFxuICBoaWRwaS0yOiAyLFxuICByZXRpbmE6IDIsXG4gIGhpZHBpLTM6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gKDEvJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHRfbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0X251bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHRfbnVtYmVyKSB7XG4gICAgICAkbmV4dF9udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHRfbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kX2tleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZF9rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kX2tleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIFBhcnNlIHRoZSBnaXZlbiBgJGZyYWN0aW9uYCB0byBudW1lcmF0b3JzIGFuZCBkZW51bWVyYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHBhcnNlLiBJdCBjYW4gYmUgZm9ybWF0dGVkIGFzIGA1MCVgLCBgMSBvZiAyYCwgYDEvMmAgb3IgYDUwYCAobm8gZGVub21pbmF0b3Igd291bGQgYmUgcmV0dXJuZWQpLlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gTGlzdCBvZiBwYXJzZWQgdmFsdWVzIHdpdGggbnVtZXJhdG9yIGF0IGZpcnN0IHBvc2l0aW9uIGFuZCBkZW51bWVyYXRvciBhcyBzZWNvbmQuIFRoZXNlIHZhbHVlcyBtYXkgYmUgbnVsbC5cbkBmdW5jdGlvbiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pIHtcblxuICBAaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdudW1iZXInIHtcbiAgICAvLyBcIjUwJVwiXG4gICAgQGlmIHVuaXQoJGZyYWN0aW9uKSA9PSAnJScge1xuICAgICAgQHJldHVybiAoc3RyaXAtdW5pdCgkZnJhY3Rpb24pLCAxMDApO1xuICAgIH1cbiAgICBAZWxzZSBpZiAodW5pdCgkZnJhY3Rpb24pID09ICcnKSB7XG4gICAgICAvLyBcIjAuNVwiXG4gICAgICBAaWYgJGZyYWN0aW9uIDwgMSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiAqIDEwMCwgMTAwKTtcbiAgICAgIH1cbiAgICAgIC8vIFwiNTBcIlxuICAgICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24sIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbGlzdCcge1xuICAgIC8vIFwiNTAgb2YgMTAwXCIsIFwiNTAvMTAwXCIuLi5cbiAgICBAaWYgbGVuZ3RoKCRmcmFjdGlvbikgPT0gM1xuICAgICAgYW5kIHR5cGUtb2YobnRoKCRmcmFjdGlvbiwgMSkgPT0gJ251bWJlcicpXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkcGFyc2VkLW5vbWluYXRvciAvICRwYXJzZWQtZGVub21pbmF0b3IpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgbGlzdCBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgKHdpdGhvdXQgcXVvdGVzKSB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkY29sdW1ucywgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW4tY291bnQpO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJhc2UtZ3JpZC1jbGFzc2VzIHtcblxuICAvLyBHcmlkIENvbnRhaW5lclxuICAuZ3JpZC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyO1xuXG4gICAgJi5mbHVpZCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG5cbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSwgMCk7XG4gICAgfVxuICB9XG5cbiAgLy8gQmFzZSBncmlkIHN0eWxlc1xuICAuZ3JpZC14IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkO1xuICB9XG5cbiAgLmNlbGwge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwoZnVsbCwgJGd1dHRlci10eXBlOiBub25lKTtcblxuICAgICYuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoYXV0byk7XG4gICAgfVxuXG4gICAgJi5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gIH1cbiAgLmdyaWQteCB7XG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICB9XG4gIH1cblxuICAvLyBBdXRvIHdpZHRoXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyAmIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMDI0NFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAuZ3JpZC14IHtcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIlxuICAgICAgfVxuICAgICAgI3skc3RyfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc3BvbnNpdmUgXCJzaHJpbmtcIiBtb2RpZmllclxuICAgICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstdmVydGljYWwtI3skLXpmLXNpemV9O1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIHdpZHRoIG1vZGlmaWVyc1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgICAgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuXG4gICAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRndXR0ZXItcG9zaXRpb246IHRvcCBib3R0b20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkbWFyZ2luLWdyaWQge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXModG9wIGJvdHRvbSwgdHJ1ZSwgJy5ncmlkLW1hcmdpbi15Jyk7XG4gIH1cblxufVxuXG5AbWl4aW4geHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkOiB0cnVlLCAkbWFyZ2luLWdyaWQ6IHRydWUpIHtcbiAgLy8gRnJhbWVkIGdyaWQgc3R5bGVzXG4gIC5ncmlkLWZyYW1lIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICB9XG5cbiAgLmNlbGwgLmdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICB9XG5cbiAgLmNlbGwtYmxvY2sge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2soKTtcbiAgfVxuXG4gIC5jZWxsLWJsb2NrLXkge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gIH1cblxuXG4gIC5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuXG4gICAgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWU7XG4gICAgfVxuXG4gICAgLmNlbGwgLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2sodHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICR2ZXJ0aWNhbC1ncmlkIHtcbiAgICAuZ3JpZC15IHtcbiAgICAgICYuZ3JpZC1mcmFtZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgICYuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgICAuY2VsbCB7XG4gICAgICAuZ3JpZC15LmdyaWQtZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICB9XG4gICAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KGZhbHNlKSB7XG4gICAgICAgIC5ncmlkLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICAgIC5ncmlkLWZyYW1lLmdyaWQtbWFyZ2luLXkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICRpbmNsdWRlLWJhc2U6IGZhbHNlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgLmdyaWQtbWFyZ2luLXkuI3skLXpmLXNpemV9LWdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUsIGZhbHNlLCAkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZpbmFsIGNsYXNzZXNcbkBtaXhpbiBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcyhcbiAgJGJhc2UtZ3JpZDogdHJ1ZSxcbiAgJG1hcmdpbi1ncmlkOiB0cnVlLFxuICAkcGFkZGluZy1ncmlkOiB0cnVlLFxuICAkYmxvY2stZ3JpZDogdHJ1ZSxcbiAgJGNvbGxhcHNlOiB0cnVlLFxuICAkb2Zmc2V0OiB0cnVlLFxuICAkdmVydGljYWwtZ3JpZDogdHJ1ZSxcbiAgJGZyYW1lLWdyaWQ6IHRydWVcbikge1xuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgQGlmKCRiYXNlLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1iYXNlLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gTWFyZ2luIGdyaWRcbiAgQGlmKCRtYXJnaW4tZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFBhZGRpbmcgZ3JpZFxuICBAaWYoJHBhZGRpbmctZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBCbG9jayBncmlkXG4gIEBpZigkYmxvY2stZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gQ29sbGFwc2UgZ3V0dGVyc1xuICBAaWYoJGNvbGxhcHNlKSB7XG4gICAgQGluY2x1ZGUgeHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICAvLyBPZmZzZXQgZ3V0dGVyc1xuICBAaWYoJG9mZnNldCkge1xuICAgIEBpbmNsdWRlIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGdyaWRcbiAgQGlmKCR2ZXJ0aWNhbC1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZCwgJHBhZGRpbmctZ3JpZCk7XG4gIH1cblxuICBAaWYgKCRmcmFtZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktZnJhbWUtZ3JpZC1jbGFzc2VzKCR2ZXJ0aWNhbC1ncmlkLCAkbWFyZ2luLWdyaWQpXG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGUgZ3V0dGVycyBmb3IgYSBjZWxsL2NvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgZWl0aGVyIG1hcmdpbiBvciBwYWRkaW5nLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbcmlnaHQgbGVmdF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVnYXRpdmUgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gYXBwbHkgdGhlIGd1dHRlciBhcyBhIG5lZ2F0aXZlIHZhbHVlLiBDb21tb25seSB1c2VkIGZvciBuZXN0ZWQgZ3JpZHMuXG5AbWl4aW4geHktZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG5lZ2F0aXZlOiBmYWxzZVxuKSB7XG4gICRvcGVyYXRvcjogaWYoJG5lZ2F0aXZlLCAnLScsICcnKTtcblxuICAvLyBJZiB3ZSBoYXZlIGRlY2xhcmVkIG5lZ2F0aXZlIGd1dHRlcnMsIGZvcmNlIHR5cGUgdG8gYG1hcmdpbi5cbiAgJGd1dHRlci10eXBlOiBpZigkbmVnYXRpdmUsICdtYXJnaW4nLCAkZ3V0dGVyLXR5cGUpO1xuXG4gIC8vIE91dHB1dCBvdXIgbWFyZ2luIGd1dHRlcnMuXG4gIEBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkZ3V0dGVycykge1xuICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSkgLyAyO1xuXG4gICAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgI3skZ3V0dGVyLXR5cGV9LSN7JHZhbHVlfTogdW5xdW90ZShcIiN7JG9wZXJhdG9yfSN7JGd1dHRlcn1cIik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbnVtYmVyJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXJzKSAvIDI7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gUmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgQ1NTIGZsZXggdmFsdWUgZm9yIGEgY2VsbCBiYXNlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gVGhlIGNlbGwgZmxleCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuIDEgMSAwcHg7XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdncm93Jykge1xuICAgIEByZXR1cm4gMSAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgKCRzaXplID09ICdzaHJpbmsnIG9yICRzaXplID09ICdmdWxsJyBvciB6Zi1pcy1mcmFjdGlvbigkc2l6ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiB0cnVlKSkge1xuICAgIEByZXR1cm4gMCAwIGF1dG87XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBzaXplIG9mIGEgY2VsbCBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAgYCRndXR0ZXJzYC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxNYXB9IFRoZSBjZWxsIGd1dHRlciBzaXplIG9yIHRoZSByZXNwb25zaXZlIGd1dHRlcnMgbWFwLlxuQGZ1bmN0aW9uIHh5LWNlbGwtZ3V0dGVycyhcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gIC8vIEZvciBgYXV0b2AsIHJldHVybnMgdGhlIHJlc3BvbnNpdmUgbWFwIGAkZ3V0dGVyc2AuXG4gIEBpZiAoJGJyZWFrcG9pbnQgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAkZ3V0dGVycztcbiAgfVxuXG4gIC8vIFVzZSB0aGUgY29udGV4dHVhbCBicmVha3BvaW50IGJ5IGRlZmF1bHQuXG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50KTtcblxuICBAaWYgKCRicmVha3BvaW50KSB7XG4gICAgQHJldHVybiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXplcm8tYnJlYWtwb2ludCkgb3IgMDtcbiAgfVxufVxuXG4vLy8gUmV0dXJucyB0aGUgcGVyY2VudGFnZSBzaXplIG9mIGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRzaXplIFskZ3JpZC1jb2x1bW5zXSAtIFNpemUgdG8gbWFrZSB0aGUgY2VsbC4gWW91IGNhbiBwYXNzIGEgdmFsdWUgaW4gbXVsdGlwbGUgZm9ybWF0cywgc3VjaCBhcyBgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8zYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFNpemUgb2YgdGhlIGNlbGwgKGluIHBlcmNlbnQpLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6ICRncmlkLWNvbHVtbnNcbikge1xuICBAcmV0dXJuIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoJHNpemUsICRkZW5vbWluYXRvcjogJGdyaWQtY29sdW1ucyk7XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgZm9yIGEgY2VsbCBzaXplLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgIG9yIGFueSBmcmFjdGlvbiBsaWtlIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCByZXR1cm5zIGEgbWFwIG9mIHNpemVzIGFkYXB0ZWQgdG8gcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfFN0cmluZ3xNYXB9IFRoZSBjZWxsIHNpemluZyBwcm9wZXJ0eSB2YWx1ZSwgb3IgYSByZXNwb25zaXZlIG1hcCBvZiB0aGVtLlxuQGZ1bmN0aW9uIHh5LWNlbGwtc2l6ZS1jc3MoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRtYXJnaW4tZ3V0dGVyOiAwO1xuXG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nIG9yICRzaXplID09ICdzaHJpbmsnKSB7XG4gICAgQHJldHVybiBhdXRvO1xuICB9XG5cbiAgLy8gRm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMsIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRtYXJnaW4tZ3V0dGVyOiB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KTtcbiAgICBAaWYgKCRtYXJnaW4tZ3V0dGVyID09IG51bGwpIHtcbiAgICAgIEBlcnJvciAneHktY2VsbC1zaXplOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIHNpemUgKG51bWJlcilcbiAgJHNpemUtcmF3OiBpZigkc2l6ZSA9PSAnZnVsbCcsIDEwMCUsIHh5LWNlbGwtc2l6ZSgkc2l6ZSkpO1xuXG4gIC8vIENhbGN1bGF0ZSB0aGUgY2VsbCBDU1Mgc2l6ZSBpbmNsdWRpbmcgZ3V0dGVycyAoc3RyaW5nKVxuICAvLyBJZiB0aGUgY2VsbCBoYXMgcmVzcG9uc2l2ZSBtYXJnaW4gZ3V0dGVycywgcmV0dXJuIGEgcmVzcG9uc2l2ZSBtYXAgb2Ygc2l6ZXMuXG4gIEBpZiB0eXBlLW9mKCRtYXJnaW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiAoKTtcblxuICAgIEBlYWNoICRicCwgJG1nIGluICRtYXJnaW4tZ3V0dGVyIHtcbiAgICAgICRzaXplLWNzczogaWYoJG1nID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtZyl9KSk7XG4gICAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6IG1hcC1tZXJnZSgkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXMsICgkYnA6ICRzaXplLWNzcykpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJHJlc3BvbnNpdmUtY3NzLXNpemVzO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIGEgc2luZ2xlIENTUyBzaXplLlxuICBAZWxzZSB7XG4gICAgJGNzcy1zaXplOiBpZigkbWFyZ2luLWd1dHRlciA9PSAwLCAkc2l6ZS1yYXcsIGNhbGMoI3skc2l6ZS1yYXd9IC0gI3tyZW0tY2FsYygkbWFyZ2luLWd1dHRlcil9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMHB4O1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG59XG5cbi8vLyBSZXNldHMgYSBjZWxscyB3aWR0aCAob3IgaGVpZ2h0IGlmIHZlcnRpY2FsIGlzIHRydWUpIGFzIHdlbGwgYXMgc3RyaXBzIGl0cyBndXR0ZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtcmVzZXQoJHZlcnRpY2FsOiB0cnVlKSB7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcbiAgI3skZGlyZWN0aW9ufTogYXV0bztcbiAgbWF4LSN7JGRpcmVjdGlvbn06IG5vbmU7XG59XG5cbi8vLyBTZXRzIHNpemluZyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEd1dHRlcnMtcmVsYXRlZCBhcmd1bWVudHMgYXJlIHJlcXVpcmVkIGZvciBjZWxscyB3aXRoIG1hcmdpbiBndXR0ZXJzIChieSBkZWZhdWx0KSBhcyB0aGUgZ3V0dGVyIGlzIGluY2x1ZGVkIGluIHRoZSB3aWR0aC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHNpemVzIGFkYXB0ZWQgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbkBtaXhpbiB4eS1jZWxsLXNpemUoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRzaXplczogeHktY2VsbC1zaXplLWNzcygkc2l6ZSwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGJyZWFrcG9pbnQpO1xuICAkZGlyZWN0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgaGVpZ2h0LCB3aWR0aCk7XG5cbiAgQGlmICh0eXBlLW9mKCRzaXplcykgPT0gJ21hcCcpIHtcbiAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZShhdXRvLCAkc2l6ZXMpIHtcbiAgICAgICN7JGRpcmVjdGlvbn06ICQtemYtYnAtdmFsdWU7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAjeyRkaXJlY3Rpb259OiAkc2l6ZXM7XG4gIH1cbn1cblxuLy8vIFNldHMgZ3V0dGVycyBwcm9wZXJ0aWVzIGZvciBjZWxscy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIERpcmVjdGlvbiBvZiB0aGUgZ3V0dGVycyB0byBvdXRwdXQuIFNlZSBgJGd1dHRlci1wb3NpdGlvbmAuXG5AbWl4aW4geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIC8vIEdldCB0aGUgZGVmYXVsdCBndXR0ZXIgcG9zaXRpb24gYWNjb3JkaW5nIHRvIGNlbGwgZGlyZWN0aW9uXG4gIEBpZigkZ3V0dGVyLXBvc2l0aW9uID09IG51bGwpIHtcbiAgICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG4gIH1cblxuICAvLyBHZXQgdGhlIGd1dHRlciB3aWR0aCBmb3IgdGhpcyBicmVha3BvaW50XG4gICRndXR0ZXItd2lkdGg6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICBAaWYgKCRndXR0ZXItd2lkdGggPT0gbnVsbCkge1xuICAgIEBlcnJvciAneHktY2VsbC1ndXR0ZXJzOiBubyBndXR0ZXJzIHdlcmUgZm91bmQgaW4gYCRndXR0ZXJzYCBmb3IgXCIkYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH1cIic7XG4gIH1cblxuICBAaWYgKCRndXR0ZXItdHlwZSBhbmQgJGd1dHRlci10eXBlICE9IG5vbmUpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXItd2lkdGgsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBjZWxsIGZvciB5b3VyIGdyaWQuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAgKDEwMCUgd2lkdGgpLCBgYXV0b2AgKHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlKSwgYHNocmlua2AgKHVzZSBvbmx5IHRoZSByZXF1aXJlZCBzcGFjZSkgb3IgYW55IGZyYWN0aW9uIChgNmAsIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC4uLikuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZ3V0dGVyLW91dHB1dCBbbnVsbF0gLSBbREVQUkVDQVRFRF0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgcHJvcGVybHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWNlbGwoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAvLyBEZWZhdWx0IGZvciAkZ3V0dGVyLW91dHB1dFxuICBAaWYgKCRndXR0ZXItb3V0cHV0ICE9IG51bGwpIHtcbiAgICBAd2FybiAneHktY2VsbDogJGd1dHRlci1vdXRwdXQgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuICAgIEBpZiAoJGd1dHRlci1vdXRwdXQgPT0gZmFsc2UpIHtcbiAgICAgICRvdXRwdXQ6IHNsLXJlbW92ZSgkb3V0cHV0LCBndXR0ZXJzKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGJhc2UpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKCRzaXplKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIHNpemUpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCwgJHZlcnRpY2FsKTtcbiAgfVxuICBAaWYgKGluZGV4KCRvdXRwdXQsIGd1dHRlcnMpKSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgc2l6ZWQgZ3JpZC4gVXNlZCB0byBnZW5lcmF0ZSBvdXIgZ3JpZCBjbGFzc2VzLlxuLy8vXG4vLy8gYHh5LWNlbGwtc3RhdGljKClgIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC5cbi8vLyBVc2UgYHh5LWNlbGwoKWAgaW5zdGVhZCB3aXRoIGAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKWAgdG8gbm90IGdlbmVyYXRlIHRoZSBjZWxsIGJhc2UuXG4vLy8gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCB2Ni42LjBcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLiBBbHdheXMgYHRydWVgIGZvciBtYXJnaW4gZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc3RhdGljKFxuICAkc2l6ZTogZnVsbCxcbiAgJGd1dHRlci1vdXRwdXQ6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludCxcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gIEB3YXJuICd4eS1jZWxsLXN0YXRpYygpIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIFwieHktY2VsbCgpXCIgaW5zdGVhZC4gU2VlIG1pZ3JhdGlvbiBub3RlcyBhdCBodHRwczovL2dpdC5pby9mb3VuZGF0aW9uLTYtNi0wJztcblxuICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAkZ3V0dGVyLXBvc2l0aW9uOiBpZigkdmVydGljYWwgPT0gdHJ1ZSwgdG9wIGJvdHRvbSwgbGVmdCByaWdodCk7XG5cbiAgJC1ndXR0ZXItb3V0cHV0OiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsIHRydWUsICRndXR0ZXItb3V0cHV0KTtcbiAgJC1ndXR0ZXItbWFyZ2luOiBpZigkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicsICRndXR0ZXIsIDApO1xuXG4gIEBpbmNsdWRlIC14eS1jZWxsLXByb3BlcnRpZXMoJHNpemUsICQtZ3V0dGVyLW1hcmdpbiwgJHZlcnRpY2FsKTtcbiAgQGlmICgkLWd1dHRlci1vdXRwdXQpIHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXIsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbik7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jZWxsJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW251bGxdIC0gW0RFUFJFQ0FURURdIFdoZXRoZXIgb3Igbm90IHRvIG91dHB1dCBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtudWxsXSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi4gQnkgZGVmYXVsdCBgcmlnaHQgbGVmdGAgZm9yIGhvcml6b250YWwgY2VsbHMgYW5kIGB0b3AgYm90dG9tYCBmb3IgdmVydGljYWwgY2VsbHMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBicmVha3BvaW50IHRvIHVzZSBmb3IgdGhlIGNlbGwgZ2VuZXJhdGlvbi4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBjb3JyZWN0bHkgb3RoZXJ3aXNlLlxuQG1peGluIHh5LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLW91dHB1dDogbnVsbCxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRvdXRwdXQ6IChiYXNlIHNpemUgZ3V0dGVycylcbikge1xuICAkc2l6ZTogcGVyY2VudGFnZSgxLyRuKTtcblxuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKCRzaXplLCAkZ3V0dGVyLW91dHB1dCwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCwgJG91dHB1dCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZXMgdGhlIGdyaWQgYSBjZWxscyB3aXRoaW4gaXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsuY2VsbF0gLSBUaGUgY2hpbGQgZWxlbWVudCB0byByZW1vdmUgdGhlIGd1dHRlciBmcm9tLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHJlbW92ZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW3JpZ2h0IGxlZnRdIC0gVGhlIHBvc2l0aW9ucyB0byByZW1vdmUgZ3V0dGVycyBmcm9tLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRtaW4tYnJlYWtwb2ludCBbJC16Zi16ZXJvLWJyZWFrcG9pbnRdIC0gTWluaW11bSBicmVha3BvaW50IGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBmb3Igd2hpY2ggdG8gY29sbGFwc2UgdGhlIGd1dHRlci5cbkBtaXhpbiB4eS1ncmlkLWNvbGxhcHNlKFxuICAkc2VsZWN0b3I6ICcuY2VsbCcsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbWluLWJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50XG4pIHtcbiAgLy8gRmlyc3QsIGxldHMgbmVnYXRlIGFueSBtYXJnaW5zIG9uIHRoZSB0b3AgbGV2ZWxcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbi1icmVha3BvaW50KSB7XG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICB9XG5cbiAgICAgID4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAgIG1hcmdpbi0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkZXhjbHVkZWQtYnBzOiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCRtaW4tYnJlYWtwb2ludCk7XG5cbiAgICAvLyBPdXRwdXQgbmV3IHdpZHRocyB0byBub3QgaW5jbHVkZSBndXR0ZXJzXG4gICAgQGVhY2ggJGJwIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmKHNsLWNvbnRhaW4oJGV4Y2x1ZGVkLWJwcywgJGJwKSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICAgICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gICAgICAgICAgICA+IC4jeyRicH0tI3skaX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLSN7JHZhbHVlfTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSB0byBvZmZzZXQgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcnxTdHJpbmd9IFRoZSBjZWxsIG9mZnNldCBwcm9wZXJ0eSB2YWx1ZS5cbkBmdW5jdGlvbiB4eS1jZWxsLW9mZnNldChcbiAgJG4sXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRzaXplOiB4eS1jZWxsLXNpemUoJG4pO1xuXG4gICRvZmZzZXQ6ICRzaXplO1xuICBAaWYgKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJykge1xuICAgICRndXR0ZXI6IHJlbS1jYWxjKHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpIC8gMik7XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0pKTtcbiAgfVxuICBAcmV0dXJuICRvZmZzZXQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodC9ib3R0b20gYnkgYCRuYCBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBTaXplIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYHh5LWNlbGwoKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIE1hcCBvZiBndXR0ZXJzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSBUaGUgdHlwZSBvZiBndXR0ZXIgdG8gdXNlLiBDYW4gYmUgYG1hcmdpbmAgb3IgYHBhZGRpbmdgXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJGJyZWFrcG9pbnQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgZm9yIGAkZ3V0dGVyc2AuIEl0IGNhbiBiZSBhIGJyZWFrcG9pbnQgbmFtZSwgbGlzdCBvZiBicmVha3BvaW50cyBvciBgYXV0b2AgZm9yIGFsbCBicmVha3BvaW50cy4gSWYgYSBsaXN0IGlzIGdpdmVuLCBtZWRpYS1xdWVyaWVzIHdpbGwgYmUgZ2VuZXJhdGVkLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgdGhlIG9mZnNldC4gSWYgc2V0IHRvIHRydWUgd2lsbCBhcHBseSBtYXJnaW4tdG9wIGluc3RlYWQuXG5AbWl4aW4geHktY2VsbC1vZmZzZXQoXG4gJG4sXG4gJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICRicmVha3BvaW50OiBudWxsLFxuICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vLyBNb2RpZmllcyBhIGdyaWQgdG8gZ2l2ZSBpdCBcImZyYW1lXCIgYmVoYXZpb3IgKG5vIG92ZXJmbG93LCBubyB3cmFwLCBzdHJldGNoIGJlaGF2aW9yKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkbmVzdGVkIFtmYWxzZV0gLSBJcyBncmlkIG5lc3RlZCBvciBub3QuIElmIG5lc3RlZCBpcyB0cnVlIHRoaXMgc2V0cyB0aGUgZnJhbWUgdG8gMTAwJSBoZWlnaHQsIG90aGVyd2lzZSB3aWxsIGJlIDEwMHZoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgW251bGxdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGluY2x1ZGUtYmFzZSBbdHJ1ZV0gLSBJbmNsdWRlIHRoZSBiYXNlIHN0eWxlcyB0aGF0IGRvbid0IHZhcnkgcGVyIGJyZWFrcG9pbnQuXG5AbWl4aW4geHktZ3JpZC1mcmFtZShcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG5lc3RlZDogZmFsc2UsXG4gICRndXR0ZXJzOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJGluY2x1ZGUtYmFzZTogdHJ1ZVxuKSB7XG5cbiAgQGlmICRpbmNsdWRlLWJhc2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgQGlmICRicmVha3BvaW50ID09IG51bGwgYW5kIHR5cGUtb2YoJGd1dHRlcnMpID09ICdtYXAnIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSgkdmVydGljYWwsICRuZXN0ZWQsICRndXR0ZXJzLCAkLXpmLXNpemUsIGZhbHNlKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIEdldCBvdXIgZ3V0dGVycyBpZiBhcHBsaWNhYmxlXG4gICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICRicmVha3BvaW50KTtcblxuICAgIC8vIElmIHdlIGhhdmUgYSBndXR0ZXIsIGFkZCBpdCB0byB0aGUgd2lkdGgvaGVpZ2h0XG4gICAgQGlmICRndXR0ZXIge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHVuaXR9ICsgI3skZ3V0dGVyfSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHVuaXQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdncpO1xuICAgICAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+LTxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyBmb3IgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzdHlsZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vICRoZWFkZXItc3R5bGVzIG1hcCBpcyBidWlsdCBmcm9tICRoZWFkZXItc2l6ZXMgaW4gb3JkZXIgdG8gZW5zdXJlIGRvd253YXJkIGNvbXBhdGliaWxpdHlcbi8vIHdoZW4gJGhlYWRlci1zaXplcyBpcyBkZXByZWNpYXRlZCwgJGhlYWRlci1zdHlsZXMgbmVlZHMgdG8gZ2V0ICFkZWZhdWx0IHZhbHVlcyBsaWtlIHNldHRpbmdzLnNjc3NcbkBmdW5jdGlvbiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKSB7XG4gIEB3YXJuICdOb3RlLCB0aGF0ICRoZWFkZXItc2l6ZXMgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAkaGVhZGVyLXN0eWxlcy4gJGhlYWRlci1zaXplcyBzdGlsbCB3b3JrcywgYnV0IGl0IGlzIGdvaW5nIHRvIGJlIGRlcHJlY2lhdGVkLic7XG4gICRoZWFkZXItc3R5bGVzOiAoKTtcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgICRoZWFkZXItbWFwOiAoKTtcbiAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICRoZWFkZXItbWFwOiBtYXAtbWVyZ2UoJGhlYWRlci1tYXAsICgkaGVhZGVyOiAoJ2ZvbnQtc2l6ZSc6ICRmb250LXNpemUpKSk7XG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNvZGUtaW5saW5lYCBjb21wb25lbnQgYXMgZGVmYXVsdCBmb3IgYDxjb2RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBVc2UgdGhlIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY2l0ZS1ibG9jazogdHJ1ZTtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSwgLmgxLFxuICBoMiwgLmgyLFxuICBoMywgLmgzLFxuICBoNCwgLmg0LFxuICBoNSwgLmg1LFxuICBoNiwgLmg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0sIC4jeyRoZWFkZXJ9IHtcblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZnMpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZzKSk7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGgpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygkaGVhZGVyLWxpbmVoZWlnaHQsICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtdCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pKTtcbiAgICAgICAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbWIpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYikpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGhlYWRlci1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rc1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuXG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgfVxuXG4gIC8vIExpc3RzXG4gIHVsLFxuICBvbCxcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbi1ib3R0b207XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zXG4gIGxpIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBVbm9yZGVyZWQgbGlzdHNcbiAgdWwge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogJGxpc3Qtc3R5bGUtdHlwZTtcbiAgfVxuXG4gIC8vIE9yZGVyZWQgbGlzdHNcbiAgb2wge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gTmVzdGVkIHVub3JkZXJlZC9vcmRlcmVkIGxpc3RzXG4gIHVsLCBvbCB7XG4gICAgJiAmIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5pdGlvbiBsaXN0c1xuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LW1hcmdpbi1ib3R0b207XG5cbiAgICBkdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkZWZubGlzdC10ZXJtLXdlaWdodDtcbiAgICB9XG4gIH1cblxuICAvLyBCbG9ja3F1b3Rlc1xuICBibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgcGFkZGluZzogJGJsb2NrcXVvdGUtcGFkZGluZztcbiAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAmLCBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5saW5lIENpdGF0aW9uc1xuICBAaWYgKCRlbmFibGUtY2l0ZS1ibG9jayA9PSB0cnVlKSB7XG4gICAgY2l0ZSB7XG4gICAgICAvLyBFeHRlbmRpbmcgYSBjbGFzcyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAgICAvLyBUT0RPOiBCcmVhayB0aGUgdHlwb2dyYXBoeS1iYXNlL3R5cG9ncmFwaHktaGVscGVycyBzZXBhcmF0aW9uXG4gICAgICBAZXh0ZW5kIC5jaXRlLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciwgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmICgkZW5hYmxlLWNvZGUtaW5saW5lID09IHRydWUpIHtcbiAgICBjb2RlIHtcbiAgICAgIEBleHRlbmQgLmNvZGUtaW5saW5lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEtleXN0cm9rZXNcbiAga2JkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgICBjb2xvcjogJGtleXN0cm9rZS1jb2xvcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFBzZXVkbyBjb250ZW50IGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCcgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gdW5kZXIgdGhlIGAuY29kZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTogMS41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gY2l0ZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGNpdGUtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNpdGUtZm9udC1zaXplO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkY2l0ZS1wc2V1ZG8tY29udGVudDtcbiAgfVxufVxuXG4vLy8gQWRkIGJhc2ljIHN0eWxlcyBmb3IgYSBjb2RlIGhlbHBlci5cbi8vLyBTZWUgYGNvZGUtaW5saW5lYCBhbmQgYGNvZGUtYmxvY2tgIG1peGlucy5cbkBtaXhpbiBjb2RlLXN0eWxlIHtcbiAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbn1cblxuLy8vIE1ha2UgY29kZSBoZWxwZXIgZnJvbSB0aGUgYGNvZGUtc3R5bGVgIG1peGluIGlubGluZS5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1pbmxpbmVgXG5AbWl4aW4gY29kZS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBhIGJsb2NrLlxuLy8vIFVzZWQgdG8gZ2VuZXJhdGUgYC5jb2RlLWJsb2NrYFxuQG1peGluIGNvZGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgcGFkZGluZzogJGNvZGUtYmxvY2stcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGNvZGUtYmxvY2stbWFyZ2luLWJvdHRvbTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkc3ViaGVhZGVyLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRzdWJoZWFkZXItY29sb3I7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuXG4gIC5sZWFkIHtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxlYWQtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhIGxhcmdlIG51bWJlciB0byBkaXNwbGF5IGEgc3RhdGlzdGljXG4gIC5zdGF0IHtcbiAgICBmb250LXNpemU6ICRzdGF0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcmVtO1xuICAgIH1cbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgLy8gVXNlIHRvIHJlbW92ZSBudW1iZXJzIGZyb20gb3JkZXJlZCBsaXN0ICYgYnVsbGV0cyBmcm9tIHVub3JkZXJlZCBsaXN0XG4gICAgJi5uby1idWxsZXQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNpdGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNpdGUtYmxvY2s7XG4gIH1cblxuICAuY29kZS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1pbmxpbmU7XG4gIH1cblxuICAuY29kZS1ibG9jayB7XG4gICAgQGluY2x1ZGUgY29kZS1zdHlsZTtcbiAgICBAaW5jbHVkZSBjb2RlLWJsb2NrO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBJZiBgdHJ1ZWAsIGFsbCBlbGVtZW50cyB3aWxsIGhhdmUgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMgd2hlbiBwcmludGVkLCB0byBzYXZlIG9uIGluay5cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5cyBuZXh0IHRvIGFsbCBsaW5rcyB0aGVpciBcImhyZWZcIiB3aGVuIHByaW50ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC1ocmVmczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICAvLyBFbnN1cmUgYSBcImJsYWNrLW9uLXdoaXRlXCIgcHJpbnQgYnkgcmVtb3ZpbmcgYmFja2dyb3VuZHMsXG4gICAgICAvLyB1c2luZyBibGFjayB0ZXh0IGV2ZXJ5d2hlcmUgYW5kIGZvcmNpbmcgdGhlIGJyb3dzZXIgdG8gZWNvbm9taXplIGluay5cbiAgICAgIEBpZiAkcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGVjb25vbXk7XG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UsIHByZXZlbnQgYW55IGVjb25vbXkgYnkgdGhlIGJyb3dzZXIuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLWJ1dHRvbi1yYWRpdXM7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gIDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcblxuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG5cbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuIChPbmx5IG5lZWRlZCB3aGVuICRnbG9iYWwtZmxleGJveDogZmFsc2U7KVxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gRGlzYWJsZSBjbGVhcmZpeFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNYWtlIGJ1dHRvbnMgYm9uZGVkIHdpdGhvdXQgZ2FwIGJldHdlZW4gdGhlbS4gQm9yZGVycyBiZXR3ZWVuIGJ1dHRvbnMgYXJlIG1lcmdlZFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1uby1nYXBzKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogcmVtLWNhbGMoLSRib3JkZXItd2lkdGgpO1xuXG4gICAgKyAjeyRzZWxlY3Rvcn0ge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmcgWyRidXR0b25ncm91cC1zcGFjaW5nXSAtIFNwYWNpbmcgYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmcsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRzcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gT25lIGNoaWxkXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skc3BhY2luZ30pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDtcbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJGJhc2Utc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skYmFzZS1zZWxlY3Rvcn0ge1xuICAgICAgICAvLyBEbyBub3QgZ2VuZXJhdGUgYnV0dG9uIGJhc2Ugc3R5bGVzIGZvciB0aGUgZGVmYXVsdCBmaWxsaW5nXG4gICAgICAgIEBpZigkYnV0dG9uLWZpbGwgIT0gJGZpbGxpbmcpIHtcbiAgICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAkaW5kaXZpZHVhbC1zZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfS4jeyRuYW1lfScpO1xuXG4gICAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0sICN7JGluZGl2aWR1YWwtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5uby1nYXBzIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1uby1nYXBzO1xuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bS5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkY2FsbG91dC1mb250LWNvbG9yO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIHNpemUgdG8gdXNlIGFzIGRlZmF1bHRcbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1zaXplXG4vLy8gQHNlZSAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWxcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWxcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gU2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLiBVc2VkIHRvIGdlbmVyYXRlIHNpemluZyBtb2RpZmllcnMuXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuXG4vLy8gR2V0IHRoZSBzaXplIGFuZCBwb3NpdGlvbiBmb3IgYSBjbG9zZSBidXR0b24uIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIG51bWJlciwgdGhlIG51bWJlciBpcyByZXR1cm5lZC4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgY29uZmlnIG1hcCBhbmQgdGhlIG1hcCBoYXMgdGhlIGtleSBgJHNpemVgLCB0aGUgdmFsdWUgaXMgcmV0dXJuZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICR2YWx1ZSAtIEEgbnVtYmVyIG9yIG1hcCB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb3IgcG9zaXRpb24gdmFsdWUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gVGhlIHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbiB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBnaXZlbiBudW1iZXIgb3IgdGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gLXpmLWdldC1zaXplLXZhbCgkdmFsdWUsICRzaXplKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAvLyBJZiBpdCBpcywganVzdCByZXR1cm4gdGhlIG51bWJlclxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHNpemUgbmFtZSBleGlzdHMgaW4gdGhlIHZhbHVlIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkdmFsdWUsICRzaXplKSB7XG4gICAgLy8gSWYgaXQgZG9lcywgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWUsICRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgYSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbbWVkaXVtXSAtIFRoZSBzaXplIHRvIHVzZS4gU2V0IHRvIGBzbWFsbGAgdG8gY3JlYXRlIGEgc21hbGwgY2xvc2UgYnV0dG9uLiBUaGUgJ21lZGl1bScgdmFsdWVzIGRlZmluZWQgaW4gYCRjbG9zZWJ1dHRvbi0qYCB2YXJpYWJsZXMgd2lsbCBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gY2xvc2UtYnV0dG9uLXNpemUoJHNpemUpIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgI3skeH06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsLCAkc2l6ZSk7XG4gICN7JHl9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWwsICRzaXplKTtcbiAgZm9udC1zaXplOiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1zaXplLCAkc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0LCAkc2l6ZSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJGNsb3NlYnV0dG9uLXotaW5kZXg7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC8vIEdlbmVyYXRlIGEgcGxhY2Vob2xkZXIgYW5kIGEgY2xhc3MgZm9yIGVhY2ggc2l6ZVxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkY2xvc2VidXR0b24tc2l6ZSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZSgkbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0ZSB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcblxuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRsYWJlbC1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRsYWJlbC1jb2xvciwgJGxhYmVsLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzXG4vLy8gYW5kIG9wdGlvbmFsbHkgY3VycmVudCBwYWdlIG51bWJlci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBkaXNwbGF5IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIG9uIG1vYmlsZSBldmVuIGlmIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgZmFsc2VgLlxuLy8vIFRoaXMgcGFyYW1ldGVyIHdpbGwgb25seSBvdmVycmlkZSB0aGUgdmlzaWJpbGl0eSBzZXR0aW5nIG9mIHRoZSBjdXJyZW50IGl0ZW0gZm9yIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO2AsXG4vLy8gaXQgd2lsbCBub3QgYWZmZWN0IHRoZSBjdXJyZW50IHBhZ2UgbnVtYmVyIHZpc2liaWxpdHkgd2hlbiBgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zYCBpcyBzZXQgdG8gYHRydWVgLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwcmV2aW91cyBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM6ICdcXDAwQUInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG5leHQgYXJyb3cgd2hlbiBgJHBhZ2luYXRpb24tYXJyb3dzYCBpcyBgdHJ1ZWBcbi8vLyBAdHlwZSBTdHJpbmdcbiRwYWdpbmF0aW9uLWFycm93LW5leHQ6ICdcXDAwQkInICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCxcbiAgJGNvbG9yLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJGNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3Jcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIGNvbG9yOiAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJHBhZ2luYXRpb24tYXJyb3ctcHJldmlvdXM7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1uZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBvdXRsaW5lOiBub25lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbGVmdDogYXV0bzsvLyBhZGRlZCBmb3IgQTUwMFxuICAgIHJpZ2h0OiBhdXRvOy8vIGFkZGVkIGZvciBBNTAwXG4gICAgbWFyZ2luOiAwIGF1dG87Ly8gYWRkZWQgZm9yIEE1MDBcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuXG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIC8vIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuOyAvLyBjb21tZW50ZWQgb3V0IGZvciBBUVxuICAgICAgLy8gQWRkZWQgZm9yIEFRXG4gICAgICB3aWR0aDogJHJldmVhbC13aWR0aDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuXG4gICAgLy8gQ3VzdG9taXphdGlvbnMgZm9yIG1vZGFsIHBvcHVwIHRoaW5naWVcbiAgICAmLm1vZGFsLXBvcHVwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICB3aWR0aDogJHJldmVhbC13aWR0aDsvLyBkZWZhdWx0IHdpZHRoIGZvciBub24tdG91Y2ggaXMgNzUlIChpbiBzZXR0aW5ncylcbiAgICAgICAgJi5pcy1tb2JpbGUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyAvLyBkZWZhdWx0IHdpZHRoIGZvciB0b3VjaCBkZXZpY2VzIChvbiBzbWFsbCBzY3JlZW5zKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0Ym9keSxcbiAgdGZvb3QsXG4gIHRoZWFkIHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0Zm9vdCxcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG5cbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbiksICY6bnRoLWNoaWxkKGV2ZW4pIHRkLCAmOm50aC1jaGlsZChldmVuKSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSwgJjpudGgtY2hpbGQob2RkKSB0ZCwgJjpudGgtY2hpbGQob2RkKSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKCAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLCAkbmVzdDogZmFsc2UgKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgQGlmICRuZXN0IHtcbiAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgIEBhdC1yb290e1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gICBAaWYgJGhlYWRlcntcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdGQsXG4gIHRoLFxuICB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgRm9udFxuJHRhYi1pdGVtLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyLWJvdHRvbTogJG9yYW5nZTtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICAvLyBmbG9hdDogI3skZ2xvYmFsLWxlZnR9OyAvLyByZW1vdmVkIGZvciBBNTAwXG4gIHRleHQtYWxpZ246IGNlbnRlcjsvLyBBZGRlZCBmb3IgQTUwMFxuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFiLWl0ZW0tZm9udC13ZWlnaHQ7Ly8gQWRkZWQgZm9yIEE1MDBcbiAgICBmb250LWZhbWlseTogJHRhYi1pdGVtLWZvbnQtZmFtaWx5Oy8vIEFkZGVkIGZvciBBNTAwXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOy8vIEFkZGVkIGZvciBBNTAwXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOy8vIEFkZGVkIGZvciBBNTAwXG5cbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlOy8vIEFkZGVkIGZvciBBNTAwXG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICAgIC8vIEFkZGVkIGZvciBBNTAwXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDIwKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYygyMCkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDIwKSBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAwOyAvLyBNb2RpZmllZCBmb3IgQTUwMFxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0sXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAuYXJ0aWNsZXMtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cbiAgLy8gQWRkZWQgZm9yIEE1MDA6IFZlcnRpY2FsIHRhYnMgb24gc21hbGwgc2NyZWVuc1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XG4gICAgLnRhYnMuc21hbGwtdmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gICAgfVxuICB9XG4gIC8vIEFkZGVkIGZvciBBNTAwOiBGbGV4LWJveHkgaG9yaXpvbnRhbCB0YWJzXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAmLmxhcmdlLWZsZXgge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgLnRhYnMtdGl0bGUge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICA+IGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTcgMS41KTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygxKTtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmlzLWFjdGl2ZSA+IHtcbiAgICAgICAgICBhLFxuICAgICAgICAgIGE6Zm9jdXMsXG4gICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygyKSBzb2xpZCAkcHJpbWFyeS1vcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkZWQgZm9yIEE1MDBcbiAgLnRhYnMge1xuICAgID4gLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmV1dHJhbC00O1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHByaW1hcnktb3JhbmdlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoNCkgc29saWQgJHByaW1hcnktb3JhbmdlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMSk7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmlzLWFjdGl2ZSA+IHtcbiAgICAgIGEsXG4gICAgICBhOmZvY3VzLFxuICAgICAgYTpob3ZlcixcbiAgICAgIGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoNCkgc29saWQgJHByaW1hcnktb3JhbmdlO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRnVsbCB3aWR0aCB1bmRlcmxpbmUgYXJvdW5kIENvbnRhY3QgVXMgVGFic1xuICAudGFicy13cmFwcGVyIHtcbiAgICAudGFicyB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkbmV1dHJhbC02O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoLTUpO1xuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBibHVlIHNvbGlkIDJweDtcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pe1xuICAkLXpmLWZsZXgtanVzdGlmeTogKFxuICAgICdsZWZ0JzogaWYoJHRleHQtZGlyZWN0aW9uID09IHJ0bCwgZmxleC1lbmQsIGZsZXgtc3RhcnQpLFxuICAgICdyaWdodCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtc3RhcnQsIGZsZXgtZW5kKSxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApO1xuXG4gIEByZXR1cm4gJC16Zi1mbGV4LWp1c3RpZnk7XG59XG5cblxuJC16Zi1mbGV4LWFsaWduOiAoXG4gICd0b3AnOiBmbGV4LXN0YXJ0LFxuICAnYm90dG9tJzogZmxleC1lbmQsXG4gICdtaWRkbGUnOiBjZW50ZXIsXG4gICdzdHJldGNoJzogc3RyZXRjaCxcbik7XG5cbiQtemYtZmxleC1kaXJlY3Rpb246IChcbiAgJ3Jvdyc6IHJvdyxcbiAgJ3Jvdy1yZXZlcnNlJzogcm93LXJldmVyc2UsXG4gICdjb2x1bW4nOiBjb2x1bW4sXG4gICdjb2x1bW4tcmV2ZXJzZSc6IGNvbHVtbi1yZXZlcnNlLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgdmVydGljYWwgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nO1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG5cbi8vLyBDaGFuZ2UgZmxleC1kaXJlY3Rpb25cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW3Jvd10gLSBGbGV4IGRpcmVjdGlvbiB0byB1c2UuIENhbiBiZVxuLy8vICAgLSByb3cgKGRlZmF1bHQpOiBzYW1lIGFzIHRleHQgZGlyZWN0aW9uXG4vLy8gICAtIHJvdy1yZXZlcnNlOiBvcHBvc2l0ZSB0byB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSBjb2x1bW46IHNhbWUgYXMgcm93IGJ1dCB0b3AgdG8gYm90dG9tXG4vLy8gICAtIGNvbHVtbi1yZXZlcnNlOiBzYW1lIGFzIHJvdy1yZXZlcnNlIHRvcCB0byBib3R0b21cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHV0aWxpdGllc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgVmFsdWUgZm9yIGB0ZXh0LW92ZXJmbG93YCB2YXJpYWJsZVxuLy8vIEB0eXBlIFN0cmluZ1xuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhZGVmYXVsdDtcblxuLy8vIEltYWdlIFJlcGxhY2VtZW50IHV0aWxpdHkuIGB0ZXh0LWhpZGVgXG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4vLy8gVHJ1bmNhdGluZyB0aGUgdGV4dCwgZWxpcHNpcyBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3ZlcmZsb3cgWyRwcm90b3R5cGUtdGV4dC1vdmVyZmxvd10gVGV4dCBUcnVuY2F0ZVxuQG1peGluIHRleHQtdHJ1bmNhdGUoXG4gICRvdmVyZmxvdzogJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XG4pIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgdGV4dC1vdmVyZmxvdzogJG92ZXJmbG93OyBcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gTm8gd3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LW5vd3JhcGBcbkBtaXhpbiB0ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLy8vIFdyYXBwaW5nIG9mIHRoZSB0ZXh0LiBgdGV4dC13cmFwYFxuQG1peGluIHRleHQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC11dGlsaXRpZXMge1xuICAudGV4dC1oaWRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LWhpZGU7XG4gIH1cblxuICAudGV4dC10cnVuY2F0ZSB7XG4gICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZTtcbiAgfVxuXG4gIC50ZXh0LW5vd3JhcCB7XG4gICAgQGluY2x1ZGUgdGV4dC1ub3dyYXA7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXdyYXA7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC1oaWRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC10cnVuY2F0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LW5vd3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC13cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvblxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgdGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LXRyYW5zZm9ybWF0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcbiAgbG93ZXJjYXNlLFxuICB1cHBlcmNhc2UsXG4gIGNhcGl0YWxpemVcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IFRyYW5zZm9ybWF0aW9uLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0cmFuc2Zvcm1hdGlvbiBbXSBUZXh0IFRyYW5zZm9ybWF0aW9uXG5AbWl4aW4gdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKSB7XG4gIHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtYXRpb24gIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAudGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICBcdEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkdHJhbnNmb3JtYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skdHJhbnNmb3JtYXRpb259IHtcbiAgXHRcdFx0ICAgICAgQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm0oJHRyYW5zZm9ybWF0aW9uKTtcbiAgXHRcdFx0ICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IGRlY29yYXRpb24gY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGB0ZXh0LWRlY29yYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IERlY29yYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVjb3JhdGlvbiBbXSBUZXh0IERlY29yYXRpb25cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkZGVjb3JhdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgQGVhY2ggJGRlY29yYXRpb24gaW4gJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICAgIC50ZXh0LSN7JGRlY29yYXRpb259IHtcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbik7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGRlY29yYXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZm9udC1zdHlsaW5nXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBmb250IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTGV0dGVyIHNwYWNpbmcgZm9yIGAuZm9udC13aWRlYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtbm9ybWFsYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2VpZ2h0IGZvciBgLmZvbnQtYm9sZGAsIGRlZmF1bHRlZCB0byBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdpZGUgbGV0dGVyIHNwYWNpbmchXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZXR0ZXItc3BhY2luZyBbJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nXSBXaWRlIGxldHRlciBzcGFjaW5nIGZvciB0aGUgZm9udFxuQG1peGluIGZvbnQtd2lkZShcbiAgJGxldHRlci1zcGFjaW5nOiAkcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmdcbikge1xuICBsZXR0ZXItc3BhY2luZzogJGxldHRlci1zcGFjaW5nO1xufVxuXG4vLy8gRm9udCBXZWlnaHQgTm9ybWFsLCBkZWZhdWx0IHZhbHVlIGNvbWluZyB0aHJvdWdoIGBnbG9iYWwtd2VpZ2h0LW5vcm1hbGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LW5vcm1hbF0gV2VpZ2h0IG9mIHRoZSBmb250IChub3JtYWwpXG5AbWl4aW4gZm9udC1ub3JtYWwoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ub3JtYWxcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgV2VpZ2h0IEJvbGQsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtYm9sZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbJHByb3RvdHlwZS1mb250LWJvbGRdIFdlaWdodCBvZiB0aGUgZm9udCAoYm9sZClcbkBtaXhpbiBmb250LWJvbGQoXG4gICR3ZWlnaHQ6ICRwcm90b3R5cGUtZm9udC1ib2xkXG4pIHtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbi8vLyBGb250IFN0eWxlIEl0YWxpY1xuQG1peGluIGZvbnQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1mb250LXN0eWxpbmcge1xuICAuZm9udC13aWRle1xuICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgfVxuXG4gIC5mb250LW5vcm1hbCB7XG4gICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gIH1cblxuICAuZm9udC1ib2xkIHtcbiAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIH1cblxuICAuZm9udC1pdGFsaWMge1xuICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mb250LXdpZGV7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXdpZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtbm9ybWFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtbm9ybWFsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mb250LWl0YWxpYyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWl0YWxpYztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBsaXN0IHN0eWxpbmcgdHlwZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgc3R5bGUtdHlwZS11bm9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbikgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLW9yZGVyZWRgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbikgIWRlZmF1bHQ7XG5cblxuLy8vIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtdW5vcmRlcmVkIFtdIFN0eWxlIHR5cGUgZm9yIHVub3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCkge1xuICBsaXN0LXN0eWxlLXR5cGU6ICRzdHlsZS10eXBlLXVub3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG4vLy8gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0cywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWRgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHlsZS10eXBlLW9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3Igb3JkZXJlZCBMaXN0c1xuQG1peGluIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtb3JkZXJlZCAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gbGlzdC11bm9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS11bm9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZCB7XG4gICAgdWwubGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgdWwuI3skc2l6ZX0tbGlzdC0jeyRzdHlsZS10eXBlLXVub3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1vcmRlcmVkIHtcbiAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgb2wubGlzdC0jeyRzdHlsZS10eXBlLW9yZGVyZWR9IHtcbiAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRzdHlsZS10eXBlLW9yZGVyZWQgaW4gJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBvbC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLW9yZGVyZWQoJHN0eWxlLXR5cGUtb3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGUge1xuICBAaW5jbHVkZSBsaXN0LXVub3JkZXJlZDtcbiAgQGluY2x1ZGUgbGlzdC1vcmRlcmVkO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1yb3VuZGVkXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciByb3VuZGVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXJhZGl1c2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG5cbi8vLyBSb3VuZGVkIHV0aWxpdHkgKGFsbCBjb3JuZXJzKTogQWRkcyByYWRpdXMgY29ybmVycyAoYWxsIGNvcm5lcnMpIHRvIGFuIGVsZW1lbnQgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhZGl1cyBbJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzXSBCb3JkZXIgcmFkaXVzIChhbGwgY29ybmVycylcbkBtaXhpbiBib3JkZXItcmFkaXVzKFxuICAkcmFkaXVzOiAkcHJvdG90eXBlLWJvcmRlci1yYWRpdXNcbikge1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG4vLy8gUm91bmRlZCBzcXVhcmUgdXRpbGl0eSBvciByZWN0YW5nbGUgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBSb3VuZHMgYWxsIGNvcm5lcnMgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0IHRvIG1ha2UgYSBwaWxsIHNoYXBlLlxuQG1peGluIGJvcmRlci1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkIHtcbiAgLnJvdW5kZWQge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuXG4gICAgLnN3aXRjaC1wYWRkbGUge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBGb3Igc3dpdGNoZXNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmFkaXVzIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yb3VuZGVkO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuI3skc2l6ZX0tcmFkaXVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXNoYWRvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc2hhZG93IHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3gtc2hhZG93YFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsMCwwLC4xNiksXG4gICAgICAgICAgICAgICAgICAgICAgIDAgMnB4IDEwcHggMCByZ2JhKDAsMCwwLC4xMikgIWRlZmF1bHQ7XG5cbi8vLyBTaGFkb3cgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJveCBzaGFkb3cgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2hhZG93IFskcHJvdG90eXBlLWJveC1zaGFkb3ddIEJveCBTaGFkb3cgb2YgYSBjb21wb25lbnRcbkBtaXhpbiBzaGFkb3coXG4gICRzaGFkb3c6ICRwcm90b3R5cGUtYm94LXNoYWRvd1xuKSB7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaGFkb3cge1xuICAuc2hhZG93IHtcbiAgICBAaW5jbHVkZSBzaGFkb3c7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2hhZG93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYXJyb3dcbi8vLy9cblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGFycm93YCBkaXJlY3Rpb25cbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiB0aGUgQXJyb3csIGAwLjQzNzVyZW1gIGJ5IGRlZmF1bHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcblxuLy8vIENvbG9yIG9mIHRoZSBBcnJvdywgYCRibGFja2AgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBDb2xvclxuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtYXJyb3cge1xuICBAZWFjaCAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbiBpbiAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnMge1xuICAgIC5hcnJvdy0jeyRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctc2l6ZSwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctY29sb3IsIFxuICAgICAgICAkcHJvdG90eXBlLWFycm93LWRpcmVjdGlvblxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtZGlzcGxheVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgZGlzcGxheSBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYGRpc3BsYXlgIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGlzcGxheSBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLWRpc3BsYXlgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtdIERpc3BsYXkgY2xhc3Nlc1xuQG1peGluIGRpc3BsYXkoJGRpc3BsYXkpIHtcbiAgZGlzcGxheTogJGRpc3BsYXkgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWRpc3BsYXkge1xuICBAZWFjaCAkZGlzcGxheSBpbiAkcHJvdG90eXBlLWRpc3BsYXkge1xuICAgIC5kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoJGRpc3BsYXkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LWRpc3BsYXktI3skZGlzcGxheX0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtcG9zaXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHBvc2l0aW9uIGhlbHBlcnNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHBvc2l0aW9uYCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKSAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIGZpeGVkIHBvc2l0aW9uaW5nXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NSAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uIGNsYXNzZXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtcG9zaXRpb25gLCB3aGVyZWFzIGFsbCB0aGUgb2Zmc2V0IHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wb3NpdGlvbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwb3NpdGlvbiBbXSBQb3NpdGlvbiBjbGFzc2VzLCBFaXRoZXIgYHN0YXRpY2AsIGByZWxhdGl2ZWAsIGBhYnNvbHV0ZWAgb3IgYGZpeGVkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFRvcCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHJpZ2h0IFtudWxsXSAtIFJpZ2h0IG9mZnNldFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYm90dG9tIFtudWxsXSAtIEJvdHRvbSBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gTGVmdCBvZmZzZXRcbkBtaXhpbiBwb3NpdGlvbihcbiAgJHBvc2l0aW9uLFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50O1xuICBAaWYgJHRvcCAhPSBudWxsIHtcbiAgICB0b3A6ICR0b3AgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICByaWdodDogJHJpZ2h0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkYm90dG9tICE9IG51bGwge1xuICAgIGJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGxlZnQgIT0gbnVsbCB7XG4gICAgbGVmdDogJGxlZnQgKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIHRvcCBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC10b3BgXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtdG9wKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAsIDAsIG51bGwsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuLy8vIFBvc2l0aW9uIEZpeGVkIG9uIGJvdHRvbSBjb3JuZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR6LWluZGV4IFskcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXhdIHotaW5kZXggZm9yIGBwb3NpdGlvbi1maXhlZC1ib3R0b21gXG5AbWl4aW4gcG9zaXRpb24tZml4ZWQtYm90dG9tKFxuICAkei1pbmRleDogJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XG4pIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwsIDAsIDAsIDApO1xuICB6LWluZGV4OiAkei1pbmRleDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXBvc2l0aW9uIHtcbiAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAucG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbi1maXhlZC10b3A7XG4gIH1cbiAgLnBvc2l0aW9uLWZpeGVkLWJvdHRvbSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICB9XG5cbiAgQGlmICgkcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgLy8gUG9zaXRpb246IFN0YXRpYywgUmVsYXRpdmUsIEZpeGVkLCBBYnNvbHV0ZVxuICAgICAgICBAZWFjaCAkcG9zaXRpb24gaW4gJHByb3RvdHlwZS1wb3NpdGlvbiB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbigkcG9zaXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBvc2l0aW9uOiBGaXhlZCBUb3AsIEZpeGVkIEJvdHRvbVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC10b3Age1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtYm90dG9tO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRoZXNlIGFyZSB1dGlsaXR5IGNsYXNzZXMgb3IgdHJ1dGhzIHRoYXQgc2hvdWxkIGFwcGx5IHRvIGV2ZXJ5IHNpbmdsZSBzaXRlIHVzaW5nIHRoaXMgY29tcG9uZW50XG5AbWl4aW4gYXF1ZW50LWdsb2JhbHMge1xuICAvLyBDbGVhcmZpeCB1dGlsaXR5IGNsYXNzZXNcbiAgLmNmLFxuICAuY2xlYXJmaXgsXG4gIC5ncm91cCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbiAgLy8gTWFpbiBjb250ZW50IHdyYXBwZXJcbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuIiwiLy8gTG9nbyBpcyB1c2VkIGluIHRoZSBuYXZpZ2F0aW9uIGFuZCB0aGUgZm9vdGVyXG5cbkBtaXhpbiBhcXVlbnQtbG9nbyB7XG4gIC8vIFRoZSBsb2dvIGFuZCBmb2N1cyB0cmVhdG1lbnRzIHRoZXJlb2ZcbiAgLmxvZ28gc3ZnIHtcbiAgICBmaWxsOiAkcHJpbWFyeS1vcmFuZ2U7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAyNTBtcyBlYXNlO1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBUT0RPOiBhZGQgc3VwcG9ydCBmb3IgOmZvY3VzLXZpc2libGUgdmlhIHBvbHlmaWxsPyBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXG4gICAgLy8gU2VlIGFkZGl0aW9uYWwgbm90ZXMgQCBodHRwczovL2Nzcy10cmlja3MuY29tL2tleWJvYXJkLW9ubHktZm9jdXMtc3R5bGVzL1xuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogcmVtLWNhbGMoMikgc29saWQgJGJsdWU7XG4gICAgICBvdXRsaW5lLW9mZnNldDogcmVtLWNhbGMoNSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQVEgUGFuZWwgVHdvIENvbHVtbiBzdmcgbG9nbyB0cmVhdG1lbnRcbiAgLnBhbmVsLXR3by1zdmctbG9nbyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA3NSU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gJHZhcmlhYmxlc1xuJG1haW4tbWVudS10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQsXG4gIG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbkBtaXhpbiBhcXVlbnQtbmF2aWdhdGlvbiB7XG4gIC8vIFNpdGUgSGVhZGVyXG4gIC5zaXRlLWhlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cbiAgLy8gKioqKioqKioqIFNoYXJlZCBNb2JpbGUvV2lkZXNjcmVlbiBOYXZpZ2F0aW9uIFNDU1NcbiAgLy8gVGhlIC50b3AtbmF2IGlzIHRoZSBlbGVtZW50IHJlY2VpdmluZyBkYXRhLXN0aWNreS1jb250YWluZXJcbiAgLnRvcC1uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTA7IC8vIHRvcCBuYXYgbmVlZHMgdG8gYmUgYWJvdmUgdGhlIGhlcm8gaW1hZ2VcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLy8gRW5zdXJlIHNuYXAgcGFuZWwgc3RpbGwgd29ya3MgKG5lZWRzIGFic29sdXRlbHkgcG9zaXRpb25lZCB0byBwcmV2ZW50IEpTIGZyb20gYnJlYWtpbmcpXG4gICAgJi5oYXMtc25hcC1wYW5lbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLy8gU2V0IG1heC13aWR0aCBvZiBuYXYgaGVyZVxuICAgIC5ncmlkLWNvbnRhaW5lcixcbiAgICAucm93IHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMTQwMCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIHVsLm1lbnUge1xuICAgICAgbGkge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJoZWFkaW5nIHtcbiAgICAgICAgICBjb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGUgbWVudSBiYXIgZ2V0cyB0aGUgYmcgY29sb3IgYXBwbGllZCwgYW5kIGlzIHRoZSBkYXRhLXN0aWNreSBlbGVtZW50XG4gIC5tZW51LWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktYmxhY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogJG1haW4tbWVudS10cmFuc2l0aW9uO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpOyAvLyBmb250LXNpemUgZm9yIGhhbWJ1cmdlciBtZW51XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgICAvLyBtZW51IGJhciBhY3RpdmUvaG92ZXIvc3RpY2t5IHN0YXRlc1xuICAgICYuYWN0aXZlLFxuICAgICYuaXMtYWN0aXZlLFxuICAgICYuaXMtc3R1Y2ssXG4gICAgJjpob3ZlciB7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWJsYWNrLCAwLjk1KTtcbiAgICAgIHRyYW5zaXRpb246ICRtYWluLW1lbnUtdHJhbnNpdGlvbjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcHJpbWFyeS1ibGFjaywgMC44KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhY3RpdmUvaG92ZXIvc3RpY2t5IHN0YXRlcyBmb3Igc25hcCBwYW5lbFxuICAgICYuaGFzLXNuYXAtcGFuZWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAmLmlzLXN0dWNrLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnktYmxhY2ssIDAuOTUpO1xuICAgICAgICB0cmFuc2l0aW9uOiAkbWFpbi1tZW51LXRyYW5zaXRpb247XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRwcmltYXJ5LWJsYWNrLCAwLjgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEhpZGUgbGlzdCBidWxsZXRzLCByZXNldCBtYXJnaW5zXG4gICAgb2wsXG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgICAvLyBMaW5rLCBmYXV4IGxpbmsgY29sb3JcbiAgICBhLFxuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gICAgICAvLyBBY3RpdmUvaG92ZXIgc3RhdGVzIGZvciBsaW5rc1xuICAgICAgJi5hY3RpdmUsXG4gICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGxpZ2h0LW9yYW5nZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgICAgLy8gYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgIH1cbiAgICAgIC8vIEFjdGl2ZS9ob3ZlciBzdGF0ZXMgZm9yIHdpZGVzY3JlZW4gbGlua3NcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgLmNvdW50cnktc2VsZWN0b3IsXG4gICAgICAgIC53aWRlc2NyZWVuLW1lbnUge1xuICAgICAgICAgIGE6bm90KC5idXR0b24pLFxuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIYW5kbGVzIGFjdGl2ZSBzdGF0ZSBmb3IgZHJvcGRvd24gbWVudSBwYXJlbnQgbGlua3Mgd2l0aCBubyBocmVmXG4gICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSxcbiAgICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgICAgICY6YWN0aXZlLFxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEJlaGF2aW9yIGZvciBmYXV4IGxpbmsgaXRlbXNcbiAgICBidXR0b24ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLy8gUGxlYXNlIGtlZXAgdGhpcyByZWxhdGl2ZSBmb3Igc2FuaXR5XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAvLyBTaXRlIHRpdGxlICh3cmFwcyBsb2dvKVxuICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLy8gbW9iaWxlIG5hdiBoYW1idXJnZXIgaWNvbiB0b2dnbGVzIChKUyBmdW5jdGlvbmFsaXR5KVxuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjUpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMykgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIDI1MG1zIGVhc2U7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOjphZnRlcixcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2UsIGJhY2tncm91bmQgMjUwbXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDMpIHNvbGlkICRwcmltYXJ5LW9yYW5nZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWJvdHRvbSAyNTBtcyBlYXNlO1xuXG4gICAgICAgICY6OmFmdGVyLFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1vcmFuZ2U7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBUaGUgY2xvc2UgaWNvblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzKTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZSwgYmFja2dyb3VuZCAyNTBtcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8qKioqKioqKioqKiogSGVyZSBiZSBkcmFnb25z4oCmXG4gICAgLy8gSW4gb3RoZXIgd29yZHMsIHRoaXMgaXMgcHJvYmFibHkgYSBtZXNzLlxuICAgIC8vIFRoaXMgbG9naWMgZ2V0cyB0aGUgJHRvcC1iYXItdW5zdGFjay1icmVha3BvaW50IGFuZCBmaW5kcyB0aGUgcHJldmlvdXMgYnJlYWtwb2ludCBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICAgICRwcmV2aW91cy1icmVha3BvaW50OiBtYXAtZ2V0LXByZXYoXG4gICAgICAkYnJlYWtwb2ludHMsXG4gICAgICAkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCxcbiAgICAgICRmYWxsYmFjazogc21hbGwsXG4gICAgICAkcmV0dXJuOiBrZXksXG4gICAgICAkZGVidWc6IGZhbHNlXG4gICAgKTtcbiAgICAvLyBCZWdpbiBtb2JpbGUgYWNjb3JkaW9uIG5hdiBtZW51XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgI3ticmVha3BvaW50KCRwcmV2aW91cy1icmVha3BvaW50IGRvd24pfSB7XG4gICAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMik7XG4gICAgICB9XG5cbiAgICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAudG91Y2hzY3JlZW4tbWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICB9XG4gICAgICAvLyBGb3VuZGF0aW9uIEFjY29yZGlvbiBNZW51IExvZ2ljXG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC5hY2NvcmRpb24ge1xuICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgcmdiYSgkZGFyay1ncmF5LCAwLjUpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTYgMCk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgICAgICAgICAkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLFxuICAgICAgICAgICAgICAgICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLFxuICAgICAgICAgICAgICAgIGRvd25cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVGh1cyBiZWdpbnMgdGhlIENTUyBmb3IgdGhlIHdpZGVzY3JlZW4gZHJvcGRvd24gbWVudVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIC8vIFNpdGUgdGl0bGUgKHdyYXBzIGxvZ28pIG9uIHdpZGVzY3JlZW5cbiAgICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYyg5KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgfVxuXG4gICAgICAud2lkZXNjcmVlbi1tZW51IHtcbiAgICAgICAgbWFyZ2luOiAxLjMzcmVtIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAubWVudSB7XG4gICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGEsXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5vLWpzICYgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1jZW50ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdpZGVzY3JlZW4gbGkgaXRlbXMgc3R5bGluZ1xuICAgICAgICBsaSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICAgICAgLmRvd24tYXJyb3cge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgICAgICAgICAgICRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSxcbiAgICAgICAgICAgICAgICAgICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsXG4gICAgICAgICAgICAgICAgICBkb3duXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuYmVsb3c6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcjtcbiAgICAgICAgICAgICAgICB0b3A6IDc1JTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuYWZ0ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDEwIDEwKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG5cbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAgICAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9wLWxldmVsLWl0ZW0ge1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XG5cbiAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoOSAxMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1YmhlYWRpbmctcGFyZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAuc3ViaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJoZWFkaW5nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBY3RpdmUgZHJvcGRvd25zXG4gICAgICAgIC5pcy1hY3RpdmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuXG4gICAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb3VudHJ5IFNlbGVjdG9yXG4gIC5jb3VudHJ5LXNlbGVjdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudG9wLWxldmVsLWl0ZW0sXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAvLyBsb2dpbiBsaW5rXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgLy8gY291bnRyeSBzZWxlY3RvclxuICAgICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtMztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMik7XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIFByZXZlbnRzIEZPVUMgb24gd2lkZXNjcmVlbiBkcm9wZG93biBtZW51XG4gIC5uby1qcyB7XG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAvLyBVdGlsaXR5IEJhbm5lciBTdHlsZXMgKHJlZHVjZSwgcmVkdWNlLCByZWR1Y2UpXG4gIC51dGlsaXR5LWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyIDMyIDEyIDEyKTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEsXG4gICAgYTphY3RpdmUsXG4gICAgYTpmb2N1cyxcbiAgICBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyIDYpO1xuICAgICAgdG9wOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBhcXVlbnQtYnV0dG9ucy1saW5rcyB7XG4gIC8vIHNldCB1cCB0aGUgYXJyb3ctbGluayBwbGFjZWhvbGRlciBmb3IgdXNlIGluIHRoZSBsaW5rcyBhbmQgYnV0dG9uc1xuICAlYXJyb3ctbGluayB7XG4gICAgQGluY2x1ZGUgYXJyb3ctbGluaztcbiAgfVxuXG4gIC8vIEJlZ2luIGdsb2JhbCBsaW5rc1xuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCBpbmhlcml0O1xuICAgIH1cblxuICAgIC8vIHdoaXRlIHRleHQgbGluayAoZm9yIHVzZSBvbiBiZy1vcmFuZ2UpXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgLy8gZGVmaW5lZCBpbiBgYmFja2dyb3VuZHNgIHBhcnRpYWxcbiAgICAgIEBpbmNsdWRlIHdoaXRlLXRleHQtbGluaztcbiAgICB9XG5cbiAgICAmLmFycm93Om5vdCguYnV0dG9uKSB7XG4gICAgICBAaW5jbHVkZSBtb25vc3BhY2UtZm9udDtcbiAgICAgIEBleHRlbmQgJWFycm93LWxpbms7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICAgQGluY2x1ZGUgaWNvbi1jb2xvcigkYmx1ZSk7XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmV2ZXJzZSB7XG4gICAgICAgIEBpbmNsdWRlIGFycm93LWxpbmsoJGRpcjogcmV2ZXJzZSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJi5kb3duIHtcbiAgICAgICAgQGluY2x1ZGUgYXJyb3ctbGluaygkZGlyOiBkb3duKTtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYudXAge1xuICAgICAgICBAaW5jbHVkZSBhcnJvdy1saW5rKCRkaXI6IHVwKTtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKlxuICAgIEZvciBsaW5rcyB0aGF0IGZpbGwgdGhlIGVudGlyZSBzcGFjZSBvZiB0aGUgcGFyZW50IGNvbnRhaW5lclxuICAgIChyZXF1aXJlcyByZWxhdGl2ZSBwb3NpdGlvbiBvbiBwYXJlbnQpXG4gICovXG4gIC5maWxsLXNwYWNlLWxpbmsge1xuICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IGluaXRpYWw7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAgRm9yIGxpbmtzIHRoYXQgd3JhcCB0ZXh0IGNvbnRlbnQgKHdlIHdhbnQgdG8gYXZvaWQgdW5kZXJsaW5lcyBvbiB0aGVzZSlcbiAgKi9cbiAgLmJsb2NrLWxpbmsge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgLy8gVHdlYWsgcGFnaW5hdGlvblxuICAucGFnaW5hdGlvbiB7XG4gICAgLy8gYWx3YXlzIHNob3cgbmV4dC9wcmV2L2ZpcnN0L2xhc3QgYnV0dG9ucyAoZm9yIG1vYmlsZSwgZXRjKVxuICAgIFtjbGFzc149J3BhZ2luYXRpb24tJ10ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbW9ub3NwYWNlLWZvbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiBpbml0aWFsO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBHbG9iYWwgQ1RBIGZvbnQgc3R5bGluZ1xuICBhLmN0YSxcbiAgLmN0YSBhIHtcbiAgICBAaW5jbHVkZSBtb25vc3BhY2UtZm9udDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYnV0dG9uIGlzIHdoaXRlIHRleHQgb24gYmx1ZVxuICBidXR0b24sXG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250OyAvLyBpbmNsdWRlcyBiYXNlIHN0eWxpbmcgZm9yIG1vbm9zcGFjZSBmb250XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNyAxOCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRibHVlO1xuICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IGJ1dHRvbiBmb3IgdXNlIG9uIGRhcmsgYmFja2dyb3VuZHMgKHByb2JhYmx5KVxuICAgICYuaG9sbG93IHtcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBhcnJvdyBzdHlsZSAodGhpcyBpcyBzaGFyZWQgYnkgdGhlIHBsYWluIHRleHQgYXJyb3cgbGluaylcbiAgICAmLmFycm93IHtcbiAgICAgIEBleHRlbmQgJWFycm93LWxpbms7XG4gICAgICBAaW5jbHVkZSBpY29uLWNvbG9yKCR3aGl0ZSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG5cbiAgICAgICY6Zm9jdXM6OmFmdGVyLFxuICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIFdoaXRlIGJ1dHRvblxuICAgICYud2hpdGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkd2hpdGU7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQSBzZWNvbmRhcnkgd2hpdGUgYnV0dG9uIChob2xsb3cpXG4gICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICR3aGl0ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgc2Vjb25kYXJ5IGJ1dHRvbiBzdHlsZSAoYmx1ZSBib3JkZXIpXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgY29sb3I6ICRibGFjaztcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyBidXR0b24gaXMgc2VsZi1leHBsYW5hdG9yeSwgYnV0IGhlcmUncyBzb21lIGRlc2NyaXB0aXZlIHRleHQgYW55d2F5LlxuICAgICYuc21hbGwge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIgMTgpXG4gICAgfVxuXG4gICAgLy8gVGhlIGNoZXZyb24gc3R5bGUgdXNlZCBpbiB0aGUgZGV0YWlsc1xuICAgICYuY2hldnJvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS1pY29uKCdjaGV2cm9uJyk7XG4gICAgICBAaW5jbHVkZSBpY29uLWNvbG9yKCRibHVlKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAyNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjUwbXMgZWFzZSwgYmFja2dyb3VuZCAyNTBtcyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDE5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucG9kY2FzdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0NSk7XG4gICAgICBAaW5jbHVkZSBnZW5lcmF0ZS1pY29uKCdwb2RjYXN0Jyk7XG4gICAgICBAaW5jbHVkZSBpY29uLWNvbG9yKCRibHVlKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b25zIHVzZWQgaW4gR3ltIEVudCBzaWRlYmFyIHNlYXJjaFxuICAub3Blbi1idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIENsb3NlIGJ1dHRvbiB1c2VkXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1ibGFjaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEgNiAwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC8vIEJ1dHRvbiBDbG91ZCAodXNlZCBvbiBpbmR1c3RyaWVzKVxuICAuYnV0dG9uLWNsb3VkIHtcbiAgICAuYnV0dG9uIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDdXN0b20gRGV0YWlsL1N1bW1hcnlcbiAgZGV0YWlscy5idXR0b25pc2gge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8vIFNwYW4gY2hpbGQgb2Ygc3VtbWFyeSB3aWxsIGJlY29tZSBhIGJ1dHRvblxuICAgICAgPiBzcGFuLmJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbi5jaGV2cm9uO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbb3Blbl0gc3VtbWFyeSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAvLyBUaGUgb3BlbiBzdGF0ZVxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGV4dGVuZCAuYnV0dG9uLmNoZXZyb24uYWN0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBtaXhpbiBtb25vc3BhY2UtZm9udCgkZm9udC1zaXplOiAxNCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbn1cblxuQG1peGluIGhlYWRlci1mb250LXNtYWxsKCkge1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbkBtaXhpbiBhcXVlbnQtYmFzZS10eXBvZ3JhcGh5IHtcbiAgc3Ryb25nLFxuICBiIHtcbiAgICAmLm5vcm1hbCB7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIH1cbiAgICAmLm1lZGl1bSB7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIEluIGFjdHVhbCB1c2UsIC5jYXBpdGFsaXplIHNob3VsZCBiZSByZXBsYWNlZCBieSAudGV4dC1jYXBpdGFsaXplXG4gIC5jYXBpdGFsaXplIHtcbiAgICBAZXh0ZW5kIC50ZXh0LWNhcGl0YWxpemU7XG4gIH1cblxuICAvLyBJbiBhY3R1YWwgdXNlLCAubGluZS1icmVhayBzaG91bGQgYmUgcmVwbGFjZWQgYnkgLmRpc3BsYXktYmxvY2tcbiAgLmxpbmUtYnJlYWsge1xuICAgIEBleHRlbmQgLmRpc3BsYXktYmxvY2s7XG4gIH1cblxuICAvLyBJbiBhY3R1YWwgdXNlLCAubm8td3JhcCBzaG91bGQgYmUgcmVwbGFjZWQgYnkgLnRleHQtbm93cmFwXG4gIC5uby13cmFwIHtcbiAgICBAZXh0ZW5kIC50ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC8vIEluIGFjdHVhbCB1c2UsIC50ZXh0LWlubGluZSBzaG91bGQgYmUgcmVwbGFjZWQgYnkgLmRpc3BsYXktaW5saW5lXG4gIC50ZXh0LWlubGluZSB7XG4gICAgQGV4dGVuZCAuZGlzcGxheS1pbmxpbmU7XG4gIH1cblxuICAvLyBUaW1lIEVsZW1lbnRcbiAgLmRhdGUsXG4gIHRpbWUge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICYuc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5sYWJlbCxcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAmLnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuXG4gIGNpdGUge1xuICAgIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LW9yYW5nZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogcmVtLWNhbGMoLTEpO1xuICAgIH1cbiAgfVxuXG4gIC5mb250LW5ldWUtaGFhcyB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gIH1cblxuICAuaGVhZGVyLWZvbnQtc21hbGwge1xuICAgIEBpbmNsdWRlIGhlYWRlci1mb250LXNtYWxsO1xuICB9XG5cbiAgLy8gQ29sb3IgVXRpbGl0eSBDbGFzc2VzXG4gIC50ZXh0LXNlY29uZGFyeSxcbiAgLnRleHQtb3JhbmdlIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgfVxuXG4gIC50ZXh0LW5ldXRyYWwtOCB7XG4gICAgY29sb3I6ICRuZXV0cmFsLTggIWltcG9ydGFudDsgLy8gbmVlZGVkIGltcG9ydGFudCB0byBvdmVycmlkZSBgLmJnLW5ldXRyYWwtYmxhY2sgcGAgcnVsZXNcbiAgfVxuXG4gIC50ZXh0LW5ldXRyYWwtYmxhY2sge1xuICAgIGNvbG9yOiAkbmV1dHJhbC1ibGFjaztcbiAgfVxuXG4gIHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYygyMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAubGVhZCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFRPRE86IHRoaXMgaXMgcHJvYmFibHkgZGVwcmVjYXRlZCBmb3IgdGhlIHJlZGVzaWduXG4vLyBNaXhpbiBiYXNlZCBvbiB3ZWIgZm9udC1zaXplIGRlZmF1bHRzIGhlcmU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0NTUy9mb250LXNpemVcbkBtaXhpbiBhYnNvbHV0ZS1mb250LXNpemVzIHtcbiAgJHNpemVzOihcbiAgICB4eC1zbWFsbCxcbiAgICB4LXNtYWxsLFxuICAgIHNtYWxsLFxuICAgIG1lZGl1bSxcbiAgICBsYXJnZSxcbiAgICB4LWxhcmdlLFxuICAgIHh4LWxhcmdlXG4gICk7XG5cbiAgLy8gVGhlc2UgYXJlIHRoZSBhYnNvbHV0ZSBmb250IHNpemVzXG4gIEBlYWNoICRzaXplIGluICRzaXplcyB7XG4gICAgJWZpeGVkLXNpemUtI3skc2l6ZX0sXG4gICAgLmZpeGVkLXNpemUtI3skc2l6ZX0ge1xuICAgICAgZm9udC1zaXplOiAjeyRzaXplfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZml4ZWQtc2l6ZS1zYW5zIHtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICBAZXh0ZW5kICVmaXhlZC1zaXplLXgtbGFyZ2U7XG59XG5cbkBtaXhpbiBudW1lcmFsLXBhbmVsKCRjb250ZW50OicwMScpIHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGNvbnRlbnQ6ICRjb250ZW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDExNSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVyZW07XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gbnVtZXJhbC1wYW5lbHMge1xuICAubnVtZXJhbC1wYW5lbCB7XG4gICAgQGluY2x1ZGUgbnVtZXJhbC1wYW5lbCgkY29udGVudDonMDEnKTtcbiAgICBAYXQtcm9vdCB7XG4gICAgICAubnVtZXJhbC1wYW5lbC0yIHtcbiAgICAgICAgQGluY2x1ZGUgbnVtZXJhbC1wYW5lbCgkY29udGVudDonMDInKTtcbiAgICAgIH1cbiAgICAgIC5udW1lcmFsLXBhbmVsLTMge1xuICAgICAgICBAaW5jbHVkZSBudW1lcmFsLXBhbmVsKCRjb250ZW50OicwMycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZ3ltbmFzaXVtLWVudGVycHJpc2Uge1xuICAvLyBTZWFyY2ggRmlsdGVycyBvbiBHeW1uYXNpdW0gRW50ZXJwcmlzZVxuICAuc2lkZWJhci1zZWFyY2gtZm9ybSB7XG4gICAgbGkge1xuICAgICAgJi5ib3JkZXJlZC10b3Age1xuICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMDtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBpbmhlcml0LWhlYWRpbmctc3R5bGUoaDYpO1xuICAgIH1cbiAgfVxuXG5cblxuICAvLyBSZXN1bHRzIGNvbnRlbnQgb24gR3ltbmFzaXVtIEVudGVycHJpc2VcbiAgLnF1aWNrLWJyb3dzZSB7XG4gICAgI3toZWFkaW5ncygpfSB7XG4gICAgICBAaW5jbHVkZSBpbmhlcml0LWhlYWRpbmctc3R5bGUoaDUpO1xuICAgIH1cbiAgfVxuXG4gIC5yZXN1bHRzLWNvbnRlbnQge1xuICAgICN7aGVhZGluZ3MoKX0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBUaGVzZSBjbGFzc2VzIGNvbWUgZnJvbSB0aGUgZ3ltIGVudCBjb3Vyc2UgY2F0YWxvZ1xuICAvLyBUaGV5IGFyZSBiYWNrZWQgaW50byB0aGUgY29udGVudCBpbXBvcnRlZCBmcm9tIHRoZSBnb29nbGUgc2hlZXRcbiAgLy8gT25seSBhcHBsaWVzIHRvIHAgdGFnc1xuICBwLnMtZGV0YWlscy1vYmplY3RpdmVzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC8vIEFwcGxpZXMgdG8gYm90aCBwIGFuZCBsaSB0YWdzXG4gIC5zLWRldGFpbHMtb2JqZWN0aXZlczpmaXJzdC1sZXR0ZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG59XG5cbkBtaXhpbiB0ZXh0LXV0aWxpdGllcyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLm1lZGl1bS10ZXh0LW5vd3JhcCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5zbWFsbC1kaXNwbGF5LWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYXF1ZW50LXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBhcXVlbnQtYmFzZS10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1mb250LXNpemVzO1xuICBAaW5jbHVkZSBudW1lcmFsLXBhbmVscztcbiAgQGluY2x1ZGUgZ3ltbmFzaXVtLWVudGVycHJpc2U7XG4gIEBpbmNsdWRlIHRleHQtdXRpbGl0aWVzO1xufVxuIiwiJGljb24tcGFsZXR0ZTogKFxuICBibHVlOiAkYmx1ZSxcbiAgb3JhbmdlOiAkb3JhbmdlLFxuICBncmF5OiAkZGFyay1ncmF5LFxuICB3aGl0ZTogJHdoaXRlLFxuICBibGFjazogJGJsYWNrLFxuKSAhZGVmYXVsdDtcblxuLy8gQWRkIGN1c3RvbSBvcmllbnRhdGlvbiAoYmVmb3JlL2FmdGVyKSBoZXJlXG4kaWNvbnMtY3VzdG9tLW9yaWVudGF0aW9uOiAoXG4gIC8vIGV4YW1wbGUtaWNvbjogJ2FmdGVyJyxcbik7XG4vLyBUaGVzZSBpY29ucyBhcmUgaW50ZW50aW9uYWxseSBza2lwcGVkIGZyb20gYXV0b21hdGljIHByb2Nlc3NpbmcsIGJlY2F1c2UgdGhleSBhcmUgbWFudWFsbHkgaW5jbHVkZWQgb24gYnV0dG9ucyBvciBsaXN0cywgZXRjLlxuJGljb25zLXNraXA6XG4gIGFycm93LWxpbmssXG4gIGNoZXZyb24sXG4gIGlsbHVzdHJhdGVkLWJ1bGxldCxcbiAgbWFnbmlmaWVyLFxuICBwb2RjYXN0LFxuICBzZWxlY3QtYXJyb3c7XG5cbkBtaXhpbiBtYXNrLWJhc2Uge1xuICBtYXNrLXNpemU6IGNvbnRhaW47XG4gIG1hc2stcG9zaXRpb246IDUwJSA1MCU7XG4gIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbiRkZWZhdWx0LWljb24tc2l6ZTogcmVtLWNhbGMoMjApO1xuXG5AbWl4aW4gaWNvbi1iYXNlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIEBpbmNsdWRlIG1hc2stYmFzZTtcblxuICBtaW4td2lkdGg6ICRkZWZhdWx0LWljb24tc2l6ZTtcbiAgbWluLWhlaWdodDogJGRlZmF1bHQtaWNvbi1zaXplO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zaXplLCAkZGVmYXVsdC1pY29uLXNpemUpO1xuICBtaW4td2lkdGg6IHZhcigtLXNpemUsICRkZWZhdWx0LWljb24tc2l6ZSk7XG5cbiAgJi5zbWFsbCB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTMpO1xuICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTMpO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGljb24teCB7XG4gICVpY29uLXgsXG4gIC54IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogJGRlZmF1bHQtaWNvbi1zaXplO1xuICAgIG1pbi1oZWlnaHQ6ICRkZWZhdWx0LWljb24tc2l6ZTtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1zaXplLCAkZGVmYXVsdC1pY29uLXNpemUpO1xuICAgIG1pbi13aWR0aDogdmFyKC0tc2l6ZSwgJGRlZmF1bHQtaWNvbi1zaXplKTtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBsZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgJi5ibGFjayB7XG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgICAmLndoaXRlIHtcbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiByZXZpc2VkLWljb25zIHtcbiAgLmljb24ge1xuICAgIEBpbmNsdWRlIGljb24tYmFzZTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGljb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgdXAgYW4gZW1wdHkgbGlzdFxuICAgICRpY29ucy10by1wcm9jZXNzOiAoKTtcblxuICAgIC8vIEZpbHRlciBvdXQgdW53YW50ZWQgaWNvbnNcbiAgICBAZWFjaCAkaWNvbi1uYW1lLCAkc3ZnIGluICRpY29uLW1hcCB7XG4gICAgICBAaWYgbm90IGluZGV4KCRpY29ucy1za2lwLCAkaWNvbi1uYW1lKSB7XG4gICAgICAgICRpY29ucy10by1wcm9jZXNzOiBhcHBlbmQoJGljb25zLXRvLXByb2Nlc3MsICcjeyRpY29uLW5hbWV9Jyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy9AZGVidWcgJ1tpY29uc10gU2tpcHBpbmcgaWNvbjogI3skaWNvbi1uYW1lfSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcHJvY2VzcyBlYWNoIHJlbWFpbmluZyBpY29uIGFjY29yZGluZyB0byB0aGUgb3JpZW50YXRpb24gZ3VpZGVsaW5lcyBzZXQgaW4gJGljb25zLWN1c3RvbS1vcmllbnRhdGlvblxuICAgIEBlYWNoICRpY29uLW5hbWUgaW4gJGljb25zLXRvLXByb2Nlc3Mge1xuICAgICAgQGF0LXJvb3QgLiN7JGljb24tbmFtZX0sICVpY29uLSN7JGljb24tbmFtZX0ge1xuICAgICAgICAvLyBpZiB3ZSBoYXZlIGV4Y2VwdGlvbnMgc2V0IGluICRpY29ucy1jdXN0b20tb3JpZW50YXRpb24sIHByb2Nlc3MgdGhvc2UsIG90aGVyd2lzZSBkbyB0aGUgZGVmYXVsdFxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRpY29ucy1jdXN0b20tb3JpZW50YXRpb24sICRpY29uLW5hbWUpKSB7XG4gICAgICAgICAgJG9yaWVudDogbWFwLWdldCgkaWNvbnMtY3VzdG9tLW9yaWVudGF0aW9uLCAkaWNvbi1uYW1lKTtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS1pY29uKCRpY29uLW5hbWU6ICcjeyRpY29uLW5hbWV9JywgJG9yaWVudGF0aW9uOiAkb3JpZW50LCAkdHlwZTogJ21hc2snKTtcbiAgICAgICAgICAvL0BkZWJ1ZyAnW2ljb25zXSBnZW5lcmF0aW5nIDojeyRvcmllbnR9IGljb246ICN7JGljb24tbmFtZX0nO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBAaW5jbHVkZSBnZW5lcmF0ZS1pY29uKCRpY29uLW5hbWU6ICcjeyRpY29uLW5hbWV9JywgJG9yaWVudGF0aW9uOiAnYXV0bycsICR0eXBlOiAnbWFzaycpO1xuICAgICAgICAgIC8vQGRlYnVnICdbaWNvbnNdIGdlbmVyYXRpbmcgc3RhbmRhcmQgaWNvbjogI3skaWNvbi1uYW1lfSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBpY29uLXg7XG59XG5cbi8vIEZvcm0gRmllbGQgSWNvbnNcbkBtaXhpbiBzY3JvbGwtdmVydGljYWwtYXJyb3dzIHtcbiAgY29udGVudDogJyc7XG4gIG1hc2staW1hZ2U6IGdlbmVyYXRlLWRhdGEtdXJsKHNlbGVjdC1hcnJvdyk7XG4gIEBpbmNsdWRlIG1hc2stYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIGhlaWdodDogcmVtLWNhbGMoMjApO1xuICB3aWR0aDogcmVtLWNhbGMoMjApO1xufVxuXG5AbWl4aW4gY2hlY2sge1xuICBjb250ZW50OiAnJztcbiAgQGV4dGVuZCAlaWNvbi1jaGVjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG59XG4iLCIvLyBGb3JtIERlZmF1bHRzXG5AbWl4aW4gZGVmYXVsdC1mb3JtLWZpZWxkLXN0eWxlcygpIHtcbiAgaGVpZ2h0OiAkZm9ybS1maWVsZC1oZWlnaHQ7XG4gIGJvcmRlci1ib3R0b206ICRpbnB1dC1ib3JkZXI7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItYm90dG9tOiAkaW5wdXQtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG5AbWl4aW4gYXF1ZW50LWZvcm1zIHtcbiAgZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBlcnJvclxuICBsYWJlbCB7XG5cbiAgICAmLmVycm9yIHtcbiAgICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTIwKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIGxhYmVsLmVycm9yIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XG4gICAgQGluY2x1ZGUgZGVmYXVsdC1mb3JtLWZpZWxkLXN0eWxlcygpO1xuICB9XG5cbiAgc2VsZWN0IHtcbiAgICAvLyBoaWRlcyBvdmVyZmxvd2luZyB0ZXh0XG4gICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApOyAvLyAoc2hvdWxkIG1hdGNoIHRoZSByaWdodCBwb3NpdGlvbiBvZiB0aGUgc2VsZWN0LWJveDo6YmVmb3JlIGJlbG93KVxuICAgIC8vIEhhY2sgZm9yIG9sZGVyIG1vemlsbGEgc3R5bGluZ1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIHNlbGVjdCNwYW5lbC1kcm9wZG93biB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg3MCk7XG4gIH1cblxuICAvLyBQb3NpdGlvbmluZyBvZiBtYWduaWZpZXIgdnMgcGxhY2Vob2xkZXIgdGV4dCBpbiBzb21lIHNlYXJjaCBmaWVsZHMgKGNvbnRhY3QgdXMvaW5kdXN0cmllcylcbiAgW3R5cGU9XCJ0ZXh0XCJdLmljb24uc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY0KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByZW0tY2FsYygxNSAxMCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYygyNSAyNSk7XG4gIH1cblxuICAvLyBHZW5lcmljLCByZXVzYWJsZSBwYWRkZWQgd3JhcHBlciAoZXhhbXBsZTogYXBwbHkgdGhpcyBjbGFzcyB0byAubGVhZC1mb3JtLXdyYXBwZXIgdmlhIExlYWQgRm9ybSBDdXN0b21pemF0aW9ucyBzdHJ1Y3R1cmUpXG4gIC5wYWRkZWQtZm9ybS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAyMCAzMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgNjAgNDApO1xuICAgIH1cbiAgfVxuICAvLyBMZWFkIGZvcm0gc3R5bGVzXG4gIC5sZWFkLWZvcm0td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNvbW1lbnRzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEzcmVtO1xuICAgIH1cblxuICAgIC8vIGhhY2sgdG8gZm9yY2UgdGhlIGRhbW5lZCBoMSBvbiB0aGUgbGVhZCBmb3JtIHRvIGFwcGVhciBhdCBhIHJlYXNvbmFibGUgc2l6ZS5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBpbmhlcml0LWhlYWRpbmctc3R5bGUoaDYpO1xuICAgIH1cblxuICAgIC5sZWFkLWZvcm0ge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgJlt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDI1KSBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGFsZW50IFBvb2wgRm9ybSBDdXN0b21pemF0aW9uc1xuICAgICAgJi50YWxlbnQtcG9vbCB7XG4gICAgICAgIC5wcmUtZm9ybS1jb250ZW50IHtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnJlc3BvbnNlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgICAgbmF2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsb2F0OiBub25lO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRhbGVudC1wYW5lbCB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICBmaWVsZHNldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICYgPiBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB9XG4gICAgICBbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBFbGltaW5hdGVzIGJyb3dzZXItc3BlY2lmaWMgb3V0bGluZSBmb3IgZm9jdXNlZCBlbGVtZW50cyAqL1xuICBpbnB1dCxcbiAgc2VsZWN0IHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG4gIC8qIFJlY2FwdGNoYSBzdHVmZiAqL1xuICAuZ3JlY2FwdGNoYS1sb2dvIHtcbiAgICBsZWZ0OiAtMTg2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4yNXMgZWFzZS1vdXQgIWltcG9ydGFudDtcbiAgfVxuICAuZ3JlY2FwdGNoYS1iYWRnZSB7XG4gICAgd2lkdGg6IDcwcHggIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlLW91dCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMjVzIGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMjU2cHggIWltcG9ydGFudDtcbiAgICAgIC5ncmVjYXB0Y2hhLWxvZ28ge1xuICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMjVzIGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmV2ZWFsIE1vZGFsIEZvcm0gRmllbGRcbiAgLm1vZGFsLWZpZWxkLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAubW9kYWwtZmxleC1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG4gICAgLm1vZGFsLWZpZWxkLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICN7bWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pIC8gMn07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAje21hcC1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKSAvIDJ9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGN1c3RvbSBjaGVja2JveCArIHJhZGlvIGJ1dHRvbnNcbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IHJlbS1jYWxjKC05OTk5KTtcblxuICAgICYgKyBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDcgMCA3IDM4KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgY29sb3I6ICRuZXV0cmFsLWJsYWNrO1xuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IDI1MG1zIGNvbG9yIGVhc2U7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoOCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtNjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIGRlZmF1bHQgaG92ZXIvYWN0aXZlL2ZvY3VzIHN0YXRlc1xuICAgICAgJjphY3RpdmUsICY6Zm9jdXMsICY6aG92ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLTQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmV1dHJhbC0yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpjaGVja2VkKSArIGxhYmVsOjphZnRlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9XG4gIH1cblxuICBbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxMik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTYpO1xuICAgICAgbGVmdDogcmVtLWNhbGMoOCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICAgIG1hc2staW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIj48cG9seWdvbiBwb2ludHM9XCI2LjEsMjEuMyAwLjUsMTMuNyAyLjMsMTIuNCA2LjksMTguNyAxOS40LDAuNyAyMS4yLDIgNy45LDIxLjNcIi8+PC9zdmc+Jyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIHdpZHRoOiByZW0tY2FsYygyMik7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgdG9wOiByZW0tY2FsYygxMSk7XG4gICAgbGVmdDogcmVtLWNhbGMoMyk7XG4gIH1cblxuICAuZmFuY3ktZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4ge1xuICAgICAgaW5wdXQgKyBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgcmVtLWNhbGMoNDApIHJlbS1jYWxjKDEzKSByZW0tY2FsYygxNSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtNjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTAwIDEwMFwiPjxwYXRoIGQ9XCJNNTAgNjguM2wyMy0zNi41SDI3bDIzIDM2LjV6XCIvPjwvc3ZnPicpO1xuICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgICY6bm90KDpjaGVja2VkKSArIGxhYmVsICsgZm9ybSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLTM7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICsgZm9ybSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtMztcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogY2FsYygzLjEyNXJlbSAtIHJlbS1jYWxjKDEpKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBtaW4td2lkdGg6IDE0LjM3NXJlbTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNC4zNzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFkZGVkIGNoZWNrYm94L3JhZGlvIGJ1dHRvbnMgKyBob3ZlciBzdGF0ZXNcbiAgICBmaWVsZHNldCB7XG4gICAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgW3R5cGU9XCJyYWRpb1wiXSB7XG5cbiAgICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxNSAxNSA1Mik7XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWN0aXZlLCAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG5ldXRyYWwtOCwgMC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMjMpO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygyMyk7XG4gICAgICB9XG5cbiAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoMTgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGJvcmRlci1kaXJlY3Rpb25zKCRwcmVmaXg6IGZhbHNlLCAkbGltaXQ6IGZhbHNlKSB7XG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gKHRvcCwgYm90dG9tKSB7XG4gICAgQGlmICgkcHJlZml4KSB7XG4gICAgICBAaWYgKCRsaW1pdCkge1xuICAgICAgICAlI3skcHJlZml4fS1vbmx5LWJvcmRlcmVkLSN7JGRpcmVjdGlvbn0sXG4gICAgICAgIC4jeyRwcmVmaXh9LW9ubHktYm9yZGVyZWQtI3skZGlyZWN0aW9ufSB7XG4gICAgICAgICAgYm9yZGVyLSN7JGRpcmVjdGlvbn06ICRoci1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAlI3skcHJlZml4fS1ib3JkZXJlZC0jeyRkaXJlY3Rpb259LFxuICAgICAgICAuI3skcHJlZml4fS1ib3JkZXJlZC0jeyRkaXJlY3Rpb259IHtcbiAgICAgICAgICBib3JkZXItI3skZGlyZWN0aW9ufTogJGhyLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICAlYm9yZGVyZWQtI3skZGlyZWN0aW9ufSxcbiAgICAgIC5ib3JkZXJlZC0jeyRkaXJlY3Rpb259IHtcbiAgICAgICAgYm9yZGVyLSN7JGRpcmVjdGlvbn06ICRoci1ib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBhcXVlbnQtYm9yZGVycyB7XG5cbiAgJGJvcmRlci1icmVha3BvaW50czogKFxuICAgIHNtYWxsOiBtYXAtc2FmZS1nZXQoJGJyZWFrcG9pbnRzLCBzbWFsbCksXG4gICAgbWVkaXVtOiBtYXAtc2FmZS1nZXQoJGJyZWFrcG9pbnRzLCBtZWRpdW0pLFxuICAgIGxhcmdlOiBtYXAtc2FmZS1nZXQoJGJyZWFrcG9pbnRzLCBsYXJnZSksXG4gICk7XG5cbiAgJWJvcmRlcmVkLFxuICAuYm9yZGVyZWQge1xuICAgIGJvcmRlcjogJGhyLWJvcmRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJvcmRlci1kaXJlY3Rpb25zO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGJvcmRlci1icmVha3BvaW50cyB7XG4gICAgQGlmICgkYnJlYWtwb2ludCAhPSAnc21hbGwnKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JGJyZWFrcG9pbnR9KSB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1kaXJlY3Rpb25zKCN7JGJyZWFrcG9pbnR9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRicmVha3BvaW50fSBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZGlyZWN0aW9ucygjeyRicmVha3BvaW50fSwgdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLnNpZGUtc2VwYXJhdG9yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmV1dHJhbC02O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBmbGV4OiAxO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cblxuICAgICYlc2lkZS1zZXBhcmF0b3ItbmV1dHJhbC03LFxuICAgICYubmV1dHJhbC03IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtNztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmJXNpZGUtc2VwYXJhdG9yLW5ldXRyYWwtOCxcbiAgICAmLm5ldXRyYWwtOCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLTg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJnLW5ldXRyYWwtYmxhY2sgaHIsXG4gIC5iZy1wcmltYXJ5LWJsYWNrIGhyIHtcbiAgICBib3JkZXItY29sb3I6ICRuZXV0cmFsLTI7XG4gIH1cbiAgaHIubGlnaHQge1xuICAgIGJvcmRlci1jb2xvcjogJG5ldXRyYWwtODtcbiAgfVxuICBoci5kYXJrLFxuICBoci5saWdodCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCJAbWl4aW4gYXF1ZW50LXRhYnMge1xuICAvLyBBNTAwIENsaWVudC9UYWxlbnQgVGVzdGltb25pYWxzIFRhYiBTd2l0Y2hlclxuICAudGFicy1wYW5lbC1kcm9wZG93biB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC50YWJzIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgIH1cbiAgfVxuXG4gIC50YWIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJG5ldXRyYWwtNiAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMiAwKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDM4KTtcbiAgICB0b3A6IHJlbS1jYWxjKDEpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoNCkgc29saWQgJHByaW1hcnktb3JhbmdlO1xuICAgIH1cblxuICB9XG5cbiAgLnRhYi1ib3JkZXItYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkbmV1dHJhbC00O1xuICB9XG5cbiAgLnBhbmVsLWRldGFpbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5yYWRpby1pbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNwYW5lbC0xLXJhZGlvOmNoZWNrZWR+LnBhbmVsLWRldGFpbC5vbmUtcGFuZWwsXG4gICNwYW5lbC0yLXJhZGlvOmNoZWNrZWR+LnBhbmVsLWRldGFpbC50d28tcGFuZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgI3BhbmVsLTEtcmFkaW86Y2hlY2tlZH4udGFicyAjb25lLXRhYixcbiAgI3BhbmVsLTItcmFkaW86Y2hlY2tlZH4udGFicyAjdHdvLXRhYiB7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDQpIHNvbGlkICRwcmltYXJ5LW9yYW5nZTtcbiAgfVxuXG4gIC8vIEZpeGVzIEFRIFJvbGVzIFdlIEZpbGwgdGFiIHNlbGVjdG9yXG4gICNyd2YtdGFicyB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLnRhYnMtdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEpO1xuICAgIH1cbiAgfVxufVxuIiwiJGhlcm8tY2xhc3NlczogKFxuICBkZWZhdWx0OiAoXG4gICAgc21hbGw6IDIwMCxcbiAgICBtZWRpdW06IDMwMCxcbiAgICBsYXJnZTogNDAwXG4gICksXG4gIHNsaW06IChcbiAgICBzbWFsbDogNTAsXG4gICAgbGFyZ2U6IDg0XG4gIClcbik7XG5cbkBtaXhpbiBoZXJvLXNpemUtbG9naWMoJGNsYXNzLCAkaGVpZ2h0LWF0dHJpYnV0ZTogbWluLWhlaWdodCkge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluIG1hcC1kZWVwLWdldCgkaGVyby1jbGFzc2VzLCRjbGFzcykge1xuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBzbWFsbCB7XG4gICAgICAjeyRoZWlnaHQtYXR0cmlidXRlfTogcmVtLWNhbGMoc3RyaXAtdW5pdCgkdmFsdWUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgI3skaGVpZ2h0LWF0dHJpYnV0ZX06IHJlbS1jYWxjKHN0cmlwLXVuaXQoJHZhbHVlKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBoZXJvLXNpemVzIHtcbiAgQGVhY2ggJGNsYXNzLCAkYnJlYWtwb2ludHMgaW4gbWFwLWtleXMoJGhlcm8tY2xhc3Nlcykge1xuICAgIC8vIHNldCB1bmNsYXNzZWQgZGVmYXVsdCB0byAnc2xpbScgc2l6aW5nXG4gICAgQGlmICRjbGFzcyA9PSAnc2xpbScge1xuICAgICAgQGluY2x1ZGUgaGVyby1zaXplLWxvZ2ljKCRjbGFzcywgJGhlaWdodC1hdHRyaWJ1dGU6IG1pbi1oZWlnaHQpO1xuICAgIH1cblxuICAgICYuI3skY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIGhlcm8tc2l6ZS1sb2dpYygkY2xhc3MsICRoZWlnaHQtYXR0cmlidXRlOiBtaW4taGVpZ2h0KTtcbiAgICB9XG4gIH1cbn1cblxuLmhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICB6LWluZGV4OiA5OyAvLyBoZXJvIHNob3VsZCBiZSBiZWxvdyBuYXZpZ2F0aW9uXG5cbiAgLy8gUmVuZGVyIGhlcm8gc2l6aW5nIGNsYXNzZXNcbiAgQGluY2x1ZGUgaGVyby1zaXplcztcblxuICAvLyBTdHlsaW5nIHRoZSBub24tZm9ybSBoZXJvIHRleHRcbiAgaDEge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIHA6bm90KC5leWVicm93KSB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg3NzcpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBleHRlbmQgLmxlYWQ7XG4gIH1cbn1cbi5oZXJvLWNvbnRlbnQtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgei1pbmRleDogMjtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIH1cbn1cblxuLmhlcm8tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyBOZXcgYW5pbWF0ZWQgY29udGFjdCBoZXJvIChjdXJyZW50bHkgb25seSBvbiBOb3J0aCBBbWVyaWNhLCBidXQgUm9XIG1pZ2h0IGV2ZW50dWFsbHkgZ2V0IHRoaXMpXG4uY29udGFjdC11cy1oZXJvIHtcbiAgbWluLWhlaWdodDogcmVtLWNhbGMoNjc2KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLy8gbW92ZSBtYXAgdG8gc2hvdyBOb3J0aCBBbWVyaWNhXG4gIEBhdC1yb290IC51cyAuY29udGFjdC11cy1oZXJvIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE3JSA1MCU7XG4gICAgfVxuICB9XG5cbiAgLy8gZm9yY2UgbGluZSBicmVha3MgZm9yIGRlc2lnbiBwdXJwb3Nlc1xuICBoMSBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAvLyBTdGF0cyBDb3VudGVyL1RpY2tlciBzdHlsZXNcbiAgLnN0YXRzIHtcbiAgICBzcGFuIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgZGl2IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTY7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTYpO1xuICAgICAgfVxuXG4gICAgICBkaXY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTWFzb25yeSBHcmlkIFN0dWZmXG4uY29udGVudC1ncmlkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gIC5ib3gsIC5iaWdnZXItYm94IHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJpZ2dlci1ib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA2Ni42NSU7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGdyaWQgaXRlbSBpcyBhIDxBPm5jaG9yLCBnaXZlIGl0IHNwZWNpZmljIGhvdmVyIHJ1bGVzXG4gIGEuZ3JpZC1pdGVtIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZSwgb3BhY2l0eSAwLjI1cyBlYXNlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgJi5zdHVkeSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICB9XG4gICAgfVxuICAgICYuYmxvZyB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIEdyaWQgSXRlbXNcbi5ncmlkLWl0ZW0ge1xuICAvLyBGZWF0dXJlZCBJbmR1c3RyeSBQYW5lbCAoTGFyZ2UpXG4gICYuZmVhdHVyZWQtaW5kdXN0cnkge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDUwMCk7XG4gIH1cblxuICAvLyBTdGF0cyB0ZXh0IGNvbG9yXG4gICYuc3RhdCB7XG4gICAgLmgzIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4ubGl2ZS1zdGF0cy13cmFwcGVyIHtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICA+IC5yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBleHRlbmQgLmxlYWQ7XG4gIH1cbn1cblxuLy8gVmVydGljYWxseSBzcGxpdCBwYW5lbHMgZnJlcXVlbnRseSB1c2VkIGZvciBwcm9maWxlIGJveGVzXG4ucGFuZWwtc3BsaXQtdmVydCB7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIC8vIEhvdmVyL2ZvY3VzIGVmZmVjdCBvbiBhLmxpbmsgcGFuZWxzIG9ubHkhIVxuICBAYXQtcm9vdCBhLnBhbmVsLXNwbGl0LXZlcnQge1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNW1zIGVhc2Utb3V0O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBwIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJGJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgbW9ub3NwYWNlLWZvbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4ucmFkaXVzIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhyZW0tY2FsYygkZ2xvYmFsLXJhZGl1cykpO1xufVxuXG4vLyBDZW50ZXJlZCBHcmlkIEJ1Z2ZpeGVzXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgLnNtYWxsLWNlbnRlcmVkIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgIGNsZWFyOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgLmxhcmdlLWNlbnRlcmVkIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5sYXJnZS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgIGNsZWFyOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGluZyBiYW5kcyBvbiBjb250ZW50ICh1c2VkIGluIGJsb2csIGNhc2Ugc3R1ZGllcywgYW5kIGVsc2V3aGVyZSlcbi5hbHQtYmFuZHMge1xuICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgfVxuICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cbi8vIEFuY2hvciBlbGVtZW50cyB1c2luZyBhbHRlcm5hdGluZyBiYW5kcyBoYXZlIGEgaG92ZXIgc3RhdGVcbmEuYWx0LWJhbmRzIHtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTAwbXMgZWFzZTtcbiAgfVxufVxuLy8gU2lkZS1CeS1TaWRlIENvbnRlbnQgKGFsdGVybmF0aW5nIGltYWdlL2NvcHkgYmxvY2tzKVxuLnNpZGUtYnktc2lkZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlICwwLjc1KTtcbiAgYm94LXNoYWRvdzogMCAwIHJlbS1jYWxjKDE1KSAwIHJnYmEoMCwwLDAsMC4xKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzUpO1xuICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3NSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLmRhdGUsXG4gIHRpbWUge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgLmNvcHkge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG4gIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vIEdpdmVzIGJhY2tncm91bmQgaW1hZ2VzICdlbXVsYXRlZCcgaGVpZ2h0IGZvciBhIHNxdWFyZSAxOjEgaW1hZ2VcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgfVxuICAub3ZlcmxheSB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLDAuNSk7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgfVxuICB9XG4gIC8vIEFsaWduIGltYWdlcyAmIGNvcHkgc2lkZS1ieS1zaWRlIG9uIG1lZGl1bSB1cFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICAgIH1cbiAgICAuY29weSB7XG4gICAgICBmbGV4OiAxIDQ4JTtcbiAgICB9XG4gIH1cbiAgLy8gTGFyZ2UgYnJlYWtwb2ludHMgYXJlIDUwLzUwXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAmLmZsaXAge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAuY29weSB7XG4gICAgICBmbGV4OiAxIDUwJTtcbiAgICB9XG4gICAgLmNvcHksXG4gICAgLmltYWdlIHtcbiAgICAgIGZsZXg6IDEgNTAlO1xuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFZlcnRpY2FsIGJvcmRlcnMgb24gYmxvY2sgZ3JpZHNcbi52ZXJ0aWNhbC1ncmlkbGluZXMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgLy8gMiBjb2x1bW4gbWVkaXVtIHBhbmVsc1xuICAgICYubWVkaXVtLXVwLTIge1xuICAgICAgLmNvbHVtbjpudGgtb2YtdHlwZSgybikge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgLy8gMiBjb2x1bW4gbGFyZ2UgcGFuZWxzXG4gICAgJi5sYXJnZS11cC0yIHtcbiAgICAgIC5jb2x1bW46bnRoLWNoaWxkKDJuKXtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IHJlbS1jYWxjKDEpIHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgICAvLyAzIGNvbHVtbiBsYXJnZSBwYW5lbHNcbiAgICAmLmxhcmdlLXVwLTMge1xuICAgICAgLmNvbHVtbjpudGgtb2YtdHlwZSg1KSxcbiAgICAgIC5jb2x1bW46bnRoLW9mLXR5cGUoMikge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gNCBjb2x1bW4gbGFyZ2UgcGFuZWxzXG4gICAgJi5sYXJnZS11cC00IHtcbiAgICAgIC5jb2x1bW46bnRoLW9mLXR5cGUoMm4pLFxuICAgICAgLmNvbHVtbjpudGgtb2YtdHlwZSgzbikge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIFJldXNhYmxlIEZsZXhib3ggUG9zaXRpb25pbmcgKi9cbi5mbGV4Ym94IC5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgJi52ZXJ0aWNhbC1jZW50ZXIge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbn1cblxuLy8gT0cgR3JpZCAtIEZvciBDbGllbnQgU3VjY2VzcyBQYWdlXG4ub2ctaW1hZ2VzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxIDEgYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbi8vIFdFQi03ODc4IC0gcmVwYWlycyB3aWR0aCBjYWxjdWxhdGlvbiBpc3N1ZSBmb3IgU2FmYXJpXG4kb2ctdGh1bWItbWFyZ2luOiAxNjtcbiRvZy10aHVtYi1tYXJnaW4tb2Zmc2V0OiByZW0tY2FsYygkb2ctdGh1bWItbWFyZ2luICogMiArIDEpO1xuLm9nLXRodW1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiByZW0tY2FsYygkb2ctdGh1bWItbWFyZ2luKTtcbiAgdHJhbnNpdGlvbjogdG9wIDEwMG1zIGVhc2UsIHdpZHRoIDEwMG1zIGVhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyRvZy10aHVtYi1tYXJnaW4tb2Zmc2V0fSk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHdpZHRoOiBjYWxjKDMzJSAtICN7JG9nLXRodW1iLW1hcmdpbi1vZmZzZXR9KTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBAaW5jbHVkZSBob3Jpem9udGFsLWNlbnRlcjtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTEyKTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogcmVtLWNhbGMoMTIpO1xuICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMTIpIHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSAub3ZlcmxheSxcbiAgJjpob3ZlciAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDAuNzUpO1xuICB9XG5cbiAgLmltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMTAwJSAvICg0IC8gMykpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwcmVtO1xuICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICB9XG5cbiAgaDIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuXG4ub2ctZGV0YWlscyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMTAwbXMgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAwO1xuXG4gIGg0IHtcbiAgICBAaW5jbHVkZSBtb25vc3BhY2UtZm9udDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gIH1cblxuICAub3ZlcmxheSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLDAuNSk7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgfVxuICB9XG59XG5cbi5vZy1pbm5lciB7XG4gIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg3NSkgMDtcbiAgfVxufVxuXG4ub2ctY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAgcmVtLWNhbGMoMjApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4ub2ctY29weSwgLm9nLWxhcmdlLWltYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxcmVtO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnJlbSk7XG4gIH1cbn1cblxuLm9nLWxhcmdlLWltYWdlLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFRPRE86IHJlZmFjdG9yIGFzIHByb3BlciBPTD9cbi5vcmFuZ2UtbGV0dGVyLWxpc3Qge1xuICBwIHtcbiAgICBjb2xvcjogJG9yYW5nZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgfVxufVxuIiwidGFibGUuY29va2llLXRhYmxlIHtcbiAgcCxcbiAgdGQge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICB9XG5cbiAgdGgsXG4gIHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIHRyID4gdGQ6Zmlyc3QtY2hpbGQgcCB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cbn1cbi8vIFByZXNlbnQgbWF0aGVtYXRpY2FsIGNhbGN1bGF0aW9ucyBpbiBhIHZlcnRpY2FsIGxheW91dCAoV0VCLTgzMTIpXG5cbnRhYmxlLm1hdGgge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG5cbiAgdGJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgIHRkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4IDEyKTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltjbGFzc149Y2FsYy1dOjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYWxjLWFkZDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFwwMDJiJztcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2FsYy1kaXZpZGU6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMDBmNyc7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhbGMtbXVsdGlwbHk6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMDBkNyc7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhbGMtc3VidHJhY3Q6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcMjIxMic7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG90YWwge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG59XG5cbnRhYmxlLnBhZGRpbmcge1xuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDU2IDIwIDU2KTtcbiAgfVxufVxuXG5cblxuXG4vLyBDdXN0b20gc2xpZGluZyB0YWJsZTogSW5zaWRlT3V0ICsgVGFsZW50IEJlbmVmaXRzXG4keC1zdGlja3ktY29sLXdpZHRoOiA2NTsgLy8gVGhlIHdpZHRoIG9mIHRoZSBzdGlja3kgY29sdW1uXG4keC1zdGlja3ktY29sLXdpZHRoLXdpZGU6IDIwMDsgLy8gVGhlIHdpZHRoIG9mIHRoZSBzdGlja3kgY29sdW1uIHdoZW4gdGhlIHdpZGUgY2xhc3MgaXMgdXNlZFxuXG4ueC1zbGlkZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG50YWJsZS54LXNsaWRlIHtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRhYmxlLWxheW91dDogYXV0bztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIC8vIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICB0aCB7XG4gICAgY29sb3I6ICRuZXV0cmFsLTM7XG4gICAgYm9yZGVyLWJvdHRvbTogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtNTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgbWluLXdpZHRoOiByZW0tY2FsYygkeC1zdGlja3ktY29sLXdpZHRoLXdpZGUpO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoJHgtc3RpY2t5LWNvbC13aWR0aC13aWRlICsgMjUpO1xuXG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLngtc3RpY2t5LWNvbCB7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IHJlbS1jYWxjKCR4LXN0aWNreS1jb2wtd2lkdGgpO1xuXG4gICAgJi53aWRlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygkeC1zdGlja3ktY29sLXdpZHRoLXdpZGUpO1xuICAgIH1cbiAgfVxuXG4gICYuc2Nyb2xsLWFjdGl2ZSB7XG4gICAgdGJvZHksXG4gICAgdGhlYWQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygkeC1zdGlja3ktY29sLXdpZHRoKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc2Nyb2xsLWFjdGl2ZS53aWRlIHtcbiAgICB0Ym9keSxcbiAgICB0aGVhZCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoJHgtc3RpY2t5LWNvbC13aWR0aC13aWRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCB7XG4gICAgLngtc2xpZGUtd3JhcHBlci5zY3JvbGwtYWN0aXZlIHtcbiAgICAgIC8vIGJsZWVkIHRhYmxlIHRvIGVkZ2Ugb2Ygc2NyZWVuXG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xMCk7XG4gICAgfVxuXG4gICAgLngtc2xpZGUtc2Nyb2xsZXIge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAueC1zbGlkZS1zY3JvbGxlci53aWRlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygkeC1zdGlja3ktY29sLXdpZHRoLXdpZGUpO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCBvbiBoZWFsdGhjYXJlIGJlbmVmaXRzIHRhYmxlXG50YWJsZS5uZXV0cmFsIHtcbiAgdGgge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTY7XG5cbiAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTM7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUobis0KSB7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMSkgc29saWQgJG5ldXRyYWwtNjtcbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgJjpudGgtb2YtdHlwZShuKzQpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygxKSBzb2xpZCAkbmV1dHJhbC02O1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLmJnLW5ldXRyYWwtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtMTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgcCB7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuYmctbmV1dHJhbC1ibGFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtYmxhY2s7XG4gIH1cblxuICB1bCB7XG4gICAgbGk6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRGVmaW5pdGlvbiBsaXN0c1xuZGwge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgfVxuXG4gIGR0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogJG5ldXRyYWwtMjtcbiAgICBmb250LXNpemU6ICRsZWFkLWZvbnQtc2l6ZTtcbiAgfVxuXG4gICYuaWNvbi1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMDUuNSk7XG5cbiAgICAubGVhZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IHJlbS1jYWxjKC0xMCk7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTUpO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyOS41KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1NS41KTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NS41KTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAkbmV1dHJhbC02IHJlbS1jYWxjKDIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGR0IHtcbiAgICAgIEBleHRlbmQgaDQ7XG4gICAgICBAZXh0ZW5kIC50ZXh0LW9yYW5nZTtcblxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiByZW0tY2FsYyg2MCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNzMpO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg3OCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTE4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRuZXV0cmFsLWJsYWNrO1xufVxuXG4vLyBVbml2ZXJzYWwgbGlzdCBjdXN0b21pemF0aW9ucyAoaW4gY29udGVudClcbi5jb250ZW50IHtcbiAgb2wsXG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgICYubm8tYnVsbGV0IGxpOjpiZWZvcmV7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBVbm9yZGVyZWQgTGlzdHNcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBsaTo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlO1xuICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICB3aWR0aDogMXJlbTtcblxuICAgICAgQGF0LXJvb3QgLmNvbnRlbnQge1xuICAgICAgICAuYmctcHJpbWFyeS1vcmFuZ2UsXG4gICAgICAgIC5iZy1vcmFuZ2Uge1xuICAgICAgICAgIHVsIGxpOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRuZXV0cmFsLTg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBPcmdhbml6ZWQgTGlzdHNcbi5jZW50ZXJlZC1saXN0IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AZWFjaCAkc2l6ZSBpbiAoc21hbGwsIG1lZGl1bSwgbGFyZ2UpIHtcbiAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAuI3skc2l6ZX0tY2VudGVyZWQtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgICAuI3skc2l6ZX0tY2VudGVyZWQtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCYXNpYyBjb3VudGVyIHdpdGggb3JhbmdlXG4uY291bnRlciB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IG51bWVyaWMtY291bnRlcjtcblxuICA+IGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbnVtZXJpYy1jb3VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcihudW1lcmljLWNvdW50ZXIpICcuICc7XG4gICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0xcmVtO1xuICAgIH1cbiAgfVxuICAvLyBCcmFja2V0ZWQgY291bnRlciBmb3VuZCBpbiB0aGUgRW5kbm90ZXMgc2VjdGlvblxuICAmLmZvb3Rub3RlIHtcbiAgICA+IGxpIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGNvbnRlbnQ6ICdbJyBjb3VudGVyKG51bWVyaWMtY291bnRlcikgJ10gJztcbiAgICAgIH1cblxuICAgICAgcCxcbiAgICAgIHVsIGxpIHtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLTM7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgIH1cblxuICAgICAgdWwgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRuZXV0cmFsLTM7ICAvLyBQYXR0ZXJuIGJyZWFrOiBDaGFuZ2VzIGJ1bGxldHMgaW4gZm9vdG5vdGVzIHRvIGdyYXlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbGx1c3RyYXRlZCBCdWxsZXRcbi5pbGx1c3RyYXRlZC1idWxsZXQge1xuICAmOm5vdChbY2xhc3MqPSdjb2x1bW4tbGlzdCddKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gIH1cbiAgJltjbGFzcyo9J2NvbHVtbi1saXN0J10ge1xuICAgIC5jZWxsLCBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gIH1cblxuICBoMywgLmgzLCBoNCwgLmg0LCBoNSwgLmg1LCBoNiwgLmg2IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cbiAgLy8gVHdlYWtzIHRvIG9mZnNldCBmb3Igd29ua3kgZWxlbWVudHNcbiAgaDMsIC5oMyB7XG4gICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgdG9wOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG4gIGg0LCAuaDQge1xuICAgICY6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuICBoNSwgLmg1IHtcbiAgICAmOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5pbGx1c3RyYXRlZC1idWxsZXQ6bm90KHVsKSA+IDpmaXJzdC1jaGlsZDo6YmVmb3JlLFxudWwuaWxsdXN0cmF0ZWQtYnVsbGV0IGxpOjpiZWZvcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogcmVtLWNhbGMoOCk7XG4gIGNvbnRlbnQ6ICcnO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gIHdpZHRoOiByZW0tY2FsYygxNCk7XG4gIGhlaWdodDogcmVtLWNhbGMoMTQpO1xuXG4gIG1hc2s6IGdlbmVyYXRlLWRhdGEtdXJsKGlsbHVzdHJhdGVkLWJ1bGxldCkgbm8tcmVwZWF0O1xuICBtYXNrLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG59XG5cbnVsLmlsbHVzdHJhdGVkLWJ1bGxldCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIGxpIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuXG4gICAgOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbnVsLCBvbCB7XG4gICZbY2xhc3MqPSdjb2x1bW4tbGlzdCddIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cbiAgfVxufVxuXG4vLyA0IExhcmdlIC8gMiBtZWRpdW0gLyAxIHNtYWxsXG5bY2xhc3MqPSdjb2x1bW4tbGlzdC0nXS5uby1idWxsZXQgbGkge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4uY29sdW1uLWxpc3QtNC0yLTEge1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgxLCAkc2VsZWN0b3I6Jy5jZWxsLCBsaScsICRndXR0ZXJzOiBtYXAtc2FmZS1nZXQoJHdpZGUtZ3V0dGVycywgJ3NtYWxsJykpO1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnc21hbGwnKSwgJG5lZ2F0aXZlOiB0cnVlKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgyLCAkc2VsZWN0b3I6Jy5jZWxsLCBsaScsICRndXR0ZXJzOiBtYXAtc2FmZS1nZXQoJHdpZGUtZ3V0dGVycywgJ21lZGl1bScpKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnbWVkaXVtJyksICRuZWdhdGl2ZTogdHJ1ZSk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDQsICRzZWxlY3RvcjonLmNlbGwsIGxpJywgJGd1dHRlcnM6IG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnbGFyZ2UnKSk7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycyhtYXAtc2FmZS1nZXQoJHdpZGUtZ3V0dGVycywgJ2xhcmdlJyksICRuZWdhdGl2ZTogdHJ1ZSk7XG4gIH1cbn1cblxuXG4vLyAzIExhcmdlIC8gMiBtZWRpdW0gLyAxIHNtYWxsXG4uY29sdW1uLWxpc3QtMy0yLTEge1xuICBAaW5jbHVkZSB4eS1ncmlkO1xuICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgxLCAkc2VsZWN0b3I6Jy5jZWxsLCBsaScsICRndXR0ZXJzOiBtYXAtc2FmZS1nZXQoJHdpZGUtZ3V0dGVycywgJ3NtYWxsJykpO1xuICBAaW5jbHVkZSB4eS1ndXR0ZXJzKG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnc21hbGwnKSwgJG5lZ2F0aXZlOiB0cnVlKTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgyLCAkc2VsZWN0b3I6Jy5jZWxsLCBsaScsICRndXR0ZXJzOiBtYXAtc2FmZS1nZXQoJHdpZGUtZ3V0dGVycywgJ21lZGl1bScpKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnbWVkaXVtJyksICRuZWdhdGl2ZTogdHJ1ZSk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDMsICRzZWxlY3RvcjonLmNlbGwsIGxpJywgJGd1dHRlcnM6IG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnbGFyZ2UnKSk7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycyhtYXAtc2FmZS1nZXQoJHdpZGUtZ3V0dGVycywgJ2xhcmdlJyksICRuZWdhdGl2ZTogdHJ1ZSk7XG4gIH1cbn1cblxuLy8gTGFyZ2UgMiAvIE1lZGl1bSAyIC8gc21hbGwgMVxuLmNvbHVtbi1saXN0LTItMSB7XG4gIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDEsICRzZWxlY3RvcjonLmNlbGwsIGxpJywgJGd1dHRlcnM6IG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnc21hbGwnKSk7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMobWFwLXNhZmUtZ2V0KCR3aWRlLWd1dHRlcnMsICdzbWFsbCcpLCAkbmVnYXRpdmU6IHRydWUpO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KDIsICRzZWxlY3RvcjonLmNlbGwsIGxpJywgJGd1dHRlcnM6IG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnbWVkaXVtJykpO1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMobWFwLXNhZmUtZ2V0KCR3aWRlLWd1dHRlcnMsICdtZWRpdW0nKSwgJG5lZ2F0aXZlOiB0cnVlKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoMiwgJHNlbGVjdG9yOicuY2VsbCwgbGknLCAkZ3V0dGVyczogbWFwLXNhZmUtZ2V0KCR3aWRlLWd1dHRlcnMsICdsYXJnZScpKTtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKG1hcC1zYWZlLWdldCgkd2lkZS1ndXR0ZXJzLCAnbGFyZ2UnKSwgJG5lZ2F0aXZlOiB0cnVlKTtcbiAgfVxufVxuIiwiLy8gVE9ETzogYnJlYWsgdGhpcyBmaWxlIGludG8gY29tcG9uZW50IGxheW91dCBtaXhpbnNcblxuLy8gVmlld3BvcnQgaGVpZ2h0IHBhbmVsc1xuLnZpZXdwb3J0IHtcbiAgbWluLWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcbn1cblxuLy8gU2Nyb2xsIHNuYXBwaW5nIHN1cHBvcnRcbmJvZHkge1xuICBzY3JvbGwtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ5KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoOTYpO1xuICB9XG4gICYuc2Nyb2xsLXtcbiAgICAmbWFuZGF0b3J5IHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xuICAgIH1cbiAgICAmcHJveGltaXR5IHtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgcHJveGltaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gU25hcCBwYW5lbHNcbi5zbmFwIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2l0aW9uOiB0b3AgMTAwbXMgZWFzZSwgb3BhY2l0eSAxMDBtcyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zIGVhc2U7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmLmlzLWluYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB6LWluZGV4OiAwO1xuICB9XG5cbiAgLmlsbHVzdHJhdGlvbiB7XG4gICAgbWFzay1pbWFnZTogdmFyKC0taWxsdXN0cmF0aW9uKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAmLmJnLW9yYW5nZSB7XG4gICAgLmlsbHVzdHJhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5zdG9wLXNjcm9sbGluZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcm9sbC1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMXM7XG4gIHotaW5kZXg6IDI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNCk7XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLTM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogNHJlbTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQXF1ZW50IFJlZGVzaWduIDIwMjAgU3VjY2VzcyBTdG9yeSBsYXlvdXRcbi5zdWNjZXNzLXN0b3J5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIHBhZGRpbmctdG9wOiA0cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiA2cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICB9XG5cbiAgLmRhdGUsXG4gIHRpbWUge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICAuY29weSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgfVxuXG4gIC5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgICBtYXgtaGVpZ2h0OiA1cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgLnN1YmhlYWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuZXV0cmFsLWJsYWNrO1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgdGhlIFwiY2FzZSBzdHVkeVwiIGhlYWRlclxuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuXG4gICAgfiBociB7XG4gICAgICB0b3A6IHJlbS1jYWxjKC01MSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBpcyB0aGUgaDQgaGVhZGxpbmVcbiAgLmhlYWRsaW5lIHtcbiAgICBjb2xvcjogJHByaW1hcnktb3JhbmdlO1xuICB9XG5cbiAgLy8gVGhpcyB0aGUgdGhlIFwiQ2xpZW50IFN1Y2Nlc3NcIiBhbmQgXCJTZXJ2aWNlcyBVc2VkXCIgaGVhZGVyXG4gIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG5cbiAgICAvLyBUT0RPOiByZWZhY3RvciBleGlzdGluZyBjb2RlIHRvIHVzZSBGaWVuZW4ncyB2ZXJzaW9uIG9mIHRoaXNcbiAgICB+IGhyIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoLTM2KTtcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPOiByZWZhY3RvciBleGlzdGluZyBjb2RlIHRvIHVzZSBGaWVuZW4ncyB2ZXJzaW9uIG9mIHRoaXNcbiAgaHIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTI7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAkbmV1dHJhbC04O1xuICB9XG5cbiAgLnNlcnZpY2UtYmxvY2sge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmxvZ28ge1xuICAgICAgYm90dG9tOiA2cmVtO1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygxMDAlIC8gKDE2IC8gOSkpO1xuICAgIH1cblxuICAgIC5jb3B5IHtcbiAgICAgIGZsZXg6IDEgNDglO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTYpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblxuICAgIC5sb2dvIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICB0b3A6IDRyZW07XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cblxuICAgIC5jb3B5IHtcbiAgICAgIGZsZXg6IDEgNTAlO1xuICAgIH1cblxuICAgIC5jb3B5LFxuICAgIC5pbWFnZSB7XG4gICAgICBmbGV4OiAxIDUwJTtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy10b3A6IDE0NSU7XG4gICAgICB0b3A6IHJlbS1jYWxjKDExKTtcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoMTAwMCkge1xuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNDQ1KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gU29jaWFsIFNoYXJlXG4uc2hhcmUge1xuICAuaWNvbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBTdGF0cy9Db3VudGVyL1RpY2tlciB0aGluZ1xuLnN0YXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gIGRpdiB7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBzcGFuIHtcbiAgICAvLyB0aGUgYmlnIG9yYW5nZSB0ZXh0XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDU1KTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdGhlIHNtYWxsZXIgdGV4dFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU21hbGxlciBzaXplXG4gICYuc21hbGwge1xuICAgIHNwYW4ge1xuICAgICAgLy8gdGhlIGJpZyBvcmFuZ2UgdGV4dFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGUgbWF0aCBvcGVyYXRvcnMgKCssIC0sID0pXG4gIC5vcGVyYXRvciB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgY29sb3I6ICRuZXV0cmFsLTI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICArIGRpdiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjFyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgfVxuICB9XG59XG5cbi8vIE1heCAzIGNvbHVtbnMgZm9yIHdpZGUgbWFyZ2luIGJsb2NrIGdyaWRzXG5AaW5jbHVkZSB3aWRlLW1hcmdpbi1ibG9jay1ncmlkcygkZ3V0dGVyczogJHdpZGUtZ3V0dGVycywgJG46IDMsICRzZWxlY3RvcjogJy5ncmlkLW1hcmdpbi13aWRlJyk7XG5cbi8vIE1heCAyIGNvbHVtbnMgZm9yIHVsdHJhIHdpZGUgbWFyZ2luIGJsb2NrIGdyaWRzXG5AaW5jbHVkZSB3aWRlLW1hcmdpbi1ibG9jay1ncmlkcygkZ3V0dGVyczogJHVsdHJhLXdpZGUtZ3V0dGVycywgJG46IDIsICRzZWxlY3RvcjogJy5ncmlkLW1hcmdpbi11bHRyYS13aWRlJyk7XG5cbi8vIExldHMgdGhlIGNvbnRlbnQgYmUgYXMgd2lkZXIgZm9yIHRoZSBtb3NpYWNcbi53aWRlLXdyYXBwZXIge1xuICAuZ3JpZC1jb250YWluZXIsXG4gIC5yb3cge1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjAwMCk7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8gVXNlZCBmb3IgaW1hZ2UgbW9zYWljcyBvbiB0aGUgY29tbXVuaXRpZXMgcGFnZVxuLm1vc2FpYy1jb250YWluZXIge1xuICAuZ3JpZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDE1KTtcbiAgICByb3ctZ2FwOiByZW0tY2FsYygxNSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICB9XG4gIH1cblxuICAmLmxheW91dC0xIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiYmlnIGJpZ1wiXG4gICAgICBcImJpZyBiaWdcIlxuICAgICAgXCJzbWFsbDEgc21hbGwyXCJcbiAgICAgIFwibWVkaXVtIG1lZGl1bVwiO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgIFwiYmlnIGJpZyBzbWFsbDEgc21hbGwyXCJcbiAgICAgICAgXCJiaWcgYmlnIG1lZGl1bSBtZWRpdW1cIjtcbiAgICB9XG4gIH1cblxuICAmLmxheW91dC0yIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiYmlnIGJpZ1wiXG4gICAgICBcImJpZyBiaWdcIlxuICAgICAgXCJtZWRpdW0gbWVkaXVtXCJcbiAgICAgIFwic21hbGwxIHNtYWxsMlwiO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcIm1lZGl1bSBtZWRpdW0gYmlnIGJpZ1wiXG4gICAgICBcInNtYWxsMSBzbWFsbDIgYmlnIGJpZ1wiO1xuICAgIH1cbiAgfVxuXG4gICYubGF5b3V0LTMgLmdyaWQtY29udGFpbmVyIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJzbWFsbDIgc21hbGwxXCJcbiAgICAgIFwibWVkaXVtIG1lZGl1bVwiXG4gICAgICBcImJpZyBiaWdcIlxuICAgICAgXCJiaWcgYmlnXCI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiYmlnIGJpZyBzbWFsbDEgbWVkaXVtXCJcbiAgICAgIFwiYmlnIGJpZyBzbWFsbDIgbWVkaXVtXCI7XG4gICAgfVxuICB9XG5cbiAgLy8gVGFyZ2V0IGltbWVkaWF0ZSBjaGlsZHJlbiBvZiB0aGUgZ3JpZCBjb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyID4ge1xuICAgIDpudGgtY2hpbGQoMSkge1xuICAgICAgZ3JpZC1hcmVhOiBiaWc7XG4gICAgfVxuICAgIDpudGgtY2hpbGQoMikge1xuICAgICAgZ3JpZC1hcmVhOiBzbWFsbDE7XG4gICAgfVxuICAgIDpudGgtY2hpbGQoMykge1xuICAgICAgZ3JpZC1hcmVhOiBzbWFsbDI7XG4gICAgfVxuICAgIDpudGgtY2hpbGQoNCkge1xuICAgICAgZ3JpZC1hcmVhOiBtZWRpdW07XG4gICAgfVxuICAgIHAge1xuICAgICAgOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSb3VuZCBpbWFnZXNcbi5jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4vLyBCaW8gdGhpbmcgdXNlZCBvbiB0aGUgcGFydG5lcnNoaXBzIHBhZ2Vcbi5iaW8tZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWNvbHVtbi1nYXA6IHJlbS1jYWxjKDc1KTtcbiAgZ3JpZC1yb3ctZ2FwOiAycmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gIH1cblxuICBoZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgPiA6bm90KGltZykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTAwKTtcbiAgICB9XG4gIH1cblxuICBoMywgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4NSk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxufVxuXG4vLyBDb29raWVzIHBhZ2Vcbi5jb29raWVzLXdyYXBwZXIge1xuICBzdW1tYXJ5ID4gaDMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0b3A6IHJlbS1jYWxjKDEwKTtcbiAgfVxufVxuXG4vLyBMb2dvIGdyaWRcbi5sb2dvLWdyaWQge1xuICAubG9nbyB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm90dG9tOiA0cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDEyMyk7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgICBtYXgtaGVpZ2h0OiA0LjVyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gVmFyaWFibGVzXG4kYXJ0aWNsZS1ndXR0ZXI6IDc1O1xuXG4vLyBOZXdzIGZlZWQgcGFnZVxuLnBpbm5lZC1hcnRpY2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJGFydGljbGUtZ3V0dGVyKTtcbn1cblxuLy9cbi5uZXdzLXN2ZyBpbWcge1xuICBoZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8vIERlZmluZSB0aGUgY2FyZCwgbW9iaWxlIGZpcnN0XG4uY2FyZC1hcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aG92ZXIge1xuXG4gICAgLy8gSSBkb24ndCBrbm93IGEgbW9yZSBlbGVnYW50IHdheSB0byBkbyB0aGlzLFxuICAgIC8vIHRoZSBoZWlnaHQgbmVlZHMgdG8gYmUgc2xpZ2hseSBsb3dlciB0aGFuIHRoZSB0b3RhbCBsaW5lLWhlaWdodCBvZiB0aGUgaXRlbVxuICAgIC8vIHNvIHRoYXQgaXQgZG9lc24ndCBjb3ZlciB0aGUgZGVzY2VuZGVycyBvZiB0aGUgbGluZSBhYm92ZSBpdC5cbiAgICBoMyxcbiAgICBoNCxcbiAgICAuaDMsXG4gICAgLmg0IHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgcmVtLWNhbGMoLTQwKSAkYmx1ZTtcbiAgICB9XG5cbiAgICBoNSxcbiAgICAuaDUge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCByZW0tY2FsYygtMzIpICRibHVlO1xuICAgIH1cblxuICAgIGg2LFxuICAgIC5oNiB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIHJlbS1jYWxjKC0yNikgJGJsdWU7XG4gICAgfVxuXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBpbWc6bm90KC5sb2dvKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDEpIHBlcnNwZWN0aXZlKDApIHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuXG4gICAgaW1nLmxvZ28ge1xuICAgICAgd2lkdGg6IDUxJTtcbiAgICB9XG5cbiAgICAvLyBBbmltYXRlIHRoZSBvcGFjaXR5IGZhZGUgb3V0IG9uIGhvdmVyIGZvciB0aGUgU1ZHIE92ZXJsYXlcbiAgICAucG9zdC1pbWFnZS1vdmVybGF5LWNvbnRhaW5lciB7XG4gICAgICAuYmctbmV1dHJhbC1ibGFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG5ldXRyYWwtYmxhY2ssIDApO1xuICAgICAgfVxuXG4gICAgICAucG9zdC1zdmcge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZXRhaWxzIHtcbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCByZW0tY2FsYygtMSkgJGJsdWU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyNTBtcyBlYXNlLCBjb2xvciAyNTBtcyBlYXNlO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIH1cblxuICBzbWFsbCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNvbG9yOiAkbmV1dHJhbC0zO1xuICB9XG5cbiAgLy8gRm9yY2UgMTZ4OSBhc3BlY3QgcmF0aW8gaW4gZ3JpZCBsYXlvdXRzXG4gIHBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDkgLyAxNiAqIDEwMCUpO1xuXG4gICAgPmltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDI1MG1zIGVhc2UsIHRyYW5zZm9ybSAyNTBtcyBlYXNlO1xuICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgwKSB0cmFuc2xhdGVaKDApO1xuXG4gICAgICAvLyBUT0RPOiBoYW5kbGUgbG9nbyBzaXppbmcsIGNlbnRlcmluZyBldGNcbiAgICAgICYubG9nbyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXkgU1ZHIG92ZXIgSU1HIGZvciB2aWRlbyBjYXJkc1xuICAucG9zdC1pbWFnZS1vdmVybGF5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg5IC8gMTYgKiAxMDAlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgcGljdHVyZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gQkcgQ29sb3IgdHJhbnNpdGlvbnMgZnJvbSAwLjcgLT4gMFxuICAgIC5iZy1uZXV0cmFsLWJsYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJG5ldXRyYWwtYmxhY2ssIDAuNyk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDI1MG1zIGVhc2Utb3V0O1xuICAgIH1cblxuICAgIC8vIFNWRyBUcmFuc2l0aW9ucyBmcm9tIG9wYWNpdHkgMSAtPiAwXG4gICAgLnBvc3Qtc3ZnIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2Utb3V0O1xuICAgIH1cbiAgfVxuXG4gIHRpbWUge1xuICAgIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250O1xuICAgIGNvbG9yOiAkbmV1dHJhbC0zO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgQGV4dGVuZCAlc2lkZS1zZXBhcmF0b3ItbmV1dHJhbC03O1xuICB9XG5cbiAgLy8gT3ZlcnJpZGVzIGZvciBkYXJrIGJhY2tncm91bmRzXG4gIEBhdC1yb290IC5iZy1uZXV0cmFsLWJsYWNrIHtcbiAgICAuY2FyZC1hcnRpY2xlIHtcblxuICAgICAgdGltZSxcbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5ld3MtYXJ0aWNsZSB7XG4gICYuYXJ0aWNsZS1mdWxsIC50aGUtcG9zdD5wOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7XG4gICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzMzcmVtO1xuICB9XG5cbiAgLnZpZGVvLWNhcHRpb24ge1xuICAgIG1heC13aWR0aDogJHdpZHRoLW5hcnJvdzsgLy8gdGhpcyBjb21wcmVzc2VzIHlvdXIgaGVhZFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIFRPRE86IGNsZWFudXAgZm9yIGRlc2lnbiBzeXN0ZW1cbiAgLmxheW91dC1jb21wcmVzc2VkIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNb2JpbGUgb25seSBzdHlsZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAuY2FyZC1hcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2cmVtO1xuICB9XG5cbiAgLnN0b3JpZXMtc2Nyb2xsIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0tY2FsYygyMCk7XG4gICAgZ3JpZC1yb3ctZ2FwOiByZW0tY2FsYygxMjApO1xuICB9XG59XG5cbi8vIE1lZGl1bSB1cCBzdHlsZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG5cbiAgLmNhcmQtYXJ0aWNsZSB7XG5cbiAgICAmLmJpZyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDAuNjg3NWZyIDAuMzExNWZyO1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0tY2FsYygkYXJ0aWNsZS1ndXR0ZXIpO1xuICAgIH1cblxuICAgIC8vIEZsaXBwZWQgYmlnIGNhcmRcbiAgICAmLmZsaXAge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjMxMTVmciAwLjY4NzVmcjtcblxuICAgICAgPiB7XG4gICAgICAgIDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZXMtd3JhcHBlcixcbiAgLnN0b3JpZXMtc2Nyb2xsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHJlbS1jYWxjKCRhcnRpY2xlLWd1dHRlcik7XG4gICAgZ3JpZC1yb3ctZ2FwOiByZW0tY2FsYygxMjApO1xuICB9XG59XG5cbi8vIE1lZGl1bSBvbmx5IHN0eWxlc1xuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAuY2FyZC1hcnRpY2xlIHtcbiAgICAmLmJpZyB7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogMztcblxuICAgICAgJi0xIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgICYtMiB7XG4gICAgICAgIG9yZGVyOiA0O1xuICAgICAgfVxuXG4gICAgICAmLTMge1xuICAgICAgICBvcmRlcjogNjtcbiAgICAgIH1cblxuICAgICAgJi00IHtcbiAgICAgICAgb3JkZXI6IDg7XG4gICAgICB9XG5cbiAgICAgICYtNSB7XG4gICAgICAgIG9yZGVyOiAxMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YW5kYXJkIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMiB7XG4gICAgICAgICYtI3skaX0ge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAjeyRpfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMyB0aHJvdWdoIDYge1xuICAgICAgICAmLSN7JGl9IHtcbiAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gNyB0aHJvdWdoIDgge1xuICAgICAgICAmLSN7JGl9IHtcbiAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gOSB0aHJvdWdoIDEwIHtcbiAgICAgICAgJi0jeyRpfSB7XG4gICAgICAgICAgb3JkZXI6IDc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDExIHRocm91Z2ggMTIge1xuICAgICAgICAmLSN7JGl9IHtcbiAgICAgICAgICBvcmRlcjogOTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMTMgdGhyb3VnaCAxNCB7XG4gICAgICAgICYtI3skaX0ge1xuICAgICAgICAgIG9yZGVyOiAxMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBMYXJnZSB1cCBzdHlsZXNcbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgLmFydGljbGVzLXdyYXBwZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgLmFydGljbGVzLXdyYXBwZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgLmNhcmQtYXJ0aWNsZSB7XG4gICAgJi5iaWcge1xuICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgICBncmlkLWNvbHVtbi1lbmQ6IDQ7XG5cbiAgICAgICYtMSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuXG4gICAgICAmLTIge1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgIH1cblxuICAgICAgJi0zIHtcbiAgICAgICAgb3JkZXI6IDY7XG4gICAgICB9XG5cbiAgICAgICYtNCB7XG4gICAgICAgIG9yZGVyOiA4O1xuICAgICAgfVxuXG4gICAgICAmLTUge1xuICAgICAgICBvcmRlcjogMTA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFuZGFyZCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICAgICAmLSN7JGl9IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogI3skaX07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDQgdGhyb3VnaCA2IHtcbiAgICAgICAgJi0jeyRpfSB7XG4gICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDcgdGhyb3VnaCA5IHtcbiAgICAgICAgJi0jeyRpfSB7XG4gICAgICAgICAgb3JkZXI6IDU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDcgdGhyb3VnaCAxMiB7XG4gICAgICAgICYtI3skaX0ge1xuICAgICAgICAgIG9yZGVyOiA3O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxMyB0aHJvdWdoIDE1IHtcbiAgICAgICAgJi0jeyRpfSB7XG4gICAgICAgICAgb3JkZXI6IDk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi00LFxuICAgICAgJi03LFxuICAgICAgJi0xMCxcbiAgICAgICYtMTMge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgICAgIH1cblxuICAgICAgJi01LFxuICAgICAgJi04LFxuICAgICAgJi0xMSxcbiAgICAgICYtMTQge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMjtcbiAgICAgIH1cblxuICAgICAgJi02LFxuICAgICAgJi05LFxuICAgICAgJi0xMixcbiAgICAgICYtMTUge1xuICAgICAgICBncmlkLWNvbHVtbi1zdGFydDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQVEgUm9sZXMgV2UgRmlsbHMgU3VjY2VzcyBTdG9yaWVzXG4uc3Rvcmllcy1zY3JvbGwge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG59XG5cbkBhdC1yb290IC50YWJzLWNvbnRlbnQge1xuICAvLyBoZWFkZXIgc3R5bGVcbiAgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ibGFjaztcbiAgfVxuICAuY29sdW1uLWxpc3QtMi0xIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuICB9XG59XG5cbkBhdC1yb290IC5jYXJkLXJvbGUge1xuXG4gIGg2LFxuICAuaDYge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgIGg2LFxuICAgIC5oNiB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgaW1nOm5vdCgubG9nbykge1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxuXG59XG5cbkBhdC1yb290IC5jYXJkLXJvbGUge1xuICBpbWcubG9nbyB7XG4gICAgd2lkdGg6IDQwJSAhaW1wb3J0YW50O1xuICAgIHRvcDogNzklICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMTklICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA0MyUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3JlYW07XG4gIH1cblxuICBpbWc6bm90KC5sb2dvKSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xlLWxpc3Qge1xuICBsaTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAucndmLXN0b3JpZXMtd3JhcHBlciB7XG4gICAgbmF2IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdG9yaWVzLXNjcm9sbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgfVxuXG4gIC5jYXJkLXJvbGUge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvKiBTYWZhcmkgOSsgKi9cbiAgXzo6LXdlYmtpdC1mdWxsLXBhZ2UtbWVkaWEsIF86ZnV0dXJlLCA6cm9vdCAuY2FyZC1yb2xlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgfVxuXG5cbiAgLm5vbi1hY3RpdmUge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtNiAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuc3RvcnktMSwgLnN0b3J5LTIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIH1cbiAgfVxufVxuIiwiYXNpZGUucGFuZWwge1xuXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcblxuICAmOm5vdCguZGFyaykge1xuICAgIEBleHRlbmQgLmJnLW9yYW5nZTtcbiAgfVxuXG4gICYuZGFyayB7XG4gICAgQGV4dGVuZCAuYmctbmV1dHJhbC0xO1xuICB9XG5cbiAgJi5mdWxsLXdpZHRoIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgaDQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICB9XG5cbiAgLnNpZGUtc2VwYXJhdG9yOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtODtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gIH1cblxuICAmOm5vdCguZGFyaykge1xuICAgIGxpIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkbmV1dHJhbC04ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3Qge1xuICAgIC5sYXlvdXQtY29tcHJlc3NlZCAjeyZ9IHtcbiAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYyhcbiAgICAgICAgICAtMTIuNSUgLSAje21hcC1zYWZlLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pfVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBTdHJldGNoIHRoZSBvcmFuZ2UgYm94IHRvIHJvdWdobHkgdGhlIGV4dGVuZCBvZiB0aGUgb3V0ZXIgZGl2aWRlclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxMzQyKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtMjUlIC0gI3ttYXAtc2FmZS1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICBhc2lkZSB7XG5cbiAgICAmLnBhbmVsIHtcbiAgICAgICY6bm90KC5mdWxsLXdpZHRoKSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoNCk7XG4gICAgICB9XG5cbiAgICAgICYuZnVsbC13aWR0aCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hc2lkZS1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07XG4gICAgfVxuXG4gICAgJi5hc2lkZS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tbGVmdDogM3JlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlbmRlciBIZWFkaW5nIFJ1bGVzXG4je2hlYWRpbmdzKCl9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gID4gc3Bhbi5sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5cbiVmb250LW1vbm9zcGFjZSxcbi5mb250LW1vbm9zcGFjZSB7XG4gIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250O1xufVxuXG4uc3ViaGVhZGVyIHtcbiAgQGV4dGVuZCAlZm9udC1tb25vc3BhY2U7XG59XG5cbi5leWVicm93IHtcbiAgQGV4dGVuZCAuc3ViaGVhZGVyO1xufVxuXG4vLyBoMS1oMiwgaDMuZm9udC1ibGFjayBnZXQgdGhlIGJsYWNrIHRyZWF0bWVudFxuaDEsIC5oMSwgaDIsIC5oMiwgaDMuZm9udC1ibGFjaywgLmgzLmZvbnQtYmxhY2sge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYmxhY2s7XG59XG5cbmg0LCAuaDQge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBAaW5jbHVkZSBpbmhlcml0LWhlYWRpbmctc3R5bGUoaDUpO1xuICB9XG59XG5cbi8vIFRPRE86IHRoZXNlIGFyZSBwcm9iYWJseSBkZXByZWNhdGVkXG4vL0N1c3RvbSBoMSAtIGg2IHNtYWxsIGVsZW1lbnRcbiRoZWFkZXItc21hbGwtc2l6ZXM6IChcbiAgJ2gxJzogNTAlLFxuICAnaDInOiA2NiUsXG4gICdoMyc6IDY2JSxcbiAgJ2g0JzogNjYlLFxuICAnaDUnOiA2NiUsXG4gICdoNic6IDY2JSxcbik7XG4vLyBSdWxlIGZvciBoMSAtIGg2IHNtYWxsIGVsZW1lbnRcbkBlYWNoICRoZWFkZXJzLCAkc2l6ZSBpbiAkaGVhZGVyLXNtYWxsLXNpemVzIHtcbiAgQGlmICRzaXplICE9ICRzbWFsbC1mb250LXNpemUge1xuICAgICN7JGhlYWRlcnN9IHtcbiAgICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAjeyRzaXplfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjYXJkcyB7XG4gIC5jYXJkIHtcblxuICAgIC8vIENhcmQgdXNlZCBpbiBtb2R1bGFyIGdyaWQgbGF5b3V0c1xuICAgICYuZGVmYXVsdCB7XG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDM2MCk7XG4gICAgICB9XG5cbiAgICAgICN7aGVhZGluZ3MoKX0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgIC8vIEZvcmNlIHRoZSBmb250IHNpemUgdG8gbG9vayBsaWtlIGFuIGg1XG4gICAgICAgICRzbWFsbDogbWFwLWRlZXAtZ2V0KCRoZWFkZXItc3R5bGVzLCBzbWFsbCwgaDUpO1xuICAgICAgICAkbWVkaXVtOiBtYXAtZGVlcC1nZXQoJGhlYWRlci1zdHlsZXMsIG1lZGl1bSwgaDUpO1xuICAgICAgICAkbGFyZ2U6IG1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGg1KTtcblxuICAgICAgICAvLyBzbWFsbCBzY3JlZW5zXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLXNhZmUtZ2V0KCRzbWFsbCwgZm9udC1zaXplKSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1zYWZlLWdldCgkbWVkaXVtLCBmb250LXNpemUpKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtc2FmZS1nZXQoJGxhcmdlLCBmb250LXNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLy8gU3VwcG9ydCBmb3Igb3VyIGZsZXgtYm94eSBzdHJlY2h5IGNhcmQgdGhhdCBhbHdheXMgaGFkIHRoZSBsaW5rIGF0IHRoZSBib3R0b20gb2YgdGhlIGNhcmRcbiAgICAgICYuZmxleHkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgI3toZWFkaW5ncygpfSB7XG4gICAgICAgICAgZmxleDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBydWxlcyBmb3IgbGVhZGVyIGNhcmRcbiAgICAmLmxlYWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHRvIHByZXZlbnQgZmlsbC1zcGFjZS1saW5rIGZyb20gb3ZlcmZsb3dpbmcgYWxsIG92ZXIgdGhlIHBhZ2VcblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogJG9yYW5nZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1bXMgZWFzZS1vdXQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkIGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAkYmx1ZTtcbiAgICAgIH1cblxuICAgICAgYS5maWxsLXNwYWNlLWxpbmsge1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZGwuaW5mby1jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAuaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0NSk7XG4gICAgfVxuICB9XG5cbiAgLmg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgY29sb3I6ICRuZXV0cmFsLThcbiAgICB9XG4gIH1cblxuICBkZCB7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkICRvcmFuZ2UgMC4xMjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgc3Bhbi5oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGF5b3V0LWNvbXByZXNzZWQge1xuICAvLyBDb21wcmVzc2VkIExheW91dFxuICAubGF5b3V0LWNvbXByZXNzZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIGJvcmRlci1ib3R0b20gb24gc29tZSBzdHVmZlxuICAgICYuYm9yZGVyIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpICRuZXV0cmFsLTYgc29saWQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNlY3Rpb25zIHdpdGggdGhlIGJ5bGluZSByZWNlaXZlIGxlc3MgbWFyZ2luIHRvcFxuICAgICYuaGFzLWJ5bGluZSB7XG4gICAgICAuZ3JpZC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nLCBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE3NSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNzUpO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGxhc3QgY2hpbGQgb2YgdGhlIGdyaWQgY29udGFpbmVyIGRvZXNuJ3QgaGF2ZSBhbnkgYm90dG9tIG1hcmdpblxuICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkd2lkdGgtbmFycm93Oy8vIHRoaXMgY29tcHJlc3NlcyB0aGUgZ3JpZC1jb250YWluZXJcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBdHRyaWJ1dGlvbiBib3ggYXQgdGhlIHRvcFxuICAgIEBhdC1yb290IC5ieWxpbmUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjUpO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLTM7XG4gICAgICAgIEBpbmNsdWRlIG1vbm9zcGFjZS1mb250O1xuICAgICAgfVxuXG4gICAgICA+IGFzaWRlLCA+IGRpdiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICA+IGRpdiB7XG5cbiAgICAgICAgICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkbmV1dHJhbC02O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDY2KTtcblxuICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRpbWUge1xuICAgICAgICBjb2xvcjogJG5ldXRyYWwtYmxhY2s7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgLnNoYXJlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCAyMCAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTcpO1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gbWVkaXVtIHVwXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDg2Nik7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje21hcC1zYWZlLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCBtZWRpdW0pfSk7XG5cbiAgICAgICAgLy8gdGhlIGJvcmRlciBzZXBhcmF0b3JzXG4gICAgICAgID4ge1xuICAgICAgICAgIDpudGgtY2hpbGQoMyksXG4gICAgICAgICAgOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiByZW0tY2FsYygxKSBzb2xpZCAkbmV1dHJhbC02O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaGFyZSB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDg2NnB4IC0gI3ttYXAtc2FmZS1nZXQoJGdyaWQtY29sdW1uLWd1dHRlciwgbWVkaXVtKX0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGhyIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDc1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDc1KTtcbiAgICAgIGJvcmRlci1jb2xvcjogJG5ldXRyYWwtODtcbiAgICB9XG5cbiAgICAvLyBXcmFwcGVyIGZvciBpbWFnZXMgd2l0aCB0aGUgY2hlY2sveCBvdmVybGF5XG4gICAgLm92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi5jaGVja21hcms6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKCdodHRwczovL2Fzc2V0cy5hcXVlbnQuY29tL3N2Zy9yZWRlc2lnbi9vdmVybGF5LWNoZWNrLnN2ZycpO1xuICAgICAgfVxuXG4gICAgICAmLnhtYXJrOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHVybCgnaHR0cHM6Ly9hc3NldHMuYXF1ZW50LmNvbS9zdmcvcmVkZXNpZ24vb3ZlcmxheS14LnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIG1vZHVsYXItZ3JpZCB7XG4gIC8vIFVzZWQgZm9yIHRoZSBzZXJ2aWNlcyBzdHVmZlxuICAubGF5b3V0LW1vZHVsYXItZ3JpZCB7XG5cbiAgICAvLyBkZWZhdWx0cyB0byB0aHJlZSBjb2x1bW4gZ3JpZFxuICAgIC5ncmlkIHtcbiAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICBAaWYgJGJyZWFrcG9pbnQgIT0gc21hbGwge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlLzI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdmFsdWUvMjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJHZhbHVlLzI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJHZhbHVlLzI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudHMgZ3JpZCBmb3JjaW5nIGJleW9uZCBzY3JlZW4gd2lkdGhcblxuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgcm93LWdhcDogcmVtLWNhbGMoNTApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgcm93LWdhcDogcmVtLWNhbGMoNjApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7XG4gICAgICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDk1KTtcbiAgICAgICAgcm93LWdhcDogcmVtLWNhbGMoNzUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDQgY29sdW1uIGdyaWRcbiAgICAmLmZvdXIge1xuICAgICAgLmdyaWQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnI7XG5cbiAgICAgICAgICAvLyBUT0RPOiB0aGVzZSBhcmUgYXJiaXRyYXJ5IHZhbHVlcyBhbmQgc2hvdWxkIGJlIHZpc2l0ZWQgd2l0aCBtYXJrZXRpbmcgYXQgc29tZSBwb2ludFxuICAgICAgICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIgY29sdW1uIGdyaWRcbiAgICAmLnR3byB7XG4gICAgICAuZ3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG5cbiAgICAgICAgICAvLyBUT0RPOiB0aGVzZSBhcmUgYXJiaXRyYXJ5IHZhbHVlcyBhbmQgc2hvdWxkIGJlIHZpc2l0ZWQgd2l0aCBtYXJrZXRpbmcgYXQgc29tZSBwb2ludFxuICAgICAgICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gMyBjb2x1bW4gZ3JpZFxuICAgICYudGhyZWUge1xuICAgICAgLmNhcmQge1xuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUT0RPOiB0aGVzZSBydWxlcyB3ZXJlIHByZXR0eSBtdWNoIGNvcGllZCBmcm9tIEFxdWVudCBTdHVkaW9zLiBMZXQncyBtZXJnZSB0aGVtIHRvZ2V0aGVyIHNvbWVob3cuIE1heWJlIGFydGlmYWN0b3J5LCBtYXliZSBhIHNpbXBsZSBwdWJsaWMgcmVwby5cblxuXG5cbkBtaXhpbiBpbnRlcmlvci1wYW5lbHMge1xuICAubGF5b3V0LWludGVyaW9yLXBhbmVsIHtcbiAgICAvLyBwcmV2ZW50IG92ZXJmbG93IGlzc3VlcyBmcm9tIGN1c3RvbSBtYXJnaW5zXG4gICAgPiBkaXYge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBjdXN0b20gaG9yaXpvbnRhbCBzcGFjaW5nXG4gICAgLy8gVE9ETzogY29udmVydCB0byBDU1MgZ3JpZFxuICAgIEBpbmNsdWRlIGN1c3RvbS1ncmlkLW1hcmdpbnMoJGludGVyaW9yLWhvcml6b250YWwtbWFyZ2lucywgMiwgbGFyZ2UpO1xuXG4gICAgLy8gQWRkIGN1c3RvbWl6YXRpb25zIGJlbG93XG4gICAgLy8gJi5leGFtcGxlIHt9XG5cbiAgICAvLyBDdXJyZW50bHkgdGhlIGRlZmF1bHQgaW4gdGhlIENNUyBiZWNhdXNlIGl0J3MgcHJlc2V0LCBidXQgaGV5LCB0aGF0IGNhbiBhbHdheXMgY2hhbmdlXG4gICAgJi5hbHRlcm5hdGluZyB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAuY2VsbDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNlbGw6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3Igc2luZ2xlIHBhbmVscywgbm9uIHNlcXVlbnRpYWwgcGFuZWxzXG4gICAgJi5mbGlwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgJi5tb2JpbGUtdGV4dC1maXJzdCB7XG4gICAgICAgIC5jZWxsOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICAuY2VsbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1peGluIGxheW91dC1zdGFuZGFyZCB7XG4gIC5sYXlvdXQtc3RhbmRhcmQge1xuICAgIC8vIEFkZHMgbGFyZ2UtMSB2ZXJ0aWNhbCBzcGFjaW5nXG4gICAgQGV4dGVuZCAldmVydC1zcGMtbGctMTtcbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgJHZlcnRpY2FsLXNwYWNpbmcgbWFwIGFzIGRlZmluZWQgaW4gdmFycy5zY3NzXG5AbWl4aW4gdmVydGljYWwtc3BhY2luZygkbWFwLCAkZGlyOiBhdXRvLCAkdHlwZTogbWFyZ2luKSB7XG4gIEBpZiAoJG1hcCA9PSBudWxsKSB7XG4gICAgQHdhcm4gJ3RoaXMgbWl4aW4gbmVlZHMgYSBtYXAgcGFzc2VkIGluIGFzIGFuIGFyZ3VtZW50JztcbiAgfSBAZWxzZSB7XG4gICAgLy8gdmVydGljYWwgc3BhY2luZyBvbiBpbnRlcmlvciBwYW5lbHMgZm9yIG1vYmlsZSAmIHdpZGVcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRtYXAge1xuICAgICAgQGlmICgkZGlyID09IGF1dG8pIHtcbiAgICAgICAgQGlmICRicmVha3BvaW50ICE9IHNtYWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICAjeyR0eXBlfS10b3A6ICR2YWx1ZTtcbiAgICAgICAgICAgICN7JHR5cGV9LWJvdHRvbTogJHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skdHlwZX0tdG9wOiAkdmFsdWU7XG4gICAgICAgICAgI3skdHlwZX0tYm90dG9tOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBAaWYgJGJyZWFrcG9pbnQgIT0gc21hbGwge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICN7JHR5cGV9LSN7JGRpcn06ICR2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHR5cGV9LSN7JGRpcn06ICR2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSBjbGFzc25hbWVzIGFuZCBTQVNTIHBsYWNlaG9sZGVycyBmb3IgdXNpbmcgd2hlcmUgYXBwcm9wcmlhdGVcbkBtaXhpbiBzcGFjaW5nKCkge1xuICBAZWFjaCAkbGFiZWwsICRtYXAgaW4gJHZlcnRpY2FsLXNwYWNpbmcge1xuICAgIEBpZiAodmFyaWFibGUtZXhpc3RzKGxhYmVsKSBhbmQgdmFyaWFibGUtZXhpc3RzKG1hcCkpIHtcbiAgICAgICV2ZXJ0LXNwYy0jeyRsYWJlbH0gPiBkaXYsXG4gICAgICAudmVydC1zcGMtI3skbGFiZWx9ID4gZGl2LFxuICAgICAgLm1hcmdpbi0jeyRsYWJlbH0ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1zcGFjaW5nKCRtYXApO1xuICAgICAgfVxuICAgICAgLnBhZGRpbmctI3skbGFiZWx9IHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtc3BhY2luZygkbWFwLCAkdHlwZTogcGFkZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC8vIFRvcCBvbmx5XG4gICAgICAudmVydC1zcGMtI3skbGFiZWx9LXRvcCA+IGRpdixcbiAgICAgIC5tYXJnaW4tdG9wLSN7JGxhYmVsfSB7XG4gICAgICAgIEBpbmNsdWRlIHZlcnRpY2FsLXNwYWNpbmcoJG1hcCwgJGRpcjogdG9wKTtcbiAgICAgIH1cbiAgICAgIC5wYWRkaW5nLXRvcC0jeyRsYWJlbH0ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1zcGFjaW5nKCRtYXAsICRkaXI6IHRvcCwgJHR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAvLyBCb3R0b20gb25seVxuICAgICAgLnZlcnQtc3BjLSN7JGxhYmVsfS1ib3R0b20gPiBkaXYsXG4gICAgICAubWFyZ2luLWJvdHRvbS0jeyRsYWJlbH0ge1xuICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1zcGFjaW5nKCRtYXAsICRkaXI6IGJvdHRvbSk7XG4gICAgICB9XG4gICAgICAucGFkZGluZy1ib3R0b20tI3skbGFiZWx9IHtcbiAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtc3BhY2luZygkbWFwLCAkZGlyOiBib3R0b20sICR0eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlZmx1c2gtYm90dG9tLFxuICAuZmx1c2gtYm90dG9tIHtcbiAgICA+IGRpdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICVmbHVzaC10b3AsXG4gIC5mbHVzaC10b3Age1xuICAgID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gbGF5b3V0LXN0YXRzLTJjb2woKSB7XG4gIC5zdGF0cy0yY29sIHtcblxuXG4gICAgLnRleHQtc3RhdCB7XG4gICAgICAvLyBUT0RPOiBzaG91bGQgdGhpcyBzaW1wbHkgZXh0ZW5kIC5oMSA/IFRoZSBzaXppbmcgc2VlbXMgcHJhY3RpY2FsbHkgaWRlbnRpY2FsXG4gICAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1NSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjApO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC43NTsgLy8gaGFjayB0byBnZXQgdGhlIHRleHQgdG8gYWxpZ24gdG8gdGhlIHRvcCBvZiB0aGUgcmlnaHQgY29sdW1uIC0tIG1pZ2h0IGJlIHByb2JsZW1hdGljIGlmIHRoZXJlIGlzIHRleHQgd2l0aCBhc2NlbmRlcnNcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBAZXh0ZW5kIC5oNTtcbiAgICB9XG4gIH1cblxuICAuc3RhdC1yb3cge1xuXG4gICAgPiBkaXYge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1kZWVwLWdldCgkdmVydGljYWwtc3BhY2luZywgJ21kLTInLCAnc21hbGwnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkbmV1dHJhbC0yO1xuICAgICAgQGV4dGVuZCAubWFyZ2luLWJvdHRvbS1tZC0yO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCR2ZXJ0aWNhbC1zcGFjaW5nLCAnbWQtMicsICdtZWRpdW0nKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWRlZXAtZ2V0KCR2ZXJ0aWNhbC1zcGFjaW5nLCAnbWQtMicsICdsYXJnZScpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtODtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBhc3BlY3QtcmF0aW9zIHtcbiAgLy8gQmVnaW4gZnV0dXJpc3RpYyBhc3BlY3QgYm94ZXMgdmlhIEBodHRwczovL2Nzcy10cmlja3MuY29tL2FzcGVjdC1yYXRpby1ib3hlcy8jYXJ0aWNsZS1oZWFkZXItaWQtN1xuICBbc3R5bGUqPVwiLWFzcGVjdC1yYXRpb1wiXSB7XG4gICAgPiB7XG4gICAgICA6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBzdXBwb3J0cyAoLS1jdXN0b206IHByb3BlcnR5KSB7XG4gICAgW3N0eWxlKj1cIi1hc3BlY3QtcmF0aW9cIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbc3R5bGUqPVwiLS1hc3BlY3QtcmF0aW9cIl06OmJlZm9yZSB7XG4gICAgICBwYWRkaW5nLXRvcDogY2FsYygxMDAlIC8gKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICB9XG5cbiAgICAkYXNwZWN0LXNpemU6IG1lZGl1bSwgbGFyZ2U7XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYXNwZWN0LXNpemUge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBbc3R5bGUqPVwiLS0jeyRzaXplfS1hc3BlY3QtcmF0aW9cIl0ge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogY2FsYygxMDAlIC8gKHZhcigtLSN7JHNpemV9LWFzcGVjdC1yYXRpbykpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBpbWFnZXMge1xuICAvLyBMZWdhY3kgU3R1ZmZcbiAgLyogQ3VzdG9tIENTUyBEcm9wIFNoYWRvdyBGb3IgSW1hZ2VzICovXG4gIGZpZ3VyZS5kcm9wLXNoYWRvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgd2lkdGg6IDEwNiU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgfVxuICB9XG4gIC8qIEhlbHBlcnMgZm9yIFJldmVhbCBNb2RhbCBhcm91bmQgaW1hZ2VzICovXG4gIC5yZXZlYWwtaW1nLWhlbHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5yZXZlYWwtaGVscGVyLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA1cHggN3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLC41KTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG4gIC5yZXZlYWwtaGVscGVyLWljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1cHggNXB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICB9XG5cbiAgLyogQmxvZyBJbWFnZXMgKHByZXZlbnQgMTAwJSB3aWR0aCBpbWFnZXMgaW4gYmxvZyBwb3N0IGJvZHkpICovXG4gIGltZy5hdXRvLXdpZHRoLFxuICAudGhlLXBvc3QgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIEFkZCBzdXBwb3J0IGZvciB3ZWlyZCBzY2FsZWQgaW1hZ2Ugb24gdGhpcyBoZXJlIHBhZ2U6IGh0dHBzOi8vYXF1ZW50LmNvbS9zb2x1dGlvbnMvdGVhbS1yZWFkaW5lc3NcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBpbWcge1xuICAgICAgJi5zY2FsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGdXR1cmUtcHJvb2YgaGFuZGxpbmcgb2YgaW1nIGhyZWZzIGxpbmtpbmcgZGlyZWN0bHkgdG8gU1ZHIGljb25zXG4gIC5zdmctaW1nIHtcbiAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIEFnZW50IGNhcmRzXG4uYWdlbnQtaW5mb3JtYXRpb24ge1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg4KSAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJi5hZ2VudC1saW5rIHtcbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBtb25vc3BhY2UtZm9udDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGVsZXBob25lIHtcbiAgICBzcGFuIHtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbW9ub3NwYWNlLWZvbnQ7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbWVkaXVtO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxKSBzb2xpZCAkYmx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucm9sZSB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIvLyBKb2IgU2VhcmNoIEZvcm1cbi5qb2Itc2VhcmNoIHtcbiAgLmFkdmFuY2VkLW9wdGlvbnMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRvcDogMC41cmVtO1xuICAgIH1cbiAgfVxuICAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmc7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgcCB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja2JveC1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB9XG5cbiAgLm9mZnNpdGUtY2hlY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5maWx0ZXJzIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxOCk7XG4gIH1cbn1cbi8vIEZpbmQgV29yayBDb250ZW50ICYgUmVzdWx0c1xuLmZpbmQtd29yay13cmFwcGVyIHtcblxuICAucmVzdWx0LXN1bW1hcnkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAucGFnaW5hdGlvbiB7XG4gICAgLm5leHQtcGFnZS10cmlnZ2VyIHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoNDUgMCAxMDApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuam9iLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjcmVhbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDI1MG1zIGVhc2U7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5ldXRyYWwtODtcbiAgICB9XG5cbiAgICAubG9jYXRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4uc3RlcC1zcGxpdC12ZXJ0IHtcbiAgdG9wOiByZW0tY2FsYygyNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQzKTtcbiAgfVxufVxuLmZpbmQtd29yay1yZXN1bHRzIHtcbiAgLnBvc3RlZC1ieSB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAubmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgfVxuXG4gIC5sb2NhdGlvbiB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgLmN0YSBhIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxufVxuXG4uYmVuZWZpdHMtcGFuZWwge1xuICAuYmVuZWZpdC1jb2wge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwIDYwIDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBib3JkZXItdG9wOiByZW0tY2FsYygxKSBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMSkgc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICBib3JkZXItbGVmdDogcmVtLWNhbGMoMSkgc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYygzNjgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKG4rMykge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCA2MCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIEhpc3RvcnkvVGltZWxpbmUgUGFnZSAqL1xuLy8gVmFyaWFibGVzXG4kdGltZWxpbmUtdmVydGljYWwtb2Zmc2V0czogKFxuICAxMDA6IHJlbS1jYWxjKC0xMDApLFxuICAyMDA6IHJlbS1jYWxjKC0yMDApLFxuICAzMDA6IHJlbS1jYWxjKC0zMDApLFxuICA0MDA6IHJlbS1jYWxjKC00MDApLFxuICA1MDA6IHJlbS1jYWxjKC01MDApLFxuICA2MDA6IHJlbS1jYWxjKC02MDApLFxuICA3MDA6IHJlbS1jYWxjKC03MDApXG4pO1xuXG4udGltZWxpbmUge1xuICAvLyBFYWNoIHRpbWVsaW5lIFwiY2hhcHRlclwiIHdyYXBwZXJcbiAgPiBzZWN0aW9uIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoZWFkZXIge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMDApIDAgcmVtLWNhbGMoMTI1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDkwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGF0LXJvb3QgLnRpbWVsaW5lLWVudHJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEyMCk7XG5cbiAgICAmLnBhbmVsLWxlZnQsICYucGFuZWwtcmlnaHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC8vIGRpdiB1c2VkIGZvciBpbWFnZS1vbmx5IGVudHJpZXMsIHNlY3Rpb24gZm9yIGNvbnRlbnQtYmFzZWQgZW50cmllc1xuICAgID4gZGl2LCBzZWN0aW9uIHtcbiAgICAgIHdpZHRoOiA2NTBweDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMDApO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcycHgpO1xuXG4gICAgICArIHAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTIwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoNikgc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgICAmICsgLmVudHJ5LXRhZ2xpbmUge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xNik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHNlY3Rpb24ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAmLmhhcy1pbWFnZSB7XG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoLTE0NCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENvbnRlbnQgcGFuZWxcbiAgICAgID4gZGl2IHtcbiAgICAgICAgbWFyZ2luOjAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MzgpO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAmLnBhbmVsLWxlZnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAmLnBhbmVsLXJpZ2h0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIHNvbWUgZGVmaW5lZCB1dGlsaXR5IGNsYXNzZXMgdG8gaGFuZGxlIHRpbWVsaW5lIGVsZW1lbnQgb3ZlcmxhcCB3aXRoIHNvbWUgY29uc2lzdGVuY3lcbiAgICAgIEBlYWNoICRoZWlnaHQsICRzaXplIGluICR0aW1lbGluZS12ZXJ0aWNhbC1vZmZzZXRzIHtcbiAgICAgICAgLnZlcnRpY2FsLW9mZnNldC0jeyRoZWlnaHR9IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkc2l6ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYWJvdXQtdXMtaGlzdG9yeSB7XG4gIC8vIFZpZGVvIG1vZGFsIHR3ZWFrc1xuICAucmV2ZWFsIHtcbiAgICAmLnZpZGVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG5cbiAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmluZHVzdHJ5LWNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAubGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEzIDE2KTtcbiAgfVxuICAubW9yZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDgpO1xuICB9XG59XG5cbi5idXR0b24tY2xvdWQge1xuICBoMSB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLyBSb2xlcyBXZSBGaWxsXG4vLyBJbmR1c3RyeSBEZXRhaWxcbi5pbmR1c3RyeS1kZXRhaWwge1xuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuICB9XG5cbiAgLmludHJvIHtcblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICB9XG4gIH1cblxuICAuZGVlcC1kaXZlIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG5cbiAgICAgIC5zaWRlbGluZXMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgfVxuXG4gIC5pbmR1c3RyeS10ZXN0aW1vbmlhbHMge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQwMCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBjaXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmluZHVzdHJ5LXRlYW0ge1xuXG4gICAgLmxlYWRlci1saW5rIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLmxlYWRlci1ib3gtbW9yZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubGVhZGVyLWRldGFpbHMge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSBhdXRvIDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0NSk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG59XG4vLyBUZWFtIEdyaWQgSXRlbXNcbi50ZWFtLWdyaWQtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLmNvcm5lci1idXR0b24ge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygzNik7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDg4KTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKC0zMik7XG4gICAgYm90dG9tOiByZW0tY2FsYygtMTApO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgIHNwYW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiByZW0tY2FsYygxMyk7XG4gICAgICByaWdodDogcmVtLWNhbGMoNDMpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLml0ZW0tZnJvbnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gID4gYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuICB9XG59XG5cbi5pdGVtLWJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5jb3JuZXItYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAwLjkpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICB0b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygzOCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBBcXVlbnQgTGFuZGluZyBQYWdlIHN0eWxlc1xuLnRvcC1uYXYge1xuICAmLS1sYW5kaW5nLXBhZ2Uge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDAgMTUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDAgMCAzMCk7XG4gICAgICA7XG4gICAgfVxuICB9XG59XG5cbi5sZWFkLWZvcm0ge1xuICAmLS1sYW5kaW5nLXBhZ2Uge1xuICAgIC5zaG93LWZvci1zciB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG92ZXJmbG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgc2VsZWN0LFxuICAgIGlucHV0IHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhLFxuICAgIGlucHV0IHtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICRuZXV0cmFsLTg7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuaHIge1xuICAmLmRhcmsge1xuICAgICYtLWxhbmRpbmctcGFnZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5ldXRyYWwtNDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmQtYXJ0aWNsZSB7XG4gICYtLWxhbmRpbmctcGFnZSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBoNCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmFxdWVudC1mb290ZXIge1xuICAmLS1sYW5kaW5nLXBhZ2Uge1xuICAgIC5mb290ZXItdGl0bGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5mb290ZXItdGl0bGUsXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG5ldXRyYWwtNjtcbiAgICB9XG4gIH1cbn1cblxuLnN1Yi1mb290ZXIge1xuICAmLS1sYW5kaW5nLXBhZ2Uge1xuICAgIC5zb2NpYWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIERldnMsIHBsZWFzZSBwdXQgb25lLW9mZnMgaGVyZSAqL1xuXG5cbi8vIERpcmVjdCBIaXJlIFBhZ2Vcbi5kaXJlY3QtaGlyZSB7XG4gIGgxIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogODN2bWluO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDg4dm1pbjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFydG5lcnNoaXBzIFBhZ2Vcbi50cmktY29sdW1uIHtcbiAgY29sdW1uLXdpZHRoOiByZW0tY2FsYygzNjApO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1tZWRpdW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxufVxuXG4ucGFydG5lci1sb2dvcyB7XG4gIC5wYXJ0bmVyLWxvZ28ge1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI1MCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNTIpO1xuICAgICAgYm9yZGVyLXRvcDogcmVtLWNhbGMoMSkgc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICBib3JkZXItcmlnaHQ6IHJlbS1jYWxjKDEpIHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgICAmOm50aC1jaGlsZCgtbiszKSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKzMpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMDYpO1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEFxdWVudCBMb2NhdGlvbnMgU2VjdGlvblxuQG1peGluIGFxdWVudC1mb290ZXIge1xuICAuc2l0ZS1mb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5sb2NhdGlvbnMge1xuICAgIC5jaXRpZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gLyAzO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY291bnRyeS10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gICAgLnVzYSB7XG4gICAgICAtbW96LWNvbHVtbi1jb3VudDogMjtcbiAgICAgIC1tb3otY29sdW1uLWdhcDogMDtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xuICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAwO1xuICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgY29sdW1uLWdhcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTb2NpYWwgY29tcG9uZW50XG4gIC5zb2NpYWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMXJlbSBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgZWFzZTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpdGUtZm9vdGVyIC5zb2NpYWwgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gIC8vIEZvb3RlciBTQ1NTXG4gIC5hcXVlbnQtZm9vdGVyIHtcbiAgICAvLyBMb2dvXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgLmxvZ28ge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgICAuYXF1ZW50LWxhcmdlIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyMTEpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1idXR0b25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDc1KTtcbiAgICAgIGEge1xuICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIGg0IHtcbiAgICAgIGJvcmRlci1ib3R0b206IHJlbS1jYWxjKDEpIHNvbGlkICRuZXV0cmFsLTI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAuZm9vdGVyLWxpbmtzIHtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuXG4gICAgICBkbC5zaW1wbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIGR0IHtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdWItZm9vdGVyIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLmNvcHktaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoOCk7XG4gIH1cbn1cbiJdfQ== */
