/**
 * Foundation for Sites by ZURB
 * Version 6.5.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
.text-red {
  color: #9c1421 !important; }

.text-alt-blue {
  color: #276c98 !important; }

/* ============================================================
    * Component - Mobile Menu
============================================================ */
/**
    * Mobile menu component can support multiple levels
    *
    * 1. Background of first level
    * 2. Border between each
    * 3. Padding of each item
    * 4. Color of Links on first Level
*/

.content ul, .content li {
  color:#262571!important;
}
.jd-menu {
  display: none;
  position: relative;
  width: 100%;
  background-color: #455A64; }
  .jd-menu ul {
    position: relative;
    left: 0;
    top: 0;
    padding: 0;
    margin: 0;
    list-style-type: none; }
  .jd-menu li {
    background: #455A64;
    margin: 0;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 2px solid #fff; }
    .jd-menu li > ul {
      position: absolute;
      left: 100%;
      top: 0;
      width: 100%;
      display: none; }
  .jd-menu a, .jd-menu span {
    padding: 20px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    width: 100%; }
  .jd-menu i {
    color: #fff;
    text-align: right;
    padding-right: 20px; }
  .jd-menu .hasChild > a {
    width: auto; }

/*! 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;
  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=64em&xlarge=75em&xxlarge=90em"; }

html {
  box-sizing: border-box;
  font-size: 100%; }

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: auto; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .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: 64em) {
      .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: 64em) {
  .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; } }

.slide-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }

.slide-out-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-ccw-1turn;
          animation-name: spin-ccw-1turn; }

@-webkit-keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); } }

@keyframes spin-ccw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.shake,
.spin-cw,
.spin-ccw,
.wiggle {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms; }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

/*
  My custom styles:
  Add your scss files below to structure your project styles
*/
/* ============================================================
    * Component - Mobile Menu
============================================================ */
/**
    * Mobile menu component can support multiple levels
    *
    * 1. Background of first level
    * 2. Border between each
    * 3. Padding of each item
    * 4. Color of Links on first Level
*/
.jd-menu {
  display: none;
  position: relative;
  width: 100%;
  background-color: #455A64; }
  .jd-menu ul {
    position: relative;
    left: 0;
    top: 0;
    padding: 0;
    margin: 0;
    list-style-type: none; }
  .jd-menu li {
    background: #455A64;
    margin: 0;
    width: 100%;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 2px solid #fff;
    transition: all 0.3s; }
    .jd-menu li:hover {
      border-bottom: solid 2px white; }
    .jd-menu li > ul {
      position: absolute;
      left: 100%;
      top: 0;
      width: 100%;
      display: none; }
  .jd-menu a, .jd-menu span {
    padding: 20px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    width: 100%; }
  .jd-menu i {
    color: #fff;
    text-align: right;
    padding-right: 20px; }
  .jd-menu .hasChild > a {
    width: auto; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden; }

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

#wpadminbar {
  position: fixed !important; }

body.admin-bar.f-topbar-fixed .sticky.fixed {
  margin-top: 2rem; }

body.admin-bar.offcanvas .off-canvas.is-open {
  top: 2.875rem; }
  @media screen and (min-width: 48.9375em) {
    body.admin-bar.offcanvas .off-canvas.is-open {
      top: 2rem; } }

.wp-caption > figcaption {
  max-width: 100%;
  font-size: 0.8rem;
  color: #999;
  padding: 0.25rem 0; }

p.wp-caption-text {
  font-size: 90%;
  color: #666;
  padding: 0.625rem 0; }

.alignleft {
  float: left;
  padding-right: 1rem;
  margin: 0; }

.alignright {
  float: right;
  padding-left: 1rem;
  margin: 0; }

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

.button, .newsletter_bar > div .frm_button_submit {
  padding: 10px 15px 10px 15px;
  color: white;
  background: #262571;
  display: block;
  max-width: 175px;
  text-decoration: none;
  font-weight: bold;
  margin-bottom: 10px;
  transition: all 0.3s;
  text-align: center; }
  .button:hover, .newsletter_bar > div .frm_button_submit:hover {
    background: #9c1421;
    color: white; }

.button--white {
  background: white;
  color: #262571; }
  .button--white:hover {
    background: #262571;
    color: #fefefe; }

.button--blue:hover, .button--bluealt:hover {
  background: #9c1421 !important;
  color: #fefefe; }

.button--red {
  background: #e62947;
  color: #fefefe;
  text-transform: uppercase; }
  .button--red:hover {
    background: #262571;
    color: #fefefe; }

.button--bluealt {
  background: #276c98;
  color: #fefefe;
  text-transform: uppercase; }
  .button--bluealt:hover {
    background: #276c98;
    color: #fefefe; }

.button--reddark {
  background: #9c1421;
  color: #fefefe;
  text-transform: uppercase; }
  .button--reddark:hover {
    background: #2f3951;
    color: #fefefe; }

.button--viewall {
  float: left;
  margin-top: 22px;
  padding-left: 25px;
  padding-right: 25px;
  background: #276c98; }
  .button--viewall:hover {
    background: #262571;
    color: #fefefe; }

.button--share, .button--download {
  display: inline-block;
  max-width: 230px;
  width: 100%;
  margin-top: 25px;
  text-transform: uppercase; }
  @media print, screen and (min-width: 40em) {
    .button--share, .button--download {
      float: right;
      padding-left: 35px;
      padding-right: 35px;
      max-width: 300px;
      width: 100%; } }
  .button--share:hover, .button--download:hover {
    background: #276c98;
    color: white; }

.button--download {
  background: #e62947;
  max-width: 300px;
  margin-left: 15px; }
  .button--download:hover {
    background: #276c98;
    color: white; }

.newsletter_bar {
  width: 100%;
  padding: 35px; }
  .newsletter_bar.newsletter_bar__blue {
    background: #262571;
    color: white; }
    .newsletter_bar.newsletter_bar__blue label {
      color: white; }
    .newsletter_bar.newsletter_bar__blue button {
      background: #9c1421; }
  .newsletter_bar.newsletter-borders > div {
    padding-top: 35px;
    border-top: solid 1px #262571;
    border-bottom: solid 1px #262571;
    padding-bottom: 35px; }
  .newsletter_bar > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto; }
    .newsletter_bar > div::before, .newsletter_bar > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .newsletter_bar > div::after {
      clear: both; }
    .newsletter_bar > div label {
      display: block;
      color: #262571;
      font-weight: bold;
      margin-bottom: 15px; }
    .newsletter_bar > div input {
      display: inline-block;
      margin-right: 25px;
      max-width: 400px;
      width: 100%;
      background: #eeeeee;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      border: none;
      padding: 15px;
      color: #262571; }
      .newsletter_bar > div input::-webkit-input-placeholder {
        color: #262571;
        font-weight: bold; }
      .newsletter_bar > div input:-ms-input-placeholder {
        color: #262571;
        font-weight: bold; }
      .newsletter_bar > div input::placeholder {
        color: #262571;
        font-weight: bold; }
    .newsletter_bar > div .frm_primary_label {
      display: none !important; }
    .newsletter_bar > div .frm_button_submit {
      display: inline-block;
      height: 50px;
      padding-left: 50px;
      padding-right: 50px;
      max-width: 400px; }

fieldset {
  border: none;
  padding: 0px; }

.frm_form_field {
  margin-left: 0px !important;
  margin-right: 25px !important; }

.update_banner {
  width: 100%;
  background: red;
  padding: 35px; }
  .update_banner > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .update_banner > div::before, .update_banner > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .update_banner > div::after {
      clear: both; }
    .update_banner > div .update_banner__image {
      display: none;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
      @media print, screen and (min-width: 40em) {
        .update_banner > div .update_banner__image {
          display: block;
          width: 41.66667%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .update_banner > div .update_banner__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 40em) {
          .update_banner > div .update_banner__image, .update_banner > div .update_banner__image:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .update_banner > div .update_banner__image:last-child:not(:first-child) {
            float: right; } }
    .update_banner > div .update_banner__content {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      padding-left: 50px; }
      @media print, screen and (min-width: 40em) {
        .update_banner > div .update_banner__content {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .update_banner > div .update_banner__content, .update_banner > div .update_banner__content:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .update_banner > div .update_banner__content:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 40em) {
        .update_banner > div .update_banner__content {
          width: 58.33333%;
          float: left;
          padding-right: 1.5625rem;
          padding-left: 1.5625rem; }
          .update_banner > div .update_banner__content, .update_banner > div .update_banner__content:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .update_banner > div .update_banner__content:last-child:not(:first-child) {
            float: right; } }
      .update_banner > div .update_banner__content h2 {
        color: #fefefe;
        font-weight: 700;
        font-family: interstate, sans-serif;
        font-size: 1.875rem;
        line-height: 2.125rem;
        margin: 0px; }
      .update_banner > div .update_banner__content p {
        color: white; }
      .update_banner > div .update_banner__content .button, .update_banner > div .update_banner__content .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .update_banner > div .update_banner__content .frm_button_submit {
        text-align: center; }

.contentbar_banner {
  width: 100%;
  background: #2f3951;
  padding: 35px; }
  .contentbar_banner > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .contentbar_banner > div::before, .contentbar_banner > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .contentbar_banner > div::after {
      clear: both; }
    .contentbar_banner > div .contentbar_banner__image {
      display: none;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
      @media print, screen and (min-width: 40em) {
        .contentbar_banner > div .contentbar_banner__image {
          display: block;
          width: 41.66667%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem;
          min-height: 300px; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .contentbar_banner > div .contentbar_banner__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 40em) {
          .contentbar_banner > div .contentbar_banner__image, .contentbar_banner > div .contentbar_banner__image:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .contentbar_banner > div .contentbar_banner__image:last-child:not(:first-child) {
            float: right; } }
    .contentbar_banner > div .contentbar_banner__content {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      padding-left: 50px; }
      @media print, screen and (min-width: 40em) {
        .contentbar_banner > div .contentbar_banner__content {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .contentbar_banner > div .contentbar_banner__content, .contentbar_banner > div .contentbar_banner__content:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .contentbar_banner > div .contentbar_banner__content:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 40em) {
        .contentbar_banner > div .contentbar_banner__content {
          width: 58.33333%;
          float: left;
          padding-right: 1.5625rem;
          padding-left: 1.5625rem; }
          .contentbar_banner > div .contentbar_banner__content, .contentbar_banner > div .contentbar_banner__content:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .contentbar_banner > div .contentbar_banner__content:last-child:not(:first-child) {
            float: right; } }
      .contentbar_banner > div .contentbar_banner__content h2 {
        color: #fefefe;
        font-weight: 700;
        font-family: interstate, sans-serif;
        font-size: 1.875rem;
        line-height: 2.125rem;
        margin: 0px; }
      .contentbar_banner > div .contentbar_banner__content p {
        color: white;
        font-size: 1.25rem;
        margin-top: 0px; }
      .contentbar_banner > div .contentbar_banner__content small {
        color: #e62947;
        font-weight: 700;
        font-family: interstate, sans-serif;
        font-size: 1.25rem; }
      .contentbar_banner > div .contentbar_banner__content .button, .contentbar_banner > div .contentbar_banner__content .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .contentbar_banner > div .contentbar_banner__content .frm_button_submit {
        text-align: center; }

.news__bar {
  padding: 35px; }
  .news__bar .news__bar__header {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    position: relative; }
    .news__bar .news__bar__header::before, .news__bar .news__bar__header::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .news__bar .news__bar__header::after {
      clear: both; }
    .news__bar .news__bar__header h2 {
      color: #262571;
      font-size: 2rem;
      font-weight: 700;
      font-family: interstate, sans-serif;
      margin-top: 0px; }
    .news__bar .news__bar__header > .button, .news__bar .newsletter_bar > div .news__bar__header > .frm_button_submit, .newsletter_bar > div .news__bar .news__bar__header > .frm_button_submit {
      position: absolute;
      top: 5px;
      right: 0px;
      text-align: center;
      max-width: 250px;
      width: 100%; }
  .news__bar .news__bar__container {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
            
            
            @media print, screen and (max-width: 40em) {
                .news__bar__container__item {
                    flex: 1 1 100%!important;
                    margin-right:0px!important;
                }
                .publications__bar__container__item {
                        flex: 1 1 100%!important;
                    margin-right:0px!important;
                }
                .project-themes__bar__container__item {
                       flex: 1 1 100%!important;
                    margin-right:0px!important;
                }
                

                .frm_fields_container input{
                    margin-bottom:15px;
                }
                .publications__bar__header > .button {
                    position:relative!important;
                    margin-bottom:15px;
                }
                .publications__bar__header h2 {
                    margin-bottom:0px;
                }
                
                .project-themes__bar__header > .button {
                    position:relative!important;
                    margin-bottom:15px;
                }
                .project-themes__bar__header h2 {
                    margin-bottom:0px;
                }
                
                .news__bar__header > .button {
                    position:relative!important;
                    margin-bottom:15px;
                }
                .news__bar__header h2 {
                    margin-bottom:0px;
                }
                .twitter__bar {
                    padding:10px;
                }
                .twitter__bar h2 {
                    font-size:26px!important;
                }
                .media_split {
                    display:none;
                }
                
             
                
                .update_banner__content, .contentbar_banner__content {
                    padding-left:0px!important;
                }
                .about__header {
                    padding:10px;
                }
                .mobilemenu_trigger__container {
                        position: absolute;
    right: 20px;
                }
            }
            
    .news__bar .news__bar__container::before, .news__bar .news__bar__container::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .news__bar .news__bar__container::after {
      clear: both; }
    .news__bar .news__bar__container .news__bar__container__item {
      -webkit-flex: 1 1 31%;
          -ms-flex: 1 1 31%;
              flex: 1 1 31%;
      margin-right: 25px; }
      .news__bar .news__bar__container .news__bar__container__item h3 {
        color: #262571;
        margin-bottom: 0px;
        margin-top: 0px;
        font-size: 1.125rem;
        font-weight: 700;
        font-family: interstate, sans-serif; }
      .news__bar .news__bar__container .news__bar__container__item:nth-child(3n) {
        margin-right: 0; }
      .news__bar .news__bar__container .news__bar__container__item img {
        width: 100%;
        margin-top: 10px; }
      .news__bar .news__bar__container .news__bar__container__item p {
        font-size: 0.875rem;
        color: #262571; }
      .news__bar .news__bar__container .news__bar__container__item small {
        display: block;
        text-transform: uppercase;
        font-weight: bold;
        color: #262571;
        padding-top: 15px; }

.publications__bar {
  padding: 35px; }
  .publications__bar .publications__bar__header {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    position: relative; }
    .publications__bar .publications__bar__header::before, .publications__bar .publications__bar__header::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .publications__bar .publications__bar__header::after {
      clear: both; }
    .publications__bar .publications__bar__header h2 {
      color: #276c98;
      font-size: 2rem;
      font-weight: 700;
      font-family: interstate, sans-serif;
      margin-top: 0px; }
    .publications__bar .publications__bar__header > .button, .publications__bar .newsletter_bar > div .publications__bar__header > .frm_button_submit, .newsletter_bar > div .publications__bar .publications__bar__header > .frm_button_submit {
      position: absolute;
      top: 5px;
      right: 0px;
      text-align: center;
      max-width: 250px;
      width: 100%;
      background: #276c98; }
  .publications__bar .publications__bar__container {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .publications__bar .publications__bar__container::before, .publications__bar .publications__bar__container::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .publications__bar .publications__bar__container::after {
      clear: both; }
    .publications__bar .publications__bar__container .publications__bar__container__item {
      -webkit-flex: 1 1 31%;
          -ms-flex: 1 1 31%;
              flex: 1 1 31%;
      margin-right: 25px; }
      .publications__bar .publications__bar__container .publications__bar__container__item h3 {
        color: #276c98;
        margin-bottom: 0px;
        margin-top: 0px;
        font-size: 1.125rem;
        font-weight: 700;
        font-family: interstate, sans-serif; }
      .publications__bar .publications__bar__container .publications__bar__container__item:nth-child(3n) {
        margin-right: 0; }
      .publications__bar .publications__bar__container .publications__bar__container__item img {
        width: 100%;
        margin-top: 10px; }
      .publications__bar .publications__bar__container .publications__bar__container__item p {
        font-size: 0.875rem;
        color: #276c98; }
      .publications__bar .publications__bar__container .publications__bar__container__item .button, .publications__bar .publications__bar__container .publications__bar__container__item .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .publications__bar .publications__bar__container .publications__bar__container__item .frm_button_submit {
        background-color: #276c98; }
      .publications__bar .publications__bar__container .publications__bar__container__item small {
        display: block;
        text-transform: uppercase;
        font-weight: bold;
        color: #276c98;
        padding-top: 15px; }

.project-themes__bar {
  padding: 35px; }
  .project-themes__bar .project-themes__bar__header {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    position: relative; }
    .project-themes__bar .project-themes__bar__header::before, .project-themes__bar .project-themes__bar__header::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .project-themes__bar .project-themes__bar__header::after {
      clear: both; }
    .project-themes__bar .project-themes__bar__header h2 {
      color: #9c1421;
      font-size: 2rem;
      font-weight: 700;
      font-family: interstate, sans-serif;
      margin-top: 0px; }
    .project-themes__bar .project-themes__bar__header > .button, .project-themes__bar .newsletter_bar > div .project-themes__bar__header > .frm_button_submit, .newsletter_bar > div .project-themes__bar .project-themes__bar__header > .frm_button_submit {
      position: absolute;
      top: 5px;
      right: 0px;
      text-align: center;
      max-width: 250px;
      width: 100%;
      background: #9c1421; }
  .project-themes__bar .project-themes__bar__container {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .project-themes__bar .project-themes__bar__container::before, .project-themes__bar .project-themes__bar__container::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .project-themes__bar .project-themes__bar__container::after {
      clear: both; }
    .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item {
      -webkit-flex: 1 1 23%;
          -ms-flex: 1 1 23%;
              flex: 1 1 23%;
      margin-right: 25px;
      margin-bottom: 25px; }
      .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item h3 {
        color: #9c1421;
        margin-bottom: 0px;
        margin-top: 0px;
        font-size: 1.125rem;
        font-weight: 700;
        font-family: interstate, sans-serif; }
      .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item:nth-child(4n) {
        margin-right: 0; }
      .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item img {
        width: 100%;
        margin-top: 10px; }
      .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item p {
        font-size: 0.875rem;
        color: #9c1421; }
      .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item .button, .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item .frm_button_submit {
        background-color: #9c1421; }
      .project-themes__bar .project-themes__bar__container .project-themes__bar__container__item small {
        display: block;
        text-transform: uppercase;
        font-weight: bold;
        color: #9c1421;
        padding-top: 15px; }

.about__header {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  border-bottom: solid 1px #262571;
  padding-bottom: 50px;
  margin-bottom: 25px;
  margin-top: 25px; }
  .about__header::before, .about__header::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .about__header::after {
    clear: both; }
  .about__header h1 {
    width: 100%;
    float: left;
    padding-right: 0;
    padding-left: 0;
    color: #262571;
    font-size: 2rem;
    font-weight: 700;
    font-family: interstate, sans-serif;
    margin-top: 0px;
    margin-bottom: 10px; }
    .about__header h1, .about__header h1:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .about__header h1:last-child:not(:first-child) {
      float: right; }
    .about__header h1 span {
      font-weight: 500; }
  .about__header > div .about__header__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .about__header > div .about__header__image, .about__header > div .about__header__image:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .about__header > div .about__header__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__image {
        width: 66.66667%;
        float: left;
        padding-right: 0;
        padding-left: 0; }
        .about__header > div .about__header__image, .about__header > div .about__header__image:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .about__header > div .about__header__image:last-child:not(:first-child) {
          float: right; } }
    .about__header > div .about__header__image img {
      width: 100%;
      max-width: 100%; 
      object-fit:cover;
    }
  .about__header > div .about__header__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .about__header > div .about__header__content, .about__header > div .about__header__content:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .about__header > div .about__header__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__content {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .about__header > div .about__header__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .about__header > div .about__header__content, .about__header > div .about__header__content:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .about__header > div .about__header__content:last-child:not(:first-child) {
          float: right; } }
    .about__header > div .about__header__content h2 {
      color: #262571;
      font-weight: 700;
      font-family: interstate, sans-serif;
      display: block;
      margin: 0px; }
    .about__header > div .about__header__content p {
      color: #262571;
      font-size: 1rem; }
  .about__header > div .about__header__post {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__post {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .about__header > div .about__header__post, .about__header > div .about__header__post:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .about__header > div .about__header__post:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__post {
        width: 66.66667%;
        float: left;
        padding-right: 0;
        padding-left: 0; }
        .about__header > div .about__header__post, .about__header > div .about__header__post:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .about__header > div .about__header__post:last-child:not(:first-child) {
          float: right; } }
    .about__header > div .about__header__post img {
      width: 100%;
      height: 300px; 
      object-fit: cover;
    }
    .about__header > div .about__header__post p {
      color: #262571;
      font-weight: 700;
      font-family: interstate, sans-serif; }
  .about__header > div .about__header__person {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__person {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .about__header > div .about__header__person, .about__header > div .about__header__person:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .about__header > div .about__header__person:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .about__header > div .about__header__person {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .about__header > div .about__header__person {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .about__header > div .about__header__person, .about__header > div .about__header__person:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .about__header > div .about__header__person:last-child:not(:first-child) {
          float: right; } }
    .about__header > div .about__header__person img {
      height: 260px; }
    .about__header > div .about__header__person h3 {
      color: #262571;
      display: block;
      margin: 0px; }
    .about__header > div .about__header__person small {
      color: #262571;
      display: block;
      margin-bottom: 10px; }
    .about__header > div .about__header__person p {
      color: #262571;
      font-size: 0.875rem; }

.content {
  padding: 15px; }
  .content > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 900px; }
    .content > div::before, .content > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .content > div::after {
      clear: both; }
    .content > div h2 {
      color: #262571;
      font-size: 2rem;
      font-weight: 700;
      font-family: interstate, sans-serif; }
    .content > div h3 {
      color: #262571; }
    .content > div span {
      color: #262571;
      font-size: 1rem;
      font-weight: 700; }
    .content > div .redHeader {
      color: #9c1421;
      font-size: 2.375rem;
      font-weight: 700;
      font-family: interstate, sans-serif;
      margin: 0px; }
    .content > div img {
      margin-top: 25px; }
    .content > div p {
      color: #262571; }
      .content > div p:first-of-type {
        font-weight: 700; }

.content__grid {
  padding: 15px; }
  @media print, screen and (min-width: 64em) {
    .content__grid {
      padding: 35px; } }
  .content__grid > h2 {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
/*    padding: 15px;*/
    max-width: 1240px;
    font-size: 1.75rem;
    font-weight: 700;
    font-family: interstate, sans-serif;
    color: #e62947; }
    .content__grid > h2::before, .content__grid > h2::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .content__grid > h2::after {
      clear: both; }
  .content__grid > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 1240px; }
    .content__grid > div::before, .content__grid > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .content__grid > div::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .content__grid > div {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-justify-content: left;
            -ms-flex-pack: justify;
                justify-content: left; } }
    .content__grid > div .content__grid__item {
      margin-bottom: 25px; }
      @media print, screen and (min-width: 40em) {
        .content__grid > div .content__grid__item {
          -webkit-flex: 0 1 31%;
              -ms-flex: 0 1 31%;
                  flex: 0 1 31%;
          margin-right: 25px; } }
      .content__grid > div .content__grid__item h2 {
        color: #262571;
        margin-bottom: 0px;
        margin-top: 0px;
        font-size: 1.375rem;
        font-weight: 700;
        font-family: interstate, sans-serif; }
      .content__grid > div .content__grid__item h3 {
        color: #9c1421;
        margin: 0px;
        font-size: 0.875rem;
        font-weight: 700;
        font-family: interstate, sans-serif; }
      .content__grid > div .content__grid__item:nth-child(3n) {
        margin-right: 0; }
      .content__grid > div .content__grid__item img {
        width: 100%;
        object-fit: cover;
        height: 250px;
        margin-top: 10px; }
      .content__grid > div .content__grid__item p {
        font-size: 0.875rem;
        color: #262571; }
      .content__grid > div .content__grid__item small {
        display: block;
        text-transform: uppercase;
        font-weight: bold;
        color: #262571;
        padding-top: 15px; }

iframe {
  max-width: 100%;
  width: 100%;
  height: 300px;
  margin-bottom: 40px; }
  @media print, screen and (min-width: 64em) {
    iframe {
      height: 500px; } }

.sub-title {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .sub-title::before, .sub-title::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .sub-title::after {
    clear: both; }
  .sub-title h2 {
    color: #9c1421;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    font-family: interstate, sans-serif; }

.image_bar > div {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
 /* display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  justify-content: center;*/ 
text-align:center;}
  .image_bar > div::before, .image_bar > div::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .image_bar > div::after {
    clear: both; }
  .image_bar > div img {
    display: inline-block;
    -webkit-flex: 1 1 100px;
        -ms-flex: 1 1 100px;
            flex: 1 1 100px;
    margin-right: 10px; 
    max-width:125px;
  }

.textcentre {
  text-align: center !important; }
  .textcentre p {
    font-weight: normal !important; }

.min-height {
  margin-bottom: 25px; }

.fourcolumn .content__grid__item {
  -webkit-flex: 0 1 23% !important;
      -ms-flex: 0 1 23% !important;
          flex: 0 1 23% !important; }
  .fourcolumn .content__grid__item:nth-child(3n) {
    margin-right: 25px !important; }
  .fourcolumn .content__grid__item:nth-child(4n) {
    margin-right: 0px !important; }

.double_items > div {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .double_items > div::before, .double_items > div::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .double_items > div::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .double_items > div {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .double_items > div .double_items__item {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    color: #262571; }
    @media print, screen and (min-width: 40em) {
      .double_items > div .double_items__item {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .double_items > div .double_items__item, .double_items > div .double_items__item:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .double_items > div .double_items__item:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .double_items > div .double_items__item {
        width: 41.66667%;
        float: left;
        padding-right: 0;
        padding-left: 0; }
        .double_items > div .double_items__item, .double_items > div .double_items__item:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .double_items > div .double_items__item:last-child:not(:first-child) {
          float: right; } }
    .double_items > div .double_items__item img {
      float: left;
      padding-right: 25px;
      height: 162px; }
    .double_items > div .double_items__item h3 {
      color: #262571;
      margin: 0px;
      margin-top: 25px; }
    .double_items > div .double_items__item .button, .double_items > div .double_items__item .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .double_items > div .double_items__item .frm_button_submit {
      display: inline;
      position: relative;
      top: 25px; }

.main-title {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 1240px;
  padding: 15px;
  padding-bottom: 35px; }
  .main-title::before, .main-title::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .main-title::after {
    clear: both; }
  .main-title small {
    font-size: 0.75rem;
    color: #9c1421;
    text-transform: uppercase;
    font-weight: bold; }
  .main-title.border-below {
    border-bottom: solid 1px #262571;
    padding-bottom: 35px; }
  @media print, screen and (min-width: 64em) {
    .main-title {
      padding-top: 35px;
      padding-bottom: 0px;
      padding-left: 0px;
      padding-right: 0px; } }
  .main-title h1 {
    color: #262571;
    font-weight: 700;
    font-family: interstate, sans-serif;
    font-size: 1.875rem;
    line-height: 2.125rem;
    margin: 0px; }
    .main-title h1 span {
      font-weight: 500; }

.job_application {
  background: #2f3951;
  padding: 35px;
  margin-top: 35px; }
  .job_application > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 800px;
    color: white; }
    .job_application > div::before, .job_application > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .job_application > div::after {
      clear: both; }

.funders .funders__item {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  border-top: solid 1px #262571;
  margin-top: 25px;
  padding-top: 25px; }
  .funders .funders__item::before, .funders .funders__item::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .funders .funders__item::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .funders .funders__item {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .funders .funders__item .funders__item__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    .funders__item__image > img {
      max-width:300px;
    }
    @media print, screen and (min-width: 40em) {
      .funders .funders__item .funders__item__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .funders .funders__item .funders__item__image, .funders .funders__item .funders__item__image:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .funders .funders__item .funders__item__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .funders .funders__item .funders__item__image {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .funders .funders__item .funders__item__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .funders .funders__item .funders__item__image, .funders .funders__item .funders__item__image:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .funders .funders__item .funders__item__image:last-child:not(:first-child) {
          float: right; } }
  .funders .funders__item .funders__item__content {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .funders .funders__item .funders__item__content {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .funders .funders__item .funders__item__content, .funders .funders__item .funders__item__content:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .funders .funders__item .funders__item__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 40em) {
      .funders .funders__item .funders__item__content {
        width: 41.66667%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 40em) and (min-width: 40em) {
    .funders .funders__item .funders__item__content {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 40em) {
        .funders .funders__item .funders__item__content, .funders .funders__item .funders__item__content:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .funders .funders__item .funders__item__content:last-child:not(:first-child) {
          float: right; } }
    .funders .funders__item .funders__item__content h2 {
      color: #262571;
      font-size: 1.5rem;
      font-weight: 700;
      font-family: interstate, sans-serif; }
    .funders .funders__item .funders__item__content p {
      color: #262571;
      font-size: 0.875rem; }

.largeBoxes {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 1240px; }
  .largeBoxes::before, .largeBoxes::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .largeBoxes::after {
    clear: both; }
  @media print, screen and (min-width: 40em) {
    .largeBoxes {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .largeBoxes .largeBoxes__item {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-flex: 1 1 31%;
        -ms-flex: 1 1 31%;
            flex: 1 1 31%;
    margin-bottom: 25px;
    padding: 50px;
    padding-top: 75px;
    padding-bottom: 75px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    @media print, screen and (min-width: 40em) {
      .largeBoxes .largeBoxes__item {
        margin-right: 25px; } }
    .largeBoxes .largeBoxes__item:nth-child(2n) {
      margin-right: 0; }
    .largeBoxes .largeBoxes__item .largeBoxes__item__content {
      background: #fefefe;
      max-width: 400px;
      padding: 15px; }
      .largeBoxes__item__content .button {
        text-transform: uppercase;
      }
      @media print, screen and (min-width: 40em) {
        .largeBoxes .largeBoxes__item .largeBoxes__item__content {
          height: 280px; } }
      .largeBoxes .largeBoxes__item .largeBoxes__item__content p {
        color: #262571;
        font-size: 0.875rem; }
      .largeBoxes .largeBoxes__item .largeBoxes__item__content h2 {
        margin: 0px;
        font-weight: 700;
        font-family: interstate, sans-serif;
        color: #262571; }

.publication_filter {
  padding: 15px; }
  .publication_filter > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    border-bottom: solid 1px #262571;
    padding-bottom: 35px;
    color: #276c98;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: interstate, sans-serif; }
    .publication_filter > div::before, .publication_filter > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .publication_filter > div::after {
      clear: both; }
    .publication_filter > div h2 {
      font-size: 1.375rem;
      color: #276c98;
      font-weight: 700;
      font-family: interstate, sans-serif;
      margin: 0px;
      margin-bottom: 10px; }
    .publication_filter > div select, .publication_filter > div button {
      display: inline-block !important;
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      border: solid 1px #276c98;
      padding: 15px;
      width: 300px;
      margin-left: 15px;
      margin-right: 15px;
      color: #276c98; }
    .publication_filter > div button {
      width: 150px;
      color: #276c98;
      transition: all 0.3s;
      margin: 10px; }
      .publication_filter > div button:hover {
        background: #276c98;
        color: #fefefe; }

.media_split {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  border-bottom: solid 1px #262571;
  padding-top: 30px; }
  .media_split::before, .media_split::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .media_split::after {
    clear: both; }
  .media_split .media_split__item {
    max-width: 400px;
    display: inline-block;
    margin-right: 25px;
    color: #276c98;
    font-size: 1.125rem;
    font-weight: 700;
    font-family: interstate, sans-serif; }
    .media_split .media_split__item:last-of-type {
      position: relative;
      top: -20px;
      border-left: solid 1px #262571;
      padding-left: 25px; }
      .media_split .media_split__item:last-of-type .button, .media_split .media_split__item:last-of-type .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .media_split .media_split__item:last-of-type .frm_button_submit {
        font-size: 1rem;
        max-width: 350px;
        margin-top: 10px; }

.split-banner {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  @media print, screen and (min-width: 64em) {
    .split-banner {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }
  .split-banner .split-banner__blue {
    background: #262571;
    -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
    @media print, screen and (min-width: 64em) {
      .split-banner .split-banner__blue {
        -webkit-flex: 1 1 50%;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%; } }
    .split-banner .split-banner__blue > div {
      max-width: 75rem;
      margin-right: auto;
      margin-left: auto;
      padding: 15px;
      max-width: 620px;
      float: right;
      color: white; }
      .split-banner .split-banner__blue > div::before, .split-banner .split-banner__blue > div::after {
        display: table;
        content: ' ';
        -webkit-flex-basis: 0;
            -ms-flex-preferred-size: 0;
                flex-basis: 0;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
      .split-banner .split-banner__blue > div::after {
        clear: both; }
      @media print, screen and (min-width: 64em) {
        .split-banner .split-banner__blue > div {
          padding-right: 100px;
          padding-top: 15px;
          padding-bottom: 50px; } }
      .split-banner .split-banner__blue > div p {
        color: white; }
  .split-banner .split-banner__image {
    -webkit-flex: 1 1 100%;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    height: 400px; }
    @media print, screen and (min-width: 64em) {
      .split-banner .split-banner__image {
        -webkit-flex: 1 1 50%;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%; } }

.two_columns--coloured > div {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  @media print, screen and (min-width: 64em) {
    .two_columns--coloured > div {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }
  .two_columns--coloured > div::before, .two_columns--coloured > div::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .two_columns--coloured > div::after {
    clear: both; }
  .two_columns--coloured > div .two_columns--coloured__content {
    width: 100%;
    float: left;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
    padding-left: 50px !important;
    background: #afe4ff;
    padding-left: 50px;
    padding-right: 50px !important;
    padding-top: 30px;
    font-size: 1.125rem;
    font-family: interstate, sans-serif;
    font-weight: 700;
    color: #262571; }
    .two_columns--coloured > div .two_columns--coloured__content, .two_columns--coloured > div .two_columns--coloured__content:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .two_columns--coloured > div .two_columns--coloured__content:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .two_columns--coloured > div .two_columns--coloured__content {
        width: 50%;
        float: left;
        padding-right: 0.78125rem;
        padding-left: 0.78125rem; }
        .two_columns--coloured > div .two_columns--coloured__content, .two_columns--coloured > div .two_columns--coloured__content:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .two_columns--coloured > div .two_columns--coloured__content:last-child:not(:first-child) {
          float: right; } }
  .two_columns--coloured > div .two_columns--coloured__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 300px; }
    @media print, screen and (min-width: 40em) {
      .two_columns--coloured > div .two_columns--coloured__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .two_columns--coloured > div .two_columns--coloured__image, .two_columns--coloured > div .two_columns--coloured__image:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .two_columns--coloured > div .two_columns--coloured__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .two_columns--coloured > div .two_columns--coloured__image {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .two_columns--coloured > div .two_columns--coloured__image {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .two_columns--coloured > div .two_columns--coloured__image, .two_columns--coloured > div .two_columns--coloured__image:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .two_columns--coloured > div .two_columns--coloured__image:last-child:not(:first-child) {
          float: right; } }

.publication__page {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 1240px;
  margin: auto;
  margin-bottom: 50px; }
  .publication__page::before, .publication__page::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .publication__page::after {
    clear: both; }
  .publication__page h2 {
    max-width: 600px;
    font-size: 2.125rem;
    line-height: 2.375rem;
    color: #262571;
    font-weight: 700;
    font-family: interstate, sans-serif; }
  .publication__page .publication__page__content .publication__page__content__image {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .publication__page .publication__page__content .publication__page__content__image {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .publication__page .publication__page__content .publication__page__content__image, .publication__page .publication__page__content .publication__page__content__image:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .publication__page .publication__page__content .publication__page__content__image:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .publication__page .publication__page__content .publication__page__content__image {
        width: 50%;
        float: left;
        padding-right: 0;
        padding-left: 0; }
        .publication__page .publication__page__content .publication__page__content__image, .publication__page .publication__page__content .publication__page__content__image:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .publication__page .publication__page__content .publication__page__content__image:last-child:not(:first-child) {
          float: right; } }
    .publication__page .publication__page__content .publication__page__content__image img {
      width: 100%;
      max-width: 100%; }
    .publication__page .publication__page__content .publication__page__content__image .button--bluealt {
      display: block;
      margin-top: 25px;
      width: 100%;
      max-width: 100%;
      height: 60px;
      padding-top: 15px; }
    .publication__page .publication__page__content .publication__page__content__image .button--share {
      float: left;
      max-width: 48%;
      margin-top: 0px; }
    .publication__page .publication__page__content .publication__page__content__image .button--download {
      float: right;
      max-width: 48%;
      margin-top: 0px; }
  .publication__page .publication__page__content .publication__page__content__text {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .publication__page .publication__page__content .publication__page__content__text {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .publication__page .publication__page__content .publication__page__content__text, .publication__page .publication__page__content .publication__page__content__text:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .publication__page .publication__page__content .publication__page__content__text:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .publication__page .publication__page__content .publication__page__content__text {
        width: 50%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .publication__page .publication__page__content .publication__page__content__text {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .publication__page .publication__page__content .publication__page__content__text, .publication__page .publication__page__content .publication__page__content__text:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .publication__page .publication__page__content .publication__page__content__text:last-child:not(:first-child) {
          float: right; } }
    .publication__page .publication__page__content .publication__page__content__text p {
      color: #262571;
      font-size: 0.875rem; }
      .publication__page .publication__page__content .publication__page__content__text p:first-of-type {
        font-weight: bold; }

.contact_bar {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .contact_bar::before, .contact_bar::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .contact_bar::after {
    clear: both; }
  .contact_bar h2 {
    color: #262571;
    font-weight: 700;
    font-family: interstate, sans-serif; }
  .contact_bar .contact_bar__general {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    color: #276c98; }
    @media print, screen and (min-width: 40em) {
      .contact_bar .contact_bar__general {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .contact_bar .contact_bar__general, .contact_bar .contact_bar__general:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .contact_bar .contact_bar__general:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .contact_bar .contact_bar__general {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .contact_bar .contact_bar__general {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .contact_bar .contact_bar__general, .contact_bar .contact_bar__general:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .contact_bar .contact_bar__general:last-child:not(:first-child) {
          float: right; } }
    .contact_bar .contact_bar__general a {
      color: #276c98;
      font-weight: bold; }
  .contact_bar .contact_bar__media {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    color: #276c98; }
    @media print, screen and (min-width: 40em) {
      .contact_bar .contact_bar__media {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .contact_bar .contact_bar__media, .contact_bar .contact_bar__media:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .contact_bar .contact_bar__media:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .contact_bar .contact_bar__media {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .contact_bar .contact_bar__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .contact_bar .contact_bar__media, .contact_bar .contact_bar__media:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .contact_bar .contact_bar__media:last-child:not(:first-child) {
          float: right; } }
    .contact_bar .contact_bar__media a {
      color: #276c98;
      font-weight: bold; }
  .contact_bar .contact_bar__partner {
    width: 100%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    color: #276c98; }
    @media print, screen and (min-width: 40em) {
      .contact_bar .contact_bar__partner {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .contact_bar .contact_bar__partner, .contact_bar .contact_bar__partner:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .contact_bar .contact_bar__partner:last-child:not(:first-child) {
      float: right; }
    @media print, screen and (min-width: 64em) {
      .contact_bar .contact_bar__partner {
        width: 33.33333%;
        float: left;
        padding-right: 0.625rem;
        padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .contact_bar .contact_bar__partner {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
    @media print, screen and (min-width: 64em) {
        .contact_bar .contact_bar__partner, .contact_bar .contact_bar__partner:last-child:not(:first-child) {
          float: left;
          clear: none; }
        .contact_bar .contact_bar__partner:last-child:not(:first-child) {
          float: right; } }
    .contact_bar .contact_bar__partner a {
      color: #276c98;
      font-weight: bold; }
    .contact_bar .contact_bar__partner .button--bluealt {
      width: 300px;
      max-width: 100%;
      font-size: 0.75rem;
      color: White; }

.banner__events {
  height: 400px;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  margin-top: 15px;
  position: relative;
  margin-bottom: 100px; }
  .banner__events .banner__events__boxs {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    position: relative; }
    .banner__events .banner__events__boxs::before, .banner__events .banner__events__boxs::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .banner__events .banner__events__boxs::after {
      clear: both; }
    @media print, screen and (min-width: 64em) {
      .banner__events .banner__events__boxs {
        bottom: -50px;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; } }
    .banner__events .banner__events__boxs > div {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      background: #262571;
      font-size: 0.875rem;
      color: white;
      padding-left: 50px !important;
      padding-top: 20px;
      padding-bottom: 40px;
      padding-right: 50px !important;
      position: relative; }
      @media print, screen and (min-width: 40em) {
        .banner__events .banner__events__boxs > div {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .banner__events .banner__events__boxs > div, .banner__events .banner__events__boxs > div:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .banner__events .banner__events__boxs > div:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 64em) {
        .banner__events .banner__events__boxs > div {
          width: 48.33333%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .banner__events .banner__events__boxs > div {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .banner__events .banner__events__boxs > div, .banner__events .banner__events__boxs > div:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .banner__events .banner__events__boxs > div:last-child:not(:first-child) {
            float: right; } }
      @media print, screen and (min-width: 64em) {
        .banner__events .banner__events__boxs > div {
          bottom: -125px; } }
      .banner__events .banner__events__boxs > div h2 {
        font-weight: 700;
        font-family: interstate, sans-serif;
        margin-bottom: 0px; }
      .banner__events .banner__events__boxs > div:first-of-type {
        margin-right: 15px; }
      .banner__events .banner__events__boxs > div:last-of-type {
        margin-left: 15px;
        background: #276c98; }
        .banner__events .banner__events__boxs > div:last-of-type .button, .banner__events .banner__events__boxs > div:last-of-type .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .banner__events .banner__events__boxs > div:last-of-type .frm_button_submit {
          color: #276c98; }
      .banner__events .banner__events__boxs > div a {
        /*color: #fefefe;*/
        font-weight: bold; }

.events_grid {
  padding: 15px; }
  @media print, screen and (min-width: 64em) {
    .events_grid {
      padding: 35px; } }
  .events_grid > h2 {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    padding: 15px;
    max-width: 1240px;
    font-size: 1.75rem;
    font-weight: 700;
    font-family: interstate, sans-serif;
    color: #e62947; }
    .events_grid > h2::before, .events_grid > h2::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .events_grid > h2::after {
      clear: both; }
  .events_grid > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 1240px; }
    .events_grid > div::before, .events_grid > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .events_grid > div::after {
      clear: both; }
    @media print, screen and (min-width: 40em) {
      .events_grid > div {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .events_grid > div .events_grid__item {
      margin-bottom: 25px; }
      @media print, screen and (min-width: 40em) {
        .events_grid > div .events_grid__item {
          -webkit-flex: 1 1 31%;
              -ms-flex: 1 1 31%;
                  flex: 1 1 31%;
          margin-right: 25px; } }
      .events_grid > div .events_grid__item .events_grid__item__image {
        height: 300px;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center center;
        position: relative;
        margin-bottom: 15px; }
        .events_grid > div .events_grid__item .events_grid__item__image span {
          display: inline-block;
          position: absolute;
          top: 0px;
          left: 0px;
          padding-left: 25px;
          padding-right: 25px;
          padding-top: 10px;
          padding-bottom: 10px;
          font-size: 0.875rem;
          background-color: #9c1421;
          color: White; }
      .events_grid > div .events_grid__item h2 {
        color: #262571;
        margin-bottom: 0px;
        margin-top: 0px;
        font-size: 1.375rem;
        font-weight: 700;
        font-family: interstate, sans-serif;
        margin-bottom: 15px; }
      .events_grid > div .events_grid__item h3 {
        color: #9c1421;
        margin: 0px;
        font-size: 0.875rem;
        font-weight: 700;
        font-family: interstate, sans-serif; }
      .events_grid > div .events_grid__item span {
        color: #276c98;
        font-size: 0.875rem; }
      .events_grid > div .events_grid__item:nth-child(3n) {
        margin-right: 0; }
      .events_grid > div .events_grid__item img {
        width: 100%;
        margin-top: 10px; }
      .events_grid > div .events_grid__item p {
        font-size: 0.875rem;
        color: #262571; }
      .events_grid > div .events_grid__item small {
        display: block;
        text-transform: uppercase;
        font-weight: bold;
        color: #262571;
        padding-top: 15px; }

.pageHeader {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto;
  padding-top: 15px;
  padding-bottom: 15px; }
  .pageHeader::before, .pageHeader::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .pageHeader::after {
    clear: both; }
  .pageHeader .pageHeader__logo {
    width: 25%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .pageHeader .pageHeader__logo {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .pageHeader .pageHeader__logo, .pageHeader .pageHeader__logo:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .pageHeader .pageHeader__logo:last-child:not(:first-child) {
      float: right; }
    .pageHeader .pageHeader__logo img {
      max-width: 150px;
      width: 100%; }
  .pageHeader .pageHeader__right {
    width: 75%;
    float: left;
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
    @media print, screen and (min-width: 40em) {
      .pageHeader .pageHeader__right {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem; } }
    .pageHeader .pageHeader__right, .pageHeader .pageHeader__right:last-child:not(:first-child) {
      float: left;
      clear: none; }
    .pageHeader .pageHeader__right:last-child:not(:first-child) {
      float: right; }
    .pageHeader .pageHeader__right .pageHeader__right__social {
      @includei grid-column(12,0);
      text-align: right;
      display: none; }
      @media print, screen and (min-width: 64em) {
        .pageHeader .pageHeader__right .pageHeader__right__social {
          display: block; } }
      .pageHeader .pageHeader__right .pageHeader__right__social ul {
        padding: 0px;
        margin: 0px; }
        .pageHeader .pageHeader__right .pageHeader__right__social ul img {
          max-width: 35px;
          margin-right: 15px;
          transition: all 0.3s; }
          .pageHeader .pageHeader__right .pageHeader__right__social ul img:hover {
            opacity: 0.5; }
      .pageHeader .pageHeader__right .pageHeader__right__social input {
        display: none;
        background: #eeeeee;
        color: #262571;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        border: none;
        padding: 15px; }
        @media print, screen and (min-width: 64em) {
          .pageHeader .pageHeader__right .pageHeader__right__social input {
            display: inline-block; } }
        .pageHeader .pageHeader__right .pageHeader__right__social input::-webkit-input-placeholder {
          color: #262571; }
        .pageHeader .pageHeader__right .pageHeader__right__social input:-ms-input-placeholder {
          color: #262571; }
        .pageHeader .pageHeader__right .pageHeader__right__social input::placeholder {
          color: #262571; }
        .pageHeader .pageHeader__right .pageHeader__right__social input::focus {
          border: solid 1px #262571;
          box-shadow: none;
          outline: none; }
    .pageHeader .pageHeader__right .pageHeader__right__menu {
      width: 100%;
      float: left;
      padding-right: 0;
      padding-left: 0;
      margin-top: 25px; }
      .pageHeader .pageHeader__right .pageHeader__right__menu, .pageHeader .pageHeader__right .pageHeader__right__menu:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .pageHeader .pageHeader__right .pageHeader__right__menu:last-child:not(:first-child) {
        float: right; }
      .pageHeader .pageHeader__right .pageHeader__right__menu .mobilemenu_trigger {
        display: block; }
        @media print, screen and (min-width: 64em) {
          .pageHeader .pageHeader__right .pageHeader__right__menu .mobilemenu_trigger {
            display: none; } }
      .pageHeader .pageHeader__right .pageHeader__right__menu > ul {
        display: none;
        list-style: inline;
        margin: 0px;
        padding: 0px;
        float: right;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        width: 100%;
        max-width: 100%; }
        @media print, screen and (min-width: 64em) {
          .pageHeader .pageHeader__right .pageHeader__right__menu > ul {
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex; } }
        .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li {
          display: inline;
          margin-right: 10px;
          position: relative;
          margin: 0px;
          padding: 0px; }
          .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li.menu-item-has-children:hover .dropdown {
            display: block !important; }
          .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li.menu-item-has-children .dropdown {
            position: absolute;
            display: none;
            text-align: left;
            width: 175px;
            background: #262571;
            margin: 0px;
            padding: 0px;
            list-style: none;
            z-index: 3; }
            .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li.menu-item-has-children .dropdown li {
              color: white;
              padding: 10px 5px 5px 5px;
              border: 0px;
              margin: 0px; }
              .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li.menu-item-has-children .dropdown li:hover {
                background: #9c1421;
                color: white;
                border: none; }
            .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li.menu-item-has-children .dropdown a {
              display: block;
              color: white;
              padding: 0px;
              margin: 0px; }
          .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li a {
            text-transform: uppercase;
            color: #262571;
            text-decoration: none;
            font-size: 0.875rem;
            border-bottom: solid 1px transparent; }
            .pageHeader .pageHeader__right .pageHeader__right__menu > ul > li a:hover {
              border-bottom: solid 1px #9c1421; }

.pageHeader__right__menu-mobile {
  display: block; }
  @media print, screen and (min-width: 64em) {
    .pageHeader__right__menu-mobile {
      display: none; } }

.mobilemenu_trigger {
  display: block;
  width: 100px;
  height: 50px;
  position: absolute;
  top: 25px;
  right: 0px;
  z-index: 10;
  cursor: pointer; }
  @media print, screen and (min-width: 40em) {
    .mobilemenu_trigger {
      display: none; } }

.bar1, .bar2, .bar3 {
  width: 35px;
  height: 5px;
  background-color: #262571;
  margin: 6px 0;
  transition: 0.4s; }

.jd-menu li {
  background: #276c98; }

/* Rotate first bar */
.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-9px, 6px);
  -ms-transform: rotate(-45deg) translate(-9px, 6px);
      transform: rotate(-45deg) translate(-9px, 6px); }

/* Fade out the second bar */
.change .bar2 {
  opacity: 0; }

/* Rotate last bar */
.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  -ms-transform: rotate(45deg) translate(-8px, -8px);
      transform: rotate(45deg) translate(-8px, -8px); }

.jd-menu {
  background: transparent !important;
  padding: 0px;
  margin: 0px; }

.pageFooter {
  background: #262571;
  color: white;
  font-size: 0.875rem;
  padding: 15px; }
  @media print, screen and (min-width: 64em) {
    .pageFooter {
      padding: 0px;
      padding-top: 25px;
      padding-bottom: 25px; } }
  .pageFooter .pageFooter__container {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto; }
    .pageFooter .pageFooter__container::before, .pageFooter .pageFooter__container::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .pageFooter .pageFooter__container::after {
      clear: both; }
    .pageFooter .pageFooter__container a {
      color: white;
      text-decoration: none; }
    .pageFooter .pageFooter__container .pageFooter__company {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem;
      margin-top: 25px; }
      @media print, screen and (min-width: 40em) {
        .pageFooter .pageFooter__container .pageFooter__company {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .pageFooter .pageFooter__container .pageFooter__company, .pageFooter .pageFooter__container .pageFooter__company:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .pageFooter .pageFooter__container .pageFooter__company:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 64em) {
        .pageFooter .pageFooter__container .pageFooter__company {
          width: 33.33333%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .pageFooter .pageFooter__container .pageFooter__company {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .pageFooter .pageFooter__container .pageFooter__company, .pageFooter .pageFooter__container .pageFooter__company:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .pageFooter .pageFooter__container .pageFooter__company:last-child:not(:first-child) {
            float: right; } }
    .pageFooter .pageFooter__container .pageFooter__contact {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .pageFooter .pageFooter__container .pageFooter__contact {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .pageFooter .pageFooter__container .pageFooter__contact, .pageFooter .pageFooter__container .pageFooter__contact:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .pageFooter .pageFooter__container .pageFooter__contact:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 64em) {
        .pageFooter .pageFooter__container .pageFooter__contact {
          width: 25%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem;
          margin-left: 5vw; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .pageFooter .pageFooter__container .pageFooter__contact {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .pageFooter .pageFooter__container .pageFooter__contact, .pageFooter .pageFooter__container .pageFooter__contact:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .pageFooter .pageFooter__container .pageFooter__contact:last-child:not(:first-child) {
            float: right; } }
      .pageFooter .pageFooter__container .pageFooter__contact h2 {
        text-transform: uppercase; }
    .pageFooter .pageFooter__container .pageFooter__media {
      width: 100%;
      float: left;
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
      @media print, screen and (min-width: 40em) {
        .pageFooter .pageFooter__container .pageFooter__media {
          padding-right: 0.9375rem;
          padding-left: 0.9375rem; } }
      .pageFooter .pageFooter__container .pageFooter__media, .pageFooter .pageFooter__container .pageFooter__media:last-child:not(:first-child) {
        float: left;
        clear: none; }
      .pageFooter .pageFooter__container .pageFooter__media:last-child:not(:first-child) {
        float: right; }
      @media print, screen and (min-width: 64em) {
        .pageFooter .pageFooter__container .pageFooter__media {
          width: 33.33333%;
          float: left;
          padding-right: 0.625rem;
          padding-left: 0.625rem; } }
  @media print, screen and (min-width: 64em) and (min-width: 40em) {
    .pageFooter .pageFooter__container .pageFooter__media {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
      @media print, screen and (min-width: 64em) {
          .pageFooter .pageFooter__container .pageFooter__media, .pageFooter .pageFooter__container .pageFooter__media:last-child:not(:first-child) {
            float: left;
            clear: none; }
          .pageFooter .pageFooter__container .pageFooter__media:last-child:not(:first-child) {
            float: right; } }
      .pageFooter .pageFooter__container .pageFooter__media h2 {
        text-transform: uppercase; }

.footer_copyright {
  background: #272727;
  padding: 15px; }
  @media print, screen and (min-width: 64em) {
    .footer_copyright {
      padding: 0px; } }
  .footer_copyright > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    padding-top: 15px;
    padding-bottom: 15px;
    color: white; }
    .footer_copyright > div::before, .footer_copyright > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .footer_copyright > div::after {
      clear: both; }
    .footer_copyright > div a {
      color: white;
      text-decoration: none;
      margin-right: 10px;
      margin-left: 10px;
      font-size: 0.875rem; }
    .footer_copyright > div .created_by {
      float: right; }

.main_banner {
  height: 500px;
  width: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 25px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 15px;
  position: relative;
  overflow: hidden; }
  .main_banner:after {
    position: absolute;
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    width: 100%;
    height: 100%;
    background: rgba(38, 37, 113, 0.6);
    content: " ";
    display: block;
    z-index: 1; }
  .main_banner > div {
    max-width: 75rem;
    margin-right: auto;
    margin-left: auto;
    display: block;
    height: 350px;
    position: relative;
    z-index: 2; }
    .main_banner > div::before, .main_banner > div::after {
      display: table;
      content: ' ';
      -webkit-flex-basis: 0;
          -ms-flex-preferred-size: 0;
              flex-basis: 0;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; }
    .main_banner > div::after {
      clear: both; }
    @media print, screen and (min-width: 64em) {
      .main_banner > div {
        padding-right: 30%; } }
    .main_banner > div h1 {
      color: white;
      font-size: 1.375rem;
      font-weight: bold; }
      @media print, screen and (min-width: 64em) {
        .main_banner > div h1 {
          font-size: 1.875rem; } }
    .main_banner > div .button, .main_banner > div .newsletter_bar > div .frm_button_submit, .newsletter_bar > div .main_banner > div .frm_button_submit {
      text-align: left;
      max-width: 200px; }

.pagination {
  text-align: center;
  list-style: none;
  margin: 0px;
  padding: 0px;
  margin-bottom: 25px; }
  .pagination li {
      margin-bottom:50px;
    list-style: none;
    display: inline-block; }
    .pagination li a {
      color: #fefefe;
      font-weight: bold;
      padding: 15px;
      background: #262571;
      border: solid 1px #262571;
      text-decoration: none; }
    .pagination li span {
      color: #262571;
      font-weight: bold;
      padding: 15px;
      background: white;
      border: solid 1px #262571; }

.social form {
  display: inline-block;
  padding: 0px;
  margin: 0px; }
  .social form button {
    background-color: #eeeeee;
    background-image: url("../images/SEARCH-ICON.png");
    background-size: 25px;
    background-position: center center;
    width: 40px;
    height: 50px;
    background-repeat: no-repeat;
    font-size: 0px;
    position: relative;
    top: -5px; }

.frm-show-form {
  width: 100%; }

.twitter__bar {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .twitter__bar::before, .twitter__bar::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .twitter__bar::after {
    clear: both; }
  .twitter__bar h2 {
    color: #262571;
    font-size: 2rem;
    font-weight: 700;
    font-family: interstate, sans-serif;
    margin-top: 0px; }

a {
  text-decoration: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiZm9udHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9qZC1tZW51L3NyYy9jc3Mvc2Fzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCJhcHAuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fc2l6ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsImFwcC5zY3NzIiwiZ2xvYmFsL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJnbG9iYWwvX3dwLWFkbWluLnNjc3MiLCJnbG9iYWwvX3dwLW92ZXJyaWRlcy5zY3NzIiwiZ2xvYmFsL19idXR0b24uc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCJjb21wb25lbnRzL19uZXdzbGV0dGVyLnNjc3MiLCJjb21wb25lbnRzL191cGRhdGVfYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50YmFyX2Jhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fbmV3c19iYXIuc2NzcyIsImNvbXBvbmVudHMvX3B1YmxpY2F0aW9uc19iYXIuc2NzcyIsImNvbXBvbmVudHMvX3Byb2plY3QtdGhlbWVzX19iYXIuc2NzcyIsImNvbXBvbmVudHMvX2Fib3V0LWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9fZG91YmxlX2l0ZW1zLnNjc3MiLCJjb21wb25lbnRzL19tYWluLXRpdGxlLnNjc3MiLCJjb21wb25lbnRzL19qb2JfYXBwLnNjc3MiLCJjb21wb25lbnRzL19mdW5kZXJzLnNjc3MiLCJjb21wb25lbnRzL19sYXJnZUJveGVzLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXIuc2NzcyIsImNvbXBvbmVudHMvX21lZGEtc3BsaXQuc2NzcyIsImNvbXBvbmVudHMvX3NwbGl0LWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fdHdvLWNvbHVtbnMuc2NzcyIsImNvbXBvbmVudHMvX3B1YmxpY2F0aW9uX19wYWdlLnNjc3MiLCJjb21wb25lbnRzL19jb250YWN0X2Jhci5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyX19ldmVudHMuc2NzcyIsImNvbXBvbmVudHMvX2V2ZW50cy1ncmlkLnNjc3MiLCJ0ZW1wbGF0ZXMvX2Zyb250LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUNFSDtFQUNFLDBCQUFvQixFQUNyQjs7QUFFRDtFQUNFLDBCQUF5QixFQUMxQjs7QUNiRDs7K0RBRStEO0FBRS9EOzs7Ozs7O0VBT0U7QUFRRjtFQUNJLGNBQWE7RUFDYixtQkFBa0I7RUFDckIsWUFBVztFQUNYLDBCQVRvQixFQThEcEI7RUF6REQ7SUFPUSxtQkFBa0I7SUFDbEIsUUFBTztJQUNQLE9BQU07SUFDTixXQUFVO0lBQ1YsVUFBUztJQUNULHNCQUFxQixFQUN4QjtFQWJMO0lBZ0JZLG9CQXJCUztJQXNCVCxVQUFTO0lBQ1QsWUFBVztJ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OUM7O0FBRUQ7RU81RUosbUJBQWtCO0VBQ2xCLFdBSG1ELEVQZ0Y5Qzs7QUFNSDtFT3RESix1QkRyQ3FELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFT3hFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQNEU5Qzs7QUFFRDtFTzVFSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQZ0Y5Qzs7QUFNSDtFT3RESixpQkRyQ3FELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFT3hFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQNEU5Qzs7QUFFRDtFTzVFSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQZ0Y5Qzs7QUFNSDtFT3RESix1QkRyQ3FELEVONkZoRDs7QUFwQkQ7RUt4RkosV0NlcUQsRU4yRWhEOztBQUlDO0VPeEVKLG1CQUFrQjtFQUNsQixVQUhtRCxFUDRFOUM7O0FBRUQ7RU81RUosbUJBQWtCO0VBQ2xCLFdBSG1ELEVQZ0Y5Qzs7QUFNSDtFT3RESix1QkRyQ3FELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFT3hFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQNEU5Qzs7QUFFRDtFTzVFSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQZ0Y5Qzs7QUFNSDtFT3RESixpQkRyQ3FELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFT3hFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQNEU5Qzs7QUFFRDtFTzVFSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQZ0Y5Qzs7QUFNSDtFT3RESix1QkRyQ3FELEVONkZoRDs7QUFwQkQ7RUt4RkosWUNlcUQsRU4yRWhEOztBQWdCRDtFT3RESix1QkRyQ3FELEVONkZoRDs7QUFLRDtFUXpHRixZWG9HdUQ7RVduR3ZELFlBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSd0VDO0VRekdGLFlYb0d1RDtFV25HdkQsV0FBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVhvRXFELEVXbkV0RDs7QVJ3RUM7RVF6R0YsWVhvR3VEO0VXbkd2RCxpQkFBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVhvRXFELEVXbkV0RDs7QVJ3RUM7RVF6R0YsWVhvR3VEO0VXbkd2RCxXQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWG9FcUQsRVduRXREOztBUndFQztFUXpHRixZWG9HdUQ7RVduR3ZELFdBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSd0VDO0VRekdGLFlYb0d1RDtFV25HdkQsaUJBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSd0VDO0VRekdGLFlYb0d1RDtFV25HdkQsaUJBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYb0VxRCxFV25FdEQ7O0FSd0VDO0VRekdGLFlYb0d1RDtFV25HdkQsYUFBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVhvRXFELEVXbkV0RDs7QVI4RUQ7RUcvR0EsaUJEdUVTO0VDdEVULGdCRHNFUyxFRnlDdUM7O0FBRGhEO0VBSUksZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBR0g7RUFDRSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFFRDtFRzdIQSx3QkFGcUM7RUFHckMsdUJBSHFDLEVIZ0lvQjs7QUFJekQ7RU8xR0EsbUJBQWtCO0VBQ2xCLGtCQUFpQixFUDJHaEI7RU9oSEQ7SUFDRSxZQUFXO0lBQ1gsWUFBVyxFQUNaOztBUGdIRDs7O0VPbkdGLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGVBQWMsRVBxR1g7RU85SUQ7Ozs7O0lBQ0UsWVZzR3FEO0lVckdyRCxZQUFXLEVBQ1o7RUFJQzs7O0lBQ0UsYVZnR29ELEVVL0ZyRDs7QUgwSUQ7RUpoRUE7SUt4RkosZ0JDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixlQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGdCRHhDZ0MsRU5nRzNCO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosc0JEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixXQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGlCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixXQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGlCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosV0NlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixXQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUDRFOUM7RUFFRDtJTzVFSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLGlCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosdUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosWUNlcUQsRU4yRWhEO0VBZ0JEO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBS0Q7SVF6R0YsWVhvR3VEO0lXbkd2RCxZQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsYUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUjhFRDtJRy9HQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVGeUN1QztFQURoRDtJQUlJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBR0g7SUFDRSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUVEO0lHN0hBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUhnSW9CO0VBSXpEO0lPMUdBLG1CQUFrQjtJQUNsQixrQkFBaUIsRVAyR2hCO0lPaEhEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFUGdIRDs7O0lPbkdGLGlCQUFnQjtJQUNoQixnQkFBZTtJQUNmLGVBQWMsRVBxR1g7SU85SUQ7Ozs7O01BQ0UsWVZzR3FEO01VckdyRCxZQUFXLEVBQ1o7SUFJQzs7O01BQ0UsYVZnR29ELEVVL0ZyRCxFQUFBOztBSDBJRDtFSmhFQTtJS3hGSixnQkNlcUQsRU4yRWhEO0VBSUM7SU94RUosbUJBQWtCO0lBQ2xCLGVBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBnRjlDO0VBTUg7SU90REosZ0JEeENnQyxFTmdHM0I7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESixzQkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLFdBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosaUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLFdBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosaUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLFdBSG1ELEVQZ0Y5QztFQU1IO0lPdERKLHVCRHJDcUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJT3hFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQNEU5QztFQUVEO0lPNUVKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBnRjlDO0VBTUg7SU90REosaUJEckNxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPeEVKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVA0RTlDO0VBRUQ7SU81RUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUGdGOUM7RUFNSDtJT3RESix1QkRyQ3FELEVONkZoRDtFQXBCRDtJS3hGSixZQ2VxRCxFTjJFaEQ7RUFnQkQ7SU90REosdUJEckNxRCxFTjZGaEQ7RUFLRDtJUXpHRixZWG9HdUQ7SVduR3ZELFlBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVhvRXFELEVXbkV0RDtFUndFQztJUXpHRixZWG9HdUQ7SVduR3ZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSd0VDO0lRekdGLFlYb0d1RDtJV25HdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYb0VxRCxFV25FdEQ7RVJ3RUM7SVF6R0YsWVhvR3VEO0lXbkd2RCxhQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWG9FcUQsRVduRXREO0VSOEVEO0lHL0dBLGlCRHVFUztJQ3RFVCxnQkRzRVMsRUZ5Q3VDO0VBRGhEO0lBSUksZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFHSDtJQUNFLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBRUQ7SUc3SEEseUJBRnFDO0lBR3JDLHdCQUhxQyxFSGdJb0I7RUFJekQ7SU8xR0EsbUJBQWtCO0lBQ2xCLGtCQUFpQixFUDJHaEI7SU9oSEQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VQZ0hEOzs7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a0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUlFbEMsNkJBQTRCLEVMQTNCOztBQVVEO0VHb0JBLFdGaENxQyxFRGNwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFSUNsQyw2QkFBNEIsRUxBM0I7O0FBVUQ7RUdvQkEsV0YvQnFDLEVEYXBDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHckNtQztVSHFDbkMsK0NHckNtQztFSHFDbkMsOEJGNUJtRDtNRTRCbkQsMEJGNUJtRDtVRTRCbkQsc0JGNUJtRDtFTUlqRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsZ0NGM0JxRDtNRTJCckQsNEJGM0JxRDtVRTJCckQsd0JGM0JxRDtFTUduRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RHbkNpQztVSG1DakMsOENHbkNpQztFSG1DakMsaUNGMUJzRDtNRTBCdEQsNkJGMUJzRDtVRTBCdEQseUJGMUJzRDtFTUVwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFSGtDL0IsK0JGekJvRDtNRXlCcEQsMkJGekJvRDtVRXlCcEQsdUJGekJvRDtFTUNsRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUFA1Qjs7QUFVRDtFR29CQSxvREdUNEM7VUhTNUMsNENHVDRDO0VDSjFDLFdBQTJCLEVQTDVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHckNtQztVSHFDbkMsK0NHckNtQztFSHFDbkMsaUNHRWU7TUhGZiw2QkdFZTtVSEZmLHlCR0VlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQUDVCOztBQVVEO0VHb0JBLG9ER1Q0QztVSFM1Qyw0Q0dUNEM7RUNKMUMsV0FBMkIsRVBMNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix1REdwQ3FDO1VIb0NyQywrQ0dwQ3FDO0VIb0NyQyxpQ0dFZTtNSEZmLDZCR0VlO1VIRmYseUJHRWU7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBQNUI7O0FBVUQ7RUdvQkEsb0RHVDRDO1VIUzVDLDRDR1Q0QztFQ0oxQyxXQUEyQixFUEw1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsOEJGdEJtRDtNRXNCbkQsMEJGdEJtRDtVRXNCbkQsc0JGdEJtRDtFTUZqRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSxzREcvQjhCO1VIK0I5Qiw4Q0cvQjhCO0VDa0I1QixXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsZ0NGckJxRDtNRXFCckQsNEJGckJxRDtVRXFCckQsd0JGckJxRDtFTUhuRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSxzREc5QmdDO1VIOEJoQyw4Q0c5QmdDO0VDaUI5QixXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsaUNGcEJzRDtNRW9CdEQsNkJGcEJzRDtVRW9CdEQseUJGcEJzRDtFTUpwRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSx1REc3QnNDO1VINkJ0QywrQ0c3QnNDO0VDZ0JwQyxXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1A4QztVSE85Qyw0Q0dQOEM7RUhPOUMsK0JGbkJvRDtNRW1CcEQsMkJGbkJvRDtVRW1CcEQsdUJGbkJvRDtFTUxsRCxnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSx1REc1Qm9DO1VINEJwQywrQ0c1Qm9DO0VDZWxDLFdBQThCLEVQTC9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0RHUDhDO1VITzlDLDRDR1A4QztFSE85QyxpQ0dFZTtNSEZmLDZCR0VlO1VIRmYseUJHRWU7RUMxQmIsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBQL0I7O0FBVUQ7RUdvQkEsc0RHL0I4QjtVSCtCOUIsOENHL0I4QjtFQ2tCNUIsV0FBOEIsRVBML0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdQOEM7VUhPOUMsNENHUDhDO0VITzlDLGlDR0VlO01IRmYsNkJHRWU7VUhGZix5QkdFZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUFAvQjs7QUFVRDtFR29CQSxzREc5QmdDO1VIOEJoQyw4Q0c5QmdDO0VDaUI5QixXQUE4QixFUEwvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURq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a0IsRUFLbkI7SXpCREM7TUFDRSxZVnNHcUQ7TVVyR3JELFlBQVcsRUFDWjtJQUlDO01BQ0UsYVZnR29ELEVVL0ZyRDtJeUI1QlA7TUFrQk0saUJ2Q2pCVyxFdUNrQlo7RUFuQkw7STNCY0UsWUNlcUQ7SUErQnJELFlUOER5RDtJTXBHdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNkJjcEM7STVCb0lDO000QnRLTjtRN0JzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkJjcEMsRUFBQTtJekJmRDtNQUNFLFlWc0dxRDtNVXJHckQsWUFBVyxFQUNaO0lBSUM7TUFDRSxhVmdHb0QsRVUvRnJEO0lIMElEO000QnRLTjtRM0JjRSxpQkNlcUQ7UUErQnJELFlUOER5RDtRTXBHdkQsaUJEdUVTO1FDdEVULGdCRHNFUyxFOEIzRFI7UXpCZkQ7VUFDRSxZVnNHcUQ7VVVyR3JELFlBQVcsRUFDWjtRQUlDO1VBQ0UsYVZnR29ELEVVL0ZyRCxFQUFBO0l5QjVCUDtNQStCUSxZQUFVO01BQ1YsZ0JBQWMsRUFDZjtFQWpDUDtJM0JjRSxZQ2VxRDtJQStCckQsWVQ4RHlEO0lNcEd2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEU2QmlDcEM7STVCaUhDO000QnRLTjtRN0JzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkJpQ3BDLEVBQUE7SXpCbENEO01BQ0UsWVZzR3FEO01VckdyRCxZQUFXLEVBQ1o7SUFJQztNQUNFLGFWZ0dvRCxFVS9GckQ7SUgwSUQ7TTRCdEtOO1EzQmNFLGlCQ2VxRDtRQStCckQsWVQ4RHlEO1FNcEd2RCx3QkFGcUM7UUFHckMsdUJBSHFDLEU2QmlDcEMsRUFBQTtFNUJpSEM7STRCdEtOO003QnNCSSx5QkFGcUM7TUFHckMsd0JBSHFDLEU2QmlDcEMsRUFBQTtJNUJpSEM7UUduSkY7VUFDRSxZVnNHcUQ7VVVyR3JELFlBQVcsRUFDWjtRQUlDO1VBQ0UsYVZnR29ELEVVL0ZyRCxFQUFBO0l5QjVCUDtNQTBDUSxlUHhDUztNT3lDVCxpQnZDeENPO011Q3lDUCxvQ3ZDNUNxQjtNdUM2Q3JCLGVBQWE7TUFDYixZQUFVLEVBQ1g7SUEvQ1A7TUFrRFEsZVBoRFM7TU9pRFQsZ0I5QnFDaUQsRThCcENsRDtFQXBEUDtJM0JjRSxZQ2VxRDtJQStCckQsWVQ4RHlEO0lNcEd2RCx3QkFGcUM7SUFHckMsdUJBSHFDLEU2QmtEcEM7STVCZ0dDO000QnRLTjtRN0JzQkkseUJBRnFDO1FBR3JDLHdCQUhxQyxFNkJrRHBDLEVBQUE7SXpCbkREO01BQ0UsWVZzR3FEO01VckdyRCxZQUFXLEVBQ1o7SUFJQztNQUNFLGFWZ0dvRCxFVS9GckQ7SUgwSUQ7TTRCdEtOO1EzQmNFLGlCQ2VxRDtRQStCckQsWVQ4RHlEO1FNcEd2RCxpQkR1RVM7UUN0RVQsZ0JEc0VTLEU4QnZCUjtRekJuREQ7VUFDRSxZVnNHcUQ7VVVyR3JELFlBQVcsRUFDWjtRQUlDO1VBQ0UsYVZnR29ELEVVL0ZyRCxFQUFBO0l5QjVCUDtNQThEUSxZQUFVO01BQ1YsY0FBWSxFQUNiO0lBaEVQO01Ba0VRLGVQaEVTO01PaUVULGlCdkNoRU87TXVDaUVQLG9DdkNwRXFCLEV1Q3FFdEI7RUFyRVA7STNCY0UsWUNlcUQ7SUErQnJELFlUOER5RDtJTXBHdkQsd0JBRnFDO0lBR3JDLHVCQUhxQyxFNkI2RXBDO0k1QnFFQztNNEJ0S047UTdCc0JJLHlCQUZxQztRQUdyQyx3QkFIcUMsRTZCNkVwQyxFQUFBO0l6QjlFRDtNQUNFLFlWc0dxRDtNVXJHckQsWUFBVyxFQUNaO0lBSUM7TUFDRSxhVmdHb0QsRVUvRnJEO0lIMElEO000QnRLTjtRM0JjRSxpQkNlcUQ7UUErQnJELFlUOER5RDtRTXBHdkQsd0JBRnFDO1FBR3JDLHVCQUhxQyxFNkI2RXBDLEVBQUE7RTVCcUVDO0k0QnRLTjtNN0JzQkkseUJBRnFDO01BR3JDLHdCQUhxQyxFNkI2RXBDLEVBQUE7STVCcUVDO1FHbkpGO1VBQ0UsWVZzR3FEO1VVckdyRCxZQUFXLEVBQ1o7UUFJQztVQUNFLGFWZ0dvRCxFVS9GckQsRUFBQTtJeUI1QlA7TUE4RVEsY0FBWSxFQUNiO0lBL0VQO01Ba0ZRLGVQaEZTO01PaUZULGVBQWE7TUFD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M0VDO1VHbkpGO1lBQ0UsWVZzR3FEO1lVckdyRCxZQUFXLEVBQ1o7VUFJQztZQUNFLGFWZ0dvRCxFVS9GckQsRUFBQTtJd0N5TFA7TTFDdk1FLFlDZXFEO01BK0JyRCxZVDhEeUQ7TU1wR3ZELHdCQUZxQztNQUdyQyx1QkFIcUMsRTRDME9wQztNM0N4RkM7UTJDK0NOO1U1Qy9MSSx5QkFGcUM7VUFHckMsd0JBSHFDLEU0QzBPcEMsRUFBQTtNeEMzT0Q7UUFDRSxZVnNHcUQ7UVVyR3JELFlBQVcsRUFDWjtNQUlDO1FBQ0UsYVZnR29ELEVVL0ZyRDtNSDBJRDtRMkMrQ047VTFDdk1FLFdDZXFEO1VBK0JyRCxZVDhEeUQ7VU1wR3ZELHdCQUZxQztVQUdyQyx1QkFIcUM7VTRDbU9qQyxpQkFBZ0IsRUFPbkIsRUFBQTtFM0N4RkM7STJDK0NOO001Qy9MSSx5QkFGcUM7TUFHckMsd0JBSHFDLEU0QzBPcEMsRUFBQTtNM0N4RkM7VUduSkY7WUFDRSxZVnNHcUQ7WVVyR3JELFlBQVcsRUFDWjtVQUlDO1lBQ0UsYVZnR29ELEVVL0ZyRCxFQUFBO013Q3lMUDtRQXNDUSwwQkFBd0IsRUFDekI7SUF2Q1A7TTFDdk1FLFlDZXFEO01BK0JyRCxZVDhEeUQ7TU1wR3ZELHdCQUZxQztNQUdyQyx1QkFIcUMsRTRDcVBwQztNM0NuR0M7UTJDK0NOO1U1Qy9MSSx5QkFGcUM7VUFHckMsd0JBSHFDLEU0Q3FQcEMsRUFBQTtNeEN0UEQ7UUFDRSxZVnNHcUQ7UVVyR3JELFlBQVcsRUFDWjtNQUlDO1FBQ0UsYVZnR29ELEVVL0ZyRDtNSDBJRDtRMkMrQ047VTFDdk1FLGlCQ2VxRDtVQStCckQsWVQ4RHlEO1VNcEd2RCx3QkFGcUM7VUFHckMsdUJBSHFDLEU0Q3FQcEMsRUFBQTtFM0NuR0M7STJDK0NOO001Qy9MSSx5QkFGcUM7TUFHckMsd0JBSHFDLEU0Q3FQcEMsRUFBQTtNM0NuR0M7VUduSkY7WUFDRSxZVnNHcUQ7WVVyR3JELFlBQVcsRUFDWjtVQUlDO1lBQ0UsYVZnR29ELEVVL0ZyRCxFQUFBO013Q3lMUDtRQWlEUSwwQkFB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QjtJQUNoQixvQ0FBbUM7SUFDbkMsZ0JBQWUsRUFDaEI7O0FwRHJXRDtFb0QwV0Esc0JBQW9CLEVBQ3JCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIERlcGVuZGVuY2llc1xuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2Vcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIiRmb250OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuJGZvbnQtbm9ybWFsOiA1MDA7XG4kZm9udC1saWdodDogNDAwO1xuJGZvbnQtYm9sZDogNzAwO1xuXG4kZ2xvYmFsLXBhZGRpbmc6MzVweDtcblxuLnRleHQtcmVkIHtcbiAgY29sb3I6JHJlZCFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LWFsdC1ibHVlIHtcbiAgY29sb3I6JGJsdWUtYWx0IWltcG9ydGFudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogQ29tcG9uZW50IC0gTW9iaWxlIE1lbnVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICAqIE1vYmlsZSBtZW51IGNvbXBvbmVudCBjYW4gc3VwcG9ydCBtdWx0aXBsZSBsZXZlbHNcbiAgICAqXG4gICAgKiAxLiBCYWNrZ3JvdW5kIG9mIGZpcnN0IGxldmVsXG4gICAgKiAyLiBCb3JkZXIgYmV0d2VlbiBlYWNoXG4gICAgKiAzLiBQYWRkaW5nIG9mIGVhY2ggaXRlbVxuICAgICogNC4gQ29sb3Igb2YgTGlua3Mgb24gZmlyc3QgTGV2ZWxcbiovXG5cbi8vIFNpbXBsZSBDb2xvcnNcbiRKRC1iZy1jb2xvcjogIzQ1NUE2NCAhZGVmYXVsdDtcbiRKRC10ZXh0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJEpELWJvcmRlci1jb2xvcjogJEpELXRleHQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLmpkLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZC1jb2xvcjogJEpELWJnLWNvbG9yO1xuXG4gICAgdWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRKRC1iZy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJEpELWJvcmRlci1jb2xvcjtcblxuICAgICAgICAgICAgPiB1bCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYSwgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRKRC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRKRC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgXG5cbiAgICAgICAgLmhhc0NoaWxkIHtcblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW5vcm1hbGl6ZSgpIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8vIERvY3VtZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cblxuICBodG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICB9XG5cbiAgLy8gU2VjdGlvbnNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAvLyBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLy8gR3JvdXBpbmcgY29udGVudFxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gIC8vIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICAgIGhlaWdodDogMDsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyAyXG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgcHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyAvLyAxXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi41LjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4udGV4dC1yZWQge1xuICBjb2xvcjogIzljMTQyMSAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LWFsdC1ibHVlIHtcbiAgY29sb3I6ICMyNzZjOTggIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAqIENvbXBvbmVudCAtIE1vYmlsZSBNZW51XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICogTW9iaWxlIG1lbnUgY29tcG9uZW50IGNhbiBzdXBwb3J0IG11bHRpcGxlIGxldmVsc1xuICAgICpcbiAgICAqIDEuIEJhY2tncm91bmQgb2YgZmlyc3QgbGV2ZWxcbiAgICAqIDIuIEJvcmRlciBiZXR3ZWVuIGVhY2hcbiAgICAqIDMuIFBhZGRpbmcgb2YgZWFjaCBpdGVtXG4gICAgKiA0LiBDb2xvciBvZiBMaW5rcyBvbiBmaXJzdCBMZXZlbFxuKi9cbi5qZC1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ1NUE2NDsgfVxuICAuamQtbWVudSB1bCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuamQtbWVudSBsaSB7XG4gICAgYmFja2dyb3VuZDogIzQ1NUE2NDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjsgfVxuICAgIC5qZC1tZW51IGxpID4gdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuamQtbWVudSBhLCAuamQtbWVudSBzcGFuIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmpkLW1lbnUgaSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICAuamQtbWVudSAuaGFzQ2hpbGQgPiBhIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IH1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwOyB9XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0OyB9XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucm93IC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIC5yb3cgLnJvdy5jb2xsYXBzZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucm93LmV4cGFuZGVkIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICAucm93LmV4cGFuZGVkIC5yb3cge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnJvdzpub3QoLmV4cGFuZGVkKSAucm93IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1uLCAucm93Lmd1dHRlci1zbWFsbCA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW4sIC5yb3cuZ3V0dGVyLW1lZGl1bSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cblxuLmNvbHVtbiwgLmNvbHVtbnMge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAuY29sdW1uLCAuY29sdW1ucywgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuY29sdW1uLmVuZDpsYXN0LWNoaWxkOmxhc3QtY2hpbGQsIC5lbmQuY29sdW1uczpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb2x1bW4ucm93LnJvdywgLnJvdy5yb3cuY29sdW1ucyB7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0xNi42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtcHVzaC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAyNSU7IH1cblxuLnNtYWxsLXB1bGwtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTQxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtcHVzaC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7IH1cblxuLnNtYWxsLXB1bGwtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTY2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtcHVzaC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA3NSU7IH1cblxuLnNtYWxsLXB1bGwtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTgzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAyMCU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMi41JTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtY29sbGFwc2UgLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmV4cGFuZGVkLnJvdyAuc21hbGwtY29sbGFwc2Uucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4uc21hbGwtY2VudGVyZWQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5zbWFsbC1jZW50ZXJlZCwgLnNtYWxsLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5zbWFsbC11bmNlbnRlcmVkLFxuLnNtYWxsLXB1c2gtMCxcbi5zbWFsbC1wdWxsLTAge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC11bmNlbnRlcmVkLCAuc21hbGwtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc21hbGwtcHVzaC0wLFxuICAuc21hbGwtcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIC5zbWFsbC1wdWxsLTAsXG4gIC5zbWFsbC1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgLnNtYWxsLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAuc21hbGwtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTIuNSU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS11bmNlbnRlcmVkLCAubWVkaXVtLXVuY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubWVkaXVtLXB1c2gtMCxcbiAgICAubWVkaXVtLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVsbC0wLFxuICAgIC5tZWRpdW0tcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5tZWRpdW0tcHVzaC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLm1lZGl1bS1wdWxsLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5sYXJnZS11bmNlbnRlcmVkLCAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdXNoLTAsXG4gICAgLmxhcmdlLXB1c2gtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdWxsLTAsXG4gICAgLmxhcmdlLXB1bGwtMDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdW5jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIC5sYXJnZS1wdXNoLTA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAubGFyZ2UtcHVsbC0wOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuLmNvbHVtbi1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNvbHVtbi1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbHVtbi1ibG9jayA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWNjdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogQ29tcG9uZW50IC0gTW9iaWxlIE1lbnVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgKiBNb2JpbGUgbWVudSBjb21wb25lbnQgY2FuIHN1cHBvcnQgbXVsdGlwbGUgbGV2ZWxzXG4gICAgKlxuICAgICogMS4gQmFja2dyb3VuZCBvZiBmaXJzdCBsZXZlbFxuICAgICogMi4gQm9yZGVyIGJldHdlZW4gZWFjaFxuICAgICogMy4gUGFkZGluZyBvZiBlYWNoIGl0ZW1cbiAgICAqIDQuIENvbG9yIG9mIExpbmtzIG9uIGZpcnN0IExldmVsXG4qL1xuLmpkLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU1QTY0OyB9XG4gIC5qZC1tZW51IHVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5qZC1tZW51IGxpIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDU1QTY0O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzOyB9XG4gICAgLmpkLW1lbnUgbGk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4IHdoaXRlOyB9XG4gICAgLmpkLW1lbnUgbGkgPiB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5qZC1tZW51IGEsIC5qZC1tZW51IHNwYW4ge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuamQtbWVudSBpIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIC5qZC1tZW51IC5oYXNDaGlsZCA+IGEge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTc1OWI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDVweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICB6LWluZGV4OiAxMDAwMDA7IH1cblxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsgfVxuXG5ib2R5LmFkbWluLWJhci5mLXRvcGJhci1maXhlZCAuc3RpY2t5LmZpeGVkIHtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG5ib2R5LmFkbWluLWJhci5vZmZjYW52YXMgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gIHRvcDogMi44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDguOTM3NWVtKSB7XG4gICAgYm9keS5hZG1pbi1iYXIub2ZmY2FudmFzIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgICAgdG9wOiAycmVtOyB9IH1cblxuLndwLWNhcHRpb24gPiBmaWdjYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6ICM5OTk7XG4gIHBhZGRpbmc6IDAuMjVyZW0gMDsgfVxuXG5wLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBjb2xvcjogIzY2NjtcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7IH1cblxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmJ1dHRvbiwgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAxMHB4IDE1cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZDogIzI2MjU3MTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTc1cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5mcm1fYnV0dG9uX3N1Ym1pdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzljMTQyMTtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLmJ1dHRvbi0td2hpdGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICMyNjI1NzE7IH1cbiAgLmJ1dHRvbi0td2hpdGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyNjI1NzE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tYmx1ZTpob3ZlciwgLmJ1dHRvbi0tYmx1ZWFsdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM5YzE0MjEgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tcmVkIHtcbiAgYmFja2dyb3VuZDogI2U2Mjk0NztcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmJ1dHRvbi0tcmVkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjYyNTcxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLWJsdWVhbHQge1xuICBiYWNrZ3JvdW5kOiAjMjc2Yzk4O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uLS1ibHVlYWx0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjc2Yzk4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLXJlZGRhcmsge1xuICBiYWNrZ3JvdW5kOiAjOWMxNDIxO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uLS1yZWRkYXJrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMmYzOTUxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5idXR0b24tLXZpZXdhbGwge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXRvcDogMjJweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjMjc2Yzk4OyB9XG4gIC5idXR0b24tLXZpZXdhbGw6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMyNjI1NzE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLmJ1dHRvbi0tc2hhcmUsIC5idXR0b24tLWRvd25sb2FkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDIzMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5idXR0b24tLXNoYXJlLCAuYnV0dG9uLS1kb3dubG9hZCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmJ1dHRvbi0tc2hhcmU6aG92ZXIsIC5idXR0b24tLWRvd25sb2FkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjc2Yzk4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4uYnV0dG9uLS1kb3dubG9hZCB7XG4gIGJhY2tncm91bmQ6ICNlNjI5NDc7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gIC5idXR0b24tLWRvd25sb2FkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjc2Yzk4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubmV3c2xldHRlcl9iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMzVweDsgfVxuICAubmV3c2xldHRlcl9iYXIubmV3c2xldHRlcl9iYXJfX2JsdWUge1xuICAgIGJhY2tncm91bmQ6ICMyNjI1NzE7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLm5ld3NsZXR0ZXJfYmFyLm5ld3NsZXR0ZXJfYmFyX19ibHVlIGxhYmVsIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5uZXdzbGV0dGVyX2Jhci5uZXdzbGV0dGVyX2Jhcl9fYmx1ZSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogIzljMTQyMTsgfVxuICAubmV3c2xldHRlcl9iYXIubmV3c2xldHRlci1ib3JkZXJzID4gZGl2IHtcbiAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzI2MjU3MTtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzI2MjU3MTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfVxuICAubmV3c2xldHRlcl9iYXIgPiBkaXYge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLm5ld3NsZXR0ZXJfYmFyID4gZGl2OjpiZWZvcmUsIC5uZXdzbGV0dGVyX2JhciA+IGRpdjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAubmV3c2xldHRlcl9iYXIgPiBkaXY6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAubmV3c2xldHRlcl9iYXIgPiBkaXYgaW5wdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI2VlZWVlZTtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgY29sb3I6ICMyNjI1NzE7IH1cbiAgICAgIC5uZXdzbGV0dGVyX2JhciA+IGRpdiBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAubmV3c2xldHRlcl9iYXIgPiBkaXYgLmZybV9wcmltYXJ5X2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5uZXdzbGV0dGVyX2JhciA+IGRpdiAuZnJtX2J1dHRvbl9zdWJtaXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDBweDsgfVxuXG4uZnJtX2Zvcm1fZmllbGQge1xuICBtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMjVweCAhaW1wb3J0YW50OyB9XG5cbi51cGRhdGVfYmFubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJlZDtcbiAgcGFkZGluZzogMzVweDsgfVxuICAudXBkYXRlX2Jhbm5lciA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC51cGRhdGVfYmFubmVyID4gZGl2OjpiZWZvcmUsIC51cGRhdGVfYmFubmVyID4gZGl2OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC51cGRhdGVfYmFubmVyID4gZGl2OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAudXBkYXRlX2Jhbm5lciA+IGRpdiAudXBkYXRlX2Jhbm5lcl9faW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19pbWFnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19pbWFnZSwgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAgIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAudXBkYXRlX2Jhbm5lciA+IGRpdiAudXBkYXRlX2Jhbm5lcl9fY29udGVudCwgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9XG4gICAgICAgICAgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQsIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAgIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgIC51cGRhdGVfYmFubmVyID4gZGl2IC51cGRhdGVfYmFubmVyX19jb250ZW50IGgyIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIG1hcmdpbjogMHB4OyB9XG4gICAgICAudXBkYXRlX2Jhbm5lciA+IGRpdiAudXBkYXRlX2Jhbm5lcl9fY29udGVudCBwIHtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAudXBkYXRlX2Jhbm5lciA+IGRpdiAudXBkYXRlX2Jhbm5lcl9fY29udGVudCAuYnV0dG9uLCAudXBkYXRlX2Jhbm5lciA+IGRpdiAudXBkYXRlX2Jhbm5lcl9fY29udGVudCAubmV3c2xldHRlcl9iYXIgPiBkaXYgLmZybV9idXR0b25fc3VibWl0LCAubmV3c2xldHRlcl9iYXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXIgPiBkaXYgLnVwZGF0ZV9iYW5uZXJfX2NvbnRlbnQgLmZybV9idXR0b25fc3VibWl0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb250ZW50YmFyX2Jhbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMmYzOTUxO1xuICBwYWRkaW5nOiAzNXB4OyB9XG4gIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdjo6YmVmb3JlLCAuY29udGVudGJhcl9iYW5uZXIgPiBkaXY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2ltYWdlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgbWluLWhlaWdodDogMzAwcHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19pbWFnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2ltYWdlLCAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2IC5jb250ZW50YmFyX2Jhbm5lcl9fY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2IC5jb250ZW50YmFyX2Jhbm5lcl9fY29udGVudCwgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2IC5jb250ZW50YmFyX2Jhbm5lcl9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2NvbnRlbnQge1xuICAgICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtOyB9XG4gICAgICAgICAgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2IC5jb250ZW50YmFyX2Jhbm5lcl9fY29udGVudCwgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2IC5jb250ZW50YmFyX2Jhbm5lcl9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2NvbnRlbnQgaDIge1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwcHg7IH1cbiAgICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2NvbnRlbnQgcCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7IH1cbiAgICAgIC5jb250ZW50YmFyX2Jhbm5lciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXJfX2NvbnRlbnQgc21hbGwge1xuICAgICAgICBjb2xvcjogI2U2Mjk0NztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgLmNvbnRlbnRiYXJfYmFubmVyID4gZGl2IC5jb250ZW50YmFyX2Jhbm5lcl9fY29udGVudCAuYnV0dG9uLCAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19jb250ZW50IC5uZXdzbGV0dGVyX2JhciA+IGRpdiAuZnJtX2J1dHRvbl9zdWJtaXQsIC5uZXdzbGV0dGVyX2JhciA+IGRpdiAuY29udGVudGJhcl9iYW5uZXIgPiBkaXYgLmNvbnRlbnRiYXJfYmFubmVyX19jb250ZW50IC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubmV3c19fYmFyIHtcbiAgcGFkZGluZzogMzVweDsgfVxuICAubmV3c19fYmFyIC5uZXdzX19iYXJfX2hlYWRlciB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm5ld3NfX2JhciAubmV3c19fYmFyX19oZWFkZXI6OmJlZm9yZSwgLm5ld3NfX2JhciAubmV3c19fYmFyX19oZWFkZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLm5ld3NfX2JhciAubmV3c19fYmFyX19oZWFkZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm5ld3NfX2JhciAubmV3c19fYmFyX19oZWFkZXIgaDIge1xuICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7IH1cbiAgICAubmV3c19fYmFyIC5uZXdzX19iYXJfX2hlYWRlciA+IC5idXR0b24sIC5uZXdzX19iYXIgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5uZXdzX19iYXJfX2hlYWRlciA+IC5mcm1fYnV0dG9uX3N1Ym1pdCwgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5uZXdzX19iYXIgLm5ld3NfX2Jhcl9faGVhZGVyID4gLmZybV9idXR0b25fc3VibWl0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubmV3c19fYmFyIC5uZXdzX19iYXJfX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLm5ld3NfX2JhciAubmV3c19fYmFyX19jb250YWluZXI6OmJlZm9yZSwgLm5ld3NfX2JhciAubmV3c19fYmFyX19jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLm5ld3NfX2JhciAubmV3c19fYmFyX19jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm5ld3NfX2JhciAubmV3c19fYmFyX19jb250YWluZXIgLm5ld3NfX2Jhcl9fY29udGFpbmVyX19pdGVtIHtcbiAgICAgIGZsZXg6IDEgMSAzMSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH1cbiAgICAgIC5uZXdzX19iYXIgLm5ld3NfX2Jhcl9fY29udGFpbmVyIC5uZXdzX19iYXJfX2NvbnRhaW5lcl9faXRlbSBoMyB7XG4gICAgICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC5uZXdzX19iYXIgLm5ld3NfX2Jhcl9fY29udGFpbmVyIC5uZXdzX19iYXJfX2NvbnRhaW5lcl9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubmV3c19fYmFyIC5uZXdzX19iYXJfX2NvbnRhaW5lciAubmV3c19fYmFyX19jb250YWluZXJfX2l0ZW0gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5uZXdzX19iYXIgLm5ld3NfX2Jhcl9fY29udGFpbmVyIC5uZXdzX19iYXJfX2NvbnRhaW5lcl9faXRlbSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICMyNjI1NzE7IH1cbiAgICAgIC5uZXdzX19iYXIgLm5ld3NfX2Jhcl9fY29udGFpbmVyIC5uZXdzX19iYXJfX2NvbnRhaW5lcl9faXRlbSBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi5wdWJsaWNhdGlvbnNfX2JhciB7XG4gIHBhZGRpbmc6IDM1cHg7IH1cbiAgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9faGVhZGVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHVibGljYXRpb25zX19iYXIgLnB1YmxpY2F0aW9uc19fYmFyX19oZWFkZXI6OmJlZm9yZSwgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9faGVhZGVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5wdWJsaWNhdGlvbnNfX2JhciAucHVibGljYXRpb25zX19iYXJfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucHVibGljYXRpb25zX19iYXIgLnB1YmxpY2F0aW9uc19fYmFyX19oZWFkZXIgaDIge1xuICAgICAgY29sb3I6ICMyNzZjOTg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICBtYXJnaW4tdG9wOiAwcHg7IH1cbiAgICAucHVibGljYXRpb25zX19iYXIgLnB1YmxpY2F0aW9uc19fYmFyX19oZWFkZXIgPiAuYnV0dG9uLCAucHVibGljYXRpb25zX19iYXIgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5wdWJsaWNhdGlvbnNfX2Jhcl9faGVhZGVyID4gLmZybV9idXR0b25fc3VibWl0LCAubmV3c2xldHRlcl9iYXIgPiBkaXYgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9faGVhZGVyID4gLmZybV9idXR0b25fc3VibWl0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNXB4O1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICMyNzZjOTg7IH1cbiAgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAucHVibGljYXRpb25zX19iYXIgLnB1YmxpY2F0aW9uc19fYmFyX19jb250YWluZXI6OmJlZm9yZSwgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5wdWJsaWNhdGlvbnNfX2JhciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucHVibGljYXRpb25zX19iYXIgLnB1YmxpY2F0aW9uc19fYmFyX19jb250YWluZXIgLnB1YmxpY2F0aW9uc19fYmFyX19jb250YWluZXJfX2l0ZW0ge1xuICAgICAgZmxleDogMSAxIDMxJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDsgfVxuICAgICAgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyX19pdGVtIGgzIHtcbiAgICAgICAgY29sb3I6ICMyNzZjOTg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5wdWJsaWNhdGlvbnNfX2JhciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lcl9faXRlbSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyX19pdGVtIHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogIzI3NmM5ODsgfVxuICAgICAgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyX19pdGVtIC5idXR0b24sIC5wdWJsaWNhdGlvbnNfX2JhciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lcl9faXRlbSAubmV3c2xldHRlcl9iYXIgPiBkaXYgLmZybV9idXR0b25fc3VibWl0LCAubmV3c2xldHRlcl9iYXIgPiBkaXYgLnB1YmxpY2F0aW9uc19fYmFyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyX19pdGVtIC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNzZjOTg7IH1cbiAgICAgIC5wdWJsaWNhdGlvbnNfX2JhciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lciAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lcl9faXRlbSBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICMyNzZjOTg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi5wcm9qZWN0LXRoZW1lc19fYmFyIHtcbiAgcGFkZGluZzogMzVweDsgfVxuICAucHJvamVjdC10aGVtZXNfX2JhciAucHJvamVjdC10aGVtZXNfX2Jhcl9faGVhZGVyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHJvamVjdC10aGVtZXNfX2JhciAucHJvamVjdC10aGVtZXNfX2Jhcl9faGVhZGVyOjpiZWZvcmUsIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19oZWFkZXI6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2hlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAucHJvamVjdC10aGVtZXNfX2JhciAucHJvamVjdC10aGVtZXNfX2Jhcl9faGVhZGVyIGgyIHtcbiAgICAgIGNvbG9yOiAjOWMxNDIxO1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gICAgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2hlYWRlciA+IC5idXR0b24sIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5uZXdzbGV0dGVyX2JhciA+IGRpdiAucHJvamVjdC10aGVtZXNfX2Jhcl9faGVhZGVyID4gLmZybV9idXR0b25fc3VibWl0LCAubmV3c2xldHRlcl9iYXIgPiBkaXYgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2hlYWRlciA+IC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjOWMxNDIxOyB9XG4gIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXI6OmJlZm9yZSwgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lcjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAucHJvamVjdC10aGVtZXNfX2JhciAucHJvamVjdC10aGVtZXNfX2Jhcl9fY29udGFpbmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lcl9faXRlbSB7XG4gICAgICBmbGV4OiAxIDEgMjMlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgICAgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lciAucHJvamVjdC10aGVtZXNfX2Jhcl9fY29udGFpbmVyX19pdGVtIGgzIHtcbiAgICAgICAgY29sb3I6ICM5YzE0MjE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjsgfVxuICAgICAgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lciAucHJvamVjdC10aGVtZXNfX2Jhcl9fY29udGFpbmVyX19pdGVtOm50aC1jaGlsZCg0bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lcl9faXRlbSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lciAucHJvamVjdC10aGVtZXNfX2Jhcl9fY29udGFpbmVyX19pdGVtIHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogIzljMTQyMTsgfVxuICAgICAgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lciAucHJvamVjdC10aGVtZXNfX2Jhcl9fY29udGFpbmVyX19pdGVtIC5idXR0b24sIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lcl9faXRlbSAubmV3c2xldHRlcl9iYXIgPiBkaXYgLmZybV9idXR0b25fc3VibWl0LCAubmV3c2xldHRlcl9iYXIgPiBkaXYgLnByb2plY3QtdGhlbWVzX19iYXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lciAucHJvamVjdC10aGVtZXNfX2Jhcl9fY29udGFpbmVyX19pdGVtIC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5YzE0MjE7IH1cbiAgICAgIC5wcm9qZWN0LXRoZW1lc19fYmFyIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXIgLnByb2plY3QtdGhlbWVzX19iYXJfX2NvbnRhaW5lcl9faXRlbSBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICM5YzE0MjE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi5hYm91dF9faGVhZGVyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMyNjI1NzE7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIC5hYm91dF9faGVhZGVyOjpiZWZvcmUsIC5hYm91dF9faGVhZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmFib3V0X19oZWFkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYWJvdXRfX2hlYWRlciBoMSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgY29sb3I6ICMyNjI1NzE7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuYWJvdXRfX2hlYWRlciBoMSwgLmFib3V0X19oZWFkZXIgaDE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmFib3V0X19oZWFkZXIgaDE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuYWJvdXRfX2hlYWRlciBoMSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19pbWFnZSwgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19pbWFnZSwgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fY29udGVudCwgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQsIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQgaDIge1xuICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMHB4OyB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX2NvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcG9zdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcG9zdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19wb3N0LCAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcG9zdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcG9zdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcG9zdCB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3Bvc3QsIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19wb3N0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19wb3N0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3Bvc3QgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMDBweDsgfVxuICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19wb3N0IHAge1xuICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7IH1cbiAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3BlcnNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3BlcnNvbiwgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3BlcnNvbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19wZXJzb24ge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uLCAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5hYm91dF9faGVhZGVyID4gZGl2IC5hYm91dF9faGVhZGVyX19wZXJzb246bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uIGltZyB7XG4gICAgICBoZWlnaHQ6IDI2MHB4OyB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3BlcnNvbiBoMyB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwcHg7IH1cbiAgICAuYWJvdXRfX2hlYWRlciA+IGRpdiAuYWJvdXRfX2hlYWRlcl9fcGVyc29uIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLmFib3V0X19oZWFkZXIgPiBkaXYgLmFib3V0X19oZWFkZXJfX3BlcnNvbiBwIHtcbiAgICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uY29udGVudCB7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgLmNvbnRlbnQgPiBkaXYge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgICAuY29udGVudCA+IGRpdjo6YmVmb3JlLCAuY29udGVudCA+IGRpdjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuY29udGVudCA+IGRpdjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY29udGVudCA+IGRpdiBoMiB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjsgfVxuICAgIC5jb250ZW50ID4gZGl2IGgzIHtcbiAgICAgIGNvbG9yOiAjMjYyNTcxOyB9XG4gICAgLmNvbnRlbnQgPiBkaXYgc3BhbiB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29udGVudCA+IGRpdiAucmVkSGVhZGVyIHtcbiAgICAgIGNvbG9yOiAjOWMxNDIxO1xuICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjtcbiAgICAgIG1hcmdpbjogMHB4OyB9XG4gICAgLmNvbnRlbnQgPiBkaXYgaW1nIHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAuY29udGVudCA+IGRpdiBwIHtcbiAgICAgIGNvbG9yOiAjMjYyNTcxOyB9XG4gICAgICAuY29udGVudCA+IGRpdiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jb250ZW50X19ncmlkIHtcbiAgcGFkZGluZzogMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250ZW50X19ncmlkIHtcbiAgICAgIHBhZGRpbmc6IDM1cHg7IH0gfVxuICAuY29udGVudF9fZ3JpZCA+IGgyIHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIG1heC13aWR0aDogMTI0MHB4O1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjZTYyOTQ3OyB9XG4gICAgLmNvbnRlbnRfX2dyaWQgPiBoMjo6YmVmb3JlLCAuY29udGVudF9fZ3JpZCA+IGgyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jb250ZW50X19ncmlkID4gaDI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb250ZW50X19ncmlkID4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyNDBweDsgfVxuICAgIC5jb250ZW50X19ncmlkID4gZGl2OjpiZWZvcmUsIC5jb250ZW50X19ncmlkID4gZGl2OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5jb250ZW50X19ncmlkID4gZGl2OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGVudF9fZ3JpZCA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuY29udGVudF9fZ3JpZCA+IGRpdiAuY29udGVudF9fZ3JpZF9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGVudF9fZ3JpZCA+IGRpdiAuY29udGVudF9fZ3JpZF9faXRlbSB7XG4gICAgICAgICAgZmxleDogMSAxIDMxJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH0gfVxuICAgICAgLmNvbnRlbnRfX2dyaWQgPiBkaXYgLmNvbnRlbnRfX2dyaWRfX2l0ZW0gaDIge1xuICAgICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmOyB9XG4gICAgICAuY29udGVudF9fZ3JpZCA+IGRpdiAuY29udGVudF9fZ3JpZF9faXRlbSBoMyB7XG4gICAgICAgIGNvbG9yOiAjOWMxNDIxO1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC5jb250ZW50X19ncmlkID4gZGl2IC5jb250ZW50X19ncmlkX19pdGVtOm50aC1jaGlsZCgzbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50X19ncmlkID4gZGl2IC5jb250ZW50X19ncmlkX19pdGVtIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuY29udGVudF9fZ3JpZCA+IGRpdiAuY29udGVudF9fZ3JpZF9faXRlbSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICMyNjI1NzE7IH1cbiAgICAgIC5jb250ZW50X19ncmlkID4gZGl2IC5jb250ZW50X19ncmlkX19pdGVtIHNtYWxsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGlmcmFtZSB7XG4gICAgICBoZWlnaHQ6IDUwMHB4OyB9IH1cblxuLnN1Yi10aXRsZSB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnN1Yi10aXRsZTo6YmVmb3JlLCAuc3ViLXRpdGxlOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnN1Yi10aXRsZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zdWItdGl0bGUgaDIge1xuICAgIGNvbG9yOiAjOWMxNDIxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmOyB9XG5cbi5pbWFnZV9iYXIgPiBkaXYge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmltYWdlX2JhciA+IGRpdjo6YmVmb3JlLCAuaW1hZ2VfYmFyID4gZGl2OjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmltYWdlX2JhciA+IGRpdjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5pbWFnZV9iYXIgPiBkaXYgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDEgMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi50ZXh0Y2VudHJlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnRleHRjZW50cmUgcCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5taW4taGVpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4uZm91cmNvbHVtbiAuY29udGVudF9fZ3JpZF9faXRlbSB7XG4gIGZsZXg6IDEgMSAyMyUgIWltcG9ydGFudDsgfVxuICAuZm91cmNvbHVtbiAuY29udGVudF9fZ3JpZF9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHggIWltcG9ydGFudDsgfVxuICAuZm91cmNvbHVtbiAuY29udGVudF9fZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50OyB9XG5cbi5kb3VibGVfaXRlbXMgPiBkaXYge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5kb3VibGVfaXRlbXMgPiBkaXY6OmJlZm9yZSwgLmRvdWJsZV9pdGVtcyA+IGRpdjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5kb3VibGVfaXRlbXMgPiBkaXY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5kb3VibGVfaXRlbXMgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmRvdWJsZV9pdGVtcyA+IGRpdiAuZG91YmxlX2l0ZW1zX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjMjYyNTcxOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSwgLmRvdWJsZV9pdGVtcyA+IGRpdiAuZG91YmxlX2l0ZW1zX19pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZG91YmxlX2l0ZW1zID4gZGl2IC5kb3VibGVfaXRlbXNfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSwgLmRvdWJsZV9pdGVtcyA+IGRpdiAuZG91YmxlX2l0ZW1zX19pdGVtOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgICAgaGVpZ2h0OiAxNjJweDsgfVxuICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSBoMyB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgIC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSAuYnV0dG9uLCAuZG91YmxlX2l0ZW1zID4gZGl2IC5kb3VibGVfaXRlbXNfX2l0ZW0gLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5mcm1fYnV0dG9uX3N1Ym1pdCwgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5kb3VibGVfaXRlbXMgPiBkaXYgLmRvdWJsZV9pdGVtc19faXRlbSAuZnJtX2J1dHRvbl9zdWJtaXQge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAyNXB4OyB9XG5cbi5tYWluLXRpdGxlIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjQwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzNXB4OyB9XG4gIC5tYWluLXRpdGxlOjpiZWZvcmUsIC5tYWluLXRpdGxlOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1haW4tdGl0bGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWFpbi10aXRsZSBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjOWMxNDIxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLm1haW4tdGl0bGUuYm9yZGVyLWJlbG93IHtcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzI2MjU3MTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tYWluLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMHB4OyB9IH1cbiAgLm1haW4tdGl0bGUgaDEge1xuICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgbWFyZ2luOiAwcHg7IH1cbiAgICAubWFpbi10aXRsZSBoMSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmpvYl9hcHBsaWNhdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMyZjM5NTE7XG4gIHBhZGRpbmc6IDM1cHg7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgLmpvYl9hcHBsaWNhdGlvbiA+IGRpdiB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuam9iX2FwcGxpY2F0aW9uID4gZGl2OjpiZWZvcmUsIC5qb2JfYXBwbGljYXRpb24gPiBkaXY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmpvYl9hcHBsaWNhdGlvbiA+IGRpdjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cblxuLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0ge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzI2MjU3MTtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgcGFkZGluZy10b3A6IDI1cHg7IH1cbiAgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW06OmJlZm9yZSwgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW06OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuZnVuZGVycyAuZnVuZGVyc19faXRlbTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0gLmZ1bmRlcnNfX2l0ZW1fX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19pbWFnZSwgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0gLmZ1bmRlcnNfX2l0ZW1fX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9faW1hZ2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19pbWFnZSwgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0gLmZ1bmRlcnNfX2l0ZW1fX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19jb250ZW50LCAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mdW5kZXJzIC5mdW5kZXJzX19pdGVtIC5mdW5kZXJzX19pdGVtX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudCwgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0gLmZ1bmRlcnNfX2l0ZW1fX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0gLmZ1bmRlcnNfX2l0ZW1fX2NvbnRlbnQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuZnVuZGVycyAuZnVuZGVyc19faXRlbSAuZnVuZGVyc19faXRlbV9fY29udGVudCBoMiB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmOyB9XG4gICAgLmZ1bmRlcnMgLmZ1bmRlcnNfX2l0ZW0gLmZ1bmRlcnNfX2l0ZW1fX2NvbnRlbnQgcCB7XG4gICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmxhcmdlQm94ZXMge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyNDBweDsgfVxuICAubGFyZ2VCb3hlczo6YmVmb3JlLCAubGFyZ2VCb3hlczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZUJveGVzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGFyZ2VCb3hlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmxhcmdlQm94ZXMgLmxhcmdlQm94ZXNfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4OiAxIDEgMzElO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgcGFkZGluZzogNTBweDtcbiAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAubGFyZ2VCb3hlcyAubGFyZ2VCb3hlc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDsgfSB9XG4gICAgLmxhcmdlQm94ZXMgLmxhcmdlQm94ZXNfX2l0ZW06bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubGFyZ2VCb3hlcyAubGFyZ2VCb3hlc19faXRlbSAubGFyZ2VCb3hlc19faXRlbV9fY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5sYXJnZUJveGVzIC5sYXJnZUJveGVzX19pdGVtIC5sYXJnZUJveGVzX19pdGVtX19jb250ZW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDIzNXB4OyB9IH1cbiAgICAgIC5sYXJnZUJveGVzIC5sYXJnZUJveGVzX19pdGVtIC5sYXJnZUJveGVzX19pdGVtX19jb250ZW50IHAge1xuICAgICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmxhcmdlQm94ZXMgLmxhcmdlQm94ZXNfX2l0ZW0gLmxhcmdlQm94ZXNfX2l0ZW1fX2NvbnRlbnQgaDIge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjMjYyNTcxOyB9XG5cbi5wdWJsaWNhdGlvbl9maWx0ZXIge1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIC5wdWJsaWNhdGlvbl9maWx0ZXIgPiBkaXYge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjMjYyNTcxO1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgIGNvbG9yOiAjMjc2Yzk4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjsgfVxuICAgIC5wdWJsaWNhdGlvbl9maWx0ZXIgPiBkaXY6OmJlZm9yZSwgLnB1YmxpY2F0aW9uX2ZpbHRlciA+IGRpdjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAucHVibGljYXRpb25fZmlsdGVyID4gZGl2OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5wdWJsaWNhdGlvbl9maWx0ZXIgPiBkaXYgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMjc2Yzk4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLnB1YmxpY2F0aW9uX2ZpbHRlciA+IGRpdiBzZWxlY3QsIC5wdWJsaWNhdGlvbl9maWx0ZXIgPiBkaXYgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICMyNzZjOTg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICBjb2xvcjogIzI3NmM5ODsgfVxuICAgIC5wdWJsaWNhdGlvbl9maWx0ZXIgPiBkaXYgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgIGNvbG9yOiAjMjc2Yzk4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICBtYXJnaW46IDEwcHg7IH1cbiAgICAgIC5wdWJsaWNhdGlvbl9maWx0ZXIgPiBkaXYgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzI3NmM5ODtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1lZGlhX3NwbGl0IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMyNjI1NzE7XG4gIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gIC5tZWRpYV9zcGxpdDo6YmVmb3JlLCAubWVkaWFfc3BsaXQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaWFfc3BsaXQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaWFfc3BsaXQgLm1lZGlhX3NwbGl0X19pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgY29sb3I6ICMyNzZjOTg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmOyB9XG4gICAgLm1lZGlhX3NwbGl0IC5tZWRpYV9zcGxpdF9faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMjBweDtcbiAgICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggIzI2MjU3MTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgLm1lZGlhX3NwbGl0IC5tZWRpYV9zcGxpdF9faXRlbTpsYXN0LW9mLXR5cGUgLmJ1dHRvbiwgLm1lZGlhX3NwbGl0IC5tZWRpYV9zcGxpdF9faXRlbTpsYXN0LW9mLXR5cGUgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5mcm1fYnV0dG9uX3N1Ym1pdCwgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5tZWRpYV9zcGxpdCAubWVkaWFfc3BsaXRfX2l0ZW06bGFzdC1vZi10eXBlIC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uc3BsaXQtYmFubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNwbGl0LWJhbm5lciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5zcGxpdC1iYW5uZXIgLnNwbGl0LWJhbm5lcl9fYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogIzI2MjU3MTtcbiAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3BsaXQtYmFubmVyIC5zcGxpdC1iYW5uZXJfX2JsdWUge1xuICAgICAgICBmbGV4OiAxIDEgNTAlOyB9IH1cbiAgICAuc3BsaXQtYmFubmVyIC5zcGxpdC1iYW5uZXJfX2JsdWUgPiBkaXYge1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAgIC5zcGxpdC1iYW5uZXIgLnNwbGl0LWJhbm5lcl9fYmx1ZSA+IGRpdjo6YmVmb3JlLCAuc3BsaXQtYmFubmVyIC5zcGxpdC1iYW5uZXJfX2JsdWUgPiBkaXY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIC5zcGxpdC1iYW5uZXIgLnNwbGl0LWJhbm5lcl9fYmx1ZSA+IGRpdjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnNwbGl0LWJhbm5lciAuc3BsaXQtYmFubmVyX19ibHVlID4gZGl2IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDsgfSB9XG4gICAgICAuc3BsaXQtYmFubmVyIC5zcGxpdC1iYW5uZXJfX2JsdWUgPiBkaXYgcCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuc3BsaXQtYmFubmVyIC5zcGxpdC1iYW5uZXJfX2ltYWdlIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zcGxpdC1iYW5uZXIgLnNwbGl0LWJhbm5lcl9faW1hZ2Uge1xuICAgICAgICBmbGV4OiAxIDEgNTAlOyB9IH1cblxuLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2OjpiZWZvcmUsIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogI2FmZTRmZjtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzI2MjU3MTsgfVxuICAgIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXYgLnR3b19jb2x1bW5zLS1jb2xvdXJlZF9fY29udGVudCwgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXYgLnR3b19jb2x1bW5zLS1jb2xvdXJlZF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2IC50d29fY29sdW1ucy0tY29sb3VyZWRfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC43ODEyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc4MTI1cmVtOyB9XG4gICAgICAgIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXYgLnR3b19jb2x1bW5zLS1jb2xvdXJlZF9fY29udGVudCwgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19jb250ZW50Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXYgLnR3b19jb2x1bW5zLS1jb2xvdXJlZF9fY29udGVudDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2IC50d29fY29sdW1ucy0tY29sb3VyZWRfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMzAwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXYgLnR3b19jb2x1bW5zLS1jb2xvdXJlZF9faW1hZ2UsIC50d29fY29sdW1ucy0tY29sb3VyZWQgPiBkaXYgLnR3b19jb2x1bW5zLS1jb2xvdXJlZF9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2IC50d29fY29sdW1ucy0tY29sb3VyZWRfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19pbWFnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19pbWFnZSwgLnR3b19jb2x1bW5zLS1jb2xvdXJlZCA+IGRpdiAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAudHdvX2NvbHVtbnMtLWNvbG91cmVkID4gZGl2IC50d29fY29sdW1ucy0tY29sb3VyZWRfX2ltYWdlOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5wdWJsaWNhdGlvbl9fcGFnZSB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1heC13aWR0aDogMTI0MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLnB1YmxpY2F0aW9uX19wYWdlOjpiZWZvcmUsIC5wdWJsaWNhdGlvbl9fcGFnZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wdWJsaWNhdGlvbl9fcGFnZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wdWJsaWNhdGlvbl9fcGFnZSBoMiB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbiAgICBjb2xvcjogIzI2MjU3MTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmOyB9XG4gIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9faW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9faW1hZ2UsIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnB1YmxpY2F0aW9uX19wYWdlIC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudCAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnRfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9faW1hZ2UsIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X19pbWFnZTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9faW1hZ2U6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9faW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnB1YmxpY2F0aW9uX19wYWdlIC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudCAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnRfX2ltYWdlIC5idXR0b24tLWJsdWVhbHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X19pbWFnZSAuYnV0dG9uLS1zaGFyZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1heC13aWR0aDogNDglO1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gICAgLnB1YmxpY2F0aW9uX19wYWdlIC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudCAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnRfX2ltYWdlIC5idXR0b24tLWRvd25sb2FkIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1heC13aWR0aDogNDglO1xuICAgICAgbWFyZ2luLXRvcDogMHB4OyB9XG4gIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnB1YmxpY2F0aW9uX19wYWdlIC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudCAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnRfX3RleHQsIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnB1YmxpY2F0aW9uX19wYWdlIC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudCAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnRfX3RleHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0LCAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9fdGV4dDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9fdGV4dDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAgIC5wdWJsaWNhdGlvbl9fcGFnZSAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0IHAge1xuICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAucHVibGljYXRpb25fX3BhZ2UgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50IC5wdWJsaWNhdGlvbl9fcGFnZV9fY29udGVudF9fdGV4dCBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uY29udGFjdF9iYXIge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5jb250YWN0X2Jhcjo6YmVmb3JlLCAuY29udGFjdF9iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuY29udGFjdF9iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29udGFjdF9iYXIgaDIge1xuICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7IH1cbiAgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fZ2VuZXJhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzI3NmM5ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19nZW5lcmFsIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fZ2VuZXJhbCwgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fZ2VuZXJhbDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19nZW5lcmFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX2dlbmVyYWwge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19nZW5lcmFsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19nZW5lcmFsLCAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19nZW5lcmFsOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX2dlbmVyYWw6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19nZW5lcmFsIGEge1xuICAgICAgY29sb3I6ICMyNzZjOTg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzI3NmM5ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX21lZGlhLCAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX21lZGlhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYSwgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fbWVkaWE6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19tZWRpYSBhIHtcbiAgICAgIGNvbG9yOiAjMjc2Yzk4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fcGFydG5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzI3NmM5ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19wYXJ0bmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fcGFydG5lciwgLmNvbnRhY3RfYmFyIC5jb250YWN0X2Jhcl9fcGFydG5lcjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19wYXJ0bmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX3BhcnRuZXIge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19wYXJ0bmVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19wYXJ0bmVyLCAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19wYXJ0bmVyOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX3BhcnRuZXI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAuY29udGFjdF9iYXIgLmNvbnRhY3RfYmFyX19wYXJ0bmVyIGEge1xuICAgICAgY29sb3I6ICMyNzZjOTg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5jb250YWN0X2JhciAuY29udGFjdF9iYXJfX3BhcnRuZXIgLmJ1dHRvbi0tYmx1ZWFsdCB7XG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBjb2xvcjogV2hpdGU7IH1cblxuLmJhbm5lcl9fZXZlbnRzIHtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94czo6YmVmb3JlLCAuYmFubmVyX19ldmVudHMgLmJhbm5lcl9fZXZlbnRzX19ib3hzOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMge1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuYmFubmVyX19ldmVudHMgLmJhbm5lcl9fZXZlbnRzX19ib3hzID4gZGl2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjMjYyNTcxO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXYsIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyA+IGRpdjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYmFubmVyX19ldmVudHMgLmJhbm5lcl9fZXZlbnRzX19ib3hzID4gZGl2IHtcbiAgICAgICAgICB3aWR0aDogNDguMzMzMzMlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFubmVyX19ldmVudHMgLmJhbm5lcl9fZXZlbnRzX19ib3hzID4gZGl2IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyA+IGRpdiwgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyA+IGRpdjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAuYmFubmVyX19ldmVudHMgLmJhbm5lcl9fZXZlbnRzX19ib3hzID4gZGl2Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXYge1xuICAgICAgICAgIGJvdHRvbTogLTEyNXB4OyB9IH1cbiAgICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXYgaDIge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgICAuYmFubmVyX19ldmVudHMgLmJhbm5lcl9fZXZlbnRzX19ib3hzID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH1cbiAgICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyNzZjOTg7IH1cbiAgICAgICAgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyA+IGRpdjpsYXN0LW9mLXR5cGUgLmJ1dHRvbiwgLmJhbm5lcl9fZXZlbnRzIC5iYW5uZXJfX2V2ZW50c19fYm94cyA+IGRpdjpsYXN0LW9mLXR5cGUgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5mcm1fYnV0dG9uX3N1Ym1pdCwgLm5ld3NsZXR0ZXJfYmFyID4gZGl2IC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXY6bGFzdC1vZi10eXBlIC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICAgICAgY29sb3I6ICMyNzZjOTg7IH1cbiAgICAgIC5iYW5uZXJfX2V2ZW50cyAuYmFubmVyX19ldmVudHNfX2JveHMgPiBkaXYgYSB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZXZlbnRzX2dyaWQge1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmV2ZW50c19ncmlkIHtcbiAgICAgIHBhZGRpbmc6IDM1cHg7IH0gfVxuICAuZXZlbnRzX2dyaWQgPiBoMiB7XG4gICAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBtYXgtd2lkdGg6IDEyNDBweDtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogaW50ZXJzdGF0ZSwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogI2U2Mjk0NzsgfVxuICAgIC5ldmVudHNfZ3JpZCA+IGgyOjpiZWZvcmUsIC5ldmVudHNfZ3JpZCA+IGgyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5ldmVudHNfZ3JpZCA+IGgyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuZXZlbnRzX2dyaWQgPiBkaXYge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTI0MHB4OyB9XG4gICAgLmV2ZW50c19ncmlkID4gZGl2OjpiZWZvcmUsIC5ldmVudHNfZ3JpZCA+IGRpdjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZXZlbnRzX2dyaWQgPiBkaXY6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5ldmVudHNfZ3JpZCA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgICAuZXZlbnRzX2dyaWQgPiBkaXYgLmV2ZW50c19ncmlkX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5ldmVudHNfZ3JpZCA+IGRpdiAuZXZlbnRzX2dyaWRfX2l0ZW0ge1xuICAgICAgICAgIGZsZXg6IDEgMSAzMSU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cbiAgICAgIC5ldmVudHNfZ3JpZCA+IGRpdiAuZXZlbnRzX2dyaWRfX2l0ZW0gLmV2ZW50c19ncmlkX19pdGVtX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgICAuZXZlbnRzX2dyaWQgPiBkaXYgLmV2ZW50c19ncmlkX19pdGVtIC5ldmVudHNfZ3JpZF9faXRlbV9faW1hZ2Ugc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWMxNDIxO1xuICAgICAgICAgIGNvbG9yOiBXaGl0ZTsgfVxuICAgICAgLmV2ZW50c19ncmlkID4gZGl2IC5ldmVudHNfZ3JpZF9faXRlbSBoMiB7XG4gICAgICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGludGVyc3RhdGUsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIC5ldmVudHNfZ3JpZCA+IGRpdiAuZXZlbnRzX2dyaWRfX2l0ZW0gaDMge1xuICAgICAgICBjb2xvcjogIzljMTQyMTtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmOyB9XG4gICAgICAuZXZlbnRzX2dyaWQgPiBkaXYgLmV2ZW50c19ncmlkX19pdGVtIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzI3NmM5ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmV2ZW50c19ncmlkID4gZGl2IC5ldmVudHNfZ3JpZF9faXRlbTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuZXZlbnRzX2dyaWQgPiBkaXYgLmV2ZW50c19ncmlkX19pdGVtIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAuZXZlbnRzX2dyaWQgPiBkaXYgLmV2ZW50c19ncmlkX19pdGVtIHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogIzI2MjU3MTsgfVxuICAgICAgLmV2ZW50c19ncmlkID4gZGl2IC5ldmVudHNfZ3JpZF9faXRlbSBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG5cbi5wYWdlSGVhZGVyIHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gIC5wYWdlSGVhZGVyOjpiZWZvcmUsIC5wYWdlSGVhZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2VIZWFkZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fbG9nbyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19sb2dvIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX2xvZ28sIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19sb2dvOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19sb2dvOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX2xvZ28gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQge1xuICAgIHdpZHRoOiA3NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQsIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19zb2NpYWwge1xuICAgICAgQGluY2x1ZGVpIGdyaWQtY29sdW1uKDEyLDApO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19zb2NpYWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX3NvY2lhbCB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7IH1cbiAgICAgICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fc29jaWFsIHVsIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNXB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsgfVxuICAgICAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX3NvY2lhbCB1bCBpbWc6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19zb2NpYWwgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWVlZWVlO1xuICAgICAgICBjb2xvcjogIzI2MjU3MTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fc29jaWFsIGlucHV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX3NvY2lhbCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiAjMjYyNTcxOyB9XG4gICAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX3NvY2lhbCBpbnB1dDo6Zm9jdXMge1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICMyNjI1NzE7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX21lbnUsIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX21lbnU6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fbWVudTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19tZW51IC5tb2JpbGVtZW51X3RyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX21lbnUgLm1vYmlsZW1lbnVfdHJpZ2dlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX21lbnUgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGlubGluZTtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19tZW51ID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gICAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX21lbnUgPiB1bCA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICBwYWRkaW5nOiAwcHg7IH1cbiAgICAgICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIC5kcm9wZG93biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fbWVudSA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjYyNTcxO1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgei1pbmRleDogMzsgfVxuICAgICAgICAgICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fbWVudSA+IHVsID4gbGkubWVudS1pdGVtLWhhcy1jaGlsZHJlbiAuZHJvcGRvd24gbGkge1xuICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDVweCA1cHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICAgICAgICBtYXJnaW46IDBweDsgfVxuICAgICAgICAgICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5kcm9wZG93biBsaTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzljMTQyMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgICAucGFnZUhlYWRlciAucGFnZUhlYWRlcl9fcmlnaHQgLnBhZ2VIZWFkZXJfX3JpZ2h0X19tZW51ID4gdWwgPiBsaS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5kcm9wZG93biBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICBtYXJnaW46IDBweDsgfVxuICAgICAgICAgIC5wYWdlSGVhZGVyIC5wYWdlSGVhZGVyX19yaWdodCAucGFnZUhlYWRlcl9fcmlnaHRfX21lbnUgPiB1bCA+IGxpIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgLnBhZ2VIZWFkZXIgLnBhZ2VIZWFkZXJfX3JpZ2h0IC5wYWdlSGVhZGVyX19yaWdodF9fbWVudSA+IHVsID4gbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjOWMxNDIxOyB9XG5cbi5wYWdlSGVhZGVyX19yaWdodF9fbWVudS1tb2JpbGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlSGVhZGVyX19yaWdodF9fbWVudS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5tb2JpbGVtZW51X3RyaWdnZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNXB4O1xuICByaWdodDogLTMwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9iaWxlbWVudV90cmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYmFyMSwgLmJhcjIsIC5iYXIzIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNTcxO1xuICBtYXJnaW46IDZweCAwO1xuICB0cmFuc2l0aW9uOiAwLjRzOyB9XG5cbi5qZC1tZW51IGxpIHtcbiAgYmFja2dyb3VuZDogIzI3NmM5ODsgfVxuXG4vKiBSb3RhdGUgZmlyc3QgYmFyICovXG4uY2hhbmdlIC5iYXIxIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtOXB4LCA2cHgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtOXB4LCA2cHgpOyB9XG5cbi8qIEZhZGUgb3V0IHRoZSBzZWNvbmQgYmFyICovXG4uY2hhbmdlIC5iYXIyIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKiBSb3RhdGUgbGFzdCBiYXIgKi9cbi5jaGFuZ2UgLmJhcjMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLThweCwgLThweCk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLThweCwgLThweCk7IH1cblxuLmpkLW1lbnUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbjogMHB4OyB9XG5cbi5wYWdlRm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzI2MjU3MTtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2VGb290ZXIge1xuICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDsgfSB9XG4gIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lcjo6YmVmb3JlLCAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbXBhbnkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbXBhbnkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19jb21wYW55LCAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19jb21wYW55Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbXBhbnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29tcGFueSB7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29tcGFueSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbXBhbnksIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbXBhbnk6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29tcGFueTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29udGFjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19jb250YWN0IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29udGFjdCwgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29udGFjdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19jb250YWN0Omxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbnRhY3Qge1xuICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNXZ3OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29udGFjdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbnRhY3QsIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX2NvbnRhY3Q6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAgICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fY29udGFjdDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19jb250YWN0IGgyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX21lZGlhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX21lZGlhIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuICAgICAgLnBhZ2VGb290ZXIgLnBhZ2VGb290ZXJfX2NvbnRhaW5lciAucGFnZUZvb3Rlcl9fbWVkaWEsIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX21lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX21lZGlhOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX21lZGlhIHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5wYWdlRm9vdGVyIC5wYWdlRm9vdGVyX19jb250YWluZXIgLnBhZ2VGb290ZXJfX21lZGlhLCAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19tZWRpYTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgICAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19tZWRpYTpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgICAucGFnZUZvb3RlciAucGFnZUZvb3Rlcl9fY29udGFpbmVyIC5wYWdlRm9vdGVyX19tZWRpYSBoMiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmZvb3Rlcl9jb3B5cmlnaHQge1xuICBiYWNrZ3JvdW5kOiAjMjcyNzI3O1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlcl9jb3B5cmlnaHQge1xuICAgICAgcGFkZGluZzogMHB4OyB9IH1cbiAgLmZvb3Rlcl9jb3B5cmlnaHQgPiBkaXYge1xuICAgIG1heC13aWR0aDogNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5mb290ZXJfY29weXJpZ2h0ID4gZGl2OjpiZWZvcmUsIC5mb290ZXJfY29weXJpZ2h0ID4gZGl2OjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5mb290ZXJfY29weXJpZ2h0ID4gZGl2OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5mb290ZXJfY29weXJpZ2h0ID4gZGl2IGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLmZvb3Rlcl9jb3B5cmlnaHQgPiBkaXYgLmNyZWF0ZWRfYnkge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5tYWluX2Jhbm5lciB7XG4gIGhlaWdodDogNTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tYWluX2Jhbm5lcjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDBweDtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogMHB4O1xuICAgIGJvdHRvbTogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDM4LCAzNywgMTEzLCAwLjYpO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLm1haW5fYmFubmVyID4gZGl2IHtcbiAgICBtYXgtd2lkdGg6IDc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLm1haW5fYmFubmVyID4gZGl2OjpiZWZvcmUsIC5tYWluX2Jhbm5lciA+IGRpdjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAubWFpbl9iYW5uZXIgPiBkaXY6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5tYWluX2Jhbm5lciA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwJTsgfSB9XG4gICAgLm1haW5fYmFubmVyID4gZGl2IGgxIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm1haW5fYmFubmVyID4gZGl2IGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9IH1cbiAgICAubWFpbl9iYW5uZXIgPiBkaXYgLmJ1dHRvbiwgLm1haW5fYmFubmVyID4gZGl2IC5uZXdzbGV0dGVyX2JhciA+IGRpdiAuZnJtX2J1dHRvbl9zdWJtaXQsIC5uZXdzbGV0dGVyX2JhciA+IGRpdiAubWFpbl9iYW5uZXIgPiBkaXYgLmZybV9idXR0b25fc3VibWl0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDBweDtcbiAgcGFkZGluZzogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjYyNTcxO1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggIzI2MjU3MTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpIHNwYW4ge1xuICAgICAgY29sb3I6ICMyNjI1NzE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICMyNjI1NzE7IH1cblxuLnNvY2lhbCBmb3JtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwcHg7XG4gIG1hcmdpbjogMHB4OyB9XG4gIC5zb2NpYWwgZm9ybSBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL1NFQVJDSC1JQ09OLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNXB4OyB9XG5cbi5mcm0tc2hvdy1mb3JtIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnR3aXR0ZXJfX2JhciB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnR3aXR0ZXJfX2Jhcjo6YmVmb3JlLCAudHdpdHRlcl9fYmFyOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnR3aXR0ZXJfX2Jhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50d2l0dGVyX19iYXIgaDIge1xuICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi10b3A6IDBweDsgfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBvc2l0aW9uaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBvc2l0aW9uOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBDYW4gYmUgb3ZlcndyaXR0ZW4gYXQgaW5kaXZpZHVhbCBtZW51IGNvbXBvbmVudCBsZXZlbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIE5lc3RlZCBtYXJnaW4gZm9yIHN1Ym1lbnUuXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVkIHJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHByb3RvdHlwZXMgaWYgYXBwbGljYWJsZVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEJ1dHRvbiBjdXJzb3IncyB2YWx1ZSwgYGF1dG9gIGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLWJ1dHRvbi1jdXJzb3I6IGF1dG8gIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlIHRoYXQgY29udGFpbnMgdGhlIGZsZXgganVzdGlmeWluZyBvcHRpb25zXG4kLXpmLWZsZXgtanVzdGlmeTogLXpmLWZsZXgtanVzdGlmeSgkZ2xvYmFsLXRleHQtZGlyZWN0aW9uKTtcblxuLy8vIEdsb2JhbCB0b2xlcmFuY2UgZm9yIGNvbG9yIHBpY2sgY29udHJhc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiAkZ2xvYmFsLWJ1dHRvbi1jdXJzb3I7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uUHJlc3Mgc2V0dGluZ3MuXG4vLyAgQmFzZWQgb24gRm91bmRhdGlvbiBmb3IgU2l0ZXMgdjYuNC4zXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcbkBpbXBvcnQgJ2dsb2JhbC9jb2xvcnMnO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pO1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kbWVkaXVtLWdyYXk6ICNjYWNhY2E7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGJsYWNrOiAjMGEwYTBhO1xuJHdoaXRlOiAjZmVmZWZlO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiR0cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogNDApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuKTtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kY29kZS1jb2xvcjogJGJsYWNrO1xuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSk7XG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW47XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHdoaXRlO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2FyZFxuLy8gLS0tLS0tLS1cblxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhcmQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRjYXJkLXNoYWRvdzogbm9uZTtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDE1LiBDbG9zZSBCdXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3A7XG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IChcbiAgc21hbGw6IDAuNjZyZW0sXG4gIG1lZGl1bTogMXJlbSxcbik7XG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXG4gIHNtYWxsOiAwLjMzZW0sXG4gIG1lZGl1bTogMC41cmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDE7XG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXk7XG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcblxuLy8gMTYuIERyaWxsZG93blxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7XG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDA7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tc3VibWVudS1wYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweDtcblxuLy8gMTcuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE4LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuJGlucHV0LXBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJG1lbnUtc3RhdGUtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1jZW50ZXJlZC1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xuXG4vLyAyNC4gTWV0ZXJcbi8vIC0tLS0tLS0tLVxuXG4kbWV0ZXItaGVpZ2h0OiAxcmVtO1xuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kbWV0ZXItYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3I7XG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3I7XG5cbi8vIDI1LiBPZmYtY2FudmFzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kb2ZmY2FudmFzLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXG4gIHNtYWxsOiAyNTBweCxcbik7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRkYXJrLW5hdi1jb2xvcjtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI4LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWFycm93LWRpcmVjdGlvbnM6IChcbiAgZG93bixcbiAgdXAsXG4gIHJpZ2h0LFxuICBsZWZ0XG4pO1xuJHByb3RvdHlwZS1hcnJvdy1zaXplOiAwLjQzNzVyZW07XG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbi8vIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLWJveC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG5cbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci13aWR0aDogcmVtLWNhbGMoMSk7XG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZDtcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDMzLiBQcm90b3R5cGUgRGlzcGxheVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKTtcblxuLy8gMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHByb3RvdHlwZS1mb250LWJvbGQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWxpc3QtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKTtcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkOiAoXG4gIGRlY2ltYWwsXG4gIGxvd2VyLWFscGhhLFxuICBsb3dlci1sYXRpbixcbiAgbG93ZXItcm9tYW4sXG4gIHVwcGVyLWFscGhhLFxuICB1cHBlci1sYXRpbixcbiAgdXBwZXItcm9tYW5cbik7XG5cbi8vIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pO1xuXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbik7XG4kcHJvdG90eXBlLXBvc2l0aW9uLXotaW5kZXg6IDk3NTtcblxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1hbGlnbjogY2VudGVyO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItaGVpZ2h0OiByZW0tY2FsYygyKTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gNDAuIFByb3RvdHlwZSBTaGFkb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2hhZG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSgwLDAsMCwuMTYpLFxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xuXG4vLyA0MS4gUHJvdG90eXBlIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKTtcbiRwcm90b3R5cGUtc2l6ZXM6IChcbiAgMjU6IDI1JSxcbiAgNTA6IDUwJSxcbiAgNzU6IDc1JSxcbiAgMTAwOiAxMDAlXG4pO1xuXG4vLyA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNwYWNpbmctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xuXG4vLyA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXG4gIG92ZXJsaW5lLFxuICB1bmRlcmxpbmUsXG4gIGxpbmUtdGhyb3VnaCxcbik7XG5cbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXG4gIGxvd2VyY2FzZSxcbiAgdXBwZXJjYXNlLFxuICBjYXBpdGFsaXplXG4pO1xuXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKTtcblxuLy8gNDcuIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyA0OC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbTtcbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLXdpZHRoOiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNDkuIFN3aXRjaFxuLy8gLS0tLS0tLS0tLVxuXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW47XG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMDtcbiR0b3BiYXItYmFja2dyb3VuZDogJGRhcmstbmF2LWNvbG9yO1xuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDU2LiBYeSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhbiBpbm5lciBib3gtc2hhZG93IGZvciBvbmx5IG9uZSBzaWRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaWRlIC0gU2lkZSB0aGUgc2hhZG93IGlzIHN1cHBvc2VkIHRvIGFwcGVhci4gQ2FuIGJlIGB0b3BgLCBgbGVmdGAsIGByaWdodGAgb3IgYGJvdHRvbWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gV2lkdGggZm9yIHRoZSB0YXJnZXQgc2lkZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciBvZiB0aGUgc2hhZG93LlxuQG1peGluIGlubmVyLXNpZGUtc2hhZG93KFxuICAkc2lkZTogYm90dG9tLFxuICAkc2l6ZTogMjBweCxcbiAgJGNvbG9yOiByZ2JhKCRibGFjaywgMC4yNSlcbikge1xuXG4gICRoZWxwZXI6IHJvdW5kKCRzaXplICogMC42NSk7XG5cbiAgQGlmICgkc2lkZSA9PSB0b3ApIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gbGVmdCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSByaWdodCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0ICgtMSkqJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGJvdHRvbSkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgKC0xKSokaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyb3VuZChyZWQoJGNvbG9yKSl9LCAje3JvdW5kKGdyZWVuKCRjb2xvcikpfSwgI3tyb3VuZChibHVlKCRjb2xvcikpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSwgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlKSB7XG4gICRsaXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbGlzdDogc2wtcmVtb3ZlKCRsaXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkbmFtZSBpbiAkbGlzdCB7XG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiAkbmFtZSAhZ2xvYmFsO1xuXG4gICAgQGlmICRhdXRvLWluc2VydC1icmVha3BvaW50cyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRuYW1lOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkZ3V0dGVyOiAnZ3V0dGVyJyxcbiAgJHB1c2g6ICdwdXNoJyxcbiAgJHB1bGw6ICdwdWxsJyxcbiAgJGNlbnRlcjogJ2NlbnRlcmVkJyxcbiAgJHVuY2VudGVyOiAndW5jZW50ZXJlZCcsXG4gICRjb2xsYXBzZTogJ2NvbGxhcHNlJyxcbiAgJHVuY29sbGFwc2U6ICd1bmNvbGxhcHNlJyxcbiAgJG9mZnNldDogJ29mZnNldCcsXG4gICRlbmQ6ICdlbmQnLFxuICAkZXhwYW5kZWQ6ICdleHBhbmRlZCcsXG4gICRibG9jazogJ2Jsb2NrJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLiN7JGV4cGFuZGVkfSkgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZShleHBhbmQpO1xuICAgIH1cblxuICAgIEBpZiB0eXBlLW9mKCRncmlkLWNvbHVtbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgIC8vIFN0YXRpYyAodW5yZXNwb25zaXZlKSByb3cgZ3V0dGVyc1xuICAgICAgLy9cbiAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGdyaWQtY29sdW1uLWd1dHRlciB7XG4gICAgICAgICYuI3skZ3V0dGVyfS0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW5cbiAgLiN7JGNvbHVtbn0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sO1xuXG4gICAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAgICYuI3skZW5kfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWVuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxuXG4gIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAuI3skcm93fSAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIENvbHVtbiB3aWR0aFxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXNpemUoJGkpO1xuICAgICAgfVxuXG4gICAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICAgIEBpZiAkaSA8ICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoLSRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LSN7JG9mZnNldH0tI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1vZmYoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoY2VudGVyKTtcbiAgICB9XG5cbiAgICAvLyBHdXR0ZXIgYWRqdXN0bWVudFxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9LFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtdW5wb3M7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC4jeyRjb2x1bW59LSN7JGJsb2NrfSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tbWFyZ2luO1xuICB9XG5cbiAgQGlmICRjb2x1bW4gPT0gJ2NvbHVtbicgYW5kIGhhcy12YWx1ZSgkZ3JpZC1jb2x1bW4tYWxpYXMpIHtcbiAgICAuI3skZ3JpZC1jb2x1bW4tYWxpYXN9IHtcbiAgICAgIC8vIHNhc3MtbGludDpkaXNhYmxlLWJsb2NrIHBsYWNlaG9sZGVyLWluLWV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNmIFt0cnVlXSAtIFdoZXRoZXIgb3Igbm90IHRvIGluY2x1ZGUgYSBjbGVhcmZpeC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkc2l6ZTogJGdyaWQtcm93LXdpZHRoLFxuICAkY2Y6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXJzKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctc2l6ZSgkc2l6ZSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciBtYXAgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgJG1hcmdpbjogcmVtLWNhbGMoLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtc2l6ZSkpIC8gMiAqIC0xO1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luO1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXQgYSBncmlkIHJvdyBzaXplXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG5AbWl4aW4gZ3JpZC1yb3ctc2l6ZSgkc2l6ZTogJGdyaWQtcm93LXdpZHRoKSB7XG4gIEBpZiAkc2l6ZSA9PSBleHBhbmQge1xuICAgICRzaXplOiBub25lO1xuICB9XG5cbiAgbWF4LXdpZHRoOiAkc2l6ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldCdzIGNvbnZlcnQgb3VyIHZhbHVlIHRvIHBpeGVscyB0b29cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICR2YWx1ZTogKCR2YWx1ZSAvIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICAvLyBhc3N1bWUgdGhhdCBsaW5lLWhlaWdodHMgZ3JlYXRlciB0aGFuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3p1cmIvZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtIC4wMDEyNTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHZhbHVlKTtcbiAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG5cbiAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gIC8vIE1ha2UgYnJlYWtwb2ludCBzaXplIGF2YWlsYWJsZSBhcyBhIHZhcmlhYmxlXG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gIH1cbiAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICBAaWYgJHN0ciA9PSAnJyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBPdGhlcndpc2UsIHdyYXAgdGhlIGNvbnRlbnQgaW4gYSBtZWRpYSBxdWVyeVxuICBAZWxzZSB7XG4gICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgIEBpZiAkYnAgIT0gbnVsbCBhbmQgJGJwIDw9ICRwYnAge1xuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4kc21hbGwtdXA6ICcnO1xuJHNtYWxsLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG4kbWVkaXVtLXVwOiAnJztcbiRtZWRpdW0tb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuJGxhcmdlLXVwOiAnJztcbiRsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHhsYXJnZS11cDogJyc7XG4keGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4eGxhcmdlLXVwOiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIGxpc3Qgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiICh3aXRob3V0IHF1b3Rlcykgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgLy8gUG9zaXRpb25cbiAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGF1dG8pO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRndXR0ZXJzIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uLWd1dHRlcigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVycyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIHBhdXNlLXF1ZXVlLWNsYXNzOiAnaXMtcGF1c2VkJyxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBcIiN7JG91dHB1dH1cIjtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIC1tdWktaXMtZnVuY3Rpb24oJG1hcCkge1xuICAgICAgJG1hcDogLW11aS1zYWZlLWNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLiBCeSBkZWZhdWx0IGBsZWZ0YCBhbmQgYHJpZ2h0YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IG51bGwsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZGlyZWN0aW9uOiBpZigkZGlyZWN0aW9uICE9IG51bGwsICRkaXJlY3Rpb24sIGlmKCRzdGF0ZSA9PSBpbiwgbGVmdCwgcmlnaHQpKTtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbbnVsbF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIE9wYWNpdHkgdG8gZW5kIG9uLiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBudWxsLFxuICAkdG86IG51bGwsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZyb206IGlmKCRmcm9tICE9IG51bGwsICRmcm9tLCBpZigkc3RhdGUgPT0gaW4sIDAsIDEpKTtcbiAgJHRvOiBpZigkdG8gIT0gbnVsbCwgJHRvLCBpZigkc3RhdGUgPT0gaW4sIDEsIDApKTtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbbnVsbF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLiBCeSBkZWZhdWx0IGBmcm9tLWJhY2tgIGFuZCBgZnJvbS1mcm9udGAgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IG51bGxcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkdHVybi1vcmlnaW46IGlmKCR0dXJuLW9yaWdpbiAhPSBudWxsLCAkdHVybi1vcmlnaW4sIGlmKCRzdGF0ZSA9PSBpbiwgZnJvbS1iYWNrLCBmcm9tLWZyb250KSk7XG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6IC1tdWktc3RyaW5nLXNhZmUoJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nKSxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtudWxsXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuIEJ5IGRlZmF1bHQgYGZyb20tYmFja2AgYW5kIGBmcm9tLWZyb250YCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBudWxsLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHR1cm4tb3JpZ2luOiBpZigkdHVybi1vcmlnaW4gIT0gbnVsbCwgJHR1cm4tb3JpZ2luLCBpZigkc3RhdGUgPT0gaW4sIGZyb20tYmFjaywgZnJvbS1mcm9udCkpO1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gW251bGxdIC0gU2l6ZSB0byBzdGFydCBhdC4gQnkgZGVmYXVsdCBgMGAgYW5kIGAxYCBmb3IgYGluYCBhbmQgYG91dGAgc3RhdGVzIHJlc3BlY3RpdmVseS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFtudWxsXSAtIFNpemUgdG8gZW5kIGF0LiBCeSBkZWZhdWx0IGAxYCBhbmQgYDBgIGZvciBgaW5gIGFuZCBgb3V0YCBzdGF0ZXMgcmVzcGVjdGl2ZWx5LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IG51bGwsXG4gICR0bzogbnVsbCxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmcm9tOiBpZigkZnJvbSAhPSBudWxsLCAkZnJvbSwgaWYoJHN0YXRlID09IGluLCAwLCAxKSk7XG4gICR0bzogaWYoJHRvICE9IG51bGwsICR0bywgaWYoJHN0YXRlID09IGluLCAxLCAwKSk7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtudWxsXSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuIEJ5IGRlZmF1bHQgYGN3YCBhbmQgYGNjd2AgZm9yIGBpbmAgYW5kIGBvdXRgIHN0YXRlcyByZXNwZWN0aXZlbHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiAhPSBudWxsLCAkZGlyZWN0aW9uLCBpZigkc3RhdGUgPT0gaW4sIGN3LCBjY3cpKTtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJAY2hhcnNldCAndXRmLTgnO1xuXG5cbkBpbXBvcnQgJ3NldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcbkBpbXBvcnQgJ2ZvbnRzJztcbkBpbXBvcnQgJ25vZGVfbW9kdWxlcy9qZC1tZW51L3NyYy9jc3Mvc2Fzcy5zY3NzJztcblxuQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuXG5AaW5jbHVkZSBtb3Rpb24tdWktdHJhbnNpdGlvbnM7XG5AaW5jbHVkZSBtb3Rpb24tdWktYW5pbWF0aW9ucztcblxuLypcbiAgTXkgY3VzdG9tIHN0eWxlczpcbiAgQWRkIHlvdXIgc2NzcyBmaWxlcyBiZWxvdyB0byBzdHJ1Y3R1cmUgeW91ciBwcm9qZWN0IHN0eWxlc1xuKi9cblxuXG4kSkQtYmctY29sb3I6ICRwdXJwbGUgIWRlZmF1bHQ7XG4kSkQtdGV4dC1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRKRC1ib3JkZXItY29sb3I6ICRwdXJwbGUgIWRlZmF1bHQ7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogQ29tcG9uZW50IC0gTW9iaWxlIE1lbnVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICAqIE1vYmlsZSBtZW51IGNvbXBvbmVudCBjYW4gc3VwcG9ydCBtdWx0aXBsZSBsZXZlbHNcbiAgICAqXG4gICAgKiAxLiBCYWNrZ3JvdW5kIG9mIGZpcnN0IGxldmVsXG4gICAgKiAyLiBCb3JkZXIgYmV0d2VlbiBlYWNoXG4gICAgKiAzLiBQYWRkaW5nIG9mIGVhY2ggaXRlbVxuICAgICogNC4gQ29sb3Igb2YgTGlua3Mgb24gZmlyc3QgTGV2ZWxcbiovXG5cbi8vIFNpbXBsZSBDb2xvcnNcbiRKRC1iZy1jb2xvcjogIzQ1NUE2NCAhZGVmYXVsdDtcbiRKRC10ZXh0LWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJEpELWJvcmRlci1jb2xvcjogJEpELXRleHQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLmpkLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkSkQtYmctY29sb3I7XG5cbiAgdWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgYmFja2dyb3VuZDogJEpELWJnLWNvbG9yO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkSkQtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zaXRpb246JHRyYW5zaXRpb247XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206c29saWQgMnB4IHdoaXRlO1xuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhLCBzcGFuIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogJEpELXRleHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaSB7XG4gICAgY29sb3I6ICRKRC10ZXh0LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cbiAgfVxuXG5cbiAgLmhhc0NoaWxkIHtcblxuICAgID4gYSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8vIEdsb2JhbFxuQGltcG9ydCBcImdsb2JhbC9hY2Nlc3NpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2NvbG9yc1wiO1xuQGltcG9ydCBcImdsb2JhbC93cC1hZG1pblwiO1xuQGltcG9ydCBcImdsb2JhbC93cC1vdmVycmlkZXNcIjtcblxuLy8gTW9kdWxlc1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiZ2xvYmFsL2J1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbmV3c2xldHRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdXBkYXRlX2Jhbm5lclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGVudGJhcl9iYW5uZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25ld3NfYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wdWJsaWNhdGlvbnNfYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcm9qZWN0LXRoZW1lc19fYmFyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9hYm91dC1oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnRlbnRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2RvdWJsZV9pdGVtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFpbi10aXRsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvam9iX2FwcFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZnVuZGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGFyZ2VCb3hlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tZWRhLXNwbGl0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zcGxpdC1iYW5uZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3R3by1jb2x1bW5zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9wdWJsaWNhdGlvbl9fcGFnZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGFjdF9iYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jhbm5lcl9fZXZlbnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ldmVudHMtZ3JpZFwiO1xuXG4vLyBUZW1wbGF0ZXNcbkBpbXBvcnQgXCJ0ZW1wbGF0ZXMvZnJvbnRcIjtcbiIsIi8vIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuIEFkZHJlc3NlcyBwYXJ0IG9mIHRoZW1lLWNoZWNrIGlzc3VlICM4NDAuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vQXV0b21hdHRpYy9fcy9ibG9iL21hc3Rlci9zdHlsZS5jc3Ncbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE3NTliO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbiAgei1pbmRleDogMTAwMDAwOyAvLyBBYm92ZSBXUCB0b29sYmFyLlxufVxuIiwiLy8gRml4IHRoZSBpc3N1ZSB3aGVyZSB0aGUgV1AgYWRtaW4tYmFyIG92ZXJsYXBzIHRoZSBtb2JpbGUgbWVudVxuI3dwYWRtaW5iYXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gTWFrZSBzdXJlIHRoYXQgdGhlIFdQIGFkbWluLWJhciBkb2VzIG5vdCBvdmVybGFwIEZvdW5kYXRpb24gY29tcG9uZW50c1xuYm9keS5hZG1pbi1iYXIge1xuICAvLyBPZmZzZXQgc3RpY2t5IHRvcCBiYXJcbiAgJi5mLXRvcGJhci1maXhlZCB7XG4gICAgLnN0aWNreS5maXhlZCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMik7XG4gICAgfVxuICB9XG4gIC8vIE9mZnNldCBtb2JpbGUgb2ZmLWNhbnZhcyBtZW51XG4gICYub2ZmY2FudmFzIHtcbiAgICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICAgIHRvcDogcmVtLWNhbGMoNDYpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCg3ODMpIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIud3AtY2FwdGlvbiA+IGZpZ2NhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogIzk5OTtcbiAgcGFkZGluZzogMC4yNXJlbSAwO1xufVxuXG5wLndwLWNhcHRpb24tdGV4dHtcbiAgZm9udC1zaXplOjkwJTtcbiAgY29sb3I6ICM2NjY7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMTApIDA7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLmJ1dHRvbiB7XG4gIHBhZGRpbmc6MTBweCAxNXB4IDEwcHggMTVweDtcbiAgY29sb3I6d2hpdGU7XG4gIGJhY2tncm91bmQ6JGJsdWU7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIG1heC13aWR0aDoxNzVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gIG1hcmdpbi1ib3R0b206MTBweDtcbiAgdHJhbnNpdGlvbjokdHJhbnNpdGlvbjtcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDokcmVkO1xuICAgIGNvbG9yOndoaXRlO1xuICB9XG59XG5cbi5idXR0b24tLXdoaXRlIHtcbiAgYmFja2dyb3VuZDp3aGl0ZTtcbiAgY29sb3I6JGJsdWU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDokYmx1ZTtcbiAgICBjb2xvcjokd2hpdGU7XG4gIH1cbn1cblxuXG4uYnV0dG9uLS1ibHVlLCAuYnV0dG9uLS1ibHVlYWx0IHtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDokcmVkIWltcG9ydGFudDtcbiAgICBjb2xvcjokd2hpdGU7XG4gIH1cbn1cblxuLmJ1dHRvbi0tcmVkIHtcbiAgYmFja2dyb3VuZDokcmVkLWxpZ2h0O1xuICBjb2xvcjokd2hpdGU7XG4gIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiRibHVlO1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgfVxufVxuXG4uYnV0dG9uLS1ibHVlYWx0IHtcbiAgYmFja2dyb3VuZDokYmx1ZS1hbHQ7XG4gIGNvbG9yOiR3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6JGJsdWUtYWx0O1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgfVxufVxuLmJ1dHRvbi0tcmVkZGFyayB7XG4gICAgYmFja2dyb3VuZDokcmVkO1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6JGJsdWUtZGFyaztcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICB9XG59XG4uYnV0dG9uLS12aWV3YWxsIHtcbiAgZmxvYXQ6bGVmdDtcbiAgbWFyZ2luLXRvcDoyMnB4O1xuICBwYWRkaW5nLWxlZnQ6MjVweDtcbiAgcGFkZGluZy1yaWdodDoyNXB4O1xuICBiYWNrZ3JvdW5kOiRibHVlLWFsdDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDokYmx1ZTtcbiAgICBjb2xvcjokd2hpdGU7XG4gIH1cbn1cblxuLmJ1dHRvbi0tc2hhcmUsIC5idXR0b24tLWRvd25sb2FkIHtcbiAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDoyMzBweDtcbiAgd2lkdGg6MTAwJTtcbiAgbWFyZ2luLXRvcDoyNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKXtcbiAgICBmbG9hdDpyaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6MzVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjM1cHg7XG4gICAgbWF4LXdpZHRoOjMwMHB4O1xuICAgIHdpZHRoOjEwMCU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiRibHVlLWFsdDtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgfVxuXG59XG4uYnV0dG9uLS1kb3dubG9hZCB7XG4gIGJhY2tncm91bmQ6JHJlZC1saWdodDtcbiAgbWF4LXdpZHRoOjMwMHB4O1xuICBtYXJnaW4tbGVmdDoxNXB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiRibHVlLWFsdDtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgfVxufVxuIiwiJGRhcmstbmF2LWNvbG9yOiAjMkMzODQwO1xuXG4kYmx1ZTogXHRcdFx0IzI2MjU3MTtcbiRibHVlLWxpZ2h0Olx0I2FmZTRmZjtcbiRibHVlLWRhcms6XHRcdCMyZjM5NTE7XG4kYmx1ZS1hbHQ6XHRcdCMyNzZjOTg7XG5cbiRyZWQ6XHRcdFx0IzljMTQyMTtcbiRyZWQtbGlnaHQ6XHRcdCNlNjI5NDc7XG4kZ3JleTpcdFx0XHQjZWVlZWVlO1xuJGdyZXktZGFyazpcdFx0I2NjY2NjYztcbiIsIi5uZXdzbGV0dGVyX2JhciB7XG4gIHdpZHRoOjEwMCU7XG4gIHBhZGRpbmc6MzVweDtcblxuICAmLm5ld3NsZXR0ZXJfYmFyX19ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiRibHVlO1xuXG4gICAgY29sb3I6d2hpdGU7XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjp3aGl0ZTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDokcmVkO1xuICAgIH1cbiAgfVxuXG4gICYubmV3c2xldHRlci1ib3JkZXJzIHtcbiAgICA+ZGl2IHtcbiAgICAgIHBhZGRpbmctdG9wOiRnbG9iYWwtcGFkZGluZztcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkYmx1ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkYmx1ZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiRnbG9iYWwtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBjb2xvcjokYmx1ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOjE1cHg7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6MjVweDtcbiAgICAgIG1heC13aWR0aDo0MDBweDtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiRncmV5O1xuICAgICAgYXBwZWFyYW5jZTpub25lO1xuICAgICAgYm9yZGVyOm5vbmU7XG4gICAgICBwYWRkaW5nOjE1cHg7XG4gICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZybV9wcmltYXJ5X2xhYmVsIHtcbiAgICAgIGRpc3BsYXk6bm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mcm1fYnV0dG9uX3N1Ym1pdCB7XG4gICAgICBAZXh0ZW5kIC5idXR0b247XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDo1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OjUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjUwcHg7XG4gICAgICBtYXgtd2lkdGg6NDAwcHg7XG4gICAgfVxuICB9XG5cbn1cblxuZmllbGRzZXQge1xuICAgYm9yZGVyOm5vbmU7XG4gICBwYWRkaW5nOjBweDtcbn1cbi5mcm1fZm9ybV9maWVsZCB7XG4gIG1hcmdpbi1sZWZ0OjBweCFpbXBvcnRhbnQ7XG5cbiAgICBtYXJnaW4tcmlnaHQ6MjVweCFpbXBvcnRhbnQ7XG5cbn1cbiIsIi51cGRhdGVfYmFubmVyIHtcbiAgd2lkdGg6MTAwJTtcbiAgYmFja2dyb3VuZDpyZWQ7XG4gIHBhZGRpbmc6MzVweDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBkaXNwbGF5OmZsZXg7XG5cbiAgICAudXBkYXRlX2Jhbm5lcl9faW1hZ2Uge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNSk7XG4gICAgICB9XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgfVxuICAgIC51cGRhdGVfYmFubmVyX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNywgNTApXG4gICAgICB9XG4gICAgICBwYWRkaW5nLWxlZnQ6NTBweDtcblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5idXR0b24ge1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuLmNvbnRlbnRiYXJfYmFubmVyIHtcbiAgd2lkdGg6MTAwJTtcbiAgYmFja2dyb3VuZDokYmx1ZS1kYXJrO1xuICBwYWRkaW5nOjM1cHg7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgZGlzcGxheTpmbGV4O1xuXG4gICAgLmNvbnRlbnRiYXJfYmFubmVyX19pbWFnZSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig1KTtcbiAgICAgICAgbWluLWhlaWdodDozMDBweDtcbiAgICAgIH1cbiAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICB9XG4gICAgLmNvbnRlbnRiYXJfYmFubmVyX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNywgNTApXG4gICAgICB9XG4gICAgICBwYWRkaW5nLWxlZnQ6NTBweDtcblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi10b3A6MHB4O1xuICAgICAgfVxuICAgICAgc21hbGwge1xuICAgICAgICBjb2xvcjokcmVkLWxpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDokZm9udC1ib2xkO1xuICAgICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDIwKTtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NfX2JhciB7XG5wYWRkaW5nOiRnbG9iYWwtcGFkZGluZztcblxuICAubmV3c19fYmFyX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjokYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMik7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgICAgbWFyZ2luLXRvcDowcHg7XG5cbiAgICB9XG4gICAgPiAuYnV0dG9uIHtcbiAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6NXB4O1xuICAgICAgcmlnaHQ6MHB4O1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6MjUwcHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5uZXdzX19iYXJfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZmxleC13cmFwOndyYXA7XG4gICAganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47XG4gICAgLm5ld3NfX2Jhcl9fY29udGFpbmVyX19pdGVtIHtcblxuICAgICAgZmxleDogMSAxIDMxJTtcbiAgICAgIG1hcmdpbi1yaWdodDoyNXB4O1xuXG5cblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MHB4O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgaW1ne1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cbiIsIi5wdWJsaWNhdGlvbnNfX2JhciB7XG4gIHBhZGRpbmc6JGdsb2JhbC1wYWRkaW5nO1xuXG4gIC5wdWJsaWNhdGlvbnNfX2Jhcl9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuXG4gICAgaDIge1xuICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDMyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICB9XG4gICAgPiAuYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjVweDtcbiAgICAgIHJpZ2h0OjBweDtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgbWF4LXdpZHRoOjI1MHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIGJhY2tncm91bmQ6JGJsdWUtYWx0O1xuICAgIH1cbiAgfVxuXG4gIC5wdWJsaWNhdGlvbnNfX2Jhcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LXdyYXA6d3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtcbiAgICAucHVibGljYXRpb25zX19iYXJfX2NvbnRhaW5lcl9faXRlbSB7XG5cbiAgICAgIGZsZXg6IDEgMSAzMSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6MjVweDtcblxuXG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICBpbWd7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICAgIGNvbG9yOiRibHVlLWFsdDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JGJsdWUtYWx0O1xuICAgICAgfVxuXG4gICAgICBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cbiIsIi5wcm9qZWN0LXRoZW1lc19fYmFyIHtcbiAgcGFkZGluZzokZ2xvYmFsLXBhZGRpbmc7XG5cbiAgLnByb2plY3QtdGhlbWVzX19iYXJfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMzIpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgIG1hcmdpbi10b3A6MHB4O1xuICAgIH1cbiAgICA+IC5idXR0b24ge1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICB0b3A6NXB4O1xuICAgICAgcmlnaHQ6MHB4O1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6MjUwcHg7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgYmFja2dyb3VuZDokcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtd3JhcDp3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO1xuICAgIC5wcm9qZWN0LXRoZW1lc19fYmFyX19jb250YWluZXJfX2l0ZW0ge1xuXG4gICAgICBmbGV4OiAxIDEgMjMlO1xuICAgICAgbWFyZ2luLXJpZ2h0OjI1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOjI1cHg7XG5cblxuXG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIGltZ3tcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6JHJlZDtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgIHBhZGRpbmctdG9wOjE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxufVxuIiwiLmFib3V0X19oZWFkZXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICBib3JkZXItYm90dG9tOnNvbGlkIDFweCAkYmx1ZTtcbiAgcGFkZGluZy1ib3R0b206NTBweDtcbiAgbWFyZ2luLWJvdHRvbToyNXB4O1xuICBtYXJnaW4tdG9wOjI1cHg7XG5cbiAgaDEge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDApO1xuXG4gICAgY29sb3I6JGJsdWU7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDMyKTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBmb250LWZhbWlseTokZm9udDtcbiAgICBtYXJnaW4tdG9wOjBweDtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiRmb250LW5vcm1hbDtcbiAgICB9XG4gIH1cblxuICA+IGRpdiB7XG5cblxuICAgIC5hYm91dF9faGVhZGVyX19pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4LCAwKTtcbiAgICAgIH1cbiAgICAgIGltZ3tcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5hYm91dF9faGVhZGVyX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdXRfX2hlYWRlcl9fcG9zdCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig4LCAwKTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OjMwMHB4O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5hYm91dF9faGVhZGVyX19wZXJzb24ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMTIpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDoyNjBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luOjBweDtcbiAgICAgIH1cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIuY29udGVudCB7XG4gIHBhZGRpbmc6MTVweDtcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBtYXgtd2lkdGg6OTAwcHg7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjokYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMik7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiRibHVlO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6JGJsdWU7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6JGZvbnQtYm9sZDtcbiAgICB9XG5cbiAgICAucmVkSGVhZGVyIHtcbiAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMzgpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgIG1hcmdpbjowcHg7XG5cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXRvcDoyNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXdlaWdodDokZm9udC1ib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5jb250ZW50X19ncmlkIHtcbiAgcGFkZGluZzoxNXB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuICB9XG5cbiAgPiBoMiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBwYWRkaW5nOjE1cHg7XG4gICAgbWF4LXdpZHRoOjEyNDBweDtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMjgpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgIGNvbG9yOiRyZWQtbGlnaHQ7XG4gIH1cblxuICA+ZGl2IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIG1heC13aWR0aDoxMjQwcHg7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLmNvbnRlbnRfX2dyaWRfX2l0ZW0ge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmbGV4OiAxIDEgMzElO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgICB9XG4gICAgICBtYXJnaW4tYm90dG9tOjI1cHg7XG5cblxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgbWFyZ2luOjBweDtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuXG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgaW1ne1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOjEwMCU7XG4gIHdpZHRoOjEwMCU7XG4gIGhlaWdodDozMDBweDtcbiAgbWFyZ2luLWJvdHRvbTo0MHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICBoZWlnaHQ6NTAwcHg7XG4gIH1cblxufVxuXG4uc3ViLXRpdGxlIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcblxuICBoMiB7XG4gICAgY29sb3I6JHJlZDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICB9XG59XG5cblxuLmltYWdlX2JhciB7XG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIGZsZXg6IDEgMSAxMDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDoxMHB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi50ZXh0Y2VudHJle1xuICB0ZXh0LWFsaWduOmNlbnRlciFpbXBvcnRhbnQ7XG5cbiAgcCB7XG4gICAgZm9udC13ZWlnaHQ6bm9ybWFsIWltcG9ydGFudDtcbiAgfVxufVxuXG4ubWluLWhlaWdodHtcbiAgbWFyZ2luLWJvdHRvbToyNXB4O1xufVxuXG5cbi5mb3VyY29sdW1uIHtcbiAgLmNvbnRlbnRfX2dyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDEgMSAyMyUhaW1wb3J0YW50O1xuICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6MjVweCFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6MHB4IWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5kb3VibGVfaXRlbXMge1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZG91YmxlX2l0ZW1zX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDUsIDApO1xuICAgICAgfVxuXG4gICAgICBjb2xvcjokYmx1ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDoyNXB4O1xuICAgICAgICBoZWlnaHQ6MTYycHg7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MjVweDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgdG9wOjI1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFpbi10aXRsZSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgbWF4LXdpZHRoOjEyNDBweDtcbiAgcGFkZGluZzoxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTokZ2xvYmFsLXBhZGRpbmc7XG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgY29sb3I6JHJlZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgfVxuXG4gICYuYm9yZGVyLWJlbG93IHtcbiAgICBib3JkZXItYm90dG9tOnNvbGlkIDFweCAkYmx1ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTokZ2xvYmFsLXBhZGRpbmc7XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgIHBhZGRpbmctdG9wOiRnbG9iYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTowcHg7XG4gICAgcGFkZGluZy1sZWZ0OjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjBweDtcbiAgfVxuXG4gIGgxIHtcblxuICAgIGNvbG9yOiRibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG4gICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDMwKTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgbWFyZ2luOjBweDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6JGZvbnQtbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuIiwiLmpvYl9hcHBsaWNhdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRibHVlLWRhcms7XG4gIHBhZGRpbmc6JGdsb2JhbC1wYWRkaW5nO1xuICBtYXJnaW4tdG9wOiRnbG9iYWwtcGFkZGluZztcblxuICA+IGRpdiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBtYXgtd2lkdGg6ODAwcHg7XG4gICAgY29sb3I6d2hpdGU7XG4gIH1cbn1cbiIsIi5mdW5kZXJzIHtcblxuXG4gIC5mdW5kZXJzX19pdGVtIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYm9yZGVyLXRvcDpzb2xpZCAxcHggJGJsdWU7XG4gICAgbWFyZ2luLXRvcDoyNXB4O1xuICAgIHBhZGRpbmctdG9wOjI1cHg7XG4gICAgLmZ1bmRlcnNfX2l0ZW1fX2ltYWdlIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDQpO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC5mdW5kZXJzX19pdGVtX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjQpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5sYXJnZUJveGVzIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgbWF4LXdpZHRoOjEyNDBweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5sYXJnZUJveGVzX19pdGVtIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4OiAxIDEgMzElO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206MjVweDtcbiAgICBwYWRkaW5nOjUwcHg7XG4gICAgcGFkZGluZy10b3A6NzVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTo3NXB4O1xuXG4gICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG5cbiAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC5sYXJnZUJveGVzX19pdGVtX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6JHdoaXRlO1xuICAgICAgbWF4LXdpZHRoOjQwMHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiAyMzVweDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6MTVweDtcblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucHVibGljYXRpb25fZmlsdGVyIHtcbiAgcGFkZGluZzoxNXB4O1xuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIGJvcmRlci1ib3R0b206c29saWQgMXB4ICRibHVlO1xuICAgIHBhZGRpbmctYm90dG9tOiRnbG9iYWwtcGFkZGluZztcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMik7XG4gICAgICBjb2xvcjogJGJsdWUtYWx0O1xuICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgIG1hcmdpbjowcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgfVxuICAgIGNvbG9yOiRibHVlLWFsdDtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgIHNlbGVjdCwgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudDtcbiAgICAgIGFwcGVhcmFuY2U6bm9uZTtcbiAgICAgIGJvcmRlcjpzb2xpZCAxcHggJGJsdWUtYWx0O1xuICAgICAgcGFkZGluZzoxNXB4O1xuICAgICAgd2lkdGg6MzAwcHg7XG4gICAgICBtYXJnaW4tbGVmdDoxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OjE1cHg7XG4gICAgICBjb2xvcjokYmx1ZS1hbHQ7XG4gICAgfVxuICAgIGJ1dHRvbntcbiAgICAgIHdpZHRoOjE1MHB4O1xuICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgdHJhbnNpdGlvbjokdHJhbnNpdGlvbjtcbiAgICAgIG1hcmdpbjoxMHB4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6JGJsdWUtYWx0O1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWVkaWFfc3BsaXQge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICBib3JkZXItYm90dG9tOnNvbGlkIDFweCAkYmx1ZTtcblxuICBwYWRkaW5nLXRvcDozMHB4O1xuXG4gIC5tZWRpYV9zcGxpdF9faXRlbSB7XG4gICAgbWF4LXdpZHRoOjQwMHB4O1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDoyNXB4O1xuICAgIGNvbG9yOiRibHVlLWFsdDtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgdG9wOi0yMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6c29saWQgMXB4ICRibHVlO1xuICAgICAgcGFkZGluZy1sZWZ0OjI1cHg7XG5cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXgtd2lkdGg6MzUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zcGxpdC1iYW5uZXIge1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOndyYXA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmbGV4LXdyYXA6bm93cmFwO1xuICB9XG4gIC5zcGxpdC1iYW5uZXJfX2JsdWUge1xuICAgIGJhY2tncm91bmQ6JGJsdWU7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZmxleDogMSAxIDUwJTtcbiAgICB9XG4gICAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICBwYWRkaW5nOjE1cHg7XG4gICAgICBtYXgtd2lkdGg6NjIwcHg7XG4gICAgICBmbG9hdDpyaWdodDtcbiAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6d2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zcGxpdC1iYW5uZXJfX2ltYWdlIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmbGV4OiAxIDEgNTAlO1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICBoZWlnaHQ6NDAwcHg7XG5cbiAgfVxufVxuIiwiLnR3b19jb2x1bW5zLS1jb2xvdXJlZCB7XG5cbiAgPiBkaXYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDUwKTtcbiAgICAgIHBhZGRpbmctbGVmdDo1MHB4IWltcG9ydGFudDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNiwgMjUpO1xuICAgICAgfVxuICAgICAgYmFja2dyb3VuZDojYWZlNGZmO1xuICAgICAgcGFkZGluZy1sZWZ0OjUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjUwcHghaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6MzBweDtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG4gICAgICBmb250LWZhbWlseTokZm9udDtcbiAgICAgIGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG4gICAgICBjb2xvcjokYmx1ZTtcblxuICAgIH1cbiAgICAudHdvX2NvbHVtbnMtLWNvbG91cmVkX19pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYpO1xuICAgICAgfVxuICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgICAgaGVpZ2h0OjMwMHB4O1xuXG4gICAgfVxuICB9XG59XG4iLCIucHVibGljYXRpb25fX3BhZ2Uge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICBtYXgtd2lkdGg6MTI0MHB4O1xuICBtYXJnaW46YXV0bztcbiAgbWFyZ2luLWJvdHRvbTo1MHB4O1xuICBoMiB7XG4gICAgbWF4LXdpZHRoOjYwMHB4O1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzNCk7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzgpO1xuICAgIGNvbG9yOiRibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG4gICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gIH1cblxuICAucHVibGljYXRpb25fX3BhZ2VfX2NvbnRlbnQge1xuXG4gICAgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X19pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDYsMCk7XG4gICAgICB9XG4gICAgICBpbWd7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLS1ibHVlYWx0IHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDoyNXB4O1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OjYwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOjE1cHg7XG4gICAgICB9XG5cbiAgICAgIC5idXR0b24tLXNoYXJle1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBtYXgtd2lkdGg6NDglO1xuICAgICAgICBtYXJnaW4tdG9wOjBweDtcbiAgICAgIH1cbiAgICAgIC5idXR0b24tLWRvd25sb2Fke1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgbWF4LXdpZHRoOjQ4JTtcbiAgICAgICAgbWFyZ2luLXRvcDowcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnB1YmxpY2F0aW9uX19wYWdlX19jb250ZW50X190ZXh0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNik7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIuY29udGFjdF9iYXIge1xuICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gIGgyIHtcbiAgICBjb2xvcjokYmx1ZTtcbiAgICBmb250LXdlaWdodDokZm9udC1ib2xkO1xuICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICB9XG5cbiAgLmNvbnRhY3RfYmFyX19nZW5lcmFsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgIGNvbG9yOiRibHVlLWFsdDtcblxuICAgIGEge1xuICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICB9XG5cbiAgfVxuICAuY29udGFjdF9iYXJfX21lZGlhIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgIGNvbG9yOiRibHVlLWFsdDtcblxuICAgIGEge1xuICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhY3RfYmFyX19wYXJ0bmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgfVxuICAgIGNvbG9yOiRibHVlLWFsdDtcblxuICAgIGEge1xuICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLS1ibHVlYWx0IHtcbiAgICAgIHdpZHRoOjMwMHB4O1xuICAgICAgbWF4LXdpZHRoOjEwMCU7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgY29sb3I6V2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIuYmFubmVyX19ldmVudHMge1xuICBoZWlnaHQ6NDAwcHg7XG4gIHdpZHRoOjEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gIG1hcmdpbi10b3A6MTVweDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206MTAwcHg7XG5cbiAgLmJhbm5lcl9fZXZlbnRzX19ib3hzIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJvdHRvbTogLTUwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuXG4gICAgPmRpdiB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigxMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDUuOCk7XG4gICAgICB9XG4gICAgICBiYWNrZ3JvdW5kOiRibHVlO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgcGFkZGluZy1sZWZ0OjUwcHghaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6MjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOjQwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OjUwcHghaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJvdHRvbTogLTEyNXB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuICAgICAgICBtYXJnaW4tYm90dG9tOjBweDtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OjE1cHg7XG4gICAgICB9XG4gICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6MTVweDtcbiAgICAgICAgYmFja2dyb3VuZDokYmx1ZS1hbHQ7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgY29sb3I6JGJsdWUtYWx0O1xuICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ldmVudHNfZ3JpZCB7XG4gIHBhZGRpbmc6MTVweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiAgfVxuXG4gID4gaDIge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgcGFkZGluZzoxNXB4O1xuICAgIG1heC13aWR0aDoxMjQwcHg7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDI4KTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICBmb250LWZhbWlseTokZm9udDtcbiAgICBjb2xvcjokcmVkLWxpZ2h0O1xuICB9XG5cbiAgPmRpdiB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBtYXgtd2lkdGg6MTI0MHB4O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5ldmVudHNfZ3JpZF9faXRlbSB7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsZXg6IDEgMSAzMSU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgIH1cbiAgICAgIG1hcmdpbi1ib3R0b206MjVweDtcblxuICAgICAgLmV2ZW50c19ncmlkX19pdGVtX19pbWFnZSB7XG4gICAgICAgIGhlaWdodDozMDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6MHB4O1xuICAgICAgICAgIGxlZnQ6MHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDoyNXB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MjVweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDoxMHB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOjEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRyZWQ7XG5cbiAgICAgICAgICBjb2xvcjpXaGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowcHg7XG4gICAgICAgIG1hcmdpbi10b3A6MHB4O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbiAgICAgICAgZm9udC1mYW1pbHk6JGZvbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MTVweDtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgbWFyZ2luOjBweDtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LWJvbGQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiRmb250O1xuXG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjokYmx1ZS1hbHQ7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgaW1ne1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOjEwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgIH1cblxuICAgICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICBwYWRkaW5nLXRvcDoxNXB4O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBGcm9udCBwYWdlXG5cbi5wYWdlSGVhZGVyIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgcGFkZGluZy10b3A6MTVweDtcbiAgcGFkZGluZy1ib3R0b206MTVweDtcblxuICAucGFnZUhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOjE1MHB4O1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gIH1cbiAgLnBhZ2VIZWFkZXJfX3JpZ2h0IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbig5KTtcblxuICAgIC5wYWdlSGVhZGVyX19yaWdodF9fc29jaWFsIHtcbiAgICAgIEBpbmNsdWRlaSBncmlkLWNvbHVtbigxMiwwKTtcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKXtcbiAgICAgICAgZGlzcGxheTpibG9jaztcblxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6MHB4O1xuICAgICAgICBtYXJnaW46MHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOjM1cHg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OjE1cHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjokdHJhbnNpdGlvbjtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MC41O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZDojZWVlZWVlO1xuICAgICAgICBjb2xvcjokYmx1ZTtcbiAgICAgICAgYXBwZWFyYW5jZTpub25lO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgcGFkZGluZzoxNXB4O1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVye1xuICAgICAgICAgIGNvbG9yOiRibHVlO1xuICAgICAgICB9XG4gICAgICAgICY6OmZvY3VzIHtcbiAgICAgICAgICBib3JkZXI6c29saWQgMXB4ICRibHVlO1xuICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgICBvdXRsaW5lOm5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2VIZWFkZXJfX3JpZ2h0X19tZW51IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyLDApO1xuXG5cbiAgICAgIC5tb2JpbGVtZW51X3RyaWdnZXIge1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBtYXJnaW4tdG9wOjI1cHg7XG5cbiAgICAgID4gdWwge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgIGRpc3BsYXk6ZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpc3Qtc3R5bGU6aW5saW5lO1xuICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICBwYWRkaW5nOjBweDtcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOjEwMCU7XG5cblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICAgIHBhZGRpbmc6MHB4O1xuXG4gICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuOmhvdmVyIHtcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2shaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuXG4gICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIC5kcm9wZG93biB7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG4gICAgICAgICAgICBtYXJnaW46MHB4O1xuICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG5cbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG5cblxuICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgICAgICAgcGFkZGluZzoxMHB4IDVweCA1cHggNXB4O1xuXG4gICAgICAgICAgICAgICBib3JkZXI6MHB4O1xuICAgICAgICAgICAgICAgbWFyZ2luOjBweDtcbiAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRyZWQ7XG4gICAgICAgICAgICAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgICAgICAgICAgcGFkZGluZzowcHg7XG4gICAgICAgICAgICAgIG1hcmdpbjowcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6JGJsdWU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOnNvbGlkIDFweCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOnNvbGlkIDFweCAkcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFnZUhlYWRlcl9fcmlnaHRfX21lbnUtbW9iaWxlIHtcbiAgZGlzcGxheTpibG9jaztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSl7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG59XG5cbi5tb2JpbGVtZW51X3RyaWdnZXIge1xuICBkaXNwbGF5OmJsb2NrO1xuICB3aWR0aDoxMDBweDtcbiAgaGVpZ2h0OjUwcHg7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6IDI1cHg7XG4gIHJpZ2h0OiAtMzBweDtcbiAgei1pbmRleDoxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSl7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG59XG5cbi5iYXIxLCAuYmFyMiwgLmJhcjMge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICBtYXJnaW46IDZweCAwO1xuICB0cmFuc2l0aW9uOiAwLjRzO1xufVxuXG4uamQtbWVudSBsaSB7XG4gIGJhY2tncm91bmQ6JGJsdWUtYWx0O1xufVxuXG5cbi8qIFJvdGF0ZSBmaXJzdCBiYXIgKi9cbi5jaGFuZ2UgLmJhcjEge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC05cHgsIDZweCkgO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtOXB4LCA2cHgpIDtcbn1cblxuLyogRmFkZSBvdXQgdGhlIHNlY29uZCBiYXIgKi9cbi5jaGFuZ2UgLmJhcjIge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBSb3RhdGUgbGFzdCBiYXIgKi9cbi5jaGFuZ2UgLmJhcjMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoLThweCwgLThweCkgO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC04cHgsIC04cHgpIDtcbn1cblxuLmpkLW1lbnUge1xuICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgcGFkZGluZzowcHg7XG4gIG1hcmdpbjowcHg7XG59XG5cblxuLnBhZ2VGb290ZXIge1xuICBiYWNrZ3JvdW5kOiRibHVlO1xuXG4gIGNvbG9yOndoaXRlO1xuICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICBwYWRkaW5nOjE1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOjBweDtcbiAgICBwYWRkaW5nLXRvcDoyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOjI1cHg7XG4gIH1cblxuICAucGFnZUZvb3Rlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjp3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgIH1cblxuICAgIC5wYWdlRm9vdGVyX19jb21wYW55IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICB9XG4gICAgICBtYXJnaW4tdG9wOjI1cHg7XG5cblxuICAgIH1cblxuICAgIC5wYWdlRm9vdGVyX19jb250YWN0IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMyk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1dnc7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC5wYWdlRm9vdGVyX19tZWRpYXtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDEyKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oNCk7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG5cbi5mb290ZXJfY29weXJpZ2h0IHtcbiAgYmFja2dyb3VuZDojMjcyNzI3O1xuICBwYWRkaW5nOjE1cHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOjBweDtcbiAgfVxuXG4gID4gZGl2IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgIHBhZGRpbmctdG9wOjE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206MTVweDtcbiAgICBjb2xvcjp3aGl0ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OjEwcHg7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5jcmVhdGVkX2J5IHtcbiAgICAgIGZsb2F0OnJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5cbi5tYWluX2Jhbm5lciB7XG4gIGhlaWdodDo1MDBweDtcbiAgd2lkdGg6MTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgbWFyZ2luLWJvdHRvbToyNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzoxNXB4O1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6aGlkZGVuO1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MHB4O1xuICAgIHRvcDowcHg7XG4gICAgcmlnaHQ6MHB4O1xuICAgIGJvdHRvbTowcHg7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoJGJsdWUsIDAuNik7XG4gICAgY29udGVudDpcIiBcIjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIHotaW5kZXg6MTtcbiAgfVxuXG5cbiAgPiBkaXYge1xuXG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMCU7XG4gICAgfVxuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgaGVpZ2h0OjM1MHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MjtcblxuICAgIGgxIHtcbiAgICAgIGNvbG9yOndoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcblxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgbWF4LXdpZHRoOjIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucGFnaW5hdGlvbiB7XG50ZXh0LWFsaWduOmNlbnRlcjtcbiAgbGlzdC1zdHlsZTpub25lO1xuICBtYXJnaW46MHB4O1xuICBwYWRkaW5nOjBweDtcbiAgbWFyZ2luLWJvdHRvbToyNXB4O1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgYSB7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBmb250LXdlaWdodDpib2xkO3BhZGRpbmc6MTVweDtcbiAgICAgIGJhY2tncm91bmQ6JGJsdWU7XG4gICAgICBib3JkZXI6c29saWQgMXB4ICRibHVlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6JGJsdWU7XG4gICAgICBmb250LXdlaWdodDpib2xkO3BhZGRpbmc6MTVweDtcbiAgICAgIGJhY2tncm91bmQ6d2hpdGU7XG4gICAgICBib3JkZXI6c29saWQgMXB4ICRibHVlO1xuICAgIH1cbiAgfVxufVxuXG4uc29jaWFsIHtcbiAgZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW46IDBweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvU0VBUkNILUlDT04ucG5nJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC01cHg7XG5cbiAgICB9XG4gIH1cbn1cbi5mcm0tc2hvdy1mb3JtIHtcbiAgd2lkdGg6MTAwJTtcbn1cblxuLnR3aXR0ZXJfX2JhciB7XG4gIEBpbmNsdWRlIGdyaWQtcm93KCk7XG5cbiAgaDIge1xuICAgIGNvbG9yOiAjMjYyNTcxO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtZmFtaWx5OiBpbnRlcnN0YXRlLCBzYW5zLXNlcmlmO1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgfVxufVxuXG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbn1cbiJdfQ== */
